TCP/IP 5层协议簇:网络层(IP数据包的格式、路由器原理)
目录
1. TCP/IP 5层协议簇
2. IP 三层包头协议
3. 路由器原理
4. 交换机和路由的对比
1. TCP/IP 5层协议簇
如下:
2. IP 三层包头协议
数据包如下:IP包头不是固定的,每一个数字是一个bit
其中数据部分是上层的内容,IP包头最小长度是20字节,最长是60字节【一般都是20字节,可选项用不到】
【版本号】目前都是ipv4,而非ipv6,常见都是0100
【首部长度】表示IP包头的长度是多少,因为包含可选项,所以ip包头长度不固定。1111,每一个1代表32比特,也就是4字节,那么(1111)15 * 4 = 60字节。常见都是0101,ip包头20字节
【优先级和服务类型】前三个比特代表优先级,中间四个比特代表服务类型,最后一个比特没有被启用。这个正常用不到
【总长度】和首部长度对应,首部长度表示IP包头的长度;总长度表示ip包的长度,3+4+5层的数据长度,不包括帧。
【段偏移量】分片后,每个ip包的偏移位置,也就是完整IP被被切分后的先后顺序,要么0,要么1480的倍数【因为帧MTU是1500,减去ip包头的20,就是1480】
【标志位】目前只有前两位有意义,最后一位没有使用(未启用XX)。标志字段的最低位是 MF (More Fragment),MF =1 表示后面还有分片;MF=0 表示最后一个分片。标志字段中间的一位是 DF (Don't Fragment) 只有当 DF =0 时才允许分片。
【标识符】对分片进行分类,例如A、B两个数据都被分片了,区分分片是属于A还是B,同一类的分片里面的标识符是一样的
【TTL】生存时间,经过最多路由器的个数。经过一个路由器就会-1,TTL为0被丢弃,并且路由器会发送报文给主机。防止数据一直在网络上运行。一般Windows设置大于100,Liunx设置小于100
请求超时可能路由器做了设置。
windows系统:
【协议号】协议字段指出封装上层的数据采用什么协议进行传输。TCP(6)、UDP(17)、ICMP(1)
【首部检验和】只校验IP头部20字节的位置。
3. 路由器原理
工作在网络层的设备:路由器
路由:路由器为IP包选择路径的过程
路由器转发的依据:路由表【有就转发,没有就干掉】
ip 10给70 发包,经过第一个路由器。路由器生成路由表,知道 f0/0 连接的网段是10.1.1.0/24的网络【C代表直连】。配置好f0/1后,路由表生成。
因为路由表不完整,没有70,把包干掉,发送ICMP协议回馈机制,目标主机不可达。
配置S 静态路由,只需要告诉路由下一跳的IP地址就行了。
完整的路由表(路由条目)如下:
这样配置静态路由表很慢,于是手工配置的默认路由。
这个适合配置默认路由,因为它是边缘路由器,只有进和出两个端口
直连路由、静态路由、默认路由