多平台统一管理软件接口,如何实现多平台统一管理软件接口
408
2022-10-15
TCP/IP协议栈
1. TCP三次握手
客户端向服务端发送SYN请求建立连接的包,服务端收到后发送ACK确认收到客户端的SYN包,接着发送SYN包表示服务端也希望建立TCP连接,客户端收到服务端的SYN包会发送一个ACK包表示确认和服务端建立TCP连接。(SYN,ACK在tcp包的flags字段里面)在wrieshark中显示的通常是相对seq和ack,而不是真实的。(跟踪相对的会容易一些)较官方的说法:第一次握手:客户端发送SYN包至服务器,并进入SYN_SENT状态,等待服务器确认第二次握手:服务器收到客户端的SYN包,发送一个ACK,同时发送自己的SYN,此时服务器进入SYN_RCVD状态第三次握手:客户端接收到服务器发送的SYN+ACK后,进入ESTABLISHED状态,并发送服务器SYN包的确认ACK,服务器接收到客户端ACK后,进入ESTABLISHED状态当客户端和服务器都进入ESTABLISHED状态后,客户端和服务器之间就可以开始双向传递数据了
2. TCP四次挥手
客户端主动发送FIN包,请求断开连接;服务端收到发送一个ACK包确认收到断开连接,接着发送一个FIN包请求断开连接;客户端收到ACK确认后,断开连接。此时,会话结束。较官方的说法:第一次挥手:主动关闭方发送一个FIN并进入FIN_WAI×××状态第二次挥手:被动关闭方接收到主动关闭方发送的FIN并发送ACK,此时被动关闭方进入CLOSE_WAIT状态;主动关闭方收到被动关闭方的ACK后,进入FIN_WAIT2状态第三次挥手:被动关闭方发送一个FIN并进入LAST_ACK状态第四次挥手:主动关闭方收到被动关闭方发送的FIN并发送ACK,此时主动关闭方进入TIME_WAIT状态,经过2MSL时间后关闭连接;被动关闭方收到主动关闭方的ACK后,关闭连接
3. TCP的重传机制
超时重传机制:
当发送方发现等待Seq 3的Ack(即Ack 4)超时后,会认为Seq 3发送“失败”,重传Seq 3。一旦接收方收到Seq 3,会立即回Ack 4
快速重传机制:
如果包没有连续到达,就Ack最后那个可能被丢了的包;如果发送方连续收到3次相同的Ack,就重传对应的Seq。将超时重传与快速重传结合起来,触发快速重传时,只重传局部的一小段Seq(局部性原理,甚至只重传一个Seq),其他Seq超时后重传。
4. TCP的窗口机制(窗口会滑动)
对于发送方将,窗口包括发送窗口(已经发送了,但没有收到ACK回应)和可用窗口,接收端允许发送但是没有发送的部分。 窗口滑动原理:TCP并不是每一个报文段都会回复ACK的,可能会对两个报文段发送一个ACK,也可能会对多个报文段发送1个ACK【累计ACK】,比如说发送方有1/2/3 3个报文段,先发送了2,3 两个报文段,但是接收方期望收到1报文段,这个时候2,3报文段就只能放在缓存中等待报文1的空洞被填上,如果报文1,一直不来,报文2/3也将被丢弃,如果报文1来了,那么会发送一个ACK对这3个报文进行一次确认。 TCP头部
头部长度:一般为20字节,选项最多40字节,限制60字节。源端口,目的端口,确认号,序列号,头部长度,保留,TCPflags(标志数据包的属性,如SYN、ACK等),滑动窗口(解决流控拥塞),数据,checksum(校验值),Urgent Pointer:紧急指针,可以告知紧急的数据位置,需要和Flag的U flag 配合使用;options选项(如果有)
6. TCP的序列号和确认号
Seq:序列号,防乱序(第一个随机(通常两端的第一个seq都是0开始的),第二个开始看前一个ack大小)
Ack:确认号,防丢包(数据大小+序列号)序列号为当前端成功发送的数据位数,确认号为当前端成功接收的数据位数,SYN标志位和FIN标志位也要占1位
7. TCP、UDP
TCP:传输控制协议,面向连接,可靠传输,支持流控和窗口机制,HTTP、FTP等UDP:用户数据报协议,无连接,不可靠传输,不支持流控和窗口机制,TFTP、DNS、DHCP等TCP包的固定长度为20字节,UDP的固定长度为8字节
8. UDP头部
源端口,目的端口,长度,数据,checksum(校验值),
9. 端口号
源端口随机分配(大于1023),目的端口是知名端口(1-1023)
10. IP包
IP头部信息:
头部长度:通常20字节,有选项时更长,总共不超过60字节。 IP数据报长度:65535字节。版本,头部长度,服务类型,总长度,标识符,标志,片偏移,生存时间TTL,上层协议,头部校验值,源IP,目的IP,选项,数据
11. IP数据分片与重组
分片:
标识符:识别属于同一个数据包的分片,区别于同一主机或其他主机的数据包分片;
标志:
判断是否收到最后一个分片,最后一个分片的标志字段为0,其余的为1;目的端在收到标志字段为0时,开始重组报文;片偏移:表示每个分片在原始报文中的位置。为什么要分片:IP数据包大于MTU时,需进行分片
12. TTL机制
数据报到达目的地之前允许经过的路由跳跳数。跳一下减1,得0丢弃。 UDP协议号17,TCP协议号6,ICMP协议号1
14. ARP泛洪
不断发送ARP请求,占用上网资源,导致用户无法上网。有点类似DDOS×××,导致服务器无法正常工作。
15. ARP欺骗×××(中间人×××)
×××将自己的MAC绑定A发送给B的ARP请求的目的IP地址为B。也绑定B返回的目的IP地址为A。(说的有点拗口,水平有限,敬请原谅。)
16. IP选项值
可以实现IP记录路由,时间戳,源站路由技术源站路由技术:源站路由反映的思路是提供一种方式,让源主机指定一条通过互联网的路径。(IP支持2种形式的源站选路:1:松散源站路由:它给出了一连串路由器接口的IP地址序列,报文必须沿着IP地址序列传送,但是允许在相继的两个地址之间跳过多个路由器。2:严格源站路由:它给出了一系列路由器接口的IP地址序列,报文必要严格按照路由转发,如果下一跳不在列表中,那么将会发生错误。备注:一般工作中,称松散源站路由为松散路由。称严格源站路由为源站路由。)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~