AI智能
改变未来

### 无分类域间路由选择CIDR (Classless Inter-Domai


网络层协议

无分类域间路由选择CIDR (Classless Inter-Domain Routing)

  • CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念。地址从三级编址(使用子网掩码)又回到了两级编址。CIDR 将网络前缀都相同的连续的 IP 地址组成“CIDR地址块”。
  • 无分类的两级编址的记法是ip::={<网络前缀>,<主机号>}

超网(子网汇聚)

  • 超网是与子网类似的概念–IP地址根据子网掩码被分为独立的网络地址和主机地址。但是,与子网把大网络分成若干小网络相反,超网是把一些小网络组合成一个大网络。
  • 超网(子网汇聚)就是主机位向网络位借位。换言之,就是减少网络位,增加主机位
  • 子网汇聚相当于子网划分的逆运算。在实际应用中一般是为了减轻路由表的负载而引进地址汇聚的概念(超网)。

ip数据报

ip数据报的格式

  • 一个 IP 数据报由首部和数据两部分组成

  • 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的

  • 在首部的固定部分的后面是一些可选字段,其长度是可变的。

    其中

  • 版本:占4bit,指ip协议的版本,目前的ip协议版本号为4(即ipv4)

  • 首部长度:占4bit,可表示的最大数值是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值是60字节。

  • 服务类型:占8bit,用来被获得更好的服务,服务类型结构如下

  • 总长度:占64个bit,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。

  • 标识:占16bit,它是一个计数器,用来产生数据报的标识

  • 标志:占3bit。用来描述数据报分片信息

  • 片偏移:占12bit,较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位

  • 生存时间:占8bit,数据报在网络中的寿命,其单位为秒。例如进过一个路由器寿命-1秒。

  • 协议:占8bit,指出此数据报携带的数据使用何种协议以便目的主机的 IP 层将数据部分上交给哪个处理过程

  • 首部校验和:占16bit,只检验数据报的首部不包括数据部分。这里不采用 CRC 检验码而采用简单的计算方法

    特点:(1)算法简单:置头校验和的初值为“0”,然后对报头的每16位求二进制反码,然后累加,结果再取反;
    (2)只做报头校验,数据区不做:节省时间,但不可靠;
    (3)数据报每经过一个节点,都需要重新计算报头校验和,因为生存时间,标志和片偏移都可能变化。

  • 源地址和目的地址各占4个字节

  • IP 数据报首部的可变部分:IP 首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。长度从1到40个字节不等,当长度不够四的整数倍时,需要填充部分填充。

ip数据报分片和重组

  在将ip数据报的分片和重组之前,先介绍一个概念,最大传输单元MTU

  • MTU:网络规定的一个帧最多能够携带的数据量。与路由器连接的各个网络的MTU可能不同
    所以当前后网络MTU不同时,就可能会出现问题,例如第一段网络的MTU是2000字节,第二段是500字节,所以在传输到第二段网络的时候就会出现问题,就需要对ip数据报进行分片操作,有了分片自然就有了对应的重组操作。
  1. 分片

IP分组的尺寸可以在很大范围内变化,与由硬件决定的MTU不同,IP数据报大小由软件所决定,在
一定范围内(65535)可以任意选择;与由硬件决定的MTU不同,IP数据报大小由软件所决定,在
一定范围内(65535)可以任意选择;问题是不论选择最大的MTU作为标准还是最小的MTU都打不到理想的效果,假如以最大的为上限,在MTU小的网络上则完不成数据的封装,如果以最小的为上限,则会造成硬件资源的浪费。

  • 所以需要分片
  • IP协议采用分片(fragmentation)技术屏蔽物理网络帧MTU的不同。IP协议提供分片(fragmentation)机制,在MTU较小的网络上,将数据报分成若干较小的部分进行传输。这种较小的部分叫作片(fragment)。
  • 分片:IP数据报的尺寸大于将发往网络的MTU值 时,路由器将IP数据报分成若干较小的部分的过程。每个分片由报头区和数据区两部分构成
  • 分片后的IP数据报,与原来未分片的IP数据报头部有两点主要不同:标志和片偏移
    (1) 标志:在IP数据报的头部,有一个叫标志的字段,用3位二进制数表示,如图所示。
    (2)片偏移:某片在原分组的相bai对位置,以8个字节为偏移du单位。这就是说,每个zhi分片的长度一定是8字节(64位)的整数倍。偏移=长度/8
  1. 重组
  • 重组:在接收到所有分片的基础上,主机对分片进行重新组装的过程
  • 目的主机进行重组。减少了中间路由器的计算量,路由器可以为每个分片独立选路
  • 路由器不需要也不能对分片进行重组

因特网的路由选择协议

  前面我们学习了通过路由表来进行路由选择,路由选择分为静态的和动态的,我们人为手动的填写数据表就是静态的,路由器自己交换信息构建路由表是动态的,但是在整个网络中,我们不可能依赖路由器去和别的所有路由器都交换信息构建数据表,这就需要路由选择协议。

分层次的路由选择协议

  • 因特网采用分层次的路由选择协议
  • 因特网的规模非常大。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和
  • 许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网,自己单位内部就可以称作一个自治系统
  • 自治系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由。

英特网有两大类路由选择协议:
(1)内部网关协议IGP:即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如 RIP 和 OSPF协议
(2)外部网关协议EGP:若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是 BGP-4。

内部网关协议RIP

  • 工作原理:RIP 是一种分布式的基于距离向量的路由选择协议。RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录
  • “距离的定义”:从一路由器到直接连接的网络的距离定义为 1;从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1;RIP协议中的距离也被称作跳数,因为没经过一个路由器,跳数+1;这个距离实际上指最短距离,RIP协议认为好多路由就是经过的路由器的数量少。
  • 特点:(1)RIP 允许一条路径最多只能包含 15 个路由器 (2)“距离”的最大值为16 时即相当于不可达。可见RIP 只适用于小型互联网。(3RIP 不能在两个网络之间同时使用多条路由。RIP选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路)
  • 注意点:(1)仅和相邻路由器交换信息(2)交换的信息是当前本路由器所知道的全部信息,
    即自己的路由表(3)按固定的时间间隔交换路由信息,例如,每隔30 秒。
  • 优点:RIP 协议最大的优点就是实现简单,开销较小
  • 缺点:RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器;RIP 限制了网络的规模,它能使用的最大距离为15(16 表示不可达);路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。

内部网关协议 OSPF

  • 是分布式的链路状态协议。
  • 要点:(1)向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。
    (2)发送的信息就是与本路由器相邻的所有路由器的链路状态。
    (3)只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
    由于各路由器之间频繁的交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据表。
  • 这个数据库实际上就是全网的拓扑结构图,它在全网范围内是一致的(这称为链路状态数据库的同步)。
  • OSPF 的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF 的更新过程
    收敛得快是其重要优点。

外部网关协议BGP

  • BGP 是不同自治系统的路由器之间交换路由信息的协议。
  • 因特网的规模太大,使得自治系统之间路由选择非常困难。对于自治系统之间的路由选择,要寻
    找最佳路由是很不现实的。比较合理的做法是在AS之间交换“可达性”信息。
  • 因此,边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈
    子),而并非要寻找一条最佳路由。
  • 存在BGP发言人:往往是BGP边界路由器,一个BGP发言人要与其他自治系统的BGP发言人交换信息,需要先建立TCP连接,在此连接上交换BGP报文,利用TCP连接提供可靠的服务,也简化了路由选择协议

ip多播(点对多的通信)

  • 多播可明显地减少网络中资源的消耗
  • 特点:(1)多播使用组地址—— IP 使用 D 类地址支持多播。多播地址只能用于目的地址,而不能用于源地址。
    (2)使用硬件进行多播
    (3)动态的组成员
  • IP多播需要两种协议:为了使路由器知道多播组成员的信息,需要利用网际组管理协议 IGMP (InternetGroup Management Protocol)。连接在局域网上的多播路由器还必须和因特网上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员。这就需要使用多播路由选择协议。

网际组管理协议 IGMP

  • IGMP 使多播路由器知道多播组成员信息
  • IGMP 并非在因特网范围内对所有多播组成员进行管理的协议。
  • IGMP 协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组。
  • 第一阶段:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员。本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器。
  • 第二阶段:因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器

多播路由选择

  • 多播路由选择的基本思想是能够将组播数据包传送到组播组中的每个主机,同时在路由器转发过程中避免出现路由环路
  • 实际上是为组播组构造一颗组播转发树,组播树连接着组播组中所有主机所在的子网,组播数据包通过组播树中的路由器复制并转发,最后一跳路由器连接组播组中的主机。
  • 不同的IP组播路由协议使用不同的技术构造这些组播扩展树,一旦这个树构造完成,所有的组播
    流量都将通过它来传播。
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » ### 无分类域间路由选择CIDR (Classless Inter-Domai