网络协议学习笔记
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的情况下)
浙公网安备 33010602011771号