您现在的位置是:首页 > 测评

路由器直接交付 IP分组的交付和转发

867HJcbeopms 2024-04-12

一、...子网掩码和下一跳路由器,若直接交付则最后一列表示

路由表有最长前缀匹配原则。

这么具体的匹配原则还真没见过,不知楼主看的什么书。从描述上来看,优先匹配路由表的条目,如果条目中没有则匹配最短前缀,再交给默认路由。

还有题目中的一个描述是错误的

路由表给的是转发接口,而题目问的却是下一跳地址。。。这是两个概念。拿RIP举例,转发接口的度量是0,下一跳地址的度量是1。严格来说路由表没有下一跳的地址,根本计算不出来下一跳。

这应该是国产书的错误。--;

二、选路过程中的直接交付是指什么

“直接交付”是指在一个物理网络上,数据报从一台机器上直接传送到另一台机器上,这是所有互连网络通信的基础。

只有当两台机器同时连接到同一底层物理传输系统时(例如一个以太网内),才能进行直接交付。间接交付是指目的地不在一个直接连接的网络上时,发送方必须把数据报发给一个路由器才能交付它。间接支付的最后一跳是直接支付。

送出IP数据包的源计算机与接收数据包的目的计算机不在同一个物理网络时,就需要借助跨接不同物理网络的路由器实现间接交付。

特别是当源计算机与目的计算机被多个物理网络隔开,且它们之间可能有多条信息传输路径时,IP数据包的间接交付不但需要借助多台路由器,还有一个选择最佳路径的问题。

注意事项:

如果在实验室,全部同学都设置成“10.2.2.2/255.255.254.0”或“10.2.3.3/255.255.254.0”的话,必然会出现IP地址冲突的问题,所以各位同学设置的IP地址需要遵循以下策略。

例如:本实验需要两人为一组共同完成,假设学号为“201016020105”的张同学和学号为“201016020123”的王同学一起来完成这次实验。

三、IP分组的交付和转发

《TCP/IP协议族》笔记

交付(delivery)是指在网络层的控制下,底层各网络对分组的处理方式。包括直接交付和间接交付。

转发(forwarding)指的是把分组交付到下一站的方式。有两种不同形式的转发:基于分组目的地址的转发和基于附加在分组上的标记的转发。

目标:

网络层监视底层物理网络对分组的处理过程,我们把这种处理定义为分组的交付。

直接交付(direct delivery)时,分组的终点是一台与交互这者连接在同一个网络上的主机。

在直接交付时,发送方通过目的IP地址找出目的物理地址,然后IP软件把目的IP地址和目的物理地址一起交付给数据链路层用于实际的交付。这个过程称为把 IP地址映射到物理地址,ARP协议动态地把IP地址映射为相应的物理地址。

如果目的主机与交付者不在同一个网络上,分组就要间接地交付。在间接交付(indirect delivery)时,分组经过了一个又一个路由器,最后到达与终点在同一个网络上的路由器。

如今因特网是由许多链路组合构成的,所以转发也就是将分组交付给下一跳。

虽然IP协议在最初设计时是一个无连接的协议,但是将IP作为面向连接的协议来使用也是当前的一种趋势。

当IP作为无连接的协议时转发的基础是IP数据报的目的地址;而当IP作为面向连接的协议时,转发的基础则是附加在IP数据报上的标记。

传统方式---基于目的地址的转发,要求主机或路由器具有一张路由表才能进行转发。

当主机有分组要发送,或路由器收到分组来进行转发时,就搜索路由表。因为路由表的表项数量过多将导致路由表的查找效率非常低。

使用一些技术可以使路由表的规模变为可管理的,同时还能处理一些如安全性这样的问题。

下一跳方法(next hop method)的技术可以减少路由表中的内容。

这种技术就是在路由器中只保留下一跳的地址,而不是保留完整路由的信息。

特定网络方法(network-specific method)能够使路由表长度变小并简化查找过程。

此时,路由表并不是对连接在同一个物理网络上的每一台主机都设置一个表项,而是只用一个表项来定义目的网络本身的地址。

在使用特定主机方法(host-specific method)时,目的主机的地址在路由表中要给出。

默认方法(default method)通常称为默认路由,默认表项(通常定义网络地址为 0.0.0.0)。

全球大多数路由器都没有使用子网划分。

在这种情况下,一个典型的转发模块要使用三张表。每个单播类别(A,B,C)三张表;(如果路由器支持多播,那么还要增加一张处理D类地址的表),有了这三张表就使得搜索的效率更高。

每张路由表至少有下面三列:

在使用分类编址时,子网划分发生在组织的内部。处理子网划分的路由器不是在该组织站点的边界上,就是在站点边界的里面。

如果这个组织使用了可变长的子网划分,那么我们就需要多张路由表,否则就只需要一张就够了。

在使用无分类编址时,整个地址空间是完整的,没有划分类别。

我们需要在路由器表中包含掩码(/n)。需要有另外的一列包含对应地址块的掩码。

换言之,虽然一个分类编址的路由表可以设计为三列,但无分类编址的路由表至少需要四列。

点对点网络通常在路由表中没有表项,因为没有主机连接到它们。

当我们使用分类编址时,一个组织之外的每一个站点在路由表中只有一个表项。这个表项定义了一个对应的站点,而不管该站点是否又划分了子网。当分组到达路由器时,路由器检查相应的表项并转发这个分组;

当我们使用无分类编址时,路由表的表项数量很可能会增加,这是因为无分类编制的意图就是把整个的地址空间划分为很多可管理的地址块。

路由表的规模变大就会导致搜索路由表的时间变长。为了解决这个问题,人们设计了**地址聚合(Address aggregation)的概念。

小地址被聚合成为一个更大的地址块。如果每个组织的地址不能被聚合到一个地址块中,那么路由器就需要一个更长的路由表。

虽然地址聚合的概念和子网划分的概念相似,但我们并没有一个共同的站点,也就是说每一个组织的网络是独立的。另外,我们还可以有多级聚合。

无分类编址的路由器使用了另一个原则,即最长掩码匹配(longest mask matching)。这个原则指出,路由表按照从最长掩码到最短掩码来排序。

要解决路由表过于庞大的问题,我们可以在路由表中建立分等级的概念。像因特网中的主干ISP、地区ISP和本地ISP。

为了进一步缩小路由表的长度,我们需要把多级路由选择进一步延伸,以包括地理区域化的路由选择。

如,把一块地址块给欧洲,一块给亚洲······,这样对于路由器来说,发往欧洲的分组在路由表中只需要一个表项。

分类编址搜索路由表的算法必须要做适当的调整才能使无分类编址的路由选择更加有效。

在使用分类编址的时候,路由表被组织成列表的形式。通常包括A、B、C类三张表。

在使用无分类编址时,最简单但不是最有效的搜索方法称为最长前缀匹配。但这种类型的

在一个无连接的网络中(数据报方式),路由器根据分组首部的目的地址来转发分组;在一个面向连接的网络中(虚电路方式),交换机则根据附加在分组上的标记来转发该分组。

路由选择通常基于对路由表内容的搜索,而交换机则可以用一个索引访问交换表完成。换言之,路由选择涉及到搜索过程,而交换则涉及直接的访问。

当转发短发得到分组的目的地址后,它就需要埋头在掩码列中开始搜索。对于每一个表项,它都要应用掩码来求出分组的目的网络地址,然后再查看路由表中的网络地址,直到找到相匹配的网络地址。然后路由器提取出要传递给ARP协议的下一跳和接口号,以便将该分组交付到下一跳。

因为标记被当作是交换表的索引,所以可以立刻在表中找到相应的信息。

多协议标记交换(Multi-Protocol Label Switching),在这个协议中,因特网传统路由器可以被MPLS路由器所取代,这些MPLS路由器既可用作路由器,也可用作交换机。当它用作路由器使用时,它可以根据目的地址来转发分组;而当它用作交换机使用时,又能够基于标记来转发分组。

要使用像IP这样的协议来模仿面向连接的交换,首先要做的事情就是为分组增加一个字段,以便携带标记。IPv4分组格式不允许此类扩展(虽然在IPv6分组格式中已提供了这个字段)。

解决办法就是将IPv4分组封装在一个MPLS分组中。完整的IP分组作为净负荷被封装到一个MPLS分组中,并附加上MPLS首部。

MPLS首部是32位(4字节)长。

MPLS中的标记堆栈使得多级交换成为可能。

当我们讨论转发和路由选择时,我们把路由器画成一个黑盒子。它从一个输入端口接收进入的分组,再通过路由器找出分组离开的输出端口,然后把分组从输出端口发送出去。

一个路由器有四个构件:输入端口(Input port),输出端口(Output port),路由选择处理器(Routing processor),交换结构(Switching fabric)。

输入端口执行路由器的物理层和链路层的功能。

它从接收到的信号中得到比特流,并把帧拆装后得到分组,同时还要进行差错的检测和纠正。分组准备就绪后,就可以通过网络层进行转发。除了物理层处理器和数据链路层处理器之外,输入端口还有一些缓存,用来在分组被传送到交换结构之前进行暂存。

输出端口与输入端口功能一样,但是顺序相反。

路由选择处理器执行网络层的功能。

它用目的地址来找出下一跳地址,与此同时,还要找出将分组发送出去的端口号。这个动作有时称为查表。

在路由器中最困难的任务就是把分组从输入队列搬移到输出队列中。完成这件事的速度直接影响到输入/输出队列的大小和分组交付的总延时。

纵横交换结构(cross switch)把n个输入和n个输出连接成一个栅格,在每一个交叉点(cross point)使用了电子微开关。

比纵横交换结构更现实一些的是榕树交换结构(banyan switch)。

榕树交换结构存在的问题是有可能会出现内部碰撞,哪怕两个分组并不是要到相同的输出端口去。解决这个问题的方法是对到达的分组根据他们的目的端口进行排序。

文章版权声明:除非注明,否则均为兜雅网原创文章,转载或复制请以超链接形式并注明出处。