1.网络层
网络层功能可以总结为:
- 地址管理
- 路由选择
1.1 IP协议
- 4位版本号:指定IP协议版本,例如IPv4、IPv6
- 4位首部长度:表示IP头部的长度是多少个32bit,也就是length * 4 字节,4位能表示最大数为15,所以IP头部最大为 15 * 4 = 60 字节
- 8位服务类型:前3位已经弃用,4位TOS字段,1位保留位(必须置0),4位TOS分别表示:最小延时、最大吞吐量、最高可靠性、最小费用。四者相互冲突,只能选择一位
- 16位总长度:IP数据报整体占多少个字节
- 16位标识:唯一标识主机发送的报文;如果IP报文在数据链路层被分片了,那么每一片里面的这个id都相同
- 3位标志位:第一位保留;第二位为1表示禁止分片,这时候如果报文长度超过MTU,IP模块就会丢弃报文;第三位表示更多分片,如果分片的话,最后一个分片置为0,其他都是1,类似于一个结束标志
- 13位片偏移:是分片相对于原始IP报文开始处的偏移;实际偏移的字节数就是这个值 * 8得到的
- 8位生存时间(Time To Live,TTL):数据报到达目的地的最大报文跳数,一般是64;每次经过一个路由,TTL- -,直到0还没到达,则被丢弃
- 8位协议:表示上层协议的类型
- 16位首部校验和:使用CRC进行校验,来鉴别头部是否损坏
- 32位源IP地址和32位目的IP地址:表示发送端和接收端地址
1.2 网段划分
IP地址分为两个部分:
- 网络号:保证互相连接的两个网段具有不同的标识
- 主机号:同一网段内,主机之间具有相同的网络号,但必须有不同的主机号
通过合理设置主机号和网络号, 就可以保证在相互连接的网络中, 每台主机的IP地址都不相同。但手动管理子网和IP是一件相当麻烦的事,过去曾经提出一种划分网络号和主机号的方案, 把所有IP 地址分为五类:
- A类:0.0.0.0 ~ 127.255.255.255
- B类:128.0.0.0 ~ 191.255.255.255
- C类: