一、虚拟互连网络
◆ 实际的计算机网络是错综复杂的
◆ 物理设备通过使用IP协议,屏蔽了物理网络之间的差异
◆ 当网络中的主机使用IP协议连接时,则无需关注网络细节
◆ IP协议使得复杂的实际网络变为一个虚拟互连的网络
◆ IP协议使得网络层可以屏蔽底层细节而专注网络层的数据转发
◆ IP协议解决了在虚拟网络中数据报传输路径的问题
二、IP协议
点分十进制
MAC地址:30-B4-9E-ED-85-CA
00110000-11000020-11101101-01000101-11001010
IP地址:192.168.11.11
11000000.10101000.00001011.00001011
IP地址
◆ IP地址长度为32位,常分成4个8位
◆ IP地址常使用点分十进制来表示(0255.0255.0255.0255)
114.114.114.114
8.8.8.8
255.255.255.255
1.1.1.1
70.12.34.34
111.111.111.111
版本
占4位,指的是IP协议的 版本,通信双方的版本必须一 致,当前主流版本是4,即IPv4, 也有IPv6
首部位长度
占4位,最大数值 为15,表示的是IP首部长度, 单位是“32位字”(4个字节), 也即是IP首部最大长度为60字 节
总长度
占16位,最大数值为 65535,表示的是IP数据报总长 度(IP首部+IP数据)
TTL
占8位,表明IP数据报文 在网络中的寿命,每经过一个 设备,TTL减1,当TTL=0时, 网络设备必须丢弃该报文
协议
占8位,表明IP数据所携 带的具体数据是什么协议的 (如:TCP、UDP等)
首部校验和
占16位,校验IP 首部是否有出错
标识
标志
片偏移
源IP地址
目的IP地址
三、IP协议的转发流程
逐跳(hop-by-hop)
路由表简介
计算机或者路由器都拥有路由表
IP协议的转发流程
◆ 数据帧每一跳的MAC地址都在变化
◆ IP数据报每一跳的IP地址始终不变
单纯网络层传输
◆ A将数据报发送给E
◆ A发出目的地为C的IP数据报,查询路由表发现下一跳为E
◆ E查询路由表发现下一跳为F,将数据报发送给F
◆ F查询路由表发现目的地C直接连接,将数据报发送给C
配合数据链路层
◆ A将数据报发送给E
◆ A发出目的地为C的IP数据报,查询路由表发现下一跳为E
◆ E查询路由表发现下一跳为F,将数据报发送给F
◆ F查询路由表发现目的地C直接连接,将数据报发送给C
◆ E的数据链路层接收到数据帧,把帧数据交给网络层
◆ E查询路由表,发现下一跳为F
◆ E把数据报交给数据链路层,并告知目的MAC地址为F
◆ E的数据链路层封装数据帧并发送
◆ F的数据链路层接收到数据帧,把帧数据交给网络层
◆ F查询路由表,发现下一跳为C
◆ F把数据报交给数据链路层,并告知目的MAC地址为C
◆ F的数据链路层封装数据帧并发送