标签:red 使用 未使用 因此 一起 理由 send mic put
用于简化OSI层次,以及相关的标准。
TCP与UDP对比:
TCP相关报文结构:
UDP相关报文结构:
TCP/UDP端口号(1-65535)
置位概念:根据TCP的包头字段,存在三个重要的标识 ACK SYN FIN
建立过程说明:
注意:第一步的图中的ctl只发送FIN
断开过程说明:
至此,TCP断开的4次挥手过程完毕。
由于TCP连接是全双工的,断开连接会比建立连接麻烦一点点。
至此,还有一个状态没有提及:CLOSING状态
CLOSING状态表示:
客户端发生了FIN,但没有收到服务器的ACK,却收到了服务器的FIN。
这种情况发生在服务器发送的ACK丢包的时候,因为网络传输有时会有意外。
状态出现方式 | 状态出现环境 | 状态名称 | 状态描述 |
---|---|---|---|
TCP建立过程的5种状态 | 服务端/客户端 | CLOSED | 默认初始化状态 |
服务端 | LISTEN | 建立socket,进入监听状态 | |
客户端 | SYN_SENT | 发送syn报文,进入syn发送状态 | |
服务端 | SYN_RVCD | 接收syn报文,并回复ack及syn报文 | |
客户端/服务端 | ESTABLISHED | 接收syn报文,回复ack,建立连接(客户端);接收ack报文,建立连接(服务端) | |
TCP断开过程的6种状态 | 服务端/客户端 | ESTABLISHED | 默认断开前初始化状态 |
客户端 | FIN_WAIT1 | 发送断开请求fin报文 | |
服务端 | CLOSE_WAIT | 收到FIN后向客户端发出ACK | |
客户端 | FIN_WAIT2 | 收到服务端返回的ACK报文,等待数据传输 | |
服务端 | LAST_ACK | 发送fin断开请求报文 | |
客户端 | TIME_WAIT | 回复FIN断开请求,发送ack报文 | |
服务端/客户端 | CLOSED | 收到ack报文,立即转变为断开状态,等待2MSL后,进入断开状态 | |
客户端 | CLOSING | 没有收到回复FIN报文的ACK,直接收到FIN |
关闭的4次连接最难理解的状态是TIME_WAIT,存在TIME_WAIT的2个理由:
可靠地实现TCP全双工连接的终止。
允许老的重复分节在网络中消逝。
ARP协议的功能:
网络层对应的IP地址,是跨网段使用的。
链路层地址对应的是MAC地址,是物理地址,是在局域网内使用的。
MAC地址就好比自己的小名一样,只有本地局域网有效
[root@oldboy ~]# arp -a ? (192.168.0.100) at f8:38:80:c2:0b:96 [ether] on eth3 ? (192.168.0.101) at e4:46:da:ef:08:f1 [ether] on eth3 ? (192.168.0.1) at 74:05:a5:87:ad:42 [ether] on eth3 ? (192.168.0.102) at 8c:85:90:52:6e:de [ether] on eth3
192:~ zoe$ arp -a 192.168.0.1 (192.168.0.1) at 74:5:a5:87:ad:42 on en0 ifscope [ethernet] 192.168.0.100 (192.168.0.100) at f8:38:80:c2:b:96 on en0 ifscope [ethernet] 192.168.0.109 (192.168.0.109) at 8:0:27:4c:6f:ad on en0 ifscope [ethernet] ? (224.0.0.251) at 1:0:5e:0:0:fb on en0 ifscope permanent [ethernet] ? (239.255.255.250) at 1:0:5e:7f:ff:fa on en0 ifscope permanent [ethernet]
因特网层相关的工具:
【Linux网络基础】TCP/IP协议簇的详细介绍(三次握手四次断开,11种状态)
标签:red 使用 未使用 因此 一起 理由 send mic put
原文地址:https://www.cnblogs.com/zoe233/p/11823822.html