IPv6
IP地址耗尽,CIDR和NAT只是延长了IPv4地址分配结束的时间
IPv6从根本上解决了IP地址的耗尽问题
与IPv4的比较
- 扩大了地址空间
- 移除校验和字段,减少了每跳的处理时间
- 将IPv4的可选字段移出首部,变成拓展首部,路由器不对拓展首部进行检查
- IPv6支持即插即用,不需要DHCP协议
- IPv6首部是8B的整数倍,而v4是4B的整数倍
- IPv6只在主机处分片,IPv4则是在路由器和主机处分片
- ICMPv6添加了报文类型:分组过大
- IPv6支持资源预分配
- 取消协议字段,增加下一个首部字段
- 取消了总长度字段,增加了有效载荷长度字段
- 取消了服务类型字段
IPv6地址表示
IPv6的基本类型
- 单播:传统点对点通信
- 多播:一点对多点的通信,分组被交付到一组计算机的每台计算机
- 任播:IPv6增加的一种类型,任播的目的站是一组计算机,在数据报交付时只交付最近的那一台计算机
IPv6到IPv4的过渡
路由选择协议
前面有提到为了隐蔽内部网络协议,使用自治系统AS
路由信息协议-RIP协议
RIP是一种分布式的基于距离向量的路由选择协议
该协议要求网络每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离,即跳数,当距离>=16时表示不可达
和相邻路由器每30秒交换自己的路由表,路由器根据更新信息更新路由表,超过180s没收到通过即表明邻居消失,更新路由信息
刚开始时路由器只知道直连网络的距离为1,只与数目有限的相邻路由器交换并更新路由信息
若干次更新后,所有路由器最终会知道本自治系统下每一个网络的最短距离和下一跳路由器的地址
路由表更新
使用距离向量算法
修改相邻路由器发来的RIP报文中的所有表项,对地址为x的相邻路由器发来的RIP报文,修改此报文中的所有项目:把下一跳字段中的地址改为x,并距离+1
对修改后的RIP报文的每一个项目
R1路由表中若没有Net3,则把该项目填入R1路由表
R1路由表中若没有Net3,则查看下一跳路由器地址,
若为X,则用收到的项目替换源路由表中的项目
若不为X,则当原距离比从X走的距离远则更新
180s后未收到邻接路由器x的更新路由表,则标记x为不可达,距离设置为16
RIP数据报格式
RIP对好消息传递快,坏消息传递慢
因为会出现时差问题
R1知道网1不可达后发出RIP报文,而R2此时未收到,则正常发出,
R1收到R2的报文以为可通过R2到达网1,更新路由表,距离改为2,发出报文
R2收到R1报文后,同样操作,距离改为3,以此类推,直到都为16才能将网1标为不可达
开放最短路径优先协议—OSPF协议
使用了Dijkstra提出的最短路径算法SPF
OSPF主要特征是使用了分布式的链路状态协议
使用洪泛法向自治系统内所有路由器发送消息,路由器向相邻的路由器发送消息,以此类推,使得整个区域的所有路由器都得到了这个信息的一个副本
发送的消息是与本路由器相邻的所有路由器的链路状态,即与哪些路由器相邻,且链路的费用、距离等
当链路状态发生变化时,路由器才向所有路由器洪泛发送此消息
每隔30min刷新一次,当规模大时OSPF更好,因为只与邻近路由器状态有关,而非与整个互联网有直接关系,收敛速度快
链路状态路由算法
- 每个路由器发现其邻居结点【HELLO问候分组】,并了解其网络地址
- 设置到每个邻居的成本度量metric
- 构建数据库描述分组【DD数据库描述分组】,向邻站给出自己的链路状态数据库中所有链路状态项目的摘要信息
- 如果分组中的摘要自己都有,则邻站不做处理,若没有则发送LSR链路状态请求分组,请求自己没有的和要更新的信息
- 收到邻站的LSR分组后,发送【LSU链路状态更新分组】进行更新
- 更新完毕后,邻站会返回一个L【SAck链路状态确认分组】进行确认
- 只要一个路由器的链路状态发送变化,就会洪泛发送【LSU链路状态更新分组】进行更新
- 更新完毕后,其他站也会返回LSAck链路状态确认分组进行确认
- 使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径
OSPF的区域
为使OSPF能够用于很大规模的网络,OSPF会将一个自治系统划分为若干更小范围,称为区域
洪泛法交换链路状态信息的范围局限于局域,减少通信量
区域区分为:主干区域、负责连通其他下层的区域,还连接其他自治域
OSPF的分类
【HELLO问候分组】、
【DD数据库描述分组】
【LSU链路状态更新分组】
【LSAck链路状态确认分组】
【LSU链路状态更新分组】
用UDP传送是指将该信息作为UDP报文的数据部分
直接使用IP数据报传送是指将该信息直接作为IP 数据报的数据部分
RIP报文是作为UDP数据报的数据部分。
OSPF协议直接使用IP数据报进行传递
边界网关协议—BGP协议
当发生变化时,和其他AS的邻站BGP交换网络可达性信息,只更新有变化的部分
交换信息的过程
BGP交换的网络可达性信息就是到达某个网络需要经过的一系列的AS,BGP会根据策略找出到达各AS的较好路由
AS2的BGP通知主干网AS1的BGP,要到达网络N1、N2要经过AS2
主干网的BGP还可通知要到达网络N1,N5分别要经过AS2和AS3
BGP协议报文格式
使用TCP进行建立BGP会话
分为四种报文
OPEN报文:与相邻的另一个BGP发言人建立关系,并认证发送方
UPDATE报文:报告新路径/撤销原路径
KEEPALIVE报文:无UPDATE时,周期性验证邻站连通性
NOTIFICATION报文:报告先前报文的差错,也用于关闭连接
支持CIDR、除了初始时交换整个BGP路由表,都只更新有变化的部分
组播
单播、广播、组播/多播
当用户需要特定数据后,组播数据发送者只发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的结点后才开始复制和分发,是点对多点传输方式
IP组播
IP组播地址让源设备能够分组发送给一组设备,属于多播组的设备被分配一个组播组IP地址
组播数据报是尽最大努力交付,不提供可靠交付,应用UDP
对组播数据报不产生ICMP差错报文
并非所有D类地址都可作为组播地址
组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧
IGMP
IGMP协议让路由器知道本局域网桑是否有主机参加或退出了某个组播组,工作于网络层
组播路由协议就是找出以源主机为根结点的组播转发数
构造数可避免在路由器间兜圈子,不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也有不同的多播转发树
常用三种算法完成组播路由选择:
基于链路状态的路由选择、基于距离-向量的路由选择、协议无关的组播
移动IP
支持移动性的因特网体系结构和协议共称移动IP,为满足移动结点在移动中满足其连接性而设计
移动IP技术是指移动结点以固定的网络IP地址实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程不发生任何改变
移动IP将分组自动投递给移动结点
移动结点是把其连接点从一个网格或子网改变到另一个网络或子网的主机
归属代理/本地代理:一个移动结点拥有的居所称为归属网络,在归属网络中代表移动结点执行移动管理功能的实体叫归属代理
外部代理/外地代理:在外部网络中帮助移动节点来完成移动管理功能的实体称为外部代理
永久地址/归属地址/主地址:移动站点在归属网络中的原始地址
转交地址/辅地址:移动站点在外部网络使用的临时地址
通过使用移动IP,一个移动结点可以再不改变其IP地址的情况下改变其驻留位置
路由器
负责路由选择和分组转发