《计算机网络--谢希仁》 第四章 网络层 Part2

《计算机网络--谢希仁》 第四章 网络层 Part2


4 网际控制报文协议ICMP(Internet Control Message Protocol)

    为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP,允许主机或路由器报告差错情况和提供有关异常情况的报告。

    它是IP层的协议。

    ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。


4.1 ICMP报文的种类

    ICMP报文种类

  • ICMP差错报告报文
  • ICMP询问报文

    ICMP的前4个字节是统一的格式,共有三个字段:类型、代码、校验和。接着4个字节的内容与ICMP的类型有关,最后面是数据字段,其长度取决于ICMP的类型。


    ICMP差错报告报文共有五种:
    1) 终点不可达:路由器或主机不能交付数据报时就向源点发送终点不可达报文
    2) 源点抑制:路由器或主机由于拥塞丢弃数据报,就向源点发送此数据报,告诉源点应当把数据报的发送速率放慢
    3) 时间超过:路由器收到生成时间为零的数据报时,除了丢弃数据报外,还要向源点发送时间超时报文
    4) 参数问题:首部字段不正确
    5) 改变路由(重定向):让主机知道下次应将数据报发送给另外的路由器

    所有ICMP差错报告报文中的数据字段都具有相同的格式,把收到的需要进行差错报告的IP数据报的首部和数据字段的前8个自己提取出来,作为ICMP报文的数据字段,再加上相应的ICMP差错报告报文的前8个字节,就构成了ICMP差错报告报文。


    ICMP询问报文
    1) 回送请求和回答
        ICMP回送请求报文是主机向一个特定的目的主机发出的询问,收到此报文的必须给源主机发送ICMP回送回答报文
    2) 时间戳请求和回答
        请求某个主机回答当前的日期和时间

4.2 ICMP应用举例

    分组网间弹出PING,测试两个主机之间的连通性。PING使用了ICMP回送请求与回送回答报文。PING是应用层直接使用ICMP的一个例子。

5 因特网的路由选择协议

5.1 基本概念

    1. 从路由算法能否随网络的通信量或拓扑自适应地进行调整变化来划分,则只有两大类:

        1) 静态路由选择策略

        也叫做非自适应路由选择,其特点是简单和开销小,但不能及时适应网络状态的变化。

        2) 动态路由选择策略

        自适应路由选择,其特点是能较好地适应网络状态的变化,实现复杂,开销比较大

    2. 分层次的路由选择协议

    1) 内部网关协议IGP:在一个自治系统内部使用的路由选择协议,如RIP和OSPF。

    2) 外部网关协议EGP:若源主机和目的主机处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。如EGP,BGP。

    自治系统之间的路由选择也叫做域间路由选择。

5.2 内部网关协议RIP(Routing Information Protocol,路由信息协议)

5.2.1 工作原理


RIP协议的特点:



5.2.2 距离向量算法

    路由表中主要信息:目的网络、到某个网络的距离(即最短距离)、应经过的下一跳地址。路由表更新的原则是找出到每个目的网络的最短距离。这种更新算法又称为距离向量算法。

    算法步骤:

    收到相邻路由器(其地址为 X)的一个 RIP 报文:

    (1) 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。

    (2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤:
    若项目中的目的网络不在路由表中,则把该项目加到路由表中。
    否则
       若下一跳字段给出的路由器地址是同样的,则把收到的项目替换原路由表中的项目。
       否则
           若收到项目中的距离小于路由表中的距离,则进行更新,

           否则,什么也不做。

    (3) 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16表示不可达)。

    (4) 返回。

5.2.3 RIP协议的报文格式


    RIP协议的优缺点

  • RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。
  • RIP 协议最大的优点就是实现简单,开销较小。
  • RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。
  • 路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
  • 好消息传播得快,而坏消息传播得慢。网络出故障的传播时间往往需要较长的时间(例如数分钟)。这是 RIP 的一个主要缺点。

5.3 内部网关协议OSPF(Open Shortest Path First,开放最短路径优先)

5.3.1 基本信息

   “开放(Open)”表明 OSPF 协议不是受某一家厂商控制,而是公开发表的。

   “最短路径优先(Shortest Path First)”是因为使用了 Dijkstra 提出的最短路径算法SPF

    OSPF 只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。

    是分布式的链路状态协议。

    向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。

    发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。

  “链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。

    只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。

    OSPF 不用 UDP 而是直接用 IP 数据报传送。

    OSPF 还规定每隔一段时间,如 30 分钟,要刷新一次数据库中的链路状态。

    当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多。

5.3.2 链路状态数据库

    由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库。

    这个数据库实际上就是全网的拓扑结构图,它在全网范围内是一致的(这称为链路状态数据库的同步)。

    OSPF 的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF 的更新过程收敛得快是其重要优点。

5.3.3 划分区域

    为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域。

    每一个区域都有一个 32 位的区域标识符(用点分十进制表示)。

    区域也不能太大,在一个区域内的路由器最好不超过 200 个。

    OSPF 使用层次结构的区域划分。在上层的区域叫作主干区域(backbone area)。主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域。

5.3.4 OSPF的五种分组类型

    类型1,问候(Hello)分组。

    类型2,数据库描述(Database Description)分组。

    类型3,链路状态请求(Link State Request)分组。

    类型4,链路状态更新(Link State Update)分组,用洪泛法对全网更新链路状态。

    类型5,链路状态确认(Link State Acknowledgment)分组。

5.4 外部网关协议BGP

5.5 路由器在网际互联中的作用

5.5.1 路由器的结构

      路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。也就是说,将路由器某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个合适的输出端口转发给下一跳路由器。

     下一跳路由器也按照这种方法处理分组,直到该分组到达终点为止。

    “转发”和“路由选择”的区别

    “转发”(forwarding)就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去。

    “路由选择”(routing)则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。

        路由表是根据路由选择算法得出的。而转发表是从路由表得出的。

        在讨论路由选择的原理时,往往不去区分转发表和路由表的区别。

5.5.2 路由器转发分组的步骤



6 IP多播

6.1 基本概念




     (1) 多播使用组地址—— IP 使用 D 类地址支持多播。多播地址只能用于目的地址,而不能用于源地址。

     (2) 永久组地址——由因特网号码指派管理局 IANA 负责指派。

     (3) 动态的组成员

     (4) 使用硬件进行多播

6.2 在局域网上进行硬件多播

6.3 网际组管理协议IGMP和多播路由选择协议

7 虚拟专用网VPN和网络地址转换NAT












猜你喜欢

转载自blog.csdn.net/qq_27022241/article/details/80080624