计算机网络学习笔记(四)之网络层

网络层

    • 网络层
      • 网络层的功能
        • 异构网络互联
        • 路由与转发
        • 网络层提供的两种服务
      • 路由算法
        • 静态路由和动态路由
        • 距离-向量路由算法
        • 链路状态路由算法
        • 层次路由
      • IPv4
        • IPv4分组
        • IPv4地址与NAT
        • 子网划分与子网掩码、CIDR
        • ARP协议、DHCP协议与ICMP协议
      • IPv6
        • IPv6的主要特点
        • IPv6地址
      • 路由协议
        • 自治系统AS
        • 域内路由与域间路由
        • RIP路由协议
        • OSPF路由协议
        • BGP路由协议
        • 边界网关协议(BGP)
      • 习题

网络层

网络层的功能

异构网络互联

  • 网络的互联:指将两个以上的计算机网络,通过一定的方法, 用一种或多种通信处理设备(即中间设备)相互联接起来,以构成更大的网络系统。中间设备又称为中间系统或中继系统。

  • 根据中继系统所在层次,有以下四种不同的中继系统。
    1)物理层中继系统:中继器,集线器(Hub)。
    2)数据链路层中继系统:网桥或交换机。
    3)网络层中继系统:路由器。
    4)网络层以上的中继系统:网关。

    使用物理层或数据链路层的中继系统时,仅仅是把一一个网络扩大了,而从网络层的角度看,它仍然是同一-个网络,一般并不称之为网络互联。因此网络互联通常是指用路由器进行网络互联和路由选择。路由器就是一台专用计算机,用于在互联网中进行路由选择。
    

路由与转发

路由器主要完成两个功能:一个是路由选择(确定哪-条路径), 另一个是分组转发(当一个分组到达时所采取的动作)。路由选择是根据特定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。转发是处理通过路由器的数据流,关键操作是转发表查询、转发以及相关的队列管理和任务调度等。

  • 路由选择:指按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由。
  • 分组转发:指路由器根据转发表将用户的IP数据报从合适的端口转发出去。
    路由表是根据路由选择算法得出的,而转发表是从路由表得出的。转发表确定在本路由器如何转发分组。转发表的结构应当使查找过程最优化,路由表则需要对网络拓扑变化的计算最优化。

网络层提供的两种服务

虚电路服务与数据报服务的对比如下:
计算机网络学习笔记(四)之网络层_第1张图片
虚电路:一条从源主机到目的主机的路径

路由算法

静态路由和动态路由

路由器转发分组是通过路由表转发的,而路由表是通过各种算法得到的。

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

  1. 静态路由算法(又称为非自适应路由算法):指由网络管理员手工添加和维护路由表。不适用于大型和复杂的网络环境。
  2. 动态路由算法(又称为自适应路由算法):指路由器上的路由表项是通过相互联接的路由器之间彼此交换信息,然后按照一定的算法优化出来的,而这些路由信息是在一定时间间腺里不断更新,以适应不断变化的网络,以随时获得最优的寻路效果。常用的动态路由算法可分为两类:距离-向量路由算法和链路状态路由算法。

距离-向量路由算法

在距离-向量路由算法中,所有的结点都定期地将它们的整个路由选择表传送给所有与之直接相邻的结点。这种路由选择表包含:

  • 每条路径的目的地(另一结点)。
  • 路径的代价(也称距离)。

在距离-向量路由算法中,所有的结点都必须参与距离向量交换,以保证路由的有效性和一致性,也就是说,所有的结点都监听从其他结点传送来的路由选择更新信息,并在下列情况下更新它们的路由选择表

  • 被通告一条新的路由,该路由在本结点的路由表中不存在,此时本地系统加入这条新的路由。

  • 发送来的路由信息中有一条到达某个目的地的路由,该路由比当前使用的路由有较短的距离(较小的代价)。此种情况下,就用经过发送路由信息的结点的新路由替换路由表中达到那个目的地的现有路由。

距离-向量路由算法的实质:迭代计算一条路 由中的站段数或延迟时间,从而得到到达一个目
标的最短(最小代价)通路。

最常见的距离-向量路由算法:RIP算法,它采用“跳数”作为距离的度量。

链路状态路由算法

链路状态路由算法:要求每个参与该算法的结点都有完全的网络拓扑信息,它们执行下述两项任务。第一,主动测试所有邻接结点的状态。第二,定期地将链路状态传播给所有其他的结点(或称路由结点),而不仅仅是其邻接结点。

典型的链路状态算法是OSPF算法。

每当链路状态报文到达时,路由结点便使用这些状态信息去更新自己的网络拓扑和状态“视野图”,一旦链路状态发生了 变化,结点对更新了的网络图利用Dijsktra最短路径算法重新计算路由,从单一的源出发计算到达所有目的结点的最短路径。

链路状态路由算法主要有三点特征:

  • 使用泛洪法向本自治系统中所有路由器发送信息,即路由器通过所有端口向所有相邻的路由器发送信息。
  • 发送的信息就是与路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
  • 只有当链路状态发生变化时,路由器才向所有路由器发送此消息。

链路状态路由算法的优点:每个结点独立计算路径,易于查找故障,链路状态报文大小与网络中路由结点数无关,规模可伸展。

层次路由

随着网络规模扩大,路由表变大,查找路由表变慢,传递路由表占用更大带宽,因此路由选择层次方式进行

OSPF 将-自治系统划分出域,路由器只知道本区域路由细节,不知道其他区域的路由细节。

层次路由降低区域内路由信息通信量,但增加了交换信息的种类,适用于规模很大的自治系统。

IPv4

IPv4分组

​ IPv4=IP协议(版本为4)。IPv4,即现在普遍使用的IP协议(版本为4)。IP 协议定义数据传送的基本单元一-IP 分组及其确切的数据格式

  • IPv4分组的格式

    一个IP分组由首部和数据两部分组成。首部的前一部分是固定长度的, 共20字节,是所有
    IP分组必须具有的。在首部固定部分的后面是一些可选字段, 其长度是可变的,用来提供错误检
    测及安全等机制。

    IP 数据报的格式如下图:
    计算机网络学习笔记(四)之网络层_第2张图片
    IP首部各字段含义:

    • 版本:IP协议的版本,目前广泛使用的版本号为4。

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

    • 区分服务:占 8 位,用来获得更好的服务。在旧标准中叫做服务类型,但实际上一直未被使用过。1998 年这个字段改名为区分服务。

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

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

    • 标志:占 3 位,目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)。MF = 1 表示后面“还有分片”。MF =0 表示最后一个分片。标志字段中间的一位是 DF (Don’t Fragment) 。只有当 DF = 0 时才允许分片。

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

    • 生存时间:占8 位,记为 TTL (Time To Live),指示数据报在网络中可通过的路由器数的最大值。

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

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

    • 源地址:占4 字节,标识发送方的IP地址。

    • 目的地址:占4 字节,标识接收方的IP地址。

    • 选项字段:用来支持排错、测量以及安全等措施,内容很丰富。选项字段的长度可变,从 1 个字节到 40 个字节不等,取决于所选择的项目。

  1. IP数据报分片

一个链路层数据报能承载的最大数据量称为最大传送单元(MTU)。因为IP数据报被封装在链路层数据报中,故链路层的MTU严格地限制着IP数据报的长度,而且在IP数据报的源与目的地路径上的各段链路可能使用不同的链路层协议,有不同的MTU.例如,以太网的MTU为1500字节,而许多广域网的MTU不超过576字节。

当IP数据报的总长度大于链路MTU时,就需要将IP数据报中的数据分装在两个或更多个较小的IP数据报中,这些较小的数据报叫做片。

IP分片:

  • 大IP分组向较小MTU链路转发时,可以被分片

  • 1个IP分组分为多片分组

  • IP分片在目的地的网络层被重新组装。目的主机使用IP首部中的标识、标志和片偏移字段来完成对片的重组。

当创建一个 IP数据报时,源主机为该数据报加上一个标识号。 当一 个路由器需要将一个数据报分片时,形成的每个数据报(即片)都具有原始数据报的标识号。当目的主机收到来自同一发送主机的一批数据报时,它可以通过检查数据报的标识号以确定哪些数据报是属于同一个原始数据报的片。IP首部中的标志位有3个比特,但只有后2个比特有意义,分别是MF位和DF位(Don’t Fragment)。只有当DF=0时,该IP 数据报才可以被分片。MF则用来告知目的主机该IP数据报是否为原始数据报的最后一个片。当MF=1时,表示相应的原始数据报还有后续的片:当MF=0时,表示该数据报是相应原始数据报的最后-一个片。 目的主机在对片进行重组时,使用片偏移字段来确定片应放在原始IP数据报的哪个位置。

IP分片涉及一定的计算。
 例题:考虑向一条具有1500字节的MTU的链路发送一个8000字节的数据报(首部20字节,数据部分7980字节),假定初始化数据报具有序列号321,这将会生成多少个片?它们的特征是什么?
 答:因为IP数据报首部占20字节,因此在每个分片中片的大小是1500-20=1480个字节,故原始数据报中7980字节数据必须被分配到7980/1480=6个片中。3980字节数据必须被分配到3个独立的片中(每个片也是一一个IP数据报)。由于偏移值的单位是8字节,所以除了最后一个片外,其他所有片中的有效数据载荷都是8的倍数。每个片的标识号都为321.前5个片的MF=1(还有分片),最后一个片的MF=0(表示最后一个分片)
  1. 网络层转发分组

    网络层的路由器执行的分组转发算法如下:

    • 从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
    • 若网络地址N直接与路由器相连,则直接将数据报交付目的主机D,这就叫路由器的直接交付;否则是间接交付
    • 若路由表中有到达网络N的路由,则根据路由表转发该数据报
    • 若路由表中有一个默认路由,则发送默认路由器
    • 若以上234都失败,则报告转发分组出错。

IPv4地址与NAT

  1. IPv4地址

    IP地址:连接在Internet中的每一台主机(或路由器)都分配一个 32比特的全球唯一的标识符。

    传统的IP地址是分类的地址,分为A、B、 C、D、E五类。
    无论哪类IP地址,都由网络号和主机号两部分组成。即IP地址:= {<网络号>,<主机号>}。其中网络号标志主机(或路由器)所连接到的网络。一个网络号在整个因特网范围内必须是唯一的。主机号标志该主机(或路由器)。一个主机号在它前面的网络号所指明的网络范围内必须是唯- 一的。由此可见,一个IP地址在整个因特网范围内是唯-一的。

  • 五类IP地址的网络号字段和主机号字段:
    计算机网络学习笔记(四)之网络层_第3张图片
    A、B、C类为单播地址;DE类为多播地址。

    A类:回送地址;它的IP地址范围为:1.0.0.1~127.255.255.254

    B类:IP地址范围为:128.1.0.1~191.255.255.254

    C类:IP地址范围为:192.0.1.1~233.255.255.254

  1. 特殊的IP地址

    在各类IP地址中,有一些IP地址用于表示特殊用途,不用于做主机IP地址:
    1).主机号全为0表示本网络本身。例如,203.78.164.0

    2).主机号全为1表示本网络的广播地址,又称直接广 播地址。例如,202.98.174.255

    3).127.0.0.0 用于环路自检,此地址表示任意主机本身,目的地址为环回地址的IP数据报永远不会出现在任何网络上。

    4).32位全为0,即0.0.0.0表示本网络上的本主机。

    5).32位全为1,即555.255.255表示整个TCP/IP网络的广播地址,又称受限广播地址。实际使用时由于路由器对广播域的隔离,255255.2555 等效为本网络的广播地址。

  2. IP地址特点

    1). 网络信息中心在分配IP地址时只分配网络号(第一级), 而主机号(第二级) .则由得到该网络的单位自行分配,方便了IP地址的管理

    2). 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目标主机号),从而减小了路由表所占的存储空间

    3).当一个主机同时连接到两个网络时,该主机就必须同时具有两个相应的IP地址,每个IP地址的网络号必须与所在网络的网络号相同,且这两个IP地址的网络号是不同的。因此IP网络上的一一个路由器必然至少应当具有两个IP地址(路由器每个端口必须至少分配-一个IP地址)

    4).用转发器或桥接器(网桥等)连接起来的若干个LAN仍然是同一个网络(同一个广 播域),因此该LAN中所有主机的IP地址的网络号必须相同,但主机号必须不同。

    5).在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。

  3. 网络地址转换(NAT)

    网络地址转换(NAT):通过将专用网络地址(如企业内部Intranet) 转换为公用地址(如
    Intemnet),从而对外隐藏了内部管理的IP地址。它使得整个专用网只需要一个全球IP地址就可以
    与因特网连通,由于专用网本地IP地址是可重用的,所以NAT大大节省了IP地址的消耗。同时,
    它隐藏了内部网络结构,从而降低了内部网络受到攻击的风险。

  • ​ 私有地址不能直接用于Internet,要通过NAT转换为全球IP地址后才能用于Internet。所有路由器对目的地址是私有地址数据报一律不转发
  • 使用NAT时需要在专用网连接到因特网的路由器上安装NAT软件,NAT路由器至少有一个有效的外网地址。当使用本地地址的主机在和外界通信时,NAT 路由器使用NAT转换表将本地地址转换成全球地址,或将全球地址转换成本地地址。NAT转换表中存放着{本地IP地址:端口}到{全球IP地址:端口}的映射。通过{ip地址:端口}这样的映射方式,就可以让多个私有IP地址映射到同一个全球IP地址。
  • 普通路由器在转发IP数据报时,不改变其源IP 地址和目的IP地址。而NAT路由器
    在转发IP数据报时要根据地址转换表更换地址。

子网划分与子网掩码、CIDR

  1. 子网划分

    子网划分:在IP地址中增加一个“子网号”字段,使IP地址变成3级。

    子网划分的基本思路:

    1). 划分子网是内网范畴,子网不知子网划分。

    2). 从主机号借用若千个比特作为子网号,IP地址变成{<网络号>,<子网号>,<主机号>}。

    3).原子网号不能全为0或全为1,现随着CIDR的广泛使用,子网号也可以全为0或全为1了,但要求路由器有软件支持。

    4).无论IPv4还是CIDR,主机号全为0或全为1都不能分配。主机号全是0是子网网络号,主机号全是1是子网广播地址。

  2. 子网掩码

    ​ 为了告诉主机或路由器对一个A类、B类、C类网络进行了子网划分,使用子网掩码来表达对原网络中主机号的借位。

    子网掩码:一个与IP地址相对应的长32bit的二进制串,它由一串 1和跟随的一串 0组成。其中,1对应于IP地址中的网络号及子网号,而0对应于主机号。IP地址与子网掩码相与得到的是子网的网络号。

    使用子网掩码特征:
    ① 主机除了设置IP地址,必须设置子网掩码
    ② 一个子网下的所有主机和路由器对应端口,有相同子网掩码
    ③路由器表的记录:目的网络地址:子网掩码:下一跳地址

    使用子网掩码时路由器的分组转发算法如下:

    • 从分组的首部中提取目的IP地址,用各网络子网掩码与IP相与,若有匹配的相应网络地址,则直接传递到主机。
    • 若路由表中有目的IP特定路由,则转发到下一跳
    • IP地址和路由表中各子网掩码相与,若有匹配的目的网络地址,则转发到下一跳
    • 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,报告转发分组出错。
  3. 无类编址CIDR

    无分类域间路由选择(CIDR):是在变长子网掩码的基础上提出的-种消除传统A、B、C类
    网络划分,在软件的支持下实现超网构造的一种IP 地址的划分方法。

    CIDR的主要特点:

    • 使用网络前缀代替子网概念, 两级CIDR为<网络前缀,主机号>。CIDR使用“斜线记法”(CIDR 记法),即IP地址/网络前缀占用比特数。CIDR不使用子网是指没有指明子网字段,但组织内部扔可划分子网
    • 将网络前缀都相同的连续的IP地址组成“CIDR地址块”。一个CIDR地址块可以表示很多地址,这种地址的聚合称为路由聚合(或称为构成超网)。

    CIDR前缀越短,主机号越长,可分配地址越多,计算时注意去掉全0或全1的地址

    最长前缀匹配:路由表项目为<网络前缀,下一跳地址>,查找时若有多个匹配项,则选前缀最长的

    CIDR查找路由表的方法:为了进行更加有效的查找最长前缀匹配,通常是将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的数据结构就是二叉线索。

ARP协议、DHCP协议与ICMP协议

  1. IP地址与硬件地址

    ① 网络层只能看到抽象的IP数据报分组
    ② 虽然IP首部有完整的源IP和目的IP,但路由选择时只需要目的IP
    ③数据链路层只能看到帧

  2. 地址解析协议(ARP)

    ARP地址解析协议完成IP地址转换到MAC地址

    每个主机都设有一个 ARP高速缓存,存放本局域网上各主机和路由器的IP地址到MAC地址的映射表,称ARP表。使用ARP协议来动态维护此ARP表。

  • 工作原理:主机A向主机B发送IP数据报,先在其ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的硬件地址写入MAC帧。如果没有,就通过使用目的MAC地址为全F的帧来封装并广播ARP请求分组,可以使同一个局域网里的所有主机收到ARP请求。当主机B收到该ARP请求后,就会向主机A发出响应ARP分组,分组中包含主机B的IP与MAC地址的映射关系,主机A在收到后将此映射写入ARP缓存中,然后按查询到的硬件地址发送MAC帧。ARP协议由于“看到了”IP地址,所以它工作在网络层,而NAT路由器由于“看到了”端口,所以它工作在传输层。
  1. 动态主机配置协议(DHCP)

    DHCP:应用层协议,基于UDP,用来动态分配IP分组

    申请主机广播请求报文,DHCP服务器响应报文并分配IP,该IP是临时IP,有租用时间。

  2. 网际控制报文协议ICMP

    ICMP:是网络层协议,使主机和路由器可以报告差错和异常情况。

    ICMP也是IP分组,其报文作为IP分组的数据字段。

    ICMP报文的种类有两种,即ICMP差错报告和ICMP询问报告。

    ICMP差错报告报文用于目标主机或到目标主机路径上的路由器向源主机报告差错和异常情况。共有以下五种类型:

    • 终点不可达。
    • 源点抑制(减缓发送速率)
    • 时间超过(TTL到0)
    • 参数问题(首部参数)
    • 改变路由(重定向)

    不应发送 ICMP 差错报告报文的几种情况 :

    • IMCP报文差错

    • 数据报的后续分片

    • 具有多播地址的数据报

    • 127.0.0.1或0.0.0.0这样的特殊地址的报文

    ICMP常见的应用:

    • ping:应用层协议,直接使用ICMP协议而不使用TCP和UDP协议,用到ICMP的回送请求和回答报文

    • tracert(traceroute):工作在网络层,使用ICMP的超时报文

IPv6

IPv6的主要特点

  1. 解决IP消耗的方法:

    • 采用无类编址(CIDR),使IP地址的分配更加合理

    • 采用网络地址转换NAT方法以节省全球IP地址

    • 采用具有更大地址空间的新版本的IP协议IPv6

      而IPv6是最根本的方法

  2. IPv6的主要特点:

    • 更大的地址空间。从32位增加到128位
    • 扩展的地址层次结构
    • 灵活的首部格式
    • 改进选项
    • 允许协议继续扩充
    • 支持自动配置
    • 支持资源的预分配

IPv6地址

IPv6数据报的目的地址可以是以下三种基本类型地址之一:

  • 单播:点对点通信
  • 多播:一点对多点的通信,分组被交付到一组计算机的每一个
  • 任播:这是IPv6增加的一种类型。目标计算是一组,但只交付给一个,通常是距离最近的一个

路由协议

自治系统AS

自治系统(Autononous System, AS):在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种 AS内的路由选择协议用以确定分组在AS之间的路由。

域内路由与域间路由

自治系统内部的路由选择称域内路由选择,自治系统之间的路由选择称域间路由选择。

因特网有两大类路由选择协议:

  1. 内部网关协议(Interior Gateway Protocol, IGP):自治系统内部使用的路由选择协议,如RIP协议和OSPF协议。

  2. 外部网关协议(External Gateway Protocol, EGP):自治系统间的协议,如BGP-4。

RIP路由协议

  1. 路由信息协议(Rouing Inomation Pocol, RIP) :一种分布式的基于距离向量的路由选择协议。是应用层协议,使用UDP传输数据。

  2. RIP协议规定:

    • 要根据距离-向量路由算法维护路由表,规定每30秒广播一个路由更新信息。

    • 距离也称为跳数(Hop Count),每经过一个路由器,则距离(跳数)加1。跳数为0表示直接连接。RIP认为跳数最少的路由最好

    • 跳数最大值为16,即路由最多只能经过15个路由器,超过16个表示不可达。适用于小型网络

    • RIP中每个网络子网掩码必须相同。RIP2中支持CIDR

  3. RIP协议的特点

    • 仅和相邻节点交换路由表,时间间隔为30秒。

    • 路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表。

    • 按固定的时间间隔交换路由信息,如每隔30秒。

    • 一开始每路由器只知道相邻节点路由,一次RIP广播后就能知道跳数为1的路由,N次广播后所有的路由器最终知道整个网络的路由表,称RIP最终是收敛的

  4. 距离向量算法(过程)

    • A收到B发来的RIP报文,A将该报文修改为

    • 若A的路由表中没有C,则将C加入到路由表中。若A的路由表中有C且下一跳是B的话,则更新

    • 若A的路由表有C但下一跳不是B的话,看哪个跳数小选哪个

    • 若路由表中某个项目180秒没更新过,则将该路由项目距离改为16(不可达)

  5. RIP的优缺点

    优点:实现简单,开销小,收敛过程较快。

    缺点:一网络出现故障时,收敛变慢,俗称坏消息传的慢;二更新要传递整个路由表,占用带宽大

OSPF路由协议

  1. OSPF协议的基本特点

    开放最短路径优先(OSPF)协议,使用链路状态路由算法,是网络层协议。

  2. OSPF与RIP协议的区别:

    • OSPF使用洪泛法向本自治系统中所有路由器发送信息。而RIP协议是仅仅向自己相邻的几个路由器发送信息。
    • 发送的信息就是与本路由器相邻的所有路由器的链路状态。而在RIP协议中,发送的信息是本路由器所知道的全部信息,即整个路由表。
    • 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息,并且更新过程收敛得快。而在RIP协议中,不管网络拓扑是否发生变化,路由器之间都会定期交换路由表的信息。
    • OSPF是网络层协议,它不使用UDP或TCP而是直接IP数据报传送)。而RIP是应用层协议,它在传输层使用UDP协议。
  3. OSPF其他特点:

    • OSPF可根据IP分组的不同服务类型设置不同的代价,计算不同的路由,因此十分灵活。
    • 相同代价的路径间,可以负载平衡。
    • 交换的分组可鉴别,可用来鉴别路由器,保证了仅在信赖的路由器之间交换链路状态信息。
    • 支持可变长度的子网划分和无分类编址CIDR。
    • 每一个链路状态都带上一个32位的序号,序号越大状态就越新。
  4. OSPF工作原理:

    路由器间频繁交换链路状态信息,最终构成全网络拓扑结构图。每个路由器根据该图Dijkstra计算最短路径用来构造自己的路由表。当链路状态发生变化时,根据算法更新计算路由表。路由表不会存储完整路劲,只会存储下一跳。

    OSPF可将一个自治系统再划分成更小的域,路由器只知道本域内的网络拓扑,减少整个网上的通信量。

  5. OSPF的五种分组类型

  • 问候分组:用来发现和维持邻站的可达性。
  • 数据库描述分组:向邻接点发出自己数据库中的所有链路状态项目的摘要信息。
  • 链路状态请求分组:请求发送特定链路状态项目的详细信息。
  • 链路状态更新分组:用洪泛法对全网更新链路状态,是OSPF核心部分。
  • 链路状态确认分组:对链路更新分组的确认。
  1. OSPF工作过程:

    • 通常每隔10秒交换一次问候分组,确保节点可达。
    • 刚开始工作时,使用数据库描述分组和相邻路由器交换本数据库中链路状态摘要信息。然后,路由器就使用链路状态请求分组请求发送自己没有的链路。最终同步全网数据库。
    • 运行时,只要一个路由器的链路状态发生变化,就用洪泛法发送链路状态更新分组。其他路由器在更新后,发送链路状态确认分组对更新分组进行确认。

BGP路由协议

  1. 边界网关协议(BGP)

    边界网关协议(BGP):是不同自治系统的路由器之间交换路由信息的协议。是应用层协议,基于TCP协议,使用路径-向量路由算法(不是距离-向量算法)

  2. BGP协议的工作原理:

    每一个自治系统至少一个路由器(可以有多个)作为该自治系统的“BGP发言人”。各发言人之间交换路由信息。交换时要先建立TCP连接,然后交换BGP报文以建立BGP会话,再利用BGP会话交换路由信息。最后各发言人就能找到到达各自治系统的较好路由。

  3. BGP协议的特点

    • BGP交换的节点数是网络中的AS数,明显比AS内节点数小很多

    • 每个AS的发言人是很少的,这样自治系统间的路由不会很复杂

    • BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀、下一.跳路由器, 以及
      到达该目的网络所要经过的各个自治系统序列。

    • 在BGP刚运行时,BGP的邻站是交换整个的BGP路由表。但以后只需要在发生变化时
      更新有变化的部分。这样做对节省网络带宽。

  4. BGP-4共使用4种报文

    • 打开报文,用来与相邻的另一个BGP发言人建立关系。
    • 更新报文,用来发送某一路由的信息,以及列出要撤销的多条路由。
    • 保活报文,用来确认打开报文和周期性地证实邻站关系。
    • 通知报文,用来发送检测到的差错。

习题

  1. 某自治系统内采用RIP协议,若该自治系统内的路由器R1收到其邻居路由器R2的距离矢量,距离矢量中包含信息, 则能得出的结论是( )。
    A. R2 可以经过R1到达netl,跳数为17
    B. R2可以到达netl, 跳数为16.
    C. RI可以经过R2到达netl, 跳数为17
    D. R1不能经过R2到达netl

    【答案】D

    【解析】RI在收到信息并更新路由表后,若需要经过R2到达netl,则其跳数为17,由于距离为16表示不可达,因此R1不能经过R2到达net1, R2也不可能到达netl.B、C错误,D正确。而题目中并未给出R1向R2发送的信息,因此A也不正确。

  2. 直接封装RIP、OSPF、 BGP报文的协议分别是( )。
    A. TCP、UDP、IP
    B. TCP、 IP、 UDP
    C. UDP. TCP、IP
    D. UDP、IP、TCP

    【答案】D

    【解析】RIP是一种分布式的基于距离向量的路由选择协议,通过广播UDP报文来交换路由信息。OSPF是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不使用传输层协议(如UDP或TCP),而是直接采用IP。BGP是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP。因此,选D。

  3. 以下关于RIP的描述中,错误的是( )。
    A. RIP是基于距离一向量路由选择算法的
    B. RIP 要求内部路由器将它关于整个AS的路由信息发布出去
    C. RIP 要求内部路由器向整个AS的路由器发布路由信息
    D. RIP要求内部路由器按照一定的时间间隔发布路由信息

    【答案】C

    【解析】RIP规定一个路由器只向相邻路由器发布路由信息,而不是像OSPF那样向整个域洪泛。

  4. 某网络的IP地址空间为192.168.5.0/24, 采用定长子网划分,子网掩码为255.255. 255.248,则该网络中的最大子网个数、每个子网内的最大可分配地址个数分别是( )。
    A.32, 8
    B.32, 6
    C.8, 32
    D.8, 30

    【答案】B

    【解析】由于该网络的IP地址为192.168.5.0/24,网络号为前24位,后8位为子网号+主机号。子网掩码255.255.255.248,第4个字节248转换成二进制为111000因此后8位中,前5位用于子网号,在CIDR中可以表示2*=32个子网:后3位用于主机号,除去全0和全1的情况,可以表示23-2=6个主机地址。

  5. 设有下面4条路由: 172.18.129.0/24. 172.18.130.0/24.172.18.132.0/24和172.18.133.0/ 24,如果进行路由聚合,能覆盖这4条路由的地址是( )。
    A. 172.18.128.0/21
    B.172. 18.128.0/22
    C.172.18. 130.0/22
    D.172.18.132.0/23

    【答案】A

    【解析】4条路由的前24位(3个字节)为网络前缀,前2个字节都- -样,故只需要比较第3个字节即可,129-0000001 130-0000010, 132-10000100, 13310000101。 前5位是完全相同的,因此聚合后的网络的掩码中1的数量应该是8+8+5-21, 聚合后的网络的第3个字节应该是.1000000=128,因此答案为172.18.128.0/21 。

  6. 若路由器R因为拥塞丢弃IP分组,则此时R可向发出该IP分组的源主机发送的ICMP报文的类型是()。
    A.路由重定向
    B.目的不可达
    C.源抑制
    D.超时

    【答案】 C
    【解析】当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。

  7. 下列IP地址中,只能作为IP分组的源IP地址但不能作为目的IP地址的是()。
    A.0.0.0.0
    B.127.0.0.1
    C.200.10.10.3
    D.255.255.255.255

    【答案】 A
    【解析】根据RFC文档描述,0.0.0.0/32可以作为本主机在本网络上的源地址。127.0.0.1是回送地址,以它为目的IP地址的数据将被立即返回到本机。200.10.10.3 是C类IP地址。255.255.255.255 是广播地址。

  8. ARP协议的功能是( ).
    A.根据IP地址查询MAC地址
    B.根据MAC地址查询IP地址
    C.根据域名查询IP地址
    D.根据IP地址查询城名

    【答案】A
    【解析】在实际网络的数据链路层上传送数据时,最终必须使用硬件地址, ARP协议是将网络层的IP地址解析为数据链路层的MAC地址。

  9. 若将101.200 16. 0/20划分为5个子网,则可能的最小子网的可分配IP地址数是()
    A.126
    B.254
    C. 510
    D.1 022

    【答案】B

  10. 网络互连时,在由路由器进行互连的多个局域网的结构中,要求每个局域网的( )。
    A物理层协议可以不同,而数据链路层及数据链路层以上的高层协议必须相同
    B.物理层、数据链路层协议可以不同,而数据链路层以上的高层协议必须相同
    C.物理层、数据链路层、网络层协议可以不同,而网络层以上的高层协议必须相同
    D.物理层数据链路层、网络层及高层协议都可以不同

    【答案】C

  11. 一个 IPv6的简化写法为8::D0:123 :CDEF :89A,那么它的完整地址应该是( )。
    A.8000: 0000 :0000 :00D0:1230 :CDEF :89A0
    B.0008: 0000: 0000: 0000:0123:CDEF:89A0

    C.8000:0000:0000:0000:D000:0123:CDEF:89A0

    D.0008:0000:0000:0000:00D0:0123:CDEF:089A

【答案】A
【解析】在实际网络的数据链路层上传送数据时,最终必须使用硬件地址, ARP协议是将网络层的IP地址解析为数据链路层的MAC地址。

  1. 若将101.200 16. 0/20划分为5个子网,则可能的最小子网的可分配IP地址数是()
    A.126
    B.254
    C. 510
    D.1 022

【答案】B

  1. 网络互连时,在由路由器进行互连的多个局域网的结构中,要求每个局域网的( )。
    A物理层协议可以不同,而数据链路层及数据链路层以上的高层协议必须相同
    B.物理层、数据链路层协议可以不同,而数据链路层以上的高层协议必须相同
    C.物理层、数据链路层、网络层协议可以不同,而网络层以上的高层协议必须相同
    D.物理层数据链路层、网络层及高层协议都可以不同

    【答案】C

  2. 一个 IPv6的简化写法为8::D0:123 :CDEF :89A,那么它的完整地址应该是( )。
    A.8000: 0000 :0000 :00D0:1230 :CDEF :89A0
    B.0008: 0000: 0000: 0000:0123:CDEF:89A0

    C.8000:0000:0000:0000:D000:0123:CDEF:89A0

    D.0008:0000:0000:0000:00D0:0123:CDEF:089A

    【答案】D

  3. 考虑向一条具有1500字节的MTU的链路发送一个8000字节的数据报(首部20字节,数据部分7980字节),假定初始化数据报具有序列号321,这将会生成多少个片?它们的特征是什么?

答:因为IP数据报首部占20字节,因此在每个分片中片的大小是1500-20=1480个字节,故原始数据报中7980字节数据必须被分配到7980/1480=6个片中。3980字节数据必须被分配到3个独立的片中(每个片也是一一个IP数据报)。由于偏移值的单位是8字节,所以除了最后一个片外,其他所有片中的有效数据载荷都是8的倍数。每个片的标识号都为321.前5个片的MF=1(还有分片),最后一个片的MF=0(表示最后一个分片)

你可能感兴趣的:(计算机网络学习笔记(四)之网络层)