计算机网络——第 4 章 网络层

第 4 章 网络层

(1) 虚拟互连网络的概念

(2) IP 地址与物理地址的关系

(3) 传统的分类的 IP 地址(包括子网掩码)和无分类域间路由选择 CIDR

(4) 路由选择协议的工作原理

4.1网络层的几个重要概念

4.1.1 网络层提供的两种服务

在计算机网络领域,==网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)==曾引起了长期的争论。

争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统

电信网的成功经验:让网络负责可靠交付

  • 面向连接的通信方式

  • 建立虚电路(Virtual Circuit),以保证双方通信所需的一切网络资源

  • 如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点。

总结以上:虚电路+可靠传输

虚电路服务

什么是虚电路服务?我的理解:分组交换建立一条逻辑连接链路

虚电路的转发/通信方式是存储转发

虚电路号:概念

image-20230417210236030

H1 发送给 H2 的所有分组都沿着同一条虚电路传送

虚电路的连接方式是?和电路交换比较:电路交换是真实的物理连接,分组交换的虚电路是逻辑连接

因特网采用的设计思路

  • 网络层向上只提供简单灵活的无连接的尽最大努力交付数据报服务
  • 每一个分组(即 IP 数据报)独立发送,与其前后的分组无关不进行编号)。
  • 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。

总结以上:简单灵活、无连接、尽最大努力交付

尽最大努力交付的好处

  • 不用可靠传输,路由器可以简单化价格低廉与电信网的交换机相比较
  • 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理流量控制等)。
  • 网络的成本大大降低,运行方式灵活,能够适应多种应用。

总结以上:主要从硬件角度考虑,路由器简单,如需可靠由传输层的主机负责、成本低且灵活

虚电路服务数据报服务
谁的成功经验电信网因特网
可靠通信谁来保证网络主机
是否有连接
终点地址连接建立阶段有,每个分组使用短的虚电路号每个分组都有终点的完整地址
分组的转发同一条虚电路的按照同一路由独立路由
结点出故障时通过该故障结点的虚电路无法使用可能会丢失分组,一些路由会发生变化
顺序有序无序
谁负责差错处理和流量控制网络或主机主机

4.1.2 网络层的两个层面

路由器传送的信息有2类,分别是:源主机和目的主机之间所传送的数据路由信息

所以根据路由器的2个信息,可以将网络层抽象为2层、分别是控制层数据层(转发层)

如何得到转发表?路由表,交换机的表是交换表

如何得到路由表?路由器按路由选择协议,多次交换信息得到

4.2 网际协议 IP

与 IP 协议配套使用的还有四个协议:

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

逆地址解析协议 RARP (Reverse Address Resolution Protocol)

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

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

image-20230417211531588

4.2.1 虚拟互连网络

互连在一起的网络要进行通信,会遇到许多问题需要解决,如:

  • 不同的寻址方案
  • 不同的最大分组长度
  • 不同的网络接入机制
  • 不同的超时控制
  • 不同的差错恢复方法
  • 不同的状态报告方法
  • 不同的路由选择技术
  • 不同的用户接入控制
  • 不同的服务(面向连接服务和无连接服务)
  • 不同的管理与控制方式

网络互相连接起来要使用一些中间设备

中间设备又称为中间系统中继(relay)系统

物理层中继系统:转发器(repeater)集线器。易错

数据链路层中继系统:网桥交换机 易错

网络层中继系统:路由器(router)

网桥和路由器的混合物:桥路器(brouter)

网络层以上的中继系统:网关(gateway)。类比以上:不同类型网络的连接,就是不同类型主机系统的连接 易错

网络互连使用路由器,为什么不是转发器或网桥?因为这仅仅是把一个网络扩大了,而这仍然是一个网络。

使用最少的中间设备是?网关。为什么?比较复杂

互联网都是指用路由器进行互连的网络

由于历史的原因,许多有关 TCP/IP 的文献将网络层使用的路由器称为网关

什么是虚拟互联网络?将多个路由器和多个网络的集合抽象成一个网络,此网络就是虚拟互联网络

image-20230417212943903

虚拟互连网络又名逻辑互连网络。怎么理解这个抽象?它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。

使用 IP 协议的虚拟互连网络可简称为 IP 网

使用虚拟互连网络的好处是当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。

IP 数据报就可以想象是在网络层中传送

4.2.2分类的 IP 地址

什么是IP地址?IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一32 位的标识符。

IP 地址现在由==因特网名字与号码指派公司ICANN (Internet Corporation for Assigned Names and Numbers)==进行分配

IP地址的编址方法有3种:分类子网划分构成超网(无分类编址CIDR)

分类的IP地址:固定长度的网络号和主机号

怎么分类?A类地址的特点是网络号长度为8、开头为0,B类的特点是网络号长度为16,开头为10,以此类推

D类地址用法:做多播地址

E类地址用法:保留

A类地址都有2个特殊的网络地址:除开已经固定的开头位,剩下全0的IP地址和全1的IP地址分别表示本网络和环回测试

而B类地址和C类地址有点特殊,全1可以,全0不行,但是现在已经可以了

每类地址都有2个特殊的主机地址,不能分给主机地址使用:全0和全1,则该类地址分别表示本主机所在网络地址该网络的所有主机,,所以

A类

0.0.0.0 和127.0.0.0保留
B

128.0.0.0和191.255.0.0保留

C
192.0.0.0和223.255.255.0保留

255.255.255.255用于广播

私有IP地址:

① A类:10.0.0.0-10.255.255.255

② **B类:172.16/16

③ C类:192.168.0.0-192.168.255.255

④ 自动私有地址:169.254.0.0/16(当计算机无法获取IP地址时自动配置)

特殊地址:

本地环回地址:127.0.0.1(测试本机的网络配置,能ping通127.0.0.1说明本机的网卡和IP协议安装都没有问题)

本地广播地址:255.255.255.255

IP地址的重要特点:

  • 分级,好处是第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。

  • IP地址标志一个主机(路由器)和一条链路、产生了多归属主机(什么是?一个连接到2个网络的主机),路由器也具有此特点

  • 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。

  • 所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。

4.2.3 IP 地址与硬件地址

image-20230428160011765

P131,还是数据的封装、传输、拆解的过程。

2个问题:

主机或路由器怎样填入MAC帧首部的MAC地址?4.2.4

路由器的转发表如何得出?

4.2.4 地址解析协议 ARP 与逆地址解析协议RARP

ARP解决上面的第1个问题

每一个主机都设有一个ARP cache,里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表

当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。

ARP作用流程:

主机A广播发送ARP 请求分组,包含本主机IP地址、本主机MAC地址、目的主机IP地址

主机B单播发送ARP 响应分组,包 含本主机IP地址和MAC地址不包括A主机的IP地址,这里书上没写清楚,暂且这样记

主机A写入ARP高速缓存

使用ARP的4种典型情况

发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。

发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。

发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成

逆地址解析协议 RARP

作用:使只知道自己硬件地址的主机能够知道其 IP 地址。。这种主机往往是无盘工作站。 因此 RARP协议目前已很少使用。

4.2.5 IP 数据报的格式

image-20230428162935671

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

版本——占 4 位,指 IP 协议版本号,如IPv4

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

总长度——占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU1500字节,如果超过,则需要分片处理,表示分片后的总长度

**标识(identification) ** 占 16 位,它是一个计数器,用来产生数据报的标识,同一数据报分片的标识相同

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

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

image-20230513222710040

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

协议(8 位)字段指出此数据报携带的数据使用何种协议以便目的主机的 IP 层将数据部分上交给哪个处理过程

image-20230428165356476

首部检验和(16 位)字段只检验数据报的首部不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法。

记法:发送端对首部的每个16位求和、取反得到检验和,接收端求和、取反、如果为0,则保留

练习题

例子:本例中没有IP选项,所以首部长度为5,数据总长度为128字节,数据报的标识为1,未分片,TTL值为4,封装的是TCP协议数据,源地址和目的地址分别为:192.168.20.86和192.168.21.20。

计算中要注意加上进位。生成的校验和为3005,这个和是十进制的32位和

image-20230513223025800

image-20230514102025354

image-20230517121320863

P176 4-13, 4-14其实是

image-20230514102159921

image-20230514102210759

写的正确

4.2.6 IP 层转发分组的流程

怎么制作路由表?按主机所在的网络地址

在路由表中,对每一条路由,最主要的是==(目的网络地址,下一跳地址)==

image-20230514103012228

由图可得,下一跳地址是路由器的接口或者看有没有IP地址

特定主机路由?为特定的目的主机指明一个路由。

为什么特定主机路由?方便和安全

默认路由(default route)

作用减少路由表所占用的空间和搜索路由表所用的时间。

什么时候有效?在一个网络只有很少的对外连接时

image-20230514103317488

必须强调指出

IP 数据报的首部中没有地方可以用来指明**“下一跳路由器的 IP 地址**”。当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层的网络接口软件。网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址,并将此硬件地址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器

路由器取IP数据报的首部,使用arp协议,将IP地址得到mac地址,mac地址成Mac帧的首部

其实就是IP数据报不变,mac帧的首部目的mac地址变

分组转发算法

(1) 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N
(2) 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。
(3) 若路由表中有目的地址为 D特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6) 报告转发分组出错

我的总结:特定>普通>默认,报告出错

  1. 一个3200位长的TCP报文传到IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1200位。因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)?

正确

解析:第二个局域网所能传送的最长数据帧中的数据部分只有1200bit,即每个IP数据片的数据部分<1200-160(bit),由于片偏移是以8字节即64bit为单位的,所以IP数据片的数据部分最大不超过1024bit,这样3200bit的报文要分4个数据片,所以第二个局域网向上传送的比特数等于(3200+4×160),共3840bit。

4.3 划分子网和构造超网

在 ARPANET 的早期,IP 地址的设计确实不够合理。

IP 地址空间的利用率有时很低。

给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。

两级的 IP 地址不够灵活

4.3.1 划分子网

划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。

为什么要用子网掩码?从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。

子网掩码的作用 找出 IP 地址中的子网部分。

子网掩码的32位如何分配?主机号对应位全0,其他位全1

ABC类的子网掩码是?如上

路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。

路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码

一个路由器连接在两个子网上就拥有两个网络地址两个子网掩码

【例4-2】已知 IP 地址是 141.14.72.24,子网掩码是 255.255.192.0。试求网络地址。

141.14.64.0

【例4-3】在上例中,若子网掩码改为255.255.224.0。试求网络地址,讨论所得结果。

141.14.64.0

上2题的结论:不同的子网掩码得出相同的网络地址。但不同的掩码的效果是不同的。

4.3.2 使用子网时分组转发

在划分子网的情况下,从 IP 地址却不能唯一地得出网络地址来,这是因为网络地址取决于那个网络所采用的子网掩码,但数据报的首部并没有提供子网掩码的信息。因此分组转发的算法也必须做相应的改动。

算法:

(1) 从收到的分组的首部提取目的 IP 地址 D
(2) 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。
(3) 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。
(4) 对路由表中的每一行的子网掩码和 D 逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送 给该行指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。
(6) 报告转发分组出错。

总结:

源主机看目的IP地址是否在同一网络上

路由器还是特定>普通>默认,但是要用子网掩码与目的IP地址相与,匹配路由表

【例4-4】已知互联网和路由器 R1 中的路由表。主机 H1 向 H2 发送分组。试讨论 R1 收到 H1 向 H2 发送的分组后查找路由表的过程。

注意:源主机也要有一个转发查找的过程

image-20230514110001226

128.30.33.0和128.30.33.128不一致,这里不是最长匹配!!!!!!!

这里是子网划分,如果是CIDR,就最长匹配,而且相与结果就是网络号,必须等于才行。

此题本来就不一致,应当在一致的基础上考虑最长前缀匹配

例题 某单位申请了一段IP地址:211.120.21.xxx,现预将其划分为4个子网,各子网的主机数分别为50、40、30、20。请问该段IP地址是哪类地址?并写出进行子网划分后,各子网的子网掩码、IP地址范围、所能容纳的最大主机数

C类IP地址

主机数50:255.255.255.192, 211.120.21.64-211.120.21.127, 容纳的最大主机数 62

主机数40:255.255.255.192, 211.120.21.128-211.120.21.191, 容纳的最大主机数 62

主机数30:255.255.255.224, 211.120.21.32-211.120.21.63, 容纳的最大主机数 30

主机数20:255.255.255.224, 211.120.21.192-211.120.21.223, 容纳的最大主机数 30

我的理解,注意这里的最大主机数后面可以取全0和全1,因为主机号不是全0和全1

而且我感觉010,011,100,101也可以用

image-20230428200259293

21 某单位分配到一个B类IP地址,其net-id为129.250.0.0.该单位有4000台机器,分布在16个不同的地点。如选用子网掩码为255.255.255.0,试给每一个地点分配一个子网掩码号,并算出每个地点主机号码的最小值和最大值

子网掩码为255.255.255.0,子网掩码号已经确定了,题意应该有问题

image-20230514111654955

image-20230514111702788

22 将一个C类网197.16.20.0拆分成网1和网2两个子网,如图所示,各个网要求的IP地址数都至少为100个,请进行拆分并回答下列问题:

  1. 分别写出网1和网2的子网掩码
  2. 分别写出网1和网2分配的最大IP地址数
  3. 分别写出网1和网2分配的IP地址区间
  4. 分别给路由器R的接口E1和接口E2分配一个IP地址
  5. 分别给主机A和主机B配置IP地址、子网掩码、默认网关

没有答案

image-20230514112328186

没给答案

4.3.3 无分类编址 CIDR(构造超网)

背景

1987 年,RFC 1009 就指明了在一个划分子网的网络中可同时使用几个不同的子网掩码。使用**变长子网掩码 VLSM (Variable Length Subnet Mask)可进一步提高 IP 地址资源的利用率**。

VLSM 的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。

CIDR的特点

消除了划分子网的概念

各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号

IP 地址从三级编址(使用子网掩码)又回到了两级编址

斜线记法又称CIDR记法,形式是IP地址/网络前缀所占的位数
CIDR 地址块,形式是网络前缀都相同的连续的 IP 地址

路由聚合一个 CIDR 地址块可以表示很多地址,这种地址的聚合。又称为构成超网

CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码。

为什么要用最长前缀匹配?

使用 CIDR 时,路由表中的每个项目由“==网络前缀”==和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。

网络前缀越,其地址块就越小,因而路由就越具体(more specific) 。

使用二叉线索查找路由表

提出背景

当路由表的项目数很大时,为减小路由表的查找时间**

image-20230428201418280

4.4 网际控制报文协议 ICMP

为什么?为了提高 IP 数据报交付成功的机会

ICMP 作用?允许主机或路由器报告差错情况和提供有关异常情况的报告。

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

4.4.1 ICMP 报文的种类

ICMP 报文的种类有两种:ICMP 差错报告报文ICMP 询问报文

ICMP 报文的前 4 个字节是统一的格式,共有三个字段:即类型代码检验和。接着的 4 个字节的内容与 ICMP 的类型有关。

image-20230514113713277

ICMP 差错报告报文共有 5 种 :终点不可达 源点抑制(Source quench) 时间超过 参数问题 改变路由(重定向)(Redirect)

image-20230428201818215

结论:既然是差错,那么报告的数据部分就是得到的IP数据报的首部及其8字节数据,本身是协议,所以有首部,又因为封装,所以还有首部

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

对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。

第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。

对具有多播地址的数据报都不发送 ICMP 差错报告报文。

对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文。

ICMP 询问报文有两种:回送请求和回答报文时间戳请求和回答报文

下面的几种 ICMP 报文不再使用:信息请求与回答报文、掩码地址请求和回答报文、路由器询问和通告报文

4.4.2 ICMP 的应用举例

PING 使用了 ICMP 回送请求与回送回答报文。

PING 是应用层直接使用网络层 ICMP 的例子,它没有通过运输层的 TCP 或UDP。

4.5 因特网的路由选择协议

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

最佳路由:不存在一种绝对的最佳路由算法。

路由选择策略根据**自适应性**分类:静态动态

因特网采用分层次的路由选择协议。

自治系统 AS:一个 AS 使用了多种内部路由选择协议和度量,但内部对外一致和一种 AS 之间的路由选择协议

因特网有两大类路由选择协议:内部网关协议 IGP(包含:RIP 和 OSPF 协议)外部网关协议EGP(比如:BGP-4)

4.5.2 内部网关协议 RIP

RIP:一种分布式的、基于距离向量的路由选择协议

RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络距离记录

距离:跳数

距离值最大为15,>=16即不可达

RIP 只适用于小型互联网

RIP 不能在两个网络之间同时使用多条路由。RIP 选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。

RIP协议要点:

仅和相邻路由器交换信息。 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。 按固定的时间间隔交换路由信息,例如,每隔 30 秒。

路由表建立流程:

路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为1)。RIP 协议的收敛(convergence)过程较快

距离向量算法:

我的记忆:

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

(2)目的无,下一跳同、距离小,这些情况依次更新

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

RIP协议让互联网中的所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)

虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于每一个路由器的位置不同,它们的路由表当然也应当是不同的。 RIP2 协议的报文格式:由首部路由部分组成

路由部分由若干个路由信息组成。每个路由信息需要用 20 个字节。地址族标识符(又称为地址类别)字段用来标志所使用的地址协议

路由标记填入自治系统的号码,这是考虑使RIP 有可能收到本自治系统以外的路由选择信息。再后面指出某个网络地址、该网络的子网掩码、下一跳路由器地址以及到此网络的距离。

RIP报文封装在UDP

image-20230514124930772

优点:实现简单,开销较小。

缺点:坏消息传的慢网络规模有限制

4.5.3 内部网关协议 OSPF

OSPF:分布式链路状态协议

OSPF 协议的基本特点:开放最短路径优先(Dijkstra 提出的最短路径算法SPF)

OSPF的要点:

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

发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的==“度量”(metric)==。

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

链路状态数据库(link-state database)

链路状态数据库怎么来的?路由器频繁交换信息,最终每个路由器都能建立一个链路状态数据库

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

OSPF的优点:收敛快

OSPF利用IP数据报发送,不同于RIP

OSPF 构成的数据报很。这样做可减少路由信息的通信量。数据报很的另一好处是可以不必将长的数据报分片传送,因为分片传送的缺点:分片传送的数据报只要丢失一个,就无法组装成原来的数据报,而整个数据报就必须重传

4.5.4 外部网关协议 BGP

因特网的规模太大,使得自治系统之间路由选择非常困难。对于自治系统之间的路由选择,要寻找最佳路由是很不现实的

我的理解,之前的距离向量和链路状态不能用了,因为链路经过太多的AS,无法计算。所以合理做法是AS之间交换可达性信息

边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的、不能兜圈子的路由,而非最佳的路由

BGP的流程:建立TCP连接交换BGP报文以建立BGP会话在BGP会话上交换信息

TCP的特【

47.(9分)假设Internet的两个自治系统构成的网络如题47图所示,

自治系统ASI由路由器R1连接两个子网构成;

自治系统AS2由路由器R2、R3互联并连接3个子网构成。

各子网地址、R2的接口名、R1与R3的部分接口IP地址如题47图所示。

请回答下列问题。

image-20230429095452886

(1)假设路由表结构如下表所示。请利用路由聚合技术,给出R2的路由表,要求包括到达题47图中所有子网的路由,且路由表中的路由项尽可能少。

目的网络下一跳接口

下一跳的地址错误

image-20230429100354099

(2)若R2收到一个目的IP地址为194.17.20.200的IP分组,R2会通过哪个接口转发该IP分组?对

(3)R1与R2之间利用哪个路由协议交换路由信息?该路由协议的报文被封装到哪个协议的分组中进行传输?对

3种协议的对比

RIPOSPFBGP-4
自治系统内或外外,力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。
基于距离向量链路状态路径向量
和谁交换相邻路由器所有路由器
交换的信息自己的路由表相邻所有路由器的链路状态“可达性”信息。
适用的网络小型互联网
封装在UDP因为短,IP因为TCP连接可靠,TCP
什么时候更新固定时间,例如每隔30s当链路状态发生变化时或者固定时间
更新原则下一跳改为来报文的路由器X,跳数+1。目的无,下一跳同,距离小最终形成链路状态数据库,全网拓扑图
优点简单收敛快;数据报分片所以短
缺点坏消息传的慢因为短,所以一个出错,整个报文重传

4.5.6 路由器的构成

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

路由器分为2个部分:路由选择分组转发

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

“转发”(forwarding)就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去。“路由选择”(routing)则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由

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

image-20230429100826994

交换结构

排队

分组丢弃:若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。

路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。

4.6 IP 多播

4.6.1 IP 多播的基本概念

image-20230429101123474

image-20230429101131696

多播和单播比较的好处:可明显地减少网络中资源的消耗

IP 多播的一些特点:

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

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

(3) 动态的组成员

(4) 使用硬件进行多播

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

因特网号码指派管理局 IANA 拥有的以太网地址块的高 24 位为 00-00-5E

因此 TCP/IP 协议使用的以太网多播地址块的范围是:从 00-00-5E-00-00-00 到 00-00-5E-FF-FF-FF

D 类 IP 地址可供分配的有 28 位,在这 28 位中的前 5 位不能用来构成以太网硬件地址,所以后23位可以用来构成以太网硬件地址

D类地址和MAC地址的映射关系

image-20230429101511995

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

网际组管理协议 IGMP使路由器知道多播组成员的信息

多播路由选择协议使连接在局域网上的多播路由器还必须和因特网上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员。

IGMP 的本地使用范围

IGMP 并非在因特网范围内对所有多播组成员进行管理的协议。

IGMP 不知道 IP 多播组包含的成员数也不知道这些成员都分布在哪些网络上

IGMP 协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组。

IGMP 可分为两个阶段:

第一阶段:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员。本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器。

第二阶段:因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。

只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器。

多播路由选择协议比单播路由选择协议复杂得多

多播转发必须动态地适应多播组成员的变化(这时网络拓扑并未发生变化)。请注意,单播路由选择通常是在网络拓扑发生变化时才需要更新路由

多播路由器在转发多播数据报时,不能仅仅根据多播数据报中的目的地址,而是还要考虑这个多播数据报从什么地方来和要到什么地方去

多播数据报可以由没有加入多播组的主机发出,也可以通过没有组成员接入的网络。

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

4.7.1 虚拟专用网 VPN

本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请。

全球地址——全球唯一的IP地址,必须向因特网的管理机构申请。

专用地址:由RFC 1918 指明,只能用于一个机构的内部通信,而不能用于和因特网上的主机通信。专用地址只能用作本地地址而不能用作全球地址。在因特网中的所有路由器对目的地址是专用地址的数据报一律不进行转发。

利用隧道技术实现虚拟专用网

内联网 intranet 和外联网 extranet

部门 A 和 B 的内部网络所构成的虚拟专用网 VPN 又称为内联网(intranet),表示部门 A 和 B 都是在同一个机构的内部

一个机构和某些外部机构共同建立的虚拟专用网 VPN又称为外联网(extranet)。

远程接入VPN使员工在外地工作。公司需要和他们保持联系

在外地工作的员工拨号接入因特网,而驻留在员工 PC 机中的 VPN 软件可在员工的 PC 机和公司的主机之间建立 VPN 隧道,因而外地员工与公司通信的内容是保密的,员工们感到好像就是使用公司内部的本地网络。

4.7.2 网络地址转换 NAT

需要在专用网连接到因特网的路由器上安装 NAT 软件,装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球地址 IPG。。所有使用本地地址的主机在和外界通信时都要在 NAT 路由器上将其本地地址转换成 IPG 才能和因特网连接。

网络地址转换的过程:

内部主机 X 用本地地址 IPX 和因特网上主机 Y 通信所发送的数据报必须经过 NAT 路由器。

NAT 路由器将数据报的源地址 IPX 转换成全球地址 IPG,但目的地址 IPY 保持不变,然后发送到因特网。

NAT 路由器收到主机 Y 发回的数据报时,知道数据报中的源地址是 IPY 而目的地址是 IPG。

根据 NAT 转换表,NAT 路由器将目的地址 IPG 转换为 IPX,转发给最终的内部主机 X。

总结:来回都要转换

47.(9分)某主机的MAC地址为00-15-C5-C1-5E-28,IP地址为10.2.128.100(私有地址)。题47-a图是网络拓扑,题47-b图是该主机进行Web请求的1个以太网数据帧前80个字节的十六进制及ASCII码内容。

image-20230429103408062

image-20230429103748930

请参考图中的数据回答以下问题。

(1)Web服务器的IP地址是什么?该主机的默认网关的MAC地址是什么?对

64.170.98.32、

Web服务器的IP地址即IP分组的目的IP地址。已知MAC帧,且IP分组是MAC帧的数据部分,则6+6+2+4*4=30B

则为image-20230429104348356

转换为十进制得64.170.98.32

默认网关的MAC地址即目的MAC地址,为以太网帧的前六字节00-21-27-21-51-ee,本题中即为主机的默认网关10.2.128.1端口的MAC地址。 网关就是路由器

(2)该主机在构造题47-b图的数据帧时,使用什么协议确定目的MAC地址?封装该协议请求报文的以太网帧的目的MAC地址是什么?错

ARP协议,FF-FF-FF-FF-FF-FF,因为以太网以广播的形式发送ARP请求分组,在以太网上广播时,以太网帧的目的地址为全1,即FF-FF -FF-FF-FF-FF。

(3)该帧所封装的IP分组经过路由器R转发时,需修改IP分组头中的哪些字段?

私有地址和Internet上的主机通信时,须有NAT路由器进行网络地址转换,把IP数据报的源IP地址(本题为私有地址10.2.128.100)转换为NAT路由器的一个全球IP地址(本题为101.12.123.15)。因此,源IP地址字段0a 02 80 64变为65 0c 7b 0f。

IP数据报每经过一个路由器,生存时间TTL值就减1

重新计算首部校验和。

若IP分组的长度超过输出链路的MTU,则总长度字段、标志字段、片偏移字段也要发生变化。

课堂作业(独立完成)

image-20230429105244268

课后习题答案

PPT练习题

1.网络层的作用是提供网络互连,网络层在OSI体系中位于()之上,直接为()提供服务。网络层提供两种服务分别是无连接的( )服务和()的虚电路服务,因特网网络层采用的是(无连接的数据报)服务。

2.TCP/IP网络互连协议是(网络层)协议,因特网上的所有应用都要通过该协议封装传输,与该协议配套使用的还有四个协议,其中完成MAC地址解析的是(ARP ),完成组播管理的是(IGMP ),而ICMP的作用是(差错报告),它不能单独运行,必须封装在(TCP 答案是 IP)协议中传输。

7.同一逻辑网中主机IP地址的(网络)号都相同。 主机号部分全为1的IP地址用作(多播 答案是 广播)地址,主机号全为0的IP地址称作( 答案是 网络)地址。

14.IP协议不采用CRC 而是采用(相与取反 答案是 校验和)形式进行校验,且只检验首部,好处是(简单、灵活 答案是 加快了IP包转发速度),缺点是(不可靠传输 答案是 不能及时发现数据传输错误

\18. 将C类网202.118.0.0平均划分为2个子网,全0全1的子网号可用,请写出划分后每个子网的掩码,分配的IP地址区间,IP地址数。

255.254.0.0/15,

255.255.0.0/15

答案是

子网1:掩码255.255.255.128,IP数126,地址区间202.118.0.1-202.118.0.126

子网2:掩码255.255.255.128,IP数126,地址区间202.118.0.129-202.118.0.254

原因是:C类网,我漏看了

20.可在因特网公网分配给主机使用的IP是(A

A、223.8.9.1 B、127.8.9.1 C、172.30.8.9 D、128.0.9.1

解析

B和D都是因为网络号全0或全1的问题,127(01111111)保留作为本地软件环回测试(loopback test)

C是因为本地地址

21.若路由器R由于拥塞丢弃IP分组,则此时R可向源主机发的ICMP报文类型是(D 答案为 B)。

A.路由重定向 B.源抑制 C.目的不可达 D.超时

终点不可达 不能交付

源点抑制(Source quench) 拥塞丢弃

时间超过 TTL=0

参数问题 有的首部字段值不对

改变路由(重定向)(Redirect)

  1. RIP协议是内部路由协议,属于距离向量协议,位于(应用)层,使用运输层的(UDP)协议进行传输,RIP的最大好处是(收敛快 答案是 协议简单),它的最大缺点是(坏消息传的慢 答案是 限制网络规模)。 RIP允许一条路径最多只能包含(1 答案为 15)个路由器。RIP协议规定,路由器仅和(相邻)路由器交换信息,交换的是当前本路由器自己的(路由表),按固定时间每隔(30秒)交换信息。

  2. OSPF也是内部路由协议,属于链路状态协议,位于(网络)层,直接通过(IP)协议打包传输。它与RIP的主要不同在于OSPF向本自治系统内(所有)路由器发送信息,发送的信息是与本路由器(连接的链路状态 答案是 相邻的所有路由器的链路状态),只有当链路状态(发生改变时)才向所有路由器发此信息。

27.某主机IP为180.80.77.55,子网掩码为255.255.252.0,若该主机向其子网发送广播分组,则可能的目的IP是:D

A、 180.80.76.0 B、 180.80.76.255

C、 180.80.77.255 D、 180.80.79.255

A 答案是 D

32.对照下图回答问题:

1)主机入网需要配置IP地址、子网掩码和默认网关,这三个参数的作用分别是什么?

2)图中子网2可分配的IP地址数共有多少?写出其地址范围。

3)请给子网2中H5配置IP地址、掩码、网关

4)H1想在本子网内广播一个IP包,其它目标IP地址是什么?H1如果在子网3上广播一个IP包,其它目标IP地址又是什么

5)H1欲访问H3,H1发出的IP数据包头中的源IP与目的IP地址是什么?H3收到该包时的数据帧中的源MAC和目的MAC分别是谁的?

6)R1收到了一个IP包,目标地址是172.30.43.12,请写出R1对该IP包的处理过程

7)H1访问H6总共使用了几次ARP?

8)给出R2的路由表,要求有默认路由和到H1的主机路由

9)将子网1和子网2进行最大聚合

10)假设R1,R2运行RIP协议,写出R1和R2利用RIP建立路由表的过程。

11)H4发送IP包的目的地址为172.31.33.127,那么哪个主机能收到?该IP包经过数据链路层封装成帧时,目的MAC地址是( )(设以太网环境)。

33.本章课后练习除了没有讲过的内容,希望都要做。

作业

作业:3 4 5 7 9 10 11 12 19 20 26 27 29 37 41 45

雨课堂

将一个C类网络200.1.0.0划分为四个子网,取2位主机号作子网号,那么划分后每个子网的子网掩码是(255.255.255.192)

解析:C类网络

针对IP\PPP\802.3都是不可靠协议,以下说法正确的是(B)
  • A 802.3MAC协议提交给上层的数据可能是错误的
  • B IP协议提交给上层的数据可能是错误的
  • C PPP协议提交给上层的数据可能是错误的
  • D IP\PPP\802.3协议提交给上层的数据都可能是错误的

解析:因为首部检验和?其他的是检验和?

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值