文章目录
计算机网络第四章 网络层
4.1 网络层提供的两种服务
网络层协议的主要目的是屏蔽掉开放环境中系统互联时的异构性问题。
网络层提供的两种服务
虚电报服务
让网络负责可靠交付,使用面向连接的通信方式。
通过一条虚电路,分组按照顺序到达终点。
数据报服务
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
- 网络层不提供服务质量的承诺。即所传送的分组可能出错、 丢失、重复和失序(不按序到达终点),也不保证分组传送的时限。
- 如果主机(即端系统)中的进程之间的通信需要可靠,那么就由网络的主机中的运输层负责可靠交付(包括差错处理、 流量控制等)。
这样设计的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
4.2 网际协议IP
与IP协议配套使用的还有三个协议
- 地址解析协议ARP:ARP画在最下面,因为IP经常要使用这个协议
- 网际控制报文协议ICMP
- 网际组管理协议IGMP
- ICMP和IGMP都要使用IP协议
虚拟互连网络
将网络互相连接起来需要使用一些中间设备
五种不同的中间设备:
- 物理层中继系统:转发器
- 数据链路层中继系统:网桥或桥接器
- 网络层中继系统:路由器
- 网桥和路由器的混合物:桥路器
- 网络层以上的中继系统:网关
虚拟互联网络就是逻辑互联网络,互连起来的各种物理网络的异构性本来是客观存在的,利用IP协议就可以使这些性能各异的网络在用户看起来好像是一个统一的网络。(网络异构细节对主机通信是透明的)
如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就是现在 的互联网 (Internet)。
直接交付与间接交付
H1和H3在同一网络上,不需要经过路由器,因此是直接交付。
H1和H2不是在同一网络,因此需要将ip发给R1,R1查表后将数据报发给R2间接交付(分组交换原理)。一直转发到R5,最后R5再直接交付给H2。
分类的IP地址
IP地址就是给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位的标识符。
I
P
地址
:
:
=
{
<
网络号
>
,
<
主机号
>
}
IP地址::=\{<网络号>,<主机号>\}
IP地址::={<网络号>,<主机号>}
- A类地址:8位网络号且以0开头(0~127)+24位主机号,最大可指派网络数126( 2 7 − 2 2^{7}-2 27−2)
- B类地址:16位网络号且以10开头(128~191)+16位主机号,最大可指派网络数16383( 2 14 − 1 2^{14}-1 214−1)
- C类地址:24位网络号且以110开头(192~223)+8位主机号,最大可指派网络数2097151( 2 21 − 1 2^{21}-1 221−1)
- D类地址:以1110开头,后面28位是多播地址
- E类地址:以1111开头,后面保留为今后使用
点分十进制记法
32位二进制代码每8位为一组:10000000 00001011 00000011 00011111用点分十进制记作:128.11.3.31(为了提高可读性)
IP地址的指派范围
IP地址分两个等级(网络号和主机号)的好处
- IP地址管理机构在分配IP地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样 就方便了 IP 地址的管理。
- 路由器仅根据目的主机所连接的网络号来转发分组(不考虑目的主机号),这样就可以使路由表中的项目数大幅减少,从而减小了路由表所占的存储空间
当一台主机同时连接到两个网络时,该主机就必须同时具有两个相应的IP地址,其网络号必须是不同的。这种主机称为多归属主机。由于路由器应当至少连接两个网络,因此一个路由器至少应当有两个不同的IP地址。
在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。
- 用网桥(只在链路层工作)互连的网段仍然是一个局域网,只能有一个网络号
- 路由器总是具有两个或两个以上的IP地址。即路由器的每一个接口都有一个不同网络号的IP地址
IP地址与硬件地址
-
硬件地址指的是物理地址,是数据链路层和物理层使用的地址
-
IP地址指的是网络层和以上各层使用的地址,是一种逻辑地址
IP地址放在IP数据报的首部,而硬件地址则放在MAC帧的首部。在数据链路层是看不到数据报的IP地址的。
在传送转发数据过程中,目的IP地址一直不变,而每一次的MAC目的地址都在变化。
- 在IP层抽象的互联网上只能看到IP数据报
- 虽然IP数据报首部有源站IP地址,且首部中的源地址和目的地址始终不变,但路由器只根据目的站的IP地址的网络号进行路由选择
- 在局域网的链路层,只能看到MAC帧,其MAC帧首部的源地址和目的地址要发生变化
IP层抽象的互联网屏蔽了下层复杂的细节。只要我们在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信。
🔺在计算机网络中,网络层应该提供什么样的服务?为什么?
答案:
应该只提供无连接的尽最大努力的服务。
原因:
-
网络层在建立分组时每个分组独立发送
-
网络层不提供服务质量的承诺
-
降低网络层造价,灵活
-
降低了网络层的复杂性,提高分组转发的效率
两个重要问题
- 主机或路由器怎样知道应当在MAC帧首部填入什么样的硬件地址
- 路由器中的路由表是怎样得出的
地址解析协议ARP
ARP的作用
已知了一个机器(主机或路由器)的IP地址,找出其相应的硬件地址。从网络层使用的IP地址,解析出在数据链路层使用的硬件地址。
ARP要点
方法:在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)
过程
-
当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址
- 如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址
- 如没有,ARP进程在本局域网上广播发送一个ARP请求分组。收到ARP响应分组后,将得到的IP地址到硬件地址的映射写入ARP高速缓存
ARP请求分组:(广播)包含发送方硬件地址/发送方IP地址/目的方硬件地址(未知时填0)/目标方IP地址
ARP响应分组:(单播)包含发送方硬件地址/发送方IP地址/目的方硬件地址/目标方IP地址
ARP分组封装在物理网络的帧中传输
ARP对保存在高速缓存中的每一个映射地址项目都设置TTL(生存时间)。凡超过生存时间的项目就从高速缓存中删除掉。
ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题的。
使用ARP的四种典型情况(主机-主机,主机-路由器,路由器-路由器,路由器-主机):
为什么采用抽象的IP地址而不直接用硬件地址通信?
世界上存在着各式各样的网络,它们使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作。而IP编址把这个复杂问题解决了。连接到互联网的主机只需各自拥有一个唯一的IP地址,它们之间的通信就像连接在同一个网络上那样简单方便,因为调用ARP的复杂过程是由计算机软件自动进行,对用户来说是透明的。因此,在虚拟的IP网络上用IP地址进行通信给广大的计算机用户带来了很大的方便
IP数据报的格式
一个IP数据报由首部和数据两部分组成。首部的前一部分是固定20字节长度,是所有IP数据报必须具有的。首部的后一部分是一些可选字段,其长度可变。
固定部分各字段含义:
-
版本(4字节):IPv4,IPv6
-
首部长度(4位):单位是4字节,可表示的最大十进制数值为15。单位是4字节,首部最小是为5(5*4=20)即4位如果是0101表示首部长度为4*5=20字节,恰好是固定长度。当不是4字节的整数倍是,用填充字段填充
-
区分服务(8位):只有在使用区分服务时,这个字段才起作用
-
总长度(2字节):指首部和数据之和的长度,单位是1字节。由于总长度16位,因此数据报最大长度为 2 16 − 1 = 65535 2^{16}-1 = 65535 216−1=65535字节。通常传送这样长的数据报的情况是遇不到的,因为IP层下面的每一种数据链路层协议都规定了数据帧中数据字段的最大长度,即最大传送单元MTU。当一个IP数据报封装成链路层的帧时,数据报的总长度(首部+数据部分)一定不能超过数据链路层规定的MTU。最常用的以太网就规定了MTU=1500字节。若数据报长度超过MTU,则必须进行分片处理。数据报越短,路由器转发的速度就越快。在进行分片时,总长度指的是每一个分片的首部长度与该分片的数据长度的总和
-
标识(2字节):IP软件在存储器中维持一个计数器,每产生一个数据报计数器就加1,将此值赋给标识字段。具有相同的标识字段的值使分片后的各数据报最后才能正确地重装成原来的数据报。
-
标志(3位):目前只有两位有意义。
最低位标记为MF(More Fragment)。MF=1表示后面“还有分片”的数据报,MF=0表示这是若干数据报片中的最后一个。
标志字段中间的一位记为DF(Don’t Fragment),即“不能分片”。只有当DF=0时才允许分片。
-
片偏移(13位):单位是8字节。较长的分组在分片后,某片在原分组中的相对位置。即相对于用户数据字段的起点,该片从何处开始。每个分片的长度一定是8字节(64位)的整数倍。
-
生存时间(8位):即TTL,指示数据报在网络中可通过的路由器数的最大值
-
协议(8位):指出数据报携带的数据使用的协议(TCP、UDP、ICMP…)
-
首部检验和(2字节):只检验数据报的首部,而不包括数据部分。这里不采用CRC检验码,而是采取16位二进制反码求和算法(在正常有进位的加法下,如果最高位相加产生了进位,则最后计算的结果要加1),将所有16位字相加后(此时检验和部分16位全0)的和的反码写入检验和字段。接收方收到数据报后,将首部的所有16位字再使用反码运算相加一次,将得到的和取反码,若首部未发生任何变化,则结果应当为0,就保留数据报,否则认为出现了差错,丢弃此数据报。
-
源地址(4字节)
-
目的地址(4字节)
IP层转发分组的流程
按照主机所在的网络地址来制作路由表(而不是用目的主机号),可以大大简化路由表
路由器分组转发算法:
- (1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N
- (2)若网络N直接与此路由器相连,则把数据报直接交付目的主机D(这里包括把目的主机地址D转换为具体的硬件的地址,把数据报封装为MAC帧,再发送此帧);否则间接交付,执行步骤3
- (3)若路由表中有目的地址为D的特定主机路由,则把数据报传给路由表中所指明的下一跳路由器;否则执行步骤4
- (4)若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器;否则执行步骤5
- (5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则执行步骤6
- (6)报告转发分组出错
路由表并不会给分组指明到达某个网络的完整路径,而只是指出到某个网络应当先到某个路由器。
4.3 划分子网和构造超网
划分子网
在IP地址中增加子网号字段,使二级的IP地址变为三级的IP地址的做法称为划分子网。
划分子网原因:
- IP地址的空间利用率有时很低
- 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏
- 两级的IP地址不够灵活
基本思路:
- 划分子网后对外仍然表现为一个网络
- 从主机号借用前面的若干位作为子网号
- 凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报中的目的网络号,先找到连接在本单位网络上的路由器,然后此路由器在收到IP数据报后,再按目的网络号和子网号找到目的子网。最后将IP数据报直接交付给目的主机。
划分子网的优点:
- 减少了IP地址的浪费
- 使网络的组织更加灵活
- 更便于维护和管理
- 对外部网络透明,对外仍然表现为没有划分子网的一个网络
子网掩码
使用子网掩码可以找出IP地址中的子网部分。
规则:
- 子网掩码长度为32位
- 左边部分为一连串1,对应于网络号和子网号(实际没有强制规定一串1必须是连续的,但极力推荐选用连续的1,避免可能出现的差错)
- 右边部分为一连串0,对应于主机号
32位的IP地址与32位的子网掩码相与后可以得到网络号地址,例如,IP地址为128.1.3.2,子网掩码为255.255.255.0,那么网络号即128.1.3,主机号为2
使用子网掩码的好处
-
不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位的与操作,就立即得出网络地址来。这样在路由器处理到来的分组时就可以使用同样的算法
-
路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。
-
路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码
默认子网掩码
- A类地址默认子网掩码是255.0.0.0
- B类地址默认子网掩码是255.255.0.0
- C类地址默认子网掩码是255.255.255.0
不同的子网掩码可能得出相同的网络地址,但不同的掩码的效果是不同的。
划分子网后的路由器分组转发算法
使用子网划分后,路由表必须包含以下三项内容
- 目的网络地址
- 子网掩码
- 下一跳地址
在划分子网的情况下,路由器转发分组的算法如下
- 从收到的分组的首部提取目的IP地址D
- 先用各网络的子网掩码与D逐位相与,看是否有相应的网络地址与之匹配,若匹配则将分组直接交付;否则就间接交付,执行步骤3
- 若路由表中有目的地址为D的特定主机路由,则将分组传送给指明的下一跳路由器;否则执行步骤4
- 对路由表中的每一行,将子网掩码与D逐位相与,若结果与所在行的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则执行步骤5
- 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则执行步骤6
- 报告转发分组错误
无分类编址CIDR(构造超网)
初衷:划分子网虽然一定程度上缓解了互联网在发展中遇到的困难,然而B类地址在1992年已经分配了近一半,同时整个IPv4的地址空间最终将耗尽,在变长子网掩码VLSM的基础上进一步研究出了无分类编址方法,也就是无分类域间路由选择CIDR。
CIDR最主要特点:
-
消除了传统的A类、B类和C类地址以及划分子网的概念
采用“斜线记法”,即在IP地址后面加上斜线“/”,然后写上网络前缀所占的位数,例如128.14.35.7/20,其中前20位是网络前缀,而后面的12位是主机号。
I P 地址 : : = { < 网络前缀 > , < 主机号 > } IP\space地址::=\{<网络前缀>,<主机号>\} IP 地址::={<网络前缀>,<主机号>} -
使用各种长度的“网络前缀”来代替分类地址中的网络号和子网号
-
IP地址从三级编址又回到了二级编址
路由聚合/构成超网
一个CIDR地址块可以表示很多地址,这种地址的聚合称为路由聚合
CIDR记法中,可以把地址块10.0.0.0/10简写成10/10,或者写成00001010 00*,在星号*之前是网络前缀,而星号*表示IP地址中的主机号,可以是任意值。
- 前缀长度不超过23位的CIDR地址块都包含了多个C类地址
- 网络前缀越短,其地址块包含的地址数就越多。
优点:更加有效地分配IPv4的地址空间,可根据客户的需要分配适当大小的CIDR地址块。
最长前缀匹配
使用CIDR时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。查找路由表时可能不止一个匹配结果。这时应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配。
4.4 网际控制报文协议ICMP
ICMP
为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了ICMP。(是IP层的协议)
检验和字段用来检验整个ICMP报文,因为IP数据报首部的检验和并不检验IP数据报的内容,因此不能保证经过传输的ICMP报文不产生差错
ICMP报文作为IP数据报的数据部分,再加上数据报的首部,组成IP数据报发送出去。
ICMP报文分两种:ICMP差错报告报文、ICMP询问报文
以下几种情况不应发送ICMP差错报文:
- 对于ICMP差错报文本身,不再发送ICMP差错报文
- 对第一个分片的数据报片的所有后续数据报片,都不发送
- 对具有多播地址的数据报,都不发送
- 对具有特殊地址(127.0.0.1或0.0.0.0等)的数据报,不发送
ICMP询问报文有两种:
-
回送请求和回答:用来测试目的站是否可达以及了解其有关状态
-
时间戳请求和回答
常见ICMP应用
- ICMP一个重要应用就是分组网间探测PING
PING可以用来测试两个主机之间的连通性,使用了ICMP回送请求和回送回答报文,是应用层直接使用网络层ICMP的例子,它没有通过运输层的TCP或UDP
- 另一个非常重要的应用就是traceroute,用来跟踪一个分组从源点到终点的路径
4.5 互联网的路由选择协议
有关路由选择协议的几个基本概念
理想的路由算法具有的特点:
- 算法必须是正确的和完整的
- 算法在计算上应简单
- 能适应通信量和网络拓扑的变化
- 具有稳定性
- 公平性
- 最佳的(某一种要求下得出的较为合理的选择)
两大类
- 静态路由选择策略,非自适应路由选择 特点:开销小,不能使用网络变化,适用于小网络
- 动态路由选择策略,自适应路由选择 特点:开销大,较为复杂,可以适应网络变化,适用于较为复杂的网络
分层次的路由选择协议
互联网采用的路由选择协议主要是自适应的(即动态的)、分布式路由选择协议。原因:
-
互联网的规模非常大。如果让所有的路由器知道所有的网络应该怎样到达,则路由表将非常大,处理起来也太花时间。所有这些路由器之间交换路由信息所需的带宽就会使互联网的通信链路饱和。
-
许多部门不愿意外界了解自己单位网络布局细节和采用的路由选择协议,但同时希望连接到互联网上。
把整个互联网划分为许多较小的自治系统(AS)。一个AS对其他AS表现出的是一个单一的和一致的路由选择策略
互联网有两大类路由选择协议:
(1)内部网关协议IGP,包括了RIP和OSPF协议(自治系统AS内部)
(2)外部网关协议EGP,包括了BGP(一个自治系统AS1到另一个自治系统AS2)
AS之间的路由选择称为域间路由选择,AS内部的路由选择称为域内路由选择
R1和R2除运行本系统的内部路由选择协议外,还要运行自治系统间的路由选择协议
内部网关协议RIP
工作原理
中文名称叫做路由信息协议,是一种分布式的基于距离向量的路由选择协议
RIP协议要求网络中每一个路由器都要维护从它到其他每一个目的网络的距离记录。其中RIP对于“距离”的定义为:
- 从一个路由器到直接连接的网络的距离定义为1
- 从一个路由器到非直接连接的网络的距离定义为所经过的路由器加1
- RIP中的距离也称为“跳数”,因为每经过一个路由器,跳数就加1
- 这里的“距离”指最短距离
- RIP允许一条路径最多只能包含15个路由器,因此距离等于16相当于不可达。所以RIP只适合于小型互联网
RIP不能在两个网络之间同时使用多条路由。RIP选择一条具有最少路由器的路由(即最短路由),那排还存在另一条高速(低时延)但路由器较多的路由。
三大特点:
- 仅和相邻路由器交换信息
- 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
- 按固定的时间间隔交换路由信息
RIP路由表的建立开始比较慢,后面收敛(AS中所有结点都得到正确的路由选择信息)的比较快。
距离向量算法:
对于路由器收到相邻路由器(其地址为X)的一个RIP报文:
(1)先修改此RIP报文中的所有项目:把下一跳字段中的地址改为X,并把所有的距离字段都加1,例如收到“Net2,3,Y”后把它修改为“Net2,4,X”
(2)对修改后的RIP报文中的每一个项目,重复以下步骤:
if(项目中的目的网络不在此路由表中){
// 把该项目加入到路由表中
}else if(下一跳给出的路由器地址相同){
// 把收到的项目替换原路由表中的项目
}else if(收到的项目中到达某一网络距离小于路由表中的距离){
// 对路由表进行更新
}else{
// 什么都不做
}
(3)若3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,把距离设置为16
(4)返回
常见的路由表更新术语有:
- 没有新信息,不变
- 相同的下一跳,替换
- 一条新的路由,增加
- 不同的下一跳,新跳数小,替换
- 不同的下一跳,新跳数相同,不变
- 不同的下一跳,新跳数大,不变
RIP协议的报文格式
RIP协议使用运输层的用户数据报UDP进行传送。一个RIP报文最多可包含25个路由,因此RIP报文的最大长度为 4 ( 首部字节数 ) + 20 ( 每个路由信息字节数 ) × 25 = 504 4(首部字节数) + 20(每个路由信息字节数) \times 25 = 504 4(首部字节数)+20(每个路由信息字节数)×25=504字节。如超过则必须再用一个RIP报文传送。
RIP优缺点
- 好消息传播的快,坏消息传播的慢。
- 由此导致一个问题——当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器
解决方案:让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送。 - 最大优点:实现简单,开销较小
- 缺点:网络规模小,随着网络规模的扩大,开销相应增大,“坏消息传播得慢”导致更新过程的收敛时间较长。
内部网关协议OSPF
协议名称叫做开放最短路径优先,“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。
OSPF的最主要的特征就是使用分布式的链路状态协议,而不是像RIP那样的距离向量协议
三个要点
- 向本自治系统中所有路由器发送信息,采用洪泛法
- 向路由器通过所有输出端口向所有相邻的路由器发送信息,而每一个相邻路由器在将此信息发往其所有的相邻路由器。这样,最终整个区域中所有路由器都得到了这个信息的一个副本
- 发送的信息就是与本路由器相邻的所有路由器的链路状态。
- 只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。
链路状态数据库
所有的路由器最终都能建立一个链路状态数据库。实际上就是全网的拓扑结构图。它在全网范围内都是一致的。每一个路由器都知道拳王共有多少个苦忧其,以及哪些路由器是相连的,其代价是多少。每一个路由器使用链路状态数据库中的数据,构造出自己的路由表。
注:RIP不能知道全网的拓扑结构
OSPF特点
OSPF的重要优点就是更新过程收敛得快。OSPF使用层次结构的区域划分,区域与区域之间通过区域边界路由器相连。
使用区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。在一个区域内部的路由器只知道本区域的完整网络拖布,而不知道其他区域的网络拓扑情况。
OSPF不用UDP而是直接用IP数据报传送。因此OSPF的数据报很短(不需要分片,减少重传可能性)。
外部网关协议BGP
边界网关协议BGP只是寻找一条能够到达目的网络且比较好的路由,而并非要寻找一条最佳路由。
路由器的构成
路由器的主要作用:
- 连通不同的网络
- 选择信息传送的线路,在网络层转发分组
4.6 IPv6
初衷:解决IP地址耗尽
IPv6将地址从IPv4的32位增大到了128位
IPv6采用冒号十六进制记法,例如:68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF,在16进制记法中,允许把数字前面的0省略。例如把0000中的前三个0省略,写成1个0
冒号十六进制允许零压缩,即一连串连续的零可以为一对冒号取代。FF05:0:0:0:0:0:0:B3可压缩为:FF05::B3。注意:在任一地址中只能使用一次零压缩
两种IPv4向IPv6过渡的策略:
-
使用双协议栈
指在完全过渡到IPv6之前,使一部分主机装有两个协议栈,一个IPv4和一个IPv6
-
使用隧道技术
在IPv6数据报要进入IPv4网络时,把IPv6数据报封装成IPv4数据报,整个的IPv6数据报变成了IPv4数据报的数据部分,当IPv4离开IPv4网络中的隧道时,再把数据部分交给主机的IPv6协议栈
4.7 IP多播
目的:更好地支持一对多通信
采用多播方式,只需发送一次到多播组,路由器复制分组。局域网具有硬件多播功能,不需要复制分组。
多播数据报也是“尽最大努力交付”,不保证一定能够交付多播组内的所有成员。
网际组管理协议IGMP
IGMP协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(进程)参加或退出了某个多播组
虚拟专用网VPN
内部网络所构成的虚拟专用网VPN称为内联网;有某些外部机构参与进来的VPN称为外联网。
网络地址转换NAT
装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。
由于IP地址不够用,可以将路由器下的多台主机所带的私有IP地址(私有IP)转换为广域网下的路由器IP地址(公网IP),然后发送出去,实现多台设备共用一个IP的效果
在内部主机与外部主机通信时,在NAT路由器上发生了两次地址转换:
-
**离开专用网时:**替换源地址,将内部地址替换为全球地址;
-
**进入专用网时:**替换目的地址,将全球地址替换为内部地址。
-
网络地址与端口号转换NAPT
为了更有效地利用NAT路由器上的全球IP地址,常用的NAT转换表把运输层的端口号也利用上。这样拥有多个本地地址的主机就能共用一个NAT路由器上的全球IP地址了。例如6.6.6.6:1000->8.8.8.8:500
多协议标记交换MPLS
MPLS是一种IP增强技术,可以提高转发效率。
三大特点:
(1)支持面向连接的服务质量
(2)支持流量工程,平衡网络负载
(3)有效地支持虚拟专用网VPN
- 在MPLS域的入口处,给每一个IP数据报打上固定长度“标记”,然后对打上标记的IP数据报用硬件进行转发。
- 采用硬件技术对打上标记的IP数据报进行转发就称为标记交换,直接在链路层进行硬件转发而不需要到网络层查找转发表。
MPLS域是指该域中有许多彼此相邻的路由器,并且所有的路由器都是支持MPLS技术的标记交换路由器LSR。
基本工作过程:
- MPLS域中的各LSR使用专门的标记分配协议LDP交换报文,并找出标记交换路径LSP。各LSR根据这些路径构造出分组转发表
- 分组进入MPLS域时,MPLS入口结点把分组打上标记,并按照转发表将分组转发给下一个LSR。给IP数据报打标记的过程叫做分类。
转发等价类FEC
所谓“转发等价类”就是路由器按照同样方式对待(从同样接口转发到同样的下一跳地址,并且具有同样服务类别和同样丢弃优先级)的IP数据报的集合。
划分FEC的方法不受限制,都由网络管理员来控制。入口结点将属于同样FEC的IP数据都指派同样的标记。FEC与标记是一一对应的。
问题与习题
在互联网中,能否使用一个很大的交换机(switch) 来代替全部的路由器?
不可以。交换机和路由器的功能是很不一样的。
交换机可在一个单个的网络中和若干个计算机相连,并且可以将一个计算机发送过来的帧转发给另一个计算机。从这一点上看,交换机具有集线器的转发帧的功能但交换机比集线器的功能强很多。
但交换机比集线器的功能强很多 集线器在同 时间只允许 个计算机和其他计算机进行通信,但交换机允许多个计算机同时进行通信
集线器在同时间只允许一个计算机和其他计算机进行通信,但交换机允许多个计算机同时进行通信。路由器连接两个或几个网络,路由器可在网络之间转发分组(即 IP 数据报 )。特别是,这些互连的网络可以是异构的。
因此,如果是许多相同类型的网络互连在一起,那么用一个很大的交换机代替原来的些路由器是可以的。但目前的互联网是非常多的异构网络互连起来的,我们不可能找到一种交换机可以代替互联网中的全部路由器。因此,必须使用许多的路由器来进行网络互连。