网络协议学习笔记

ipv4头部:43311
ipv6头部:3311
tcp头部:21142
udp头部:22

https://www.cnblogs.com/shenpengyan/p/5912567.html
mtu是链路层传输数据的最大帧长度,也就是ip数据包的头部+内容长度
mss是单个tcp数据包内容长度的限制,这是因为mtu的限制而来,保证在此长度内的数据包不会分片

为什么要有MTU

以太网最初对报文长度没有限制,网络层最大可以接收65535个字节,但是以太网对于长报文无法可靠地传输,而且丢失后重传也会占用大量的网络资源,而将报文限制在一定的长度,以太网可以将报文大概率传输到目的地,于是就有了MTU

粘包的概念和处理:
https://juejin.cn/post/6942640423286341668
发生粘包的原因是由于tcp是基于字节流的,而不是基于数据包的,一个tcp包的内容可能是一条消息,也可能是一条消息的一部分,或者是多条消息+不多余2条消息的部分,如果应用层在读取时没有正确意识到这个的话,那就会发生粘包的问题。

tcpdump抓包注意的点

tcpdump抓包时显示的seq 1:4是左闭右开,包括1,不包括4,长度为3,如果是第一个syn包,其实它也会占一个序号,但是下一个发出去的包如果占用序号的话,相对位置是从1开始计算(未指定-S的情况下)

posted @ 2023-06-05 11:25  bug批发零售  阅读(24)  评论(0)    收藏  举报