计算机网络期末复习(计算机网络第八版)——第四章网络层

目录

4.1 网络层的几个重要概念

4.1.1 网络层提供的两种服务

4.1.2 网络层的两个层面

4.2 网际协议IP

4.2.1 虚拟互连网络

4.2.2 IP地址

1. IP地址及其表示方法

2.分类的IP地址

3. 无分类编址CIDR

4.2.3 IP地址与MAC地址

4.2.4 地址解析协议ARP

4.2.5 IP数据报的格式

4.3 IP层转发分组的过程

4.3.1 基于终点的转发

4.3.2 最长前缀匹配

4.3.3 使用二叉线索查找转发表

4.4 网际控制报文协议ICMP

4.5 IPv6

4.5.1 IPv6的基本首部

4.5.2 IPv6的地址

4.5.3 从IPv4向IPv6过渡

4.5.4 ICMPv6

4.6 互联网的路由选择协议

4.6.1 有关路由选择协议的几个基本概念

4.6.2 内部网关协议RIP

4.6.3 内部网关协议OSPF

4.6.4 外部网关协议BGP

4.7 IP多播

4.7.1 IP多播的基本概念

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

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

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

4.9 多协议标签交换MPLS

4.10 软件定义网络SDN简介


网络层的两种服务

网际协议——核心内容

ICMP、几种常用的路由选择协议、IPv6的主要特点、IP多播概念

4.1 网络层的几个重要概念

4.1.1 网络层提供的两种服务

在计算机网络领域,关于网络层应向运输层提供何种服务(“面向连接”还是“无连接”)曾引发长期争论。争论的核心在于可靠交付的责任应当由谁承担:是网络层还是端系统?

1. 虚电路服务(面向连接)

  • 特点

    • 建立连接:通信前必须先建立一条虚电路(Virtual Circuit, VC),类似于电话通信中的拨号过程。

    • 资源预留:虚电路建立后,网络会预留所需的资源(如带宽、路由等),确保通信的稳定性。

    • 分组传输:分组只需携带虚电路编号,而非完整的目的地址,减少了分组头部的开销。

    • 有序传输:分组按序到达终点,且不会丢失、重复或出错。

    • 释放连接:通信结束后,必须释放虚电路。

  • 优点

    • 提供可靠的端到端传输服务,适合对可靠性要求高的应用

    • 分组传输路径固定,减少了路由选择的复杂性。

  • 缺点

    • 网络设备(如路由器)需要维护大量的连接状态信息,增加了复杂性和成本。

    • 资源预留可能导致网络资源的浪费,尤其是在流量不均匀的情况下。

  • 应用场景

    • 传统电信网(如电话网)采用这种方式,因为终端设备(如电话机)没有智能处理能力,网络必须保证可靠传输。

2. 数据报服务(无连接)

  • 特点

    • 无需建立连接:每个分组独立发送,无需预先建立连接。

    • 独立传输:每个分组独立查找路由,逐跳传送到目的主机,与前后分组无关。

    • 无序传输:分组可能出错、丢失、重复或失序到达终点。

    • 尽最大努力交付:网络层不提供服务质量的承诺,只负责尽力将分组送达目的地。

  • 优点

    • 网络设计简单,路由器不需要维护连接状态,降低了设备复杂性和成本。

    • 灵活性高,能够适应多种应用需求,尤其是对实时性要求不高但对灵活性要求高的应用。

    • 网络资源利用率高,避免了资源预留带来的浪费。

  • 缺点

    • 不提供可靠的端到端传输,分组可能会丢失、重复或失序。

    • 需要运输层(如TCP)来实现可靠的传输,增加了端系统的负担。

  • 应用场景

    • 互联网采用这种方式,因为端系统(如计算机)具有强大的差错处理能力,可以在运输层实现可靠的传输。

3. 争论的实质

  • 电信网的经验:电信网的成功经验表明,面向连接的服务可以提供可靠的传输,但这种模式依赖于昂贵的设备和复杂的协议,适用于终端设备简单的场景(如电话机)。

  • 互联网的设计思路:互联网的先驱者认为,计算机网络的端系统具有智能,能够处理差错和流量控制,因此网络层应该尽量简单,提供灵活的无连接服务,而将可靠传输的责任交给运输层。

4. 结论

  • 互联网的选择:互联网最终选择了数据报服务,网络层提供尽最大努力交付的无连接服务,而运输层(如TCP)负责端到端的可靠传输。这种设计使得网络更加简单、灵活,能够适应多种应用需求,并显著降低了网络设备的成本。

  • 历史验证:互联网的成功发展证明了这种设计思路的正确性,尽管早期有支持虚电路服务的标准(如X.25),但这些标准已逐渐被淘汰。

  • 虚电路服务:面向连接,提供可靠的端到端传输,适合对可靠性要求高的应用,但网络设备复杂,成本高。

  • 数据报服务:无连接,提供灵活的尽最大努力交付,适合互联网的广泛应用,网络简单,成本低,但需要运输层实现可靠的传输。

互联网的成功证明了数据报服务的优势,使得网络层保持简单,而将复杂的可靠传输任务交给运输层处理。

4.1.2 网络层的两个层面

路由器之间传送的信息

        1)转发源主机和目的主机之间所传送的数据

        2)传送路由信息

1. 数据层面(/转发层面)

        转发表

2. 控制层面

        远程控制器


4.2 网际协议IP

网际协议IP(Internet Protocol)

        TCP/IP系统中最主要的协议之一

        互联网标准协议之一

        Kahn-Cerf协议

与协议IP配套使用

        地址解析协议ARP(Address Resolution Protocol)

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

        网际组管理协议IGMP(Internet Group Management Protocol)

网络层==网际层==IP层

4.2.1 虚拟互连网络

网络互连的中间设备

        1)转发器(repeater):物理层使用的中间设备

        2)网桥桥接器(bridge)以及交换机数据层使用的中间设备

        3)路由器(router):网络层使用的中间设备

        4)网关(gateway):在网络层以上使用的中间设备

网路互连——指用路由器进行网络互连和路由选择

直接交付

间接交付

互联网可以由多种异构网络互连组成

        卫星链路——R_4R_5

        无线局域网——R_5

(hop)”

        分组在传送途中的每一次转发

下一跳(next hop)”

4.2.2 IP地址

1. IP地址及其表示方法

        整个互联网——单一的、抽象的网络

        IP地址——给连接到互联网上的每一台主机(或路由器)的每一个接口,分配一个在全世界范围内是唯一的32位的标识符

                由互联网名字和数字分配机构ICANN(Internet Corporation for Assigned Names and Numbers)进行分配

                32位的二进制代码

                点分十进制记法(dotted decimal notation)

                两个字段

                        1)网络号

                                标志主机(或路由器)所连接到的网络

                                唯一的

                        2)主机号

                                标志该主机(标志该路由器)

                        唯一的

                        “::=”表示“定义为”

                        指明了连接到某个主机上的一个主机(或路由器)

2.分类的IP地址

A类、B类、C类——单播地址

        主机号全0表示网络地址,全1表示广播地址。

        分别适用于大、中、小型网络

D类——多播地址

        用于多播通信(一对多),不区分网络号和主机号。

E类——保留地址

        保留为今后使用

  • 资源浪费:分类的IP地址设计存在明显的资源浪费。例如,A类地址块的主机号过多,导致很多单位申请A类地址后大量地址闲置;而C类地址块的主机号过少,无法满足一些单位的需求。
  • 地址枯竭:随着互联网的快速发展,IP地址数量迅速消耗,分类的IP地址逐渐无法满足需求。
  • 解决方案:为了解决这些问题,后来引入了无分类编址(CIDR)和子网划分等技术,以更灵活地管理和分配IP地址,延长了IPv4地址的使用寿命。

3. 无分类编址CIDR

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

1)网络前缀

        指明网络

        后缀

        n为0~23选取的任意值

        斜线记法(slash notation)(/CIDR记法)

2)地址块

  • CIDR将具有相同网络前缀的所有连续IP地址组成一个“CIDR地址块”。
  • 计算:已知CIDR地址块中的任何一个地址,可以通过网络前缀确定该地址块的最小地址(起始地址)和最大地址,以及地址块中包含的地址数量。

    • 最小地址:网络前缀后的主机号全为0。

    • 最大地址:网络前缀后的主机号全为1。

    • 可指派地址数:通常是2^{32-n} - 2,其中n是网络前缀的长度,减2是为了排除全0和全1的主机号。

  • 示例:对于 128.14.35.7/20,其二进制表示为 10000000 00001110 00100011 00000111,网络前缀为前20位,主机号为后12位。最小地址为 128.14.32.0,最大地址为 128.14.47.255,包含2^{12}=4096个地址,扣除全0和全1的主机号后,可指派地址数为 4094

3)地址掩码

  • 定义:地址掩码(或子网掩码)由一连串1和接着的一连串0组成,1的个数等于网络前缀的长度。它用于从IP地址中提取网络地址。

  • 表示方法:在CIDR记法中,斜线后面的数字就是地址掩码中1的个数。例如,/20 对应的地址掩码为 255.255.240.0

  • 运算:通过将IP地址和地址掩码进行按位AND运算,可以快速得出网络地址。例如,128.14.35.7/20 的网络地址是 128.14.32.0/20

4. IP地址的特点

4.2.3 IP地址与MAC地址

MAC地址——物理地址、硬件地址

IP地址和MAC地址区别

        MAC地址

                数据链路层使用的地址

        IP地址

                网络层和以上各层使用的地址,是一种逻辑地址(称IP地址为逻辑地址是因为IP地址是用软件实现的)

4.2.4 地址解析协议ARP

1. ARP的作用

  • 主要功能:地址解析协议(ARP, Address Resolution Protocol)用于将IP地址解析为链路层的MAC地址。它解决了在网络层使用IP地址,而在链路层需要使用MAC地址的问题。

  • 应用场景:当一台主机或路由器需要与同一局域网内的另一台设备通信时,如果只知道对方的IP地址而不知道其MAC地址,ARP可以帮助找到对应的MAC地址。

2. ARP的工作原理

  • ARP高速缓存:每台主机和路由器都维护一个ARP高速缓存(ARP cache),其中存储了IP地址到MAC地址的映射表。这个缓存可以减少广播ARP请求的频率,提高效率。

  • ARP请求与响应

    1. 查找缓存:当主机A需要向主机B发送数据时,首先检查ARP高速缓存中是否有主机B的IP地址到MAC地址的映射。

    2. 广播ARP请求:如果缓存中没有找到,主机A会广播一个ARP请求分组,内容包括自己的IP地址和MAC地址,并询问目标IP地址(例如209.0.0.6)的MAC地址。

    3. 接收并响应:局域网上的所有设备都会收到这个ARP请求,只有目标主机B会响应,发送一个ARP响应分组,包含自己的IP地址和MAC地址。

    4. 更新缓存:主机A收到响应后,将主机B的IP地址和MAC地址的映射添加到自己的ARP高速缓存中,以便后续通信使用。

3. ARP的优势

  • 减少广播流量:通过ARP高速缓存,主机可以在多次通信中避免频繁广播ARP请求,减少了网络上的广播流量。

  • 动态更新:ARP高速缓存中的条目具有生存时间(TTL),通常为10到20分钟。超过生存时间的条目会被删除,确保缓存中的信息是最新和准确的。

4. ARP的应用场景

  • 同一局域网内通信:当主机A和主机B在同一局域网内时,主机A可以直接通过ARP解析出主机B的MAC地址,然后发送数据帧。

  • 跨局域网通信:当主机A需要与不同局域网上的主机B通信时,主机A首先通过ARP解析出连接在同一个局域网上的路由器的MAC地址,然后将数据包发送给路由器。路由器再通过类似的步骤将数据包转发到目标主机所在的局域网。

5. 为什么需要两种地址(IP地址和MAC地址)

  • 异构网络的兼容性:全世界存在各种不同的网络技术,它们使用的MAC地址格式各不相同。使用IP地址可以屏蔽这些差异,使得不同类型的网络能够相互通信。

  • 简化寻址:IP地址提供了一个统一的寻址方案,使得全球范围内的主机可以通过IP地址进行通信,而不必关心底层链路层的具体实现。ARP则负责在需要时将IP地址转换为具体的MAC地址。

  • 网络层次分离:IP地址属于网络层,适用于全球范围的路由选择;而MAC地址属于链路层,适用于局域网内的直接通信。这种层次分离使得网络设计更加灵活和高效。

6. 逆地址解析协议(RARP)

  • 作用:RARP用于使只知道自己的MAC地址的主机能够获取其IP地址。然而,现在的DHCP协议已经包含了RARP的功能,因此RARP已不再常用。

4.2.5 IP数据报的格式

1. IP数据报首部的固定部分中的各字段

1. IP数据报首部的固定部分

IP数据报首部的固定部分长度为20字节,包含多个关键字段,确保数据报在网络中正确传输。以下是各字段的重点内容:

  • 版本 (4位)
    • 指明IP协议的版本号,当前讨论的是IPv4(版本4)。通信双方必须使用相同的版本。
  • 首部长度 (4位)
    • 表示首部的长度,单位是32位字长(4字节)。最小值为5(20字节),最大值为15(60字节)。如果首部长度不是4字节的整数倍,需用填充字段补齐。
  • 区分服务 (8位)
    • 用于提供更好的服务质量(QoS),旧称“服务类型”。在使用区分服务时才起作用,通常不使用。
  • 总长度 (16位)
    • 表示整个IP数据报(包括首部和数据部分)的总长度,单位为字节。最大值为65535字节。实际应用中,MTU(最大传输单元)限制了数据报的最大长度,例如以太网的MTU为1500字节。
  • 标识 (16位)
    • 用于唯一标识每个数据报。当数据报分片时,所有分片的标识字段相同,便于重装。
  • 标志 (3位)
    • MF (More Fragment):指示是否还有后续分片。MF=1表示还有分片,MF=0表示这是最后一个分片。
    • DF (Don't Fragment):指示是否允许分片。DF=0允许分片,DF=1禁止分片。
  • 片偏移 (13位)
    • 表示分片在原数据报中的位置,单位为8字节。除最后一个分片外,其他分片的长度必须是8字节的整数倍。
  • 生存时间 (TTL, 8位)
    • 表示数据报在网络中的寿命,最初以秒为单位,现改为跳数限制。每经过一个路由器,TTL减1,当TTL为0时,数据报被丢弃。最大值为255。
  • 协议 (8位)
    • 指出数据报携带的数据使用何种上层协议,如TCP、UDP等。常见协议及其对应的字段值如下:
      • ICMP: 1
      • TCP: 6
      • UDP: 17
      • IPv6: 41
  • 首部检验和 (16位)
    • 仅检验IP首部,不包括数据部分。采用简单的反码算术运算进行校验,确保首部在传输过程中未被篡改或损坏。
  • 源地址 (32位)
    • 发送IP数据报的主机的IP地址。
  • 目的地址 (32位)
    • 接收IP数据报的主机的IP地址。

2. IP数据报首部的可变部分

  • 选项字段

    • 长度可变,从1字节到40字节不等,用于支持排错、测量、安全等功能。选项字段很少使用,且增加了路由器处理的开销。因此,IPv6取消了可变部分,首部长度固定。

3. 分片与重组

  • 分片原因:当IP数据报的总长度超过下层网络的MTU时,需要进行分片。

  • 分片过程

    • 每个分片保留原始数据报的标识字段,确保分片后能正确重装。

    • 片偏移字段指示分片在原数据报中的位置,便于接收方重组。

    • MF标志位指示是否还有后续分片,DF标志位控制是否允许分片。

4. 生存时间 (TTL) 的作用

  • 防止无限循环:TTL字段限制了数据报在网络中的转发次数,防止无法交付的数据报无限制地在网络中循环,浪费资源。

  • 跳数限制:TTL的值每经过一个路由器减1,当TTL为0时,数据报被丢弃。初始值通常设置为1-255,具体值取决于应用需求。


4.3 IP层转发分组的过程

4.3.1 基于终点的转发

基于终点的转发

1. 源主机判断

  • 检查目的主机是否在同一网络

    • :直接通过链路层交付给目的主机。

    • :将分组发送给连接在本网络上的路由器。

2. 路由器处理

  • 提取目的IP地址,使用子网掩码进行按位AND运算,得到网络前缀

  • 查找转发表,根据网络前缀确定下一跳路由器或直接交付给目的主机。

  • 调用ARP协议,解析下一跳路由器的MAC地址,并将MAC地址写入链路层帧的首部。

  • 通过链路层传输分组到下一跳路由器或目的主机。

3. 重复步骤

  • 分组在每个路由器上重复上述过程,直到最终到达目的主机。

4.3.2 最长前缀匹配

根据最长前缀匹配的原则,即使128.1.24.1也符合128.1.24.0/22的条件,但由于128.1.24.0/24的前缀更长(即更加具体),因此应该选择这一条目进行匹配。这意味着分组应当通过接口1转发给公司A。

4.3.3 使用二叉线索查找转发表

二叉线索

        二叉线索(Binary Trie)是一种用于高效查找无分类域间路由(CIDR)转发表的数据结构,它极大地提高了路由器处理分组的速度。

        二叉线索是一种层次化的树形数据结构,其中IP地址的每一位决定了从根节点到叶节点路径上的左右分支选择。

        每个叶节点代表一个唯一的网络前缀,并包含该前缀对应的子网掩码和下一跳信息。

        加速CIDR转发表的查找

压缩技术


4.4 网际控制报文协议ICMP

(Internet Control Message Protocol)

4.4.1 ICMP报文的种类

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

ICMP报文主要分为两大类:

1)差错报告报文

  • 终点不可达(Type 3):当路由器或主机无法将数据报送达目的地时发送。

  • 时间超过(Type 11):当数据报的TTL(生存时间)为零或分片重组超时时发送。

  • 参数问题(Type 12):当数据报首部字段值不正确时发送。

  • 改变路由(重定向)(Type 5):告知主机更好的下一跳路由器。

2)询问报文

  • 回送请求/回答(Type 8/0):用于测试连通性和获取目的站状态。

  • 时间戳请求/回答(Type 13/14):用于测量往返延迟。

4.4.2 ICMP的应用举例

ICMP的应用

  • PING:使用ICMP回送请求和回答报文来测试两台主机之间的连通性。用户可以通过命令行工具(如Windows的ping命令)发送ICMP回送请求,并接收回应以评估网络状况。

  • Traceroute:通过发送带有递增TTL值的UDP数据报,逐步记录每个路由器的响应,最终确定从源到目的地的路径及各段的延迟。常用的命令有Unix的traceroute和Windows的tracert


4.5 IPv6

4.5.1 IPv6的基本首部

IPv6的主要优势

  • 更大的地址空间:128位地址,解决了IPv4地址耗尽的问题。

  • 灵活的首部格式:通过扩展首部提供更多的功能,同时简化了路由器处理。

  • 自动配置:支持即插即用,减少了对DHCP的依赖。

  • 改进的安全性和服务质量:支持资源预分配,适用于实时音频/视频等应用。

固定长度:40字节。

字段

  • 版本(Version):4位,标识为6。
  • 通信量类(Traffic Class):8位,用于区分数据报的优先级或类别。
  • 流标号(Flow Label):20位,用于标识特定的数据流,支持资源预分配。
  • 有效载荷长度(Payload Length):16位,指示除首部外的数据长度。
  • 下一个首部(Next Header):8位,指示后续的高层协议或扩展首部。
  • 跳数限制(Hop Limit):8位,类似于IPv4的TTL,防止数据报无限循环。
  • 源地址和目的地址:各128位,分别标识发送方和接收方的地址。

4.5.2 IPv6的地址

  • 单播(Unicast):点对点通信。
  • 多播(Multicast):一点对多点通信,取代了广播的概念。
  • 任播(Anycast):发送到一组节点中的最近一个节点。

IPv6地址使用冒号十六进制记法,并且支持零压缩,使地址表示更加简洁。

4.5.3 从IPv4向IPv6过渡

  • 双协议栈(Dual Stack):主机或路由器同时支持IPv4和IPv6,逐步实现过渡。

  • 隧道技术(Tunneling):将IPv6数据封装在IPv4数据报中,通过IPv4网络传输,到达目的地后再解封装。

4.5.4 ICMPv6

  • 功能增强:不仅用于差错报告,还整合了ARP和IGMP的功能,支持邻站发现(ND)和多播听众交付(MLD)。
  • 报文分类:分为差错报文、信息报文、邻站发现报文和组成员关系报文。


4.6 互联网的路由选择协议

4.6.1 有关路由选择协议的几个基本概念

1. 理想的路由算法

理想的路由算法应具备以下特点:

  • 正确性和完整性

  • 计算简单性

  • 自适应性(稳健性)

  • 稳定性

  • 公平性

  • 最优性

实际应用中,路由算法需尽量接近理想状态,但不同应用场景可能对上述特性有不同的侧重。

静态与动态路由选择策略

  • 静态路由选择:(/非自适应路由选择),适用于小规模且变化较少的网络。它通过人工配置固定路由,优点是简单、开销小,缺点是无法快速响应网络状态的变化。

  • 动态路由选择:(/自适应路由选择),适用于大规模且动态变化的网络。它能根据网络状态自动调整路由,虽然实现复杂且开销较大,但能更好地应对网络变化和故障恢复。

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

为了管理互联网的大规模和复杂性,路由选择协议被划分为两个主要类别:

  • 内部网关协议(IGP):用于自治系统(AS)内部的路由选择。常见的IGP包括:

    • RIP(Routing Information Protocol):基于距离向量算法,适合小型网络。

    • OSPF(Open Shortest Path First):基于链路状态算法,适合大型网络,提供更好的性能和可扩展性。

    • IS-IS(Intermediate System to Intermediate System)

  • 外部网关协议(EGP):用于自治系统之间的路由选择。目前最常用的EGP是:

    • BGP-4(Border Gateway Protocol 版本4):用于自治系统间的路由交换,支持复杂的路由策略和多路径选择。

  • 自治系统(AS)
    • 自治系统(AS)

    • 域内路由选择

    • 域间路由选择

  • 分层次路由选择的优势

    • 简化路由表

    • 保护隐私

    • 提高效率

4.6.2 内部网关协议RIP

1. RIP的工作原理

RIP(Routing Information Protocol)是一种基于距离向量的分布式路由选择协议,广泛应用于小型互联网中。其主要特点如下:

  • 简单性:每个路由器维护到其他所有网络的距离(跳数),并通过定期交换路由信息来更新路由表

  • 距离定义:从一个路由器到直接连接的网络的距离为1;到非直接连接的网络的距离是经过的路由器数加1。最大跳数为15,超过15则认为不可达(距离为16)。

  • 信息交换

    • 仅与相邻路由器交换:不与非相邻路由器通信。

    • 交换完整的路由表:每个路由器每隔30秒发送一次自己的路由表。

    • 及时更新:当网络拓扑发生变化时,立即发送更新信息。

  • 收敛过程:通过不断的路由信息交换,最终所有路由器都能获得到达每个网络的最短路径。

2. 距离向量算法

RIP使用距离向量算法来更新路由表,具体步骤如下:

  1. 接收并修改RIP报文:将接收到的RIP报文中的“下一跳”字段改为发送方路由器的地址,并将所有“距离”字段加1。

  2. 更新路由表

    • 如果路由表中没有该目的网络,则添加新条目。

    • 如果已有该目的网络且下一跳是同一路由器,则替换为最新信息。

    • 如果已有该目的网络但下一跳不同,且新距离更短,则更新路由表。

  3. 处理超时:如果3分钟内未收到某个相邻路由器的更新信息,则将其标记为不可达(距离设为16)。

3. RIP的优缺点

  • 优点

    • 实现简单,配置容易。

    • 开销较小,适合小型网络。

  • 缺点

    • 规模限制:最大跳数为15,不适合大型网络。

    • 开销增加:随着网络规模扩大,路由表交换的开销增加。

    • 收敛慢:坏消息传播得慢,导致故障恢复时间较长。

4. RIP的改进版本

RIPv2(RFC 2453, STD 57)在性能上有所改进,支持以下特性:

  • 无分类域间路由选择(CIDR):支持更灵活的地址分配。

  • 多播支持:可以通过多播方式发送路由更新。

  • 鉴别机制:提供简单的安全验证功能。

5. RIP的传输

RIP报文通过UDP端口520进行传输,包含自治系统号(ASN)、目的网络地址、子网掩码、下一跳路由器地址和距离等信息。一个RIP报文最多可包含25个路由条目,超过时需分多个报文发送。

4.6.3 内部网关协议OSPF

1. OSPF的基本特点

OSPF(Open Shortest Path First)是一种基于链路状态的内部网关协议,旨在克服RIP的局限性。其主要特点如下:

  • 开放性

  • 最短路径优先

  • 链路状态协议:与RIP的距离向量不同,OSPF通过洪泛法(flooding)向整个自治系统(AS)内的所有路由器发送链路状态信息。

关键特性:

  1. 洪泛法传播信息

  2. 链路状态数据库

  3. 灵活的度量

  4. 快速收敛

  5. 区域划分

  6. 负载均衡

  7. 安全性

  8. 支持CIDR和VLSM

  9. 序列号机制

2. OSPF的分组类型

OSPF使用五种类型的分组进行通信:

  1. Hello分组:用于发现和维持邻站可达性,每10秒发送一次。

  2. 数据库描述分组:提供链路状态数据库的摘要信息。

  3. 链路状态请求分组:请求特定链路状态的详细信息。

  4. 链路状态更新分组:用洪泛法更新链路状态,是最核心的部分。

  5. 链路状态确认分组:确认收到的链路状态更新分组。

3. OSPF的传输方式

OSPF分组直接作为IP数据报的数据部分传送,使用IP协议字段值89,不依赖UDP。这种方式减少了通信开销,避免了分片问题。

4. 链路状态数据库同步

  • 初始化:新路由器通过Hello分组发现邻居,使用数据库描述分组交换链路状态摘要,再用链路状态请求分组获取缺失的详细信息,最终同步链路状态数据库。

  • 更新机制:链路状态发生变化时,路由器立即发送链路状态更新分组,使用可靠的洪泛法确保全网同步。每隔30分钟刷新一次链路状态。

5. 多点接入网络优化

对于以太网等多点接入网络,OSPF引入指定路由器(Designated Router, DR)机制,减少广播信息量。DR代表该网络上的所有路由器发送链路状态信息。

4.6.4 外部网关协议BGP

1. BGP的主要特点

BGP(Border Gateway Protocol)是互联网中自治系统(AS)之间路由选择的关键协议,目前使用的是第4个版本BGP-4。BGP的重要性在于它将全球数以万计的AS连接成一个完整的互联网。其主要特点如下:

  • 路径向量协议:BGP不同于内部网关协议(如RIP和OSPF),它采用路径向量(Path Vector)机制,交换可达性信息而非最短路径。

  • 策略驱动:BGP允许网络管理员根据政治、安全或经济策略设置路由选择规则,确保路由符合特定需求。

  • 大规模网络适应性:BGP能够处理数十万个网络前缀,适用于互联网主干网的复杂环境。

关键特性:

  1. eBGP与iBGP

    • eBGP(外部BGP):用于不同AS之间的边界路由器通信,通过TCP端口179建立半永久性连接。

    • iBGP(内部BGP):用于同一AS内部的路由器间通信,确保所有路由器获得相同的BGP路由信息。iBGP要求AS内部所有路由器全连通。

  2. 避免兜圈子:BGP通过在AS-PATH属性中记录经过的AS号,防止路由环路。如果发现重复的AS号,BGP会丢弃该路由。

  3. 路由属性

    • AS-PATH:记录路由经过的AS序列。

    • NEXT-HOP:指定下一跳路由器。

    • LOCAL-PREF:本地优先级,影响路由选择。

  4. 路由选择原则

    • 本地偏好值最高:优先选择LOCAL-PREF值最高的路由。

    • AS跳数最少:在相同LOCAL-PREF时,选择经过AS数量最少的路由。

    • 热土豆算法:当上述条件相同时,选择最快离开本AS的路由。

    • 最小BGP标识符:最后选择BGP标识符数值最小的路由。

  5. 四种报文类型

    • OPEN:建立BGP连接,协商参数。

    • UPDATE:通告新路由或撤销旧路由。

    • KEEPALIVE:确认连接状态,保持BGP会话活跃。

    • NOTIFICATION:报告错误并关闭连接。

2. BGP路由

BGP路由的一般格式为:“前缀,BGP属性”=“前缀,AS-PATH, NEXT-HOP”。每个BGP路由包含以下要素:

  • 前缀:目标网络的CIDR表示。

  • AS-PATH:路由经过的AS序列。

  • NEXT-HOP:下一跳路由器。

3. 自治系统的分类

互联网中的AS可以分为三类:

  1. 末梢AS(Stub AS):只与直接连接的AS通信,不转发其他AS的流量。多归属AS(Multihomed AS)是连接到多个AS的末梢AS,增加冗余性。

  2. 穿越AS(Transit AS):提供有偿的流量转发服务,通常拥有高速通信干线。

  3. 对等AS(Peering AS):两个AS之间免费互换流量,基于事先协商的协议。

4. BGP的路由选择过程

当有多个BGP路由可供选择时,按以下顺序选择最佳路由:

  1. 本地偏好值最高:优先选择LOCAL-PREF值最高的路由。

  2. AS跳数最少:在相同LOCAL-PREF时,选择经过AS数量最少的路由。

  3. 热土豆算法:当上述条件相同时,选择最快离开本AS的路由。

  4. 最小BGP标识符:最后选择BGP标识符数值最小的路由。

5. BGP的传输方式

BGP报文作为TCP报文的数据部分传送,使用TCP端口179。四种类型的BGP报文具有相同的首部结构,确保可靠的传输和连接管理。

6. BGP的优势

  • 快速收敛:BGP可以迅速响应网络变化,避免“坏消息传播得慢”的问题。

  • 灵活性:支持多种路由选择策略,适应复杂的网络环境。

  • 安全性:通过TCP连接和路由属性验证,确保路由信息的可靠性和安全性。

4.6.5 路由器的构成

1. 路由器的结构

2. 交换结构


4.7 IP多播

4.7.1 IP多播的基本概念

IP多播(Multicast)是一种一对多的通信方式,允许一个源点同时向多个终点发送数据,从而显著节省网络资源。与单播(每个分组单独发送给每个接收者)相比,多播只需发送一次数据报,由路由器负责复制并转发给所有目标成员。多播特别适用于实时信息传递、软件更新和交互式会议等场景。

  • D类IP地址:多播使用D类IP地址(224.0.0.0到239.255.255.255),标识多播组。

  • 硬件多播:在局域网中,多播利用硬件多播功能,无需复制分组,所有组成员都能收到数据。

  • 尽最大努力交付:多播数据报不保证一定能够交付给所有组成员,类似于单播IP数据报。

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

目的地址是D类IP地址

映射到以太网MAC地址时,前25位固定为01-00-5E-,后23位来自D类IP地址的后23位。由于存在多对一的映射关系,主机接收到多播数据报后,还需在IP层进行过滤,丢弃非目标数据报。

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

1. 网际组管理协议IGMP

IGMP(Internet Group Management Protocol)用于管理多播组成员关系,确保多播路由器知道哪些主机加入了某个多播组。IGMP的工作分为两个阶段:

  • 加入多播组:主机向多播组的多播地址发送IGMP报文,声明加入该组。多播路由器收到后,通过多播路由选择协议将组成员信息传播给其他路由器。

  • 动态维护:多播路由器周期性地探询本地局域网上的主机,确认其是否仍为组成员。若多次探询无响应,则认为主机已离开该组。

IGMP的设计避免了过多的控制信息开销,具体措施包括:

  • 使用硬件多播传送IGMP报文,减少不必要的主机接收。

  • 探询报文默认每125秒发送一次,且仅需一台主机响应即可。

  • 多台主机随机选择响应时间,避免同时发送响应。

2. 多播路由选择协议

多播路由选择协议用于在多播路由器之间传播路由信息,构建多播转发树。常见的多播路由选择方法有:

  • 洪泛与剪除:初始时使用洪泛法转发数据报,结合反向路径广播(RPB)策略避免兜圈子,并剪除没有组成员的分支。

  • 隧道技术:在不支持多播的网络中,将多播数据报封装成单播数据报,通过“隧道”传输,到达目的地后再恢复为多播数据报。

  • 基于核心的发现技术:为每个多播组指定一个核心路由器,构建以核心为根节点的多播转发树,适用于多播组大小变化较大的情况。

常见的多播路由选择协议:

  • DVMRP:最早的多播路由选择协议,基于距离向量算法。

  • CBT:基于核心的转发树,适用于大型自治系统。

  • MOSPF:OSPF的多播扩展,适用于机构内部。

  • PIM-SM:协议无关多播-稀疏模式,适用于组成员分布分散的情况,已成为互联网标准。

  • PIM-DM:协议无关多播-密集模式,适用于组成员集中分布的情况。


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


4.9 多协议标签交换MPLS


4.10 软件定义网络SDN简介

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值