1. TCP、 UDP、端口号、协议号 TCP:传输控制协议,可靠度面向用户的连接。 UDP:用户数据报协议,不可靠的无连接服务。 UDP用于视频传输,一般长度为500个字节。 端口号:为了标识上层(应用层)协议。 协议号:用于标识上层(传输层)协议。 MTU:最大传输单元,针对网络层数据的大小。 MSS:最大报文段长度,针对TCP能承载的数据大小。 2. TCP数据包结构 源端口(sport):指一个发送端口,系统随机分配。 目标端口(dport):指数据接收者端口,一般是确定的。 序列号:为了标识数据包。 确认序号:确认数据包的到达。 报头长度:占用4bit,最大60B,最小20B。报头长度就是TCP报文长度。 保留:占6bit 标志位:六个标志位,每个作用如表1: 表1 窗口:用来控制对方发送的数据量,单位字节。窗口大小指的是TCP缓存大小,最大65536B。 检验和:检查数据包 紧急位:用来标记某些紧急数据,可提前处理。 可选项:报头长度大于20B时选择可选项。 3. UDP数据包结构 源端口:指一个发送端口,系统随机分配。 目标端口:指数据接收者端口,一般是确定的。 长度:就是指数据长度+UDP长度。 检验和:检查数据包。 4. IP数据包结构 版本号:4,占4bit。 头部长度:占4bit,IP协议本身头部长度。 服务类型:用于流控,占8bit,QoS服务质量。 数据包长度:数据包数据长度+报头长度。 标识号:用来标识一个数据包。 标志位:占3bit,第一个保留,第二个允许分片位d(don’t),当d=0时,允许分片,当d=1时,不允许分片。第三个更多分片位m(more),当m=0时,是代表最后一片,当m=1时,表示更多分片位。 偏移位:分开的数据重组的时候需要用偏移位。 生存时间(TTL):数据包每经过一个路由器TTL的指就会减1,如果TTL的值为0,路由器则丢包,不负责传送。 协议号:用来标识上层协议(TCP=6 UDP=17 ICMP=1 IGMP=2)。 头部检验和:就是用来检测头部数据是否完整。 源IP地址:发送者地址。 目标IP地址:接受者地址。 可选项 填充
|