首页 > 代码库 > tcp/ip主机到主机的数据传输,以及三次握手和四次挥手的简单理解

tcp/ip主机到主机的数据传输,以及三次握手和四次挥手的简单理解

主机到主机的数据包传输

1/22

SYN   TCP建立连接的信号

wKiom1Qg3WaCWyecAAHQ0CPmypc887.jpg




2/22

wKioL1Qg3YewmxHlAAEfhuRI-3E187.jpg




3/22

wKiom1Qg3WeA5mVfAAGM11oibcQ445.jpg



4/22

主机3.12层封装帧 arp请求

 

wKioL1Qg3YjxQk12AAH6nepkdT0946.jpg




5/22

主机3.1发送arp请求广播

wKiom1Qg3Wji-eL7AAFZZNreQTM873.jpg




6/22

主机3.2收到arp请求广播

wKioL1Qg3YnAZBJaAAGwbj5fBJY057.jpg




7/22

主机3.2收到arp请求

wKiom1Qg3WjRJKR4AAEls9WR-PQ764.jpg




8/22

主机3.2收到帧并应答

wKioL1Qg3YrgyVj2AAFgwdIO7KA874.jpg



9/22

主机3.2arp的应答

wKiom1Qg3WnDTSPRAAH5R-mW1b4828.jpg



10/22

主机3.2发送arp的应答

wKioL1Qg3YqSa4SJAAFTJsrF24o326.jpg



11/22

主机3.1收到应答,并对2层帧拆包,添加arp条目

wKioL1Qg3YvQVLgbAAGiBDHdsZw920.jpg



12/22

wKiom1Qg3WqjGE4tAAEVw5HhHEM764.jpg



13/22

Arp映射完成

wKiom1Qg3WuTlh7mAAGmG8LIpfU528.jpg



14/22

主机3.1 要求建立会话  第一次握手

wKioL1Qg3Yzxa-iEAAE20V2lcFA121.jpg




15/22

主机3.2确认接受并响应会话   第二次握手

wKioL1Qg3YzS-txtAAFi2yalM5Y724.jpg




16/22

主机3.2响应会话

wKiom1Qg3WzzvorvAAFhPnb4IaI178.jpg



17/22

主机3.1拆包

wKioL1Qg3Y3ieK7GAAEtadaZ_mk004.jpg




18/22

三次握手完成

wKiom1Qg3WyioLoXAAGL5G_aiss286.jpg





19/22

wKioL1Qg3Y2Tab_SAAEidaE7DTY161.jpg




20/22

主机3.1打包 发送数据

wKiom1Qg3W2xTlzBAAFLU5CokzE295.jpg




21/22

主机3.2拆包,提取数据

wKioL1Qg3Y7Qa_H5AAE45c8c6X0074.jpg



22/22

确认接收到了数据

wKiom1Qg3W3jdEMpAAFFglYQvNw670.jpg





Tcp连接的建立(三次握手)

SEQ是序列号

ACK是确认字符,也是期望对方继续发送的数据包的序列号

三次握手过程中

第一步A发送SYN,随机产生一个初始seqseq=100

第二步B确认接受到SYN,seq=100的包

而且准备接受下一个数据包ack=100+1101的包

同时B也将告诉A自己的初始aeq随机产生如seq=300

发送seq=300,ack=101的包

第三步A收到Back=101,则自己的seq=100+1发给B

同时期望B继续发送数据包,则自己ack=300+1


第二步中ack的确认和seq数据包的发送是同步的


wKioL1Qg3Y-AdN3XAAHDRnV1GME768.jpg




Tcp连接的终止(四次挥手)

第二三步是不同步的,常常是你发完了我还没有收完

wKiom1Qg3W6DK1skAAG0me5h4gE480.jpg


tcp/ip主机到主机的数据传输,以及三次握手和四次挥手的简单理解