路由器转发原理

优质回答与知识(10)

zigbee协议本身没有路由概念,只是做数据中继,就是数据在邻近节点不断跳跃,直到到达目的。如果有加入路由则是以zigbee协议做底层通信,然后进行二次开发。

2020-08-29 21:22:36

路由器(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应该怎么写进路由表呢?这就需要使用静态路由或动态路由来将这些网段以及如何转发写到路由表中这里写图片描述

2020-08-29 20:00:49

wifi没有转发器,你说的是hyfi。是在一块家用电表线路之内,安装一个hywi路由器,再有一只扩展器,距离可达300米

2020-08-29 21:05:09

你看各路由器厂家的网站是没有这样的产品,如果是一个成熟的产品,难道它们会放弃这个商机吗?它的原理就是把无线网卡当作了一个WIFI热点,发射无线信号,但它的发射范围是有限的,更不要谈什么穿墙能力。如果你台式机上有无线网卡,或者利用笔记本上的无线网卡,你也可以把它作为一个WIFI热点,发射无线信号,让手机上网,但你的电脑要一直开着。网上也有这样的软件。你应该买个无线路由器,它发射的信号,穿墙能力要比你说的这个产品好的多。价格也是50-100之间。

2020-08-29 20:08:51

用cpu运行经过专门设计的程序,把数据包缓存于cpu的内存中,实现数据包的循径,转发的,就是软件转发。硬件转发往往指的是某些转发引擎,那是一些专门设计的asic硬件芯片。完成软转发同样的事情,但执行效率高得多。转发率可以高出几个量级。所以软件转发往往是相对于硬件asic转发的泛称。本回答被网友采纳

2020-08-29 20:36:23

是用来做端口映射的,就是当访问你的外网你转发的端口的时候就直接访问到你的服务。比方说你在局域网有个WEB服务器,你设个80端口转发。就可以直接通过外网访问你的服务器

2020-08-29 21:57:41

路由器是划分网络的设备,默认情况下不转发广播包,ARP包只在一个局域网内有效,不需要路由器参与,由交换机来完成。

2020-08-29 20:13:12

没看到你设置了8080端口啊追问这是后来改了,ip:port,改了几次port都试了追答DMZ关了试试

2020-08-29 20:16:53

加一条静态路由规则追问具体怎么设置啊? 老兄能不能具体一点哈! 非常谢谢

2020-08-29 19:54:32

不izhidao

2020-08-29 20:31:49

相关问题