# TCP/ IP的简单了解

  • TCP/IP協議是一個協議群!其中包含好幾個協議,UDP只是其中的一個。至於說為什麼使用TCP/IP命名是因為這兩個協議比較重要。

  • 简单来说就是IP只是一个地址协议,如果需要保证资料完整性就需要TCP

  • TCP/IP協議集包含應用層,傳輸層,網絡層,網絡訪問層

    • 應用層包括:
      • 超文本傳輸協議HTTP:www的基本協議
      • 文本傳輸:TFTP簡單文本傳輸協議
      • 遠程登錄:Telnet,提供遠程訪問其他主機功能,它允許用戶登錄internet主機,並且在這台主機上執行命令。
      • 網絡管理(SNMP簡單網絡管理協議),該協議提供了監控網絡設備的方法,以及配置管理,系統信息收集,性能管理及安全管理等。
      • 域名系統(DNS),該系統用在internet中將域名及其公共廣播的網絡接點轉換為IP地址。
    • 其次網絡層
      • Internet協議(IP)
      • Internet控制信息協議(ICMP)
      • 地址解析協議(ARP)
      • 方向地址解析協議(RARP)
    • 網絡訪問層
      • 網絡訪問層又稱作主機到網絡層(host-to-network),網絡訪問層的功能包括IP地址與物理地址的硬件映射。定義了物理介質的連接。

  • TCP協議與UDP協議的區別

    TCP是面向連接的協議,簡單來說在收發數據的時候,兩端需要建立在一個可靠的連接上。一個TCP連接必須經過“3次對話”才能建立起來。而斷開連接需要“4次對話”,下面進行簡單的描述。

    • “三次對話”

      1. 主機A想給主機B發送了一段數據段,希望主機B回應要用什麼樣的方式當作起始數據。內容大概像:“我想發數據給你可以嗎?我應該怎麼開頭呢。”

      2. 主機B收到請求後,用一個帶有確認應答的(ACK)和同步序列號(SYN)標誌位的數據段響應主機A。內容為“好啊,你想什麼時候發送數據呢?開頭你就寫XXXX”

      3. 主機A回應主機B:“我現在就開始發送,你接著吧。”

      這“3次對話”的目的是使數據包的發送和接收同步。經過“對話”主機A才開始向主機B發送數據。同時在“3次對話”的過程中並沒有應用層的數據。SYN這個標誌位只有在TCP建立連接的時候才會被置1,握手完成後SYN標誌位改為0。

    • “4次斷開連接”

      1. 主機A完成數據傳遞後,將控制位FIN修改為1,提出“我傳送好了,我下線了”

      2. 主機B收到請求後,確認A要下線了,就把ACK改為1。

      3. 主機B將控制位FIN修改為1,然後傳遞說“OK,那我也下線了”

      4. 主機A對主機B的回應進行確認,然後將ACK改為1.雙方交流結束。

    • 名詞解釋

      1. ACK是TCP報頭的控制位置之一,用於對數據進行確認。確認從主機B發出,用來告訴主機A,之前發送的信息是否都完整的收到了。比如說確認號為X,ACK=1,確認號才有效,表明說之前的內容完整的收到了,如果ACK=0,那麼就會請求重新發送數據。

      2. SYN同步序列號,TCP建立時將這個位置設為1。

      3. FIN是主機A要下線了,提出斷開數據時,將這個位置改為1。


  • UDP(User Data Protocal 用戶數據報協議)

    UDP是一个非连接协议。 在传输之前主机A跟主机B不会建立连线。二者只是单纯的在进行资料交换。因此对主机A来说,UDP的传送速度仅仅受限制于应用程式生成资料的限制,计算机的能力,传输带宽的大小。对于主机B来说,UDP把每个消息都放在队列中,应用程式每次就到队列中拿取它要的内容。

    由于不需要建立连接,因此不需要维护连接状态,包括收发状态等,因此一台主机可以对多个客户端发送内容。

    UDP的信息包的标题很短,只有8个字节,相对于TCP的20个字节大小的信息报,开销很小

    发送的数量不限拥挤控制算法的调节,只受到应用软件生成速率,传输带宽,主机性能的限制。

    UDP使用尽量使用最大努力传输,因为不需要保证可靠性,因此主机不需要维持复杂的链接状态表。


  • 我们通常使用的“ping”命令来测试两台主机之间TCP/IP是否通信正常。ping的原理是使用IP和网络控制信息协议(ICMP),没有涉及到任何传输协议和应用程序。

  • ICMP协议规定:主机B必须返回ICMP回送应答消息源给主机A,如果主机A在一定时间内接收到应答,则主机B可达。


小结一下UDP和TCP之间的区别

  1. TCP是面向连接的协议,UDP是非连接协议
  2. 对系统资源的需求,UDP少,TCP多
  3. UDP程序结构简单
  4. UDP不保证资料的完整性,TCP保证资料完整性
  5. TCP保证资料顺序,UDP不保证

猜你喜欢

转载自blog.csdn.net/weixin_44317648/article/details/85328762
今日推荐