信息网络基础第4章网络层_第1页
信息网络基础第4章网络层_第2页
信息网络基础第4章网络层_第3页
信息网络基础第4章网络层_第4页
信息网络基础第4章网络层_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2022/10/271本章内容

第一节网络层提供的两种服务第二节网际协议IP

第三节划分子网和构造超网第四节网际控制报文协议ICMP

第五节因特网的路由选择协议第六节IP多播第七节虚拟专用网VPN和网络地址转换NAT2022/10/272

曾经的争论:网络层应该向运输层提供怎样服务(面向连接or无连接)

焦点:计算机通信,可靠交付应当由谁来负责?网络or端系统借鉴电信网的成功经验,让网络负责可靠交付

面向连接的方式。建立虚电路,保证双方通信所需的一切网络资源。再使用可靠传输的网络协议,可使所发送的分组无差错按序到达终点注意:虚电路只是一条逻辑上的连接,并不是真正建立一条物理连接

网络层向上提供简单灵活、无连接、尽最大努力交付的数据报服务设计思路:不需要先建立连接。每一个分组/IP数据报独立发送。网络层不提供服务质量的承诺。可能出错/丢失/重复和失序。第一节网络层提供的两种服务2022/10/273

尽最大努力交付的好处不提供端到端的可靠传输服务,网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)

网络的造价大大降低,运行方式灵活,能够适应多种应用。如果主机/端系统中的进程之间的通信需要可靠,则由网络的主机中的运输层负责(包括差错处理/流量控制等)

因特网能够发展到今日的规模,充分证明这种设计思路的正确性

OSI体系曾主张在网络层使用虚电路服务,推出的X.25已成历史

虚电路与数据报服务对比2022/10/274

网际协议IP及其配套协议地址解析协议ARP(AddressResolutionProtocol)

逆地址解析协议RARP(ReverseAddressResolutionProtocol)

网际控制报文协议ICMP(InternetControlMessageProtocol)

网际组管理协议IGMP(InternetGroupManagementProtocol)

下面:IP经常用到ARP和RARP

上面:ICMP和IGMP使用IP协议

网络层/网际层/IP层网际协议IP用来互连许多计算机网络第二节网际协议IP2022/10/275一、虚拟互连网络全世界数以百万计的网络互连并互相通信,需要解决许多问题不同的寻址方案不同的最大分组长度、不同的超时控制不同的网络接入机制、不同的用户接入控制不同的差错恢复方法不同的状态报告方法不同的路由选择技术不同的服务(面向连接服务和无连接服务)、不同的管理与控制方式为了使网络互连变得简单,不可能使用相同的网络用户的需求多种多样,没有一种单一的网络能适应所有用户的需求。网络技术不断发展,网络制造厂家推出新网络,竞争中求生存。市场中总有很多种不同性能,不同网络协议的网络,供不同用户选用2022/10/276

网络互相连接起来要使用一些中间设备/中间系统物理层:转发器(repeater)

数据链路层:网桥或桥接器(bridge)

网络层:路由器(router)

网络层以上:网关(gateway),连接两个不兼容系统需高层协议转换

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

采用转发器或网桥时,不称之为网络互连。因为这仅仅是把一个网络扩大了,从网络层角度看,仍然是一个网络。

网关由于比较复杂,目前使用得较少。

网络互连是指用路由器进行互连和路由选择路由器其实就是一台专用计算机,用来在互联网中进行路由选择。由于历史的原因,许多有关TCP/IP

的文献将网络层使用的路由器称为网关2022/10/277

TCP/IP体系在网络互连上采用的做法在网络层采用标准化协议IP,但相互连接的网络可以是异构的

(a)表示许多计算机网络通过路由器进行互连。所有互连的计算机网络使用相同的IP协议,可看成虚拟的互连网络(b)

虚拟互连网络也就是逻辑互连网络,意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。使用IP协议的虚拟互连网络可简称为IP网。

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

所有网络都使用相同的IP协议,网络层讨论问题更方便

H1→H2

直接交付和间接交付从网络层看IP数据报的传送

只从网络层考虑问题,IP数据报可想象是在网络层中传送。2022/10/279二、分类的IP地址

IP地址及其表示方法

IP地址是给每个连接在因特网上的主机/路由器分配一个全世界范围唯一的32位标识符。把整个因特网看成为一个单一的、抽象的网络。

IP地址由因特网名字与号码指派公司ICANN进行分配

IP地址的编址方法经过三个历史阶段分类的IP地址:最基本的编址方法,1981年RFC791

子网的划分:改进,1985年RFC950

构成超网:无分类编址方法,1993年提出,很快得到推广应用

分类的IP地址={网络号,主机号}

将IP地址划分为若干个固定类,每一类地址由两个固定长度的字段组成

网络号

net-id:标志主机/路由器所连接到的网络。整个因特网范围唯一

主机号

host-id:标志该主机/路由器。网络号内唯一。2022/10/2710

IP地址中的网络号字段和主机号字段

A/B/C类地址是单播地址/一对一

点分十进制记法当初的考虑各种网络的差异大,主机多or主机少,A/B/C更好满足不同用户的要求某单位申请IP地址,实际上是获得一个网络号,主机号自行分配2022/10/2711

IP地址的重要特点

IP地址是一种分等级的地址结构。好处

方便管理。管理机构分配网络号,主机号由网络号所在单位自行分配

路由表中的项目数大幅度减少。路由器仅根据目的主机所连接网络号转发分组,不考虑目的主机号,可减小路由表所占的存储空间及查找时间实际上IP地址是标志一个主机/路由器和一条链路的接口用转发器或网桥连接起来的若干个局域网仍为一个网络(同样的网络号)

举例在同一个局域网上的主机或路由器IP地址中的网络号必须一样。路由器总是具有两个或两个以上的IP地址。每个接口对应不同网络号IP

路由器直接相连:分配or不分配IP

不分配IP:无编号网络/无名网络2022/10/2712三、IP地址与硬件地址区别物理地址/硬件地址

IP地址/逻辑地址数据链路层看不见数据报的IP地址

举例说明HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网通信的路径H1→经过R1转发→再经过R2转发→H2查找路由表查找路由表HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1

到HA3从HA4

到HA5从HA6

到HA2MAC帧MAC帧IP数据报从协议栈的层次上看数据的流动HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1

到HA3从HA4

到HA5从HA6

到HA2MAC帧MAC帧IP数据报从虚拟的

IP

层上看

IP数据报的流动HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1

到HA3从HA4

到HA5从HA6

到HA2MAC帧MAC帧IP数据报在链路上看

MAC帧的流动IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1

到HA3从HA4

到HA5从HA6

到HA2MAC帧MAC帧IP数据报在IP层抽象的互联网上只能看到IP数据报图中的IP1→IP2

表示从源地址IP1

到目的地址IP2

两个路由器的IP地址并不出现在IP数据报的首部中IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1

到HA3从HA4

到HA5从HA6

到HA2MAC帧MAC帧IP数据报路由器只根据目的站的IP地址的网络号进行路由选择IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2MAC帧从HA1

到HA3从HA4

到HA5从HA6

到HA2MAC帧MAC帧IP数据报在具体的物理网络的链路层只能看见MAC帧而看不见IP数据报IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2MAC帧从HA1

到HA3从HA4

到HA5从HA6

到HA2MAC帧MAC帧IP数据报IP层抽象的互联网屏蔽下层很复杂的细节。在抽象的网络层上讨论问题,就能够使用统一、抽象的IP地址研究主机和主机或主机和路由器之间的通信表4-4

2022/10/2720四、地址解析协议ARP和逆地址解析协议RARP

两种协议的作用

IP→MAC和MAC→IPDHCP协议中包含RARP功能(无盘工作站)

ARP协议要点每个主机设有一个ARP高速缓存,存放本局域网上各主机和路由器的IP地址到硬件地址的映射表映射表经常动态更新主机A→B发送IP数据报,先在其ARP高速缓存中查看有无主机B的IP地址。有无:广播ARP请求分组生存时间/及时更新2022/10/2721

ARP的四种典型情况发送方是主机→本网络上的另一个主机。这时用ARP找到目的主机的硬件地址。发送方是主机→另一个网络上的一个主机。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。发送方是路由器→本网络上的一个主机。这时用ARP找到目的主机的硬件地址。发送方是路由器→另一个网络上的一个主机。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。为什么不直接使用硬件地址进行通信?多此一举吗?各式各样的网络,不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,几乎是不可能的事。

统一的IP地址,通信就像连接在同一个网络上那样简单方便。调用ARP来寻找某个路由器/主机的硬件地址都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的2022/10/2722五、IP数据报的格式

IP数据报完整格式首部+数据固定长度20字节+可选字段

32位/4字节为单位描述

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

版本4bit:IPv4/IPv6

首部长度4bit:20~60字节=(24-1)*32bit

区分服务8bit:旧标准叫服务类型/1998年区分服务DS

总长度16bit:首部+数据。216-1=65535字节。不大于MTU/576~1500

标识16bit:标识数据报,+1,便于分片后重装。标志3bit:只有两位有意义最低位MF(MoreFragment):1表示后面“还有分片”、0最后一个分片。中间位DF(Don‘tFragment):DF0时才允许分片。2022/10/2723

IP数据报首部固定部分中各字段2

片偏移13bit:较长分组分片后,某片在原分组中相对位置。8字节单位生存时间8bit:TTL。秒/路由跳数协议8bit:数据报/数据使用何种协议表

首部检验和16bit:不用CRC

源地址和目的地址32bit:IP地址

IP数据报首部的可变部分长度1~40。4字节整数倍/0填充2022/10/2724六、IP层转发分组的流程举例说明路由器怎样转发分组三个路由器连接四个A类网络按目的主机号制作路由表按主机所在网络地址简化:网络→链路。强调分组转发

路由表最重要的两个信息

目的网络地址+下一跳地址

根据目的网络地址就能确定下一跳路由器,结果

IP数据报最终一定可以找到目的主机所在目的网络上的路由器(多次间接交付)。只有到达最后一个路由器,才试图向目的主机进行直接交付。

特定主机路由:控制/测试网络

默认路由:N1主机路由表/0.0.0.02022/10/2725

IP数据报中没有下一跳路由器的IP地址,如何转发?当路由器收到待转发的数据报并从路由表中得到下一跳路由器的IP地址后,不是将该IP填入IP数据报,而是送交下层的网络接口软件。网络接口软件用ARP将下一跳路由器的IP地址转换成硬件地址,并放在链路层的MAC帧的首部,然后根据这个硬件地址找到下一跳路由器。分组转发算法从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。若网络N与此路由器直接相连,则把数据报直接交付目的主机D;否则是间接交付,执行(3)。若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,报告转发分组出错。2022/10/2726第三节划分子网和构造超网一、划分子网从两级IP地址到三级IP地址在ARPANET的早期,IP地址的设计确实不够合理

IP地址空间的利用率有时很低。每个物理网络分配一个网络号会使路由表变得太大而使网络性能变坏两级的IP地址不够灵活。

1985年增加子网号字段/划分子网(两级→三级IP地址)思路划分子网是单位内部的事情。对外仍然表现为没有划分子网的网络。从主机号借用若干个位作为子网号,IP地址=网络号+子网号+主机号根据IP数据报的目的网络号,先找到连接在本单位网络上的路由器。再按目的网络号net-id和子网号subnet-id找到目的子网。最后就将IP数据报直接交付目的主机。2022/10/2727

举例说明划分子网2022/10/2728

子网掩码(subnetmask)

从IP数据报首部无法判断源目的主机所连接的网络是否划分子网使用子网掩码(连续的1)可以找出IP地址中的子网部分

逐位相与:(IP地址)AND(子网掩码)=网络地址为便于查找路由表,所有网络都必须使用子网掩码若一个网络不划分子网,则使用默认的子网掩码。默认子网掩码中1的位置和IP地址中的网络号字段net-id正好相对应子网掩码是一个网络/子网的重要属性。路由器的路由表中的每一项,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。2022/10/2729

以B类地址为例说明有多少种划分子网的方法子网号有n位,2n-2个子网子网号不能为全0和全1

划分子网增加灵活性减少可用主机号总数

两个例子不同掩码可得相同的网络地址不同掩码的效果不同2022/10/2730二、使用子网时分组的转发划分子网后,路由表必须包含三项内容目的网络地址、子网掩码、下一跳地址

划分子网后,IP地址不能唯一得出网络地址,取决于采用的子网掩码在划分子网的情况下路由器转发分组的算法从收到的分组的首部提取目的IP地址D

先判断能否直接交付:用直接相连的网络子网掩码和D逐位相“与”,看是否和相应的网络地址匹配。若匹配,则直接交付。否则间接交付。若路由表中有目的地址为D的特定主机路由,则将分组传送给指明的下一跳路由器;否则对路由表中的每一行的子网掩码和D逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,报告转发分组出错。128.30.33.10目的网络地址子网掩码下一跳128.30.33.0128.30.33.128128.30.36.0255.255.255.128255.255.255.128255.255.255.0接口0接口1R2128.30.33.13H1子网1:网络地址128.30.33.0

子网掩码255.255.255.128128.30.33.130R1

的路由表(未给出默认路由器)R11R2子网2:网络地址128.30.33.128

子网掩码255.255.255.128H2128.30.33.13801128.30.33.129H3128.30.36.2子网3:网络地址128.30.36.0

子网掩码255.255.255.0128.30.36.12【例4-4】已知图4-24所示的互联网,以及路由器R1中的路由表。主机H1向H2发送分组。试讨论R1收到H1向H2发送的分组后查找路由表的过程。主机H1要发送分组给H2

128.30.33.10目的网络地址子网掩码下一跳128.30.33.0128.30.33.128128.30.36.0255.255.255.128255.255.255.128255.255.255.0接口0接口1R2R1

的路由表(未给出默认路由器)128.30.33.13H1子网1:网络地址128.30.33.0

子网掩码255.255.255.128128.30.33.130R11R2子网2:网络地址128.30.33.128

子网掩码255.255.255.128H2128.30.33.13801128.30.33.129H3128.30.36.2子网3:网络地址128.30.36.0

子网掩码255.255.255.0128.30.36.12要发送的分组的目的IP地址:128.30.33.138请注意:H1

并不知道

H2

连接在哪一个网络上。H1

仅仅知道

H2

IP

地址是128.30.33.138因此

H1

首先检查主机

128.30.33.138

是否连接在本网络上如果是,则直接交付;否则,就送交路由器

R1,并逐项查找路由表。128.30.33.10目的网络地址子网掩码下一跳128.30.33.0128.30.33.128128.30.36.0255.255.255.128255.255.255.128255.255.255.0接口0接口1R2H1子网1:网络地址128.30.33.0

子网掩码255.255.255.128128.30.33.130R11R2子网2:网络地址128.30.33.128

子网掩码255.255.255.128H2128.30.33.13128.30.33.13801128.30.33.129H3128.30.36.2子网3:网络地址128.30.36.0

子网掩码255.255.255.0128.30.36.12主机H1

首先将

本子网的子网掩码255.255.255.128

与分组的

IP

地址128.30.33.138逐比特相“与”(AND

操作)255.255.255.128AND128.30.33.138的计算255就是二进制的全1,因此255ANDxyz=xyz,这里只需计算最后的128AND138即可。128→10000000138→10001010逐比特AND

操作后:10000000→128255.255.255.128128.30.33.138128.30.33.128逐比特AND

操作H1

的网络地址因此H1必须把分组传送到路由器R1

然后逐项查找路由表128.30.33.10目的网络地址子网掩码下一跳128.30.33.0128.30.33.128128.30.36.0255.255.255.128255.255.255.128255.255.255.0接口0接口1R2R1

的路由表(未给出默认路由器)128.30.33.13H1子网1:网络地址128.30.33.0

子网掩码255.255.255.128128.30.33.130R11R2子网2:网络地址128.30.33.128

子网掩码255.255.255.128H2128.30.33.13801128.30.33.129H3128.30.36.2子网3:网络地址128.30.36.0

子网掩码255.255.255.0128.30.36.12路由器R1收到分组后就用路由表中第1个项目的

子网掩码和128.30.33.138逐比特AND

操作128.30.33.10目的网络地址子网掩码下一跳128.30.33.0128.30.33.128128.30.36.0255.255.255.128255.255.255.128255.255.255.0接口0接口1R2R1

的路由表(未给出默认路由器)128.30.33.13H1子网1:网络地址128.30.33.0

子网掩码255.255.255.128128.30.33.130R11R2子网2:网络地址128.30.33.128

子网掩码255.255.255.128H2128.30.33.13801128.30.33.129H3128.30.36.2子网3:网络地址128.30.36.0

子网掩码255.255.255.0128.30.36.12255.255.255.128AND128.30.33.138=128.30.33.128不匹配!(因为128.30.33.128与路由表中的128.30.33.0不一致)R1

收到的分组的目的IP地址:128.30.33.138不一致路由器R1再用路由表中第2个项目的

子网掩码和128.30.33.138逐比特AND

操作128.30.33.10目的网络地址子网掩码下一跳128.30.33.0128.30.33.128128.30.36.0255.255.255.128255.255.255.128255.255.255.0接口0接口1R2R1

的路由表(未给出默认路由器)128.30.33.13H1子网1:网络地址128.30.33.0

子网掩码255.255.255.128128.30.33.130R11R2子网2:网络地址128.30.33.128

子网掩码255.255.255.128H2128.30.33.13801128.30.33.129H3128.30.36.2子网3:网络地址128.30.36.0

子网掩码255.255.255.0128.30.36.12255.255.255.128AND128.30.33.138=128.30.33.128匹配!这表明子网2就是收到的分组所要寻找的目的网络R1

收到的分组的目的IP地址:128.30.33.138一致!2022/10/2737三、无分类编址CIDR(构造超网)

网络前缀划分子网一定程度缓解,1992年仍然面临三个必须尽早解决的问题

B类地址在1992年已分配近一半,估计在1994年3月全部分配完毕!因特网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)

整个IPv4的地址空间最终将全部耗尽。

IETF很快研究出无分类编址的方法解决前两个问题

第三个问题更加长远,成立IPv6工作组研究新版本IP协议

IP编址问题的演进

1987年,RFC1009指明在一个划分子网的网络中可同时使用几个不同的子网掩码。使用变长子网掩码VLSM可进一步提高IP地址资源的利用率。(VariableLengthSubnetMask)在VLSM的基础上又进一步研究出无分类编址方法:无分类域间路由选择

CIDR(ClasslessInter-DomainRouting)2022/10/2738CIDR最主要的特点

消除传统A类/B类/C类地址和划分子网的概念,更有效分配IPv4地址

IP地址=网络前缀+主机号,无分类的两级地址各种长度的网络前缀代替分类地址中的网络号和子网号

CIDR还使用“斜线记法”,IP地址后加“/”,然后写上网络前缀所占位数

CIDR把网络前缀都相同的连续的IP地址组成“CIDR地址块”

128.14.35.7/20

128.14.00100011.00000111

全0和全1主机号一般不用

CIDR使用32位的地址掩码一串1和一串0组成

1个数是前缀长度/斜线后数字

CIDR地址块仍可划分子网,子网前缀更长2022/10/2739

路由表利用CIDR地址块查找目的网络:地址聚合/路由聚合/构成超网路由表中一个项目可以表示很多个原来传统分类地址的路由

1994/1995年,因特网一个路由表超过7万个项目。1996年CIDR→3万个路由聚合有利于减少路由器之间路由选择信息的交换

CIDR的记法网络前缀后面加*号,表示IP地址中的主机号/任意值,0000101000*10.0.0.0/10简记为10/10

最常用的CIDR地址块表中1K=210=10241个CIDR地址块包含多个C类地址或B类地址→构成超网好处:更加有效地分配IPv4的地址空间,根据需要分配适当大小的CIDR地址块CIDR地址块划分举例因特网206.0.68.0/22206.0.64.0/18ISP大学X一系二系三系四系206.0.71.128/26206.0.71.192/26206.0.68.0/25206.0.68.128/25206.0.69.0/25206.0.69.128/25206.0.70.0/26206.0.70.64/26206.0.70.128/26206.0.70.192/26206.0.70.0/24206.0.71.0/25206.0.71.0/26206.0.71.64/26206.0.71.128/25206.0.68.0/23

单位地址块二进制表示地址数

ISP206.0.64.0/1811001110.00000000.01*16384

大学206.0.68.0/2211001110.00000000.010001*1024

一系206.0.68.0/2311001110.00000000.0100010*512

二系206.0.70.0/2411001110.00000000.01000110.*256

三系206.0.71.0/2511001110.00000000.01000111.0*128

四系206.0.71.128/2511001110.00000000.01000111.1*128课件制作人:谢希仁CIDR地址块划分举例因特网206.0.68.0/22206.0.64.0/18ISP大学X一系二系三系四系206.0.71.128/26206.0.71.192/26206.0.68.0/25206.0.68.128/25206.0.69.0/25206.0.69.128/25206.0.70.0/26206.0.70.64/26206.0.70.128/26206.0.70.192/26206.0.70.0/24206.0.71.0/25206.0.71.0/26206.0.71.64/26206.0.71.128/25206.0.68.0/23这个ISP共有64个C类网络。如果不采用CIDR技术,则在与该ISP的路由器交换路由信息的每一个路由器的路由表中,就需要有64个项目。但采用地址聚合后,只需用路由聚合后的1个项目206.0.64.0/18就能找到该ISP。网络前缀越短,所包含的地址数就越多2022/10/2742

最长前缀匹配/最长匹配/最佳匹配(longest-prefixmatching)使用CIDR时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。举例应当从匹配结果中选择具有最长网络前缀的路由。网络前缀越长,其地址块就越小,路由就越具体

如果IP地址的分配采用CIDR,按地理位置分配,大大减少路由表中路由项目现实因特网地址管理机构没有按地理来分配IP地址,把已分配出的IP地址收回再重新分配是十分困难的事。尽管如何CIDR的使用已经推迟IP地址将要耗尽的日期。最长前缀匹配举例收到的分组的目的地址D=206.0.71.128路由表中的项目:206.0.68.0/22(ISP)

206.0.71.128/25(四系)查找路由表中的第1个项目ANDD=206.0.01000100.0第1个项目206.0.68.0/22

的掩码M

有22个连续的1。M=11111111111111111111110000000000因此只需把D

的第3个字节转换成二进制。M=11111111111111111111110000000000206.0.01000100.0与206.0.68.0/22匹配最长前缀匹配举例收到的分组的目的地址D=206.0.71.128路由表中的项目:206.0.68.0/22(ISP)

206.0.71.128/25(四系)再查找路由表中的第2个项目ANDD=206.0.71.10000000第2个项目

206.0.71.128/25

的掩码M

有25个连续的1。M=11111111111111111111111110000000因此只需把D

的第4个字节转换成二进制。M=11111111111111111111111110000000206.0.71.10000000与206.0.71.128/25匹配最长前缀匹配DAND(11111111111111111111110000000000)=206.0.68.0/22匹配DAND(11111111111111111111111110000000)=206.0.71.128/25匹配选择两个匹配的地址中更具体的一个,即选择最长前缀的地址。

2022/10/2746

使用二叉线索查找路由表(binarytrie)

路由表的项目数很大,设法减小路由表的查找时间。使用CIDR后,由于要寻找最长前缀匹配,路由表的查找过程更加复杂。

二叉线索:将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。特殊结构的树

IP地址中从左到右的比特值决定了从根结点逐层向下层延伸的路径,而二叉线索中的各个路径就代表路由表中存放的各个地址。先找出每一个IP地址的唯一前缀再用唯一前缀构造二叉线索查找时,与唯一前缀匹配深度最多32层

小圆圈是中间节点

小方框是叶节点。举例10011011011110100000000000000000没有匹配为提高二叉线索的查找速度,广泛使用各种压缩技术2022/10/2747第四节网际控制报文协议ICMP一、ICMP报文的种类

ICMP不是高层而是IP层的协议(InternetControlMessageProtocol)

为提高IP数据报交付成功的机会,在网际层使用ICMP[RFC792]ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告

ICMP报文作为IP层数据报的数据+数据报的首部=IP数据报,发送出去

ICMP报文的种类

ICMP差错报告报文

ICMP询问报文

ICMP报文的格式前4个字节是统一的格式,三个字段其后4个字节与ICMP类型有关最后是数据字段,取决于类型2022/10/2748ICMP差错报告共有5种(向源点发送)

终点不可达:路由器/主机不能交付数据报,源点抑制(Sourcequench):路由器/主机因拥塞而丢弃数据报时间超过:生存时间为0

参数问题:数据报首部有的字段的值不正确改变路由(重定向):路由器把改变路由报文发送给主机

常用ICMP询问报文有2种回送请求和回答报文:测试目的站是否可达及了解有关状态时间戳请求和回答报文:时钟同步和测量时间

差错控制报文中的数据字段的格式需要差错报告的IP数据报的首部和数据字段的前8个字节提取出来,作为ICMP报文的数据字段运输层的端口号+报文发送序号2022/10/2749二、ICMP的应用举例分组网间探测PING

测试两个主机之间的连通性使用回送请求与回送回答报文

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

UNIX系统中traceroute或Windows系统中tracert

跟踪一个分组从源点到终点的路径,获取经过路由器IP+往返时间源→目的主机一连串IP数据报封装无法交付的UDP用户报

ICMP时间超过差错报告报文

ICMP终点不可到达报文每个TTL值发送三次/时间2022/10/2750第五节因特网的路径选择协议一、有关路由选择协议的几个基本概念理想的路由算法算法必须是正确和完整的算法在计算上应简单算法应能适应通信量和网络拓扑的变化,自适应性/稳健性/鲁棒性

算法应具有稳定性:收敛

算法应是公平的

算法应是最佳的:分组平均时延最小/网络吞吐量最大。相对的路由选择非常复杂,网络结点共同协调工作的结果。环境不断变化从路由算法的自适应性考虑

静态路由选择策略:非自适应路由选择,人工,简单和开销较小

动态路由选择策略:自适应网络状态的变化,复杂/开销比较大2022/10/2751

分层次的路由选择协议

因特网采用分层次路由协议的两个原因因特网采用自适应(动态)的、分布式路由选择协议因特网的规模非常大。让所有的路由器知道所有的网络应怎样到达,则路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网上

解决:将整个互联网划分为许多较小的自治系统(AS)

定义:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议用以确定分组在AS之间的路由现在对自治系统AS的定义是强调下面的事实:尽管一个AS使用了多种内部路由选择协议和度量,但重要的是一个AS对其他AS

表现出的是一个单一的和一致的路由选择策略2022/10/2752

目前因特网,一个大的ISP就是一个AS→路由选择协议分两类

内部网关协议IGP(InteriorGatewayProtocol):在一个自治系统内部使用的路由选择协议。使用最多的的RIP和OSPF协议

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

域内路由选择:

域间路由选择:

注意早期RFC使用名词“网关”。新RFC使用名词“路由器”。当作同义词

IGP和EGP是协议类别的名称。最早的外部网关协议的协议名字正好也是EGP。遇到名词EGP,应弄清是旧的协议EGP还是外部网关协议EGP

对于比较大的自治系统,还可将所有的网络再进行一次划分可构筑一个链路速率较高的主干网和许多速率较低的区域网。2022/10/2753二、内部网关协议RIP

工作原理(RoutingInformationProtocol)RIP2(RFC2453)

路由信息协议RIP是一种分布式的基于距离向量的路由选择协议,简单要求网络中的每个路由器都要维护到其他任何目的网络的距离记录

距离的定义从一路由器到直接连接的网络的距离定义为1

从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加1RIP协议“距离”也称为“跳数”,因为每经过一个路由器,跳数就加1“距离”实际上指“最短距离”,RIP认为一个好的路由就是它通过的路由器的数目少,即“距离短”

RIP允许一条路径最多只能包含15个路由器。最大值为16,不可达。

RIP不能在两个网络之间同时使用多条路由。RIP选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。只适用于小型互联网2022/10/2754RIP协议的特点分布式路由选择协议。路由器要不断地和其他路由器交换路由信息。仅和相邻路由器交换信息。交换的信息是当前本路由器所知道的全部信息,即自己的路由表。按固定的时间间隔(每隔30秒)交换路由信息,更新路由表。当网络发生拓扑变化时,路由器及时向相邻路由器通告拓扑变化的路由信息。

路由表的建立路由器刚开始工作时,只知道到直接连接的网络的距离(定义为1)

以后,每个路由器只和相邻路由器(数目非常有限)交换并更新路由信息经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。事实证明,RIP协议的收敛过程较快。

路由表中主要信息:到某个网络的(最短)距离,应经过的下一跳地址

路由表更新的原则:找出最短距离。距离向量算法/Bellman-Ford算法2022/10/2755Bellman-Ford算法设X是结点A到B最短路径上一个结点。路径A→B拆成两段A→X→B,则每一段路径A→X和X→B也都分别是结点A到X和X到B的最短路径。距离向量算法2022/10/2756RIP协议最大的优点:实现简单、开销较小

RIP的缺点

RIP的最大距离为15(16为不可到达),限制了网络的规模;路由器之间的路由信息是路由器中的完整路由表,开销增加;

好消息传播得快,坏消息传播得慢。更新过程的收敛时间过长。2022/10/2757三、内部网关协议OSPF

开放最短路径优先OSPF协议(OpenShortestPathFirst)

克服RIP缺点,1989年开发。原理简单,实现较复杂。OSPF2(RFC2328)

开放:OSPF协议不是受某一家厂商控制,而是公开发表的。最短路径优先:因为使用了Dijkstra提出的最短路径算法SPF

OSPF最主要的特征是使用分布式的链路状态协议向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。发送的信息就是与本路由器相邻的所有路由器的链路状态(相邻信息+度量),但这只是路由器所知道的部分信息。

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

OSPF对于不同类型的业务可计算出不同的路由。到同一个目的网络有多条相同代价的路径,多路径间的负载平衡。支持可变长度的子网划分和无分类编址CIDR。

链路状态附加32位序号,序号越大状态越新。路由信息分组“鉴别”功能2022/10/2758

链路状态数据库(link-statedatabase)

各路由器之间交换链路状态信息,所有路由器最终都能建立一个LSDLSD实际上是全网的拓扑结构图,全网范围内是一致的(LSD的同步)

每个路由器使用LSD中数据,构造自己的路由表(使用Dijkstra算法)OSPF的LSD能较快地进行更新,收敛得快是其重要优点。

Dijkstra算法2022/10/2759

OSPF的区域(area)

为应用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫作区域。一个区域内的路由器最好不超过200个。每一个区域都有一个32位的区域标识符(用点分十进制表示)

好处:将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,减少整个网络上的通信量。

OSPF的层次区域划分主干区域:标识符规定为0.0.0.0

作用:连通其他在下层的区域主干路由器:R3/R4/R5/R6/R7

区域边界路由器:R3/R4/R7

自治系统边界路由器:R6与其他自治系统交换路由信息。缺点:交换信息的种类增多。优点:每个区域内通信减少。

OSPF不用UDP而是直接用IP数据报传送PPT232022/10/2760

OSPF的五种分组类型问候(Hello)分组:发现和维持邻站的可达性数据库描述(DatabaseDescription)分组:摘要信息链路状态请求(LinkStateRequest)分组:详细信息链路状态更新(LinkStateUpdate)分组,用洪泛法对全网更新链路状态链路状态确认(LinkStateAcknowledgment)分组:两个相邻路由器每隔10s交换一次问候分组,40s没收到则认为不可达其他四种分组用于LSD同步,即不同路由器LSD内容一样/完全相邻

OSPF的基本操作问候→摘要信息→详细信息可靠的洪泛法每30分钟刷新一次链路状态当网络规模很大时,OSPF优于RIPOSPF使用的是可靠的洪泛法更新报文tACK报文RRRRt1t2t3t42022/10/2762四、外部网关协议BGPBGP是不同AS的路由器之间交换路由信息的协议

1989年,2006年BGP-4(RFC4271~4278)

内部网关协议不适用于不同AS之间路由选择。应用环境不同

因特网的规模太大,使得自治系统之间路由选择非常困难。对于自治系统之间的路由选择,要寻找最佳路由是很不现实的当一条路径通过几个不同AS时,要想对这样的路径计算出有意义的代价是不太可能的。比较合理的做法是在AS之间交换“可达性”信息。自治系统之间的路由选择必须考虑有关策略,包括政治/经济/安全等。边界网关协议BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由

BGP采用路径向量路由选择协议。区别:距离向量/链路状态2022/10/2763

BGP的发言人每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人”两个BGP发言人(BGP边界路由器)都是通过一个共享网络连接在一起的两个不同自治系统中BGP发言人交换路由信息,先建立TCP连接,在此连接上交换BGP报文以建立BGP会话,利用BGP会话交换路由信息使用TCP连接能提供可靠的服务,简化路由选择协议。此时两个BGP发言人,彼此成为对方的邻站或对等站

BGP发言人和AS的关系每个BGP发言人运行BGP协议,还必须运行该AS所使用的内部网关协议

BGP所交换的网络可达性信息是要到达某个网络所要经过的一系列AS

各BGP发言人根据策略从中找出到各AS的较好路由。AS连通图/树形/无回路课件制作人:谢希仁BGP发言人交换路径向量主干网(AS1)地区ISP(AS2)地区ISP(AS3)本地ISP(AS4)N1,N2本地ISP(AS5)N3,N4本地ISP(AS6)N5本地ISP(AS7)N6,N7自治系统AS2

的BGP发言人通知主干网的BGP发言人:“要到达网络N1,N2,N3和N4可经过AS2。”课件制作人:谢希仁BGP发言人交换路径向量主干网(AS1)地区ISP(AS2)地区ISP(AS3)本地ISP(AS4)N1,N2本地ISP(AS5)N3,N4本地ISP(AS6)N5本地ISP(AS7)N6,N7主干网还可发出通知:“要到达网络N5,N6和N7可沿路径(AS1,AS3)。”2022/10/2766RFC4271中规定BGP-4的四种报文打开(OPEN)报文:与相邻的另一个BGP发言人建立关系,通信初始化

更新(UPDATE)报文:通告某一路由的信息,或列出要撤消的多条路由保活(KEEPALIVE)报文:确认打开报文和周期性地证实邻站关系通知(NOTIFICATION)报文:发送检测到的差错。

RFC2918增加ROUTE-REFRESH报文:请求对等端重新通告

BGP工作过程商谈:OPEN报文→KEEPALIVE报文(响应)

维持:KEEPALIVE报文(周期性交换)

更新:UPDATE报文,BGP协议的核心内容。用于撤消多条以前通知过的路由、宣布增加一条新路由优点:容易解决距离向量路由选择算法中“坏消息传播得慢”缺点:往往不能给出正确选择,因为这些算法不能指出哪些邻站到目的站路由独立2022/10/2767五、路由器的构成路由器的结构具有多个输入端口和多个输出端口的专用计算机任务是转发分组。将某个输入端口收到的分组,按照要去的目的地(目的网络),把该分组从某个合适的输出端口转发给下一跳路由器。网络层结构划分为两大部分

路由选择/控制部分:核心构件是路由选择处理机根据所选路由选择协议构造出路由表,更新/维护。

分组转发:一组输入和输出端口(硬件接口)

交换结构/交换组织,作用是根据转发表将某个输入端口进入的分组从一个合适的端口转发出去。2022/10/2768

区别路由选择和转发路由选择:许多路由器协同工作。按照路由算法,得出整个网络的拓扑变化情况,构造出整个的路由表。包含从目的网络到下一跳IP的映射转发:单个路由器。根据转发表将用户IP数据报从合适的端口转发。转发表是从路由表得出的。从目的网络到输出端口MAC地址信息的映射转发分组时,转发表的结构应当使查找过程最优化。可用特殊的硬件路由表则需要对网络拓扑变化的计算最优。总是用软件实现

路由器处理过程两类分组:路由信息、数据交换功能分散化,转发表副本每个输入端口有影子副本路由选择处理机负责副本的更新需要很高速率转发分组,线速处理时延/缓冲区。可能分组丢失2022/10/2769

交换结构分组从一个输入端口转移到某个端口

三种常用的交换方法普通计算机:最早,类似传统操作系统的I/O设备,中断

共享存储器:Cisco/Catalyst8500系列、BayNetwork/Accelar1200系列

总线:Cisco/Catalyst1900系列(1Gb/s)

纵横交换结构/互连网络:Cisco12000系列(60Gb/s)2022/10/2770一、IP多播的基本概念

发展历程

1988年SteveDeering首次在博士论文中提出IP多播的概念

1992年IETF在因特网范围首次试验IETF会议声音的多播(20个网点)

现在IP多播/组播(在因特上进行多播/一对多)成为热门课题。更多智能交互式音/视频信息的多播,1992年开始试验虚拟的多播主干网MBONE,把分组传播到地点分散但属于同一个组的许多主机。相当大规模

多播的好处大大节约网络资源多播靠路由器来实现增加识别多播数据报的软件多播协议/多播路由器第六节IP多播2022/10/2771

多播IP地址/D类地址

D类地址前四位1110(224.0.0.0~239.255.255.255),228个多播组多播数据报采用尽最大努力交付,不保证一定交付给组内所有成员多播地址只能用于目的地址,不能用于源地址和一般IP数据报区别:使用D类IP地址作为目的地址/协议字段2/IGMP

不产生ICMP差错报文。PING多播地址后,永远收不到响应

D类地址不能随意使用(由因特网号码指派管理局IANA负责指派)

指派为永久组地址动态的组成员使用硬件进行多播

IP多播分为两种只在本局域网上进行硬件多播:简单/重要在因特网范围进行多播2022/10/2772二、在局域网上进行硬件多播和D类IP地址中的23位有一一对应的关系

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

TCP/IP协议使用的以太网多播地址块的范围从00-00-5E-00-00-0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论