企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
***** **TCP/IP协议扩展** [TOC=6] # 1. TCP/UDP/IP的分层 ![](https://box.kancloud.cn/0cd59b86686401005f0626ab56f6a9de_472x498.png) **说明:** (1)TCP和UDP是运输层协议,二者都使用IP作为网络层协议。虽然TCP使用不可靠的IP服务,但它却提供一种可靠的运输层服务。UDP为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方的一个信息单元。UDP是不可靠的,它不能保证数据报能安全无误地到达最终目的。 (2)IP是网络层上的主要协议,同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。 (3)CMP是IP协议的附属协议,IP层用它来与其他主机或路由器交换错误报文和其他重要信息。IGMP是Internet组管理协议,它用来把一个UDP数据报多播到多个主机。 (4)ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。 # 2. 三次握手四次挥手 ## 2.1 三次握手 ![](https://box.kancloud.cn/23463622836d2b14ecac85d0e46f4665_463x268.png) **举个打电话的例子**:   A : 你好我是A,你听得到我在说话吗   B : 听到了,我是B,你听到我在说话吗   A : 嗯,听到了   建立连接,开始聊天! ## 2.2 四次挥手 ![](https://box.kancloud.cn/a22c9bf9122d5de1f2dbd35dcda613a3_883x594.png) 1、当主机A确认发送完数据且知道B已经接受完了,想要关闭发送数据口(当然确认信号还是可以发),就会发FIN给主机B。 2、主机B收到A发送的FIN,表示收到了,就会发送ACK回复。 3、但这是B可能还在发送数据,没有想要关闭数据口的意思,所以FIN与ACK不是同时发送的,而是等到B数据发送完了,才会发送FIN给主机A。 4、A收到B发来的FIN,知道B的数据也发送完了,回复ACK, A等待2MSL(MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”)以后,没有收到B传来的任何消息,知道B已经收到自己的ACK了,A就关闭链接,B也关闭链接了。 ## 3.3 三次握手四次挥手经典例子 **三次握手:** A:“喂,你听得到吗?”A->SYN\_SEND B:“我听得到呀,你听得到我吗?”应答与请求同时发出 B->SYN\_RCVD | A->ESTABLISHED A:“我能听到你,今天balabala……”B->ESTABLISHED **四次挥手:** A:“喂,我不说了。”A->FIN\_WAIT1 B:“我知道了。等下,上一句还没说完。Balabala…..”B->CLOSE\_WAIT | A->FIN\_WAIT2 B:”好了,说完了,我也不说了。”B->LAST\_ACK A:”我知道了。”A->TIME\_WAIT | B->CLOSED A等待2MSL,保证B收到了消息,否则重说一次”我知道了”,A->CLOSED