目录
任务:负责为分组交换网上不同的主机提供通信服务及选择合适的路由
概述
使用IP协议,可以把异构的网络互联起来,使得在网络层看起来好像是一个统一的网络
与IP协议配套使用的还有三个协议:
- 地址解析协议ARP
- 网际控制报文报文协议ICMP
- 网际组管理协议IGMP
IP数据报格式
- 版本:有4(ipv4)与6(ipv6)
- 首部长度:占4位,可表示最大十进制数15,单位:/4字节,当首部长度不是4字节整数倍,必须用填充字段加以填充
- 区分服务:用来获得更好的服务,一般不使用
- 总长度:首部+数据部分
- 标识:在数据报过长而分片的情况下,相同数据报的不同分片具有相同的标识符
- 片位移:某片在原分组中的相对位置
- 生存时间:TTL,防止无法交付的数据包在互联网中兜圈子。以跳数为单位
- 协议:此数据报携带的数据使用的是何种协议
- 首部检验和:只检验首部部分,不检验数据部分
分组转发算法
目的地址D,目的网络地址N
- N是与此路由器直接相连的网络,直接交付
- 路由表中有目的地址为D的特定主机路由
- 路由表中有到达D的路由
- 路由表有默认路由
- 报告分组转发出错
IP地址编址方式
分类
由网络号和主机号两部分组成,其中不同分类具有不同的网络号长度。
IP地址::={<网络号>,<主机号>}
A类地址:0 8位网络号
B类地址:10 16位网络号
C类地址:110 24位网络号
D类地址:1110 多播地址
E类地址:1111 保留为今后使用
常用IP地址
在A类地址中,网络号全0,表本网络,127,本地环回测试
主机号全0,本网络地址,全1,该网络上所有主机
在B、C类中,网络号不可能全为0或1
子网划分
在主机号中拿出一部分,作为子网号
IP地址::={<网络号>,<子网号>,<主机号>}
子网掩码
主机号、子网号全为1,主机号全为0
将子网掩码与IP地址逐位与运算,得出目的网络地址
无分类(CIDR构造超网)
无分类编址 CIDR 消除了传统 A 类、B 类和 C 类地址以及划分子网的概念,使用网络前缀和主机号来对 IP 地址进行编码,网络前缀的长度可以根据需要变化。
IP地址::={<网络前缀>,<主机号>}
- 斜线记法:在IP地址后面加上/,写上网络前缀位数
- CIDR地址掩码可以继续称为子网掩码,1的个数位网络前缀个数
- 构成超网:由于一个CIDR地址块有很多地址,所以在路由表中利用CIDR地址块来查找目的网络
- 在路由表中的项目由“网络前缀”和“下一跳地址”组成,在查找时可能会得到不止一个匹配结果,应当采用最长前缀匹配来确定应该匹配哪一个。
地址解析协议ARP
任务:同一局域网上的主机或路由器的IP地址和物理地址的映射问题
解决办法:在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并经常动态更新
- ARP高速缓存有B的地址,直接写入MAC帧
- ARP高速缓存无B的地址,广播发送ARP请求,然后写入
ARP对保存在高速缓存中的地址都设置一个生存时间,超过生存时间就删除
网际控制报文协议(ICMP)
概述:为了更有效的转发IP数据报和提高交付成功的机会,封装在IP数据报中,但不属于高层协议
常用ICMP报文类型
差错报告报文:
- 3——终点不可达
- 11——时间超过
- 12——参数问题
- 5——改变路由(重定向)
询问报文
应用:
- Ping ——用来测试两台主机之间的连通性
Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。 - Traceroute用来跟踪一个分组从源点到终点的路径。
Traceroute 发送的 IP 数据报封装的是无法交付的 UDP 用户数据报,并由目的主机发送终点不可达差错报告报文。
路由选择协议
互联网可以划分为许多较小的自治系统 AS,一个 AS 可以使用一种和别的 AS 不同的路由选择协议。
可以把路由选择协议划分为两大类:
- 自治系统内部的路由选择:RIP 和 OSPF
- 自治系统间的路由选择:BGP
内部网关协议RIP
概述:RIP是一种分布式的基于距离向量的路由选择协议
每个路由器都要维护从它自己到其它每一个目的网络的距离记录
距离指跳数,最大为15,16表不可达
- 和哪些路由交换信息?——仅和相邻路由交换信息
- 交换哪些信息?——它自己的路由表
- 什么时候交换?——按固定的时间间隔
距离向量选择算法:
优点简单易实现,缺点坏消息传的慢
内部网关协议OSPF
使用分布式的链路状态协议
- 和哪些路由器交换信息?——本自治系统内所有路由器,使用洪泛法
- 交换什么信息?——与本路由器相邻的所有路由器的链路状态
- 什么时候交换信息?——当链路状态信息发生变化
OSPF更新过程收敛的更快
外部网关协议BGP
BGP 只是力求寻找一条比较好的路由,而不是最佳路由
BGP发言人往往就是边界路由器
IP多播
概论:点对多点;源点发送一份,由路由器复制
网际组管理协议IGMP
让连接在本地局域网上的多播路由器知道本局域网上是否有主机参加或退出了某个多播组
IGMP工作分两个阶段:
- 第一阶段:当某台主机加入新多多播组,该主机应该向多播组的多播地址发送一个IGMP报文,声明自己为该组成员
- 第二阶段:本地多播路由器要周期性试探本地局域网主机,以便确定这些主机是否还继续是组的成员
多播路由选择协议
找出以源主机位结点的多播转发树
- 洪泛与剪除
- 隧道技术
- 基于核心的发现技术
虚拟专用网VPN
虚拟局域专用网利用公有的互联网作为本机和各专用网之间的通信载体。
VPN内部使用互联网专用地址,一个VPN至少有一个路由器具有全球合法地址,所有通过互联网传输的数据都必须加密。