路由器的转发的转发原理

路由转发原理

路由器的转发的转发原理是通过使用交换算法检查数据包的目的协议地址,路由器可确定其是否知道如何转发数据包。如果路由器不知道如何将数据包转发到下一个节点,将丢弃该数据包;如果路由器知道如何转发,就把物理目的地址变换成下一个节点的地址,然后转发该数据包。

扩展资料:

传统路由器在转发每一个分组时,都要进行一系列复杂操作,包括路由查找、访问控制表匹配、地址解析、优先级管理以及其他附加操作。这些操作大大影响了路由器的性能与效率,降低了分组转发速率和转发的吞吐量,增加了CPU的负担。

经过路由器的前后分组间的相关性很大,具有相同目的地址和源地址的分组往往连续到达,这为分组的快速转发提供了实现的可能与依据。新一代路由器,如IP Switch、Tag Switch等,就是采用这一设计思想用硬件以实现快速转发,从而大大提高了路由器的性能与效率。

参考资料来源:

百度百科——路由器

百度百科——路由选择

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-23

转发发生在路由器上,分组到达路由器后,由路由器检查分组地址并将它转发到一个邻接的局域网(LAN)上。过滤功能过滤某些分组使它们不再通过路由器或桥接器转发出去。

路由器首先路由表中查找,判明是否知道如何将分组发送到下一个站点(路由器或主机),如果路由器不知道如何发送分组,通常将该分组丢弃;否则就根据路由表的相应表项将分组发送到下一个站点,如果目的网络直接与路由器连,路由器就把分组直接送到相应的端口上。



扩展资料

因为某些原因,用户只能经过一个非安全的主机才能连接到一个安全的主机,在这种情况下,ssh提供了一个名为端口转发的功能。利用“端口转发”功能,用户就能够加强连接路由上非安全路段的安全性。用户需要做的只是简单地在非安全主机上指定一个端口,非安全主机将通过这个端口与安全主机建立连接。

这就在本地主机和远程主机之间以那个非安全主机为跳板建立了一个直接的连接。用户可以对远程主机或者自己的本地主机上的端口设置端口转发功能。

如果把远程主机的一个端口转发到本地主机上的某个端口,需要使用ssh命令的-R选项,后面分别跟着本地端口、远程主机地址以及将要被转发的远程端口,彼此之间用冒号隔开。它的工作原理是分配一个套接字来监听远程方面的那个端口。

只要有连接建立在这个端口上,该连接就会被转发到一个安全的通道上,也就建立起一个从本地机器到远程端口的连接。

参考资料来源:百度百科-端口转发

参考资料来源:百度百科-转发

参考资料来源:百度百科-路由转发协议

本回答被网友采纳
第2个回答  推荐于2017-11-25
当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分
组送到网络上,对方就能收到。而要送给不同IP子网上的主机时,它要选择一个能到达
目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。如
果没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关(default
gateway)”的路由器上。“缺省网关”是每台主机上的一个配置参数,它是接在同一
个网络上的某个路由器端口的IP地址。

路由器转发IP分组时,只根据IP分组目的IP地址的网络号部分,选择合适的端口,
把IP分组送出去。同主机一样,路由器也要判定端口所接的是否是目的子网,如果是,
就直接把分组通过端口送到网络上,否则,也要选择下一个路由器来传送分组。路由器
也有它的缺省网关,用来传送不知道往哪儿送的IP分组。这样,通过路由器把知道如何
传送的IP分组正确转发出去,不知道的IP分组送给“缺省网关”路由器,这样一级级地
传送,IP分组最终将送到目的地,送不到目的地的IP分组则被网络丢弃了。

目前TCP/IP网络,全部是通过路由器互连起来的,Internet就是成千上万个IP子
网通过路由器互连起来的国际性网络。这种网络称为以路由器为基础的网络(router
based network),形成了以路由器为节点的“网间网”。在“网间网”中,路由器不
仅负责对IP分组的转发,还要负责与别的路由器进行联络,共同确定“网间网”的路由
选择和维护路由表。

路由动作包括两项基本内容:寻径和转发。寻径即判定到达目的地的最佳路径,由
路由选择算法来实现。由于涉及到不同的路由选择协议和路由选择算法,要相对复杂一
些。为了判定最佳路径,路由选择算法必须启动并维护包含路由信息的路由表,其中路
由信息依赖于所用的路由选择算法而不尽相同。路由选择算法将收集到的不同信息填入
路由表中,根据路由表可将目的网络与下一站(nexthop)的关系告诉路由器。路由器
间互通信息进行路由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器
根据量度来决定最佳路径。这就是路由选择协议(routing protocol),例如路由信息
协议(RIP)、开放式最短路径优先协议(OSPF)和边界网关协议(BGP)等。

转发即沿寻径好的最佳路径传送信息分组。路由器首先在路由表中查找,判明是否
知道如何将分组发送到下一个站点(路由器或主机),如果路由器不知道如何发送分组
,通常将该分组丢弃;否则就根据路由表的相应表项将分组发送到下一个站点,如果目
的网络直接与路由器相连,路由器就把分组直接送到相应的端口上。这就是路由转发协
议(routed protocol)。

路由转发协议和路由选择协议是相互配合又相互独立的概念,前者使用后者维护的
路由表,同时后者要利用前者提供的功能来发布路由协议数据分组。下文中提到的路由
协议,除非特别说明,都是指路由选择协议,这也是普遍的习惯。本回答被网友采纳
第3个回答  2019-05-06

路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。

路由器是一种三层设备,是使用IP地址寻址,实现从源IP到达目标IP地址的端到端的服务,其工作原理如下:

    路由器接收到数据包,提取目标IP地址及子网掩码计算目标网络地址;

    根据目标网络地址查找路由表,如果找到目标网络地址就按照相应的出口发送到下一个路由器;

    如果没有找到,就看一下有没有默认路由,如果有就按照默认路由的出口发送给下一个路由器;

    如果没有找到就给源IP发送一个出错ICMP数据包表明没法传递该数据包;

    如果是直连路由就按照第二层MAC地址发送给目标站点。

    路由器转发数据工作原理

    1.输入端口

    把一条输入的物理链路与路由器连接的物理层功能

    与位于入链路远端的数据链路层交互的数据链路层功能

    在输入端口完成查找功能 。通过查询转发表决定路由器的输出端口

    控制分组从输入端口转发到路由选择处理器

    2.交换结构

    将路由的输入端口与输出端口相连接

    3.输出端口

    从交换结构接收分组,并通过执行必要的链路层和物理层功能在输出链路上传输这些分组

    4.路由选择处理器

    执行路由选择协议,维护路由选择表以及连接的链路状态信息,并为路由器计算转发表。还执行网络管理功能。

    输入端口、输出端口和交换结构共同实现了转发功能,并且总是用硬件实现。这些转发功能有时总称为路由器转发平面 (router forwarding plane)。

    假如有 10Gbps 带宽的输入链路的 64 字节的 IP 数据报,其输入端口在另一个数据报到达前仅有 51.2ns 来处理数据报。 如果 N 个端口结合在一块线路卡上(实践中很常见),数据报处理流水必须以 N 倍速率运行。这远远超过软件时间的速率。转发平面以纳秒时间尺度运行,路由器的控制功能在毫秒或秒时间尺度上运行。这些路由器控制平面 (router control plane) 通常用软件实现并在路由选择处理器上执行。

    一、输入端口

    如图,最左边的线路端接功能和数据链路处理功能实现了用于各个输入链路的物理层和链路层。

    输入端口进行的查找功能对路由器的执行是至关重要的。转发表的一份影子副本通常会被存放在每个输入端口,从而避免了集中式处理的瓶颈。

    由于查找需要在纳秒级执行,因此不仅需要硬件执行查找,而且需要对大型查找表使用超出简单线性搜索的技术。同时,必须对内存访问时间给予特别关注,使用 DRAM 和 SRAM 来设计。

    通过查找确定了某分组的输出端口,该分组就能进入交换结构。某些设计中,一个分组可能在进入交换结构时被暂时阻塞。此时,被阻塞的分组必须要在输入端口处排队,并等待稍后被及时调度以通过交换结构。

    此外,还需要完成一些其他工作,包括并不限于:

    1.检查分组的版本号、校验和以及寿命字段,并且重写后两个字段

    2.更新用户网络管理的计数器

    二、交换结构

    交换结构位于一台路由器的核心部位。交换可以用多种方式进行,如经内存交换、经总线交换、经互联网络交换。

    三、 输出端口

    基本执行的是和输入端口相反的操作

    四、路由器会出现丢包

    在输入和输出端口都能够形成分组队列。随着这些队列的增长,路由器的缓存空间最终将会耗尽,此时如果有新的分组到达,会导致丢包 (packet loss)。

    1.输出端口队列导致丢包

    假设输入和输出线路的速率都是 R,有 N 个输入端口和 N 个输出端口,交换结构的速率足够快。每个线路上的分组都有相同的固定长度,分组以同步的方式到达输入端口,且每个分组都被转发到同一个输出端口。

    这种情况下,向输出链路发送一个分组的时间内,将有 N 个分组到达该输出端口。这 N 个到达的分组必须排队传输到输出链路上。随着时间的推移,排队的分组数量将耗尽输出端口可用内存,最终导致丢包。

    2.输入端口队列导致丢包

    如果交换结构不能快到使所有到达的分组无时延地通过它传送,则在输入端口也将出现分组排队。因为到达的分组必须加入输入端口队列中,以等待通过交换结构传送到输出端口。

    路由器的工作原理

    一:对于普通用户来说,所能够接触到的只是局域网的范围,通过在PC上设置默认网关就可以是局域网的计算机与Internet进行通信。

    二:其实在计算机上所设置的默认网关就是路由器以太口的IP地址,如果局域网的计算机要和外面的计算机进行通信,只要把请求提交给路由器的以太口就可以了,接下来的工作就由路由器来完成了,因此可以说路由器就是互联网的中转站,网络中的包就是通过一个一个的路由器转发到目的网络的。

    三:那么路由器是如何 进行包的转发的呢?就像一个人如果在去某个地方,一定要在他的脑海里有一张地图,在每个路由器的内部也有一张地图,这张地图就是路由表。

    四:在这个路由表中包含有该路由器掌握的所有目地网络地址,以及通过此路由器到达这些网络中最佳路径,这个最佳路径指的是路由器的某个接口或下一条路由器的地址。

    五:这是由于路由表的存在,路由器才可以依据路由表进行包的转发,如下面图所示网络为例。介绍路由器转发数据的过程。为了方便,将网段192.168.1.0/24简写为0,其他网段也做类似处理。 这里写图片描述

    六: 主机1.1要发送数据包给主机4.1,因为IP地址不再同一网段,主机会将数据包发送给本网段的网关路由器A。 

    七: 路由器A接收到数据包,查看数据包IP中的目标IP地址,在查找自己的路由表,数据包的目标IP地址是4.1,属于4.0网段,路由器A在路由表中查到4。0网段转发的接口是SO接口。于是,路由表A将数据包从SO接口转发出去。 

    八: 网络中的每个路由器都是按这样的步骤去转发数据,直到到达了路由器B,用同样的转发方法,从EO口转发出去,4.1主机接收发这个数据包。 

    九: 在转发数据的过程中,如果在路由表中没有找到包的目的地地址,则根据路由器的配置转发到默认接口或者用户返回目标地址不可达的信息。

    路由表的形成

    一: 路由表是在路由器中维护的路由条目的集合,路由表为路由做出最佳路径选择提供依据。 

    二: 直连网段:当在路由器上配置了接口的IP地址,并且接口状态为up的时候,路由表中就出现直连路由项,如下面图所示:路由器A在接口FO/O和FO/1上分别配置了IP地址,并且在接口已经是up状态时,在路由器A的路由表中就会出现192.168.1.0和10.0.0.0这个网段。 

    三: 直连网段:那么对于20.0.0.0这样不直连在路由器A上的网段,路由器A应该怎么写进路由表呢?这就需要使用静态路由或动态路由来将这些网段以及如何转发写到路由表中 

    这里写图片描述

相似回答