精华内容
下载资源
问答
  • 路由器工作原理

    千次阅读 多人点赞 2020-05-20 23:10:25
    路由器主要工作在OSI参考模型的第三层(网络层),路由器的主要任务就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。 二、重要机制 路由器作用在OSI模型的第三层------即网络层...
    一、定义

    路由器的是实现网络互连,在不同网络之间转发数据单元的重要网络设备。路由器主要工作在OSI参考模型的第三层(网络层),路由器的主要任务就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。

    二、重要机制

    路由器作用在OSI模型的第三层------即网络层,提供 路由转发 两种重要机制.
    路由:路由器的控制层面的工作,决定数据包从来源端到目的端所经过的路由路径(host到host至今的最佳传输路径)

    转发:路由器的数据层面的工作,将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行)

    路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是 转发分组
    也就是说,将路由器某个输入端口收到的分组,按照分组要去的目的地,把该分组从路由器的某个合适的输出端口转发给下一跳的路由器。
    下一跳的路由器也按照这种方法处理分组,直到该分组到达终点为止。

    三、路由器的功能
    • 路由功能

    路由功能是指路由器通过运行动态路由协议或其他方法来学习和维护网络拓扑结构,建立,查询和维护路由表。

    • 转发功能

    一般来说,路由器的主要工作是对数据包进行存储转发,具体过程如下:

    第一步:当一个数据帧到达某一端口,端口对帧进行CRC校验并检查其目的数据链路层地址是否与本端口符合。
    第二步:如果通过检查,则去掉帧的封装并读出IP数据包中的目的地址信息,查询路由表,并决定转发接口与下一跳地址。
    第三步:根据路由表中所查到的下一跳IP地址,再从ARP缓存中调出下一跳的MAC地址,并将转发接口的MAC地址作为源MAC,下一跳地址的MAC作为目的MAC,封装成帧头。同时,IP数据包头的TTL减一,并重新计算校验和。
    第四步:最后封装成帧,经转发接口发送到输出链路上去。

    • 隔离子网
    • 隔离广播域
    • 指定访问规则
    • 不同类型的网络互联:路由器经常会收到以某种类型的数据链路帧封装的数据包,当转发这种数据包时,路由器可能需要将其封装为另一种类型的数据链路帧。数据链路封装取决于路由器接口的类型及其连接的介质类型。
    四、基本工作过程

    收到数据包后根据OSI模型层层将数据包拆开,到网络层获取IP,之后再根据接口协议层层封装,然后根据获取的IP进行路由转发

    五、路由器的结构

    路由器内部整体分为两部分:路由选择部分、分组转发部分(如上图)

    路由选择部分:软件、控制层面、核心是路由选择处理机
    分组转发部分:硬件、数据层面、核心是处理芯片和交换结构

    六、报文处理路径

    路由器提供了两种不同的报文处理路径

    控制路径: 处理目的地址是本路由器的高层协议报文,特别是各种路由协议报
    文。虽然控制路径不是路由器的关键路径,但是它负责完成路由信息的交互,从
    而保证了数据路径上的报文沿着最优的路径转发
    数据路径: 处理目的地址不是本路由器而需要转发的报文,因此数据路径是整个
    路由器的关键路路径,它直接影响路由器的整体性能

    七、路由表和转发表

    路由表:这个表都用来保存路由信息,路由表通常由路由协议和路由管理模块维护,包括更多的信息(IP地址/IP子网、下一跳、路由度量、超时间等);
    路由表中路由有三类:

    (1)链路层协议发现的路由(即是直连路由)
    (2)静态路由
    (3)动态路由协议发现的路由。

    转发表(FIB):基于路由生成的,路由器实际转发时使用转发表(只包括IP地址/IP子网和下一跳/出接口);
    转发表中每条转发项都指明分组到某个网段或者某个主机应该通过路由器的那个物理接口发送,然后就可以到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。
    高性能路由器转发表通常都用硬件来实现,有利于高速查找。

    注:CAM、TCAM是一种特殊的存储器,无论表大小如何,都会在一个周期内检索出地址

    八、分组转发部分

    1、输入端口

    2、交换结构
    交换结构是一台路由器的核心组件,它的作用就是根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去
    3、输出端口

    展开全文
  • 路由及路由器工作原理

    千次阅读 2019-03-14 20:30:48
    前言:现在从事的嵌入式产品设计,很多都是基于TCP/IP的,要求研发的设备能够接入广域网进行远程设置和访问,这就涉及到了路由的工作原理路由器的使用。包括家庭中用到的ADSL、无线路由器以及在工业现场使用的企业...

    前言:现在从事的嵌入式产品设计,很多都是基于TCP/IP的,要求研发的设备能够接入广域网进行远程设置和访问,这就涉及到了路由的工作原理和路由器的使用。包括家庭中用到的ADSL、无线路由器以及在工业现场使用的企业及路由器、交换机,自己都曾接触和使用过,但一直都停留于表面的操作理解。现在由于产品研发的需要,希望能够进一步加深对路由器内部运行机制的理解,澄清一些模糊的认识,所以特写此文。

        在阅读此文之前,我们先界定一下主机的概念:主机是连接到一个或多个网络的设备,它可以向任何一个网络发送和从其接收数据,但它从不把数据从一个网络传向另一个。说的直白一些,1台主机就是网络中用于连接的1台设备。

        1、为什么要使用路由器?
        现在我们从事嵌入式产品设计,要接触到很多网络的概念,例如以太网、wifi网、485网络、MBUS网络、CAN网络、Zigbee网络等等。我们在进行项目的深入研发过程中,就会注意到一个非常重要而且突出的问题,就是“单一网络中的主机的数目是有一定限制的,不能够无限增大”。

     图片

        在单一网络中,过多的主机会导致如下问题:

        a、带宽资源耗尽;
        b、每台设备都会浪费很多时间处理无关的广播数据;
        c、网络变的无法管理,任何错误都可能导致整个网络瘫痪;
        d、每台主机都可以监听到其它设备的通信。

    图片

        上述问题只有通过网络分段加以解决,但同时我们又必须提供一个很好的机制能够让不同网段之间的设备进行通信。这也就是“网络为什么要分段?”、“OSI 7层网络协议”和 “TCP/IP 4层网络协议”的由来。下图列出了“OSI 7层网络协议”、“TCP/IP 4层网络协议”,以及后三层所对应的硬件设备的对应关系。在这里还需要注意的是OSI只是提供了一个网络模型,我们在以太网具体应用时,使用最多的是TCP/IP协议(4层)。

    图片

        OSI 7层网络协议:

        a、Physical:物理层,物理层规定了激活、维持、关闭通信端点(endpoint)之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。对应的连接设备:集线器。
        b、Data Link:数据链路层,数据链路层在不可靠的物理介质上提供可靠的传输。对应的连接设备:网桥、交换机。
        c、Network:网络层,网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能。对应的连接设备:路由器。
        d、Transport:传输层,传输层是第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。
        e、Session:会话层,会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。
        f、Presentation:表示层,表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。
        g、Application:应用层,应用层为操作系统或网络应用程序提供访问网络服务的接口。
        通过以上分析,我们就可以知道路由器实际上起到的作用是完成不同段之间网络的互联,它对应OSI和TCP/IP的网络层。 

        2、TCP/IP V4 协议网络的分段原理
        TCP/IP协议给网络中的每一个主机都会分配一个IP地址,它包含两部分信息:网络地址和主机地址。存储这些信息有两种方法:一是使用两个分离的域,这样我们必须考虑两个域的最大长度;另外一种方法是将网络地址和主机地址包装在1个域里,有时主机地址部分很短,有时主机地址部分很长,这样可以有效利用地址空间,减少地址长度。 TCP/IP协议中的IP地址就是采取后一种方法,它将网络地址和主机地址包装在一个32位的域里( TCP/IP V4),这就是我们经常使用的IP地址,例如:192.168.1.1。

        最初在进行IP地址设计时,根据IP地址第1个字节的不同,将IP地址分为了3类:
        a、1-126,A类:网络地址1个字节,主机地址3个字节。
        b、128-192,B类:网络地址2个字节,主机地址2个字节。
        c、192-223,C类:网络地址3个字节,主机地址1个字节。
        d、0,127,224-255:保留不用。
        基于这种方式的应用,人们发现存在诸多问题,首先就是大家熟知是IP地址的耗尽问题,其次是这种分类方法,对于同一网络地址不能在网络内做任何路由,当主机数目较多时,本文1中所提到的问题就凸显出来,尤其对于大型A类网络,只使用网桥和交换机的方法是难以管理的,所以只有在逻辑上把它分成若干小的网络才能加以解决,这就出现了1个新的域“子网掩码”。子网掩码指出地址中哪些部分是网络地址,哪些是主机地址。在子网掩码中,二进制1表示网络地址位,二进制0表示主机地址位。传统的各类地址的子网掩码为:
        a、A类:255.0.0.0。
        b、B类:255.255.0.0。
        c、C类:255.255.255.0。
        如果想把一个B类网络的地址用作C类大小的地址,可以使用掩码255.255.255.0。上面只介绍的三种子网掩码:255.0.0.0、255.255.0.0和255.255.255.0,它们是字节对齐的子网掩码。但是也可以在字节中间对其进行划分。如很小的用于点到点连接的网络(掩码 255.255.255.252,30 位的网络地址,2位的主机地址:两个主机的子网,或中型网络(如掩码255.255.240.0,20位网络地址,12位主机地址:4094 个主机的子网)。

        本文介绍了“为什么要使用路由器”和“TCP/IP V4 协议网络的分段原理”2个问题,“路由及路由器工作原理深入解析2:路由原理”将对路由的具体工作原理进行解析。

        注1:本文在写作过程中查阅了大量网上资料,对引用的出处未能一一注明,特表歉意。

    原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163

    展开全文
  • 路由器是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以路径,按前后顺序发送信号的设备。 路由器英文名Router,路由器是互联网络的枢纽、“交通警察”。目前路由器已经广泛应用于...
  • 本资料通过wireshark抓包深入理解交换机、路由器工作原理,学习相关文章详见《通过wireshark抓包理解交换机、路由器工作原理》,https://blog.csdn.net/redwand/article/details/105300145
  • 聚合路由器工作原理

    千次阅读 2020-02-20 10:18:22
    对于路由器,很多人都已经...工作原理图: 路由聚合(也叫汇总)是让路由选择协议能够用一个地址通告众多网络,旨在缩小路由器中路由选择表的规模,以节省内存,并缩短IP对路由选择表进行分析以找出前往远程网络的路...

    对于路由器,很多人都已经熟悉,毕竟现在已经是互联网的时代,网络无处不在,而作为网络的一种连接设备的路由器也早已被人熟悉和使用。但很多人接触的路由器只是普通型的路由器(家庭或企业型)。其实还有一种路由器叫4G多卡聚合路由器。

    工作原理图:
    路由聚合(也叫汇总)是让路由选择协议能够用一个地址通告众多网络,旨在缩小路由器中路由选择表的规模,以节省内存,并缩短IP对路由选择表进行分析以找出前往远程网络的路径所需的时间。
    在这里插入图片描述

    聚合算法:
    将一个单一的信号源通过反向复用多个信道用于传输,然后在接收端重新聚合。其包含且提升了IS算法、Smart VBR控制和先进的FEC算法。通过Smart VBR(动态编码),系统对一个预设的延时进行动态地管理传输码率,保证所有传输连接能充分地使用,最终获得次秒级延时可靠稳定的高质量网络连接。相对其他算法,IS+算法速度更快、稳定性更高,有效提升传输效率的同时降低网络延时。
    支持所有的公开TCP、UDP协议,对于多数企业组建私有网络的VPN协议TVU Router有着更优秀的支持,在多路复用的传输协议之上,叠加VPN后,传输效率依旧可以保持有很高的效率,VPN协议包含L2TP等。

    优选云服务器:
    产品云端的管理系统有智能识别能力,可以根据用户所在的位置选择优质的集群服务器。从而无论何时何地保证优质数据链路,避免数据拥塞。

    数据包顺序复原:
    多路复用会在源端把数据分拆成,并通过不同的无线通道进行发送,服务器会精准的进行顺序复原,保证客户的数据还是按照原来的顺序到达。

    多链路优先级设置:
    对于核心的多路复用,不仅能自动的侦测每条链路的信号质量,调整数据包的重发效率,也可以由用户自行设置优先级,便于在运维网络时对不同成本的链路流量消耗有个事先的设置和调节。

    展开全文
  • 路由器是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号的设备。 路由器英文名Router,路由器是互联网络的枢纽、“交通警察”。目前路由器已经广泛...
  • 网络之路由器工作原理

    千次阅读 2020-06-04 14:51:43
    中间系统:主要是网络设备路由器(Router),交换机(Switch)。 传输介质:包括有线线缆,双绞线,光纤 ,NIC网卡,无线接入点(AP)。 网络设备分类 一个网络中,网络设备可以分为两大类: A类:OSI 2层或2层...

    网络

    Q:网络是什么?
    网络是实现在各终端设备进行通信的数据载体;终端应用通过网络实现了资源的共享。

    网络三元素
    OSI定义了网络的网络通信的三元组:

    • 终端 :包含PC Printer 手机 服务器 等。
    • 中间系统:主要是网络设备路由器(Router),交换机(Switch)。
    • 传输介质:包括有线线缆,双绞线,光纤 ,NIC网卡,无线接入点(AP)。

    网络设备分类

    一个网络中,网络设备可以分为两大类:

    • A类:OSI 2层或2层以下的设备, 交换机(Switch),集线器(Hub)。
      • 2层设备属于傻瓜型设备,接上电,终端连接上设备接口就能通信。
      • 使用交换机(Switch)的接口,连接终端设备形成一个星型网络。
      • 使用集线器(Hub)的接口,连接终端设备形成一个总线型网络。
    • B类:OSI 3层或3层以上的设备,路由器(Router),双层路由(MLS),防火墙(Firewall),PC
      • 终端通过3层设备网络接口进行通信,除了通电,还得必须有一个全球唯一3层身份标识,就是IP地址。

    IP地址初探

    现在所使用的IP地址可以分为两类:

    • IPV4地址
    • IPV6地址

    现在大多数设备上所使用的都是IPV4地址。IPV6是面向未来网络所使用IP地址。

    IPV4地址

    IPV4地址,4个十进制数采用点分十进制表示法,表示一个网络地址,X.X.X.X,每一个X占8bit,一共占32bit, 例如192.168.0.1

    32bit位分为高位和低位:

    • 高位表示网络位 192.168.0
    • 低位表示主机位 1

    在同一个网络中,所有主机的IP地址,网络位是相同的。

    子网掩码:表示计算机网络中的高多少位表示网络位,低多少位表示主机位。

    网关:一个网络的出口。

    网关

    一个网络中的所有终端设备,可以做网络内的通信,但是往往只做网络内的通信是不够的,还要进行网络间通信;比如去访问Google,baidu,是在访问其他网络的服务器,你的PC肯定没和Google,baidu的服务器在同一个网络中。要访问Google,baidu,得把先数据发出本地网络,这个网络数据的出口就是一个网关。

    网关Gateway): 一个网络的出口,该网络的出口节点,就是本网络的网关。

    早期网关就是指路由器(Router),路由器(Router)的每个接口都可以分配一个网络。
    路由器(Router)连接一个网络的接口,就是该网络内所有节点的出口。该网络内任意主机想要访问其他网络,都必须先把数据发给路由器(Router),然后路由器(Router)查表转发到其他网络。

    在这里插入图片描述
    PC1网络配置如下:

    • IP地址:10.1.1.1
    • 子网掩码:255.255.255.0
    • 网关:10.1.1.254

    子网掩码上全为1的位表示网络位,全为0的位表示主机位
    对于PC1来说高24位表示网络位,低8位表示主机位

    255转成二进制是11111111

    PC1所在网络可用的IP地址

    • 网段中包含的IP地址范围:10.1.1.0 - 10.1.1.255
    • 第一个IP地址10.1.1.0表示网络号,最后一个IP地址10.1.1.255表示广播号,不能分配给主机作为IP地址使用。
    • 可用的IP地址范围是 10.1.1.1 - 10.1.1.254

    网络号10.1.1.0 主机位全为 0IPV4地址表示网络号。用来标识这个网络本身
    广播号10.1.1.255 主机位全为 1IPV4地址表示广播号。用来标识这个网络内的所有节点。

    IPV4中一般会把网段中最后一个可用地址,也就是10.1.1.254作为网关地址。

    网关检测工具PING

    PING 命令可以检测节点之间的3层往返连通性。如果节点的3层连接可以PING通,则说明网络通信没没问题,如果有问题可能是应用程序的问题。
    界定一个网络问题是系统工程师,还是网络工程师去解决的最好的方法就是PING,PING一下如果能通网络工程师就可以甩锅了。

    PCA PING PCB

    1. PCA 发送Echo Request 回声请求
    2. PCB 应答Echo Reply 回声应答

    PING 请求是以数据帧Frame的形式发送的,格式类似于这样"Ethernet2|IPV4|ICMP|FCS" 。使用的协议是ICMP

    ping 192.168.1.1
    正在 Ping 192.168.1.1 具有 32 字节的数据:
    来自 192.168.1.1 的回复: 字节=32 时间=11ms TTL=64
    来自 192.168.1.1 的回复: 字节=32 时间=1ms TTL=64
    来自 192.168.1.1 的回复: 字节=32 时间=3ms TTL=64
    来自 192.168.1.1 的回复: 字节=32 时间=1ms TTL=64
    192.168.1.1 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
    往返行程的估计时间(以毫秒为单位):
    最短 = 1ms,最长 = 11ms,平均 = 4ms

    网络通信的前提

    组建一个网络,不是有交换机,路由器,连接上PC,这个网络就能通信,想要网络通的话,还得有两个前提条件:

    1. 需要给这个网络上的所有节点,分配IP地址。
    2. 而且还得保证所有节点的IP地址不能冲突;并且在同一网络内,所有节点IP地址的网络位必须相同,主机位要彼此不同。

    路由器(Router)的职责

    在组网的时候,一般不会把路由器(Router),作为接入设备。原因是什么呢?

    1. 路由器(Router)接口真的是很少。相比集线器,交换机,接口密度非常低。
    2. 路由器(Router)的每一个接口,都是一个节点,只连线是不能通的,必须配置IP地址。
    3. 路由器(Router)的每个接口都要分割一个网络,直接拿路由器接口来连接计算机入网的话,那每台PC都属于一个独立的网络。两台PC不在同一个网络,那有些需要在同一个网络内通信的应用就没有办法正常工作了。
    4. 如果将Router作为接入设备部署,还会导致大量数据IP浪费。

    正是基于以上原因,路由器一般不做接入设备,只负责网络间通信,互联多个网络;作为网络间中心设备负责数据转发。

    路由器(Router)转发数据

    路由器(Router)收到一个数据包,发现是发送给网络内的某个设备的,那么路由器(Router)就会直接丢弃数据包,不做转发。路由器(Router)只关心网络间的数据通信,只会做网络间的数据转发。

    路由器(Router)既然负责网络间的数据转发,肯定得知道数据要发给谁对吧。知道要发给谁之后,再根据接收者所在网络路径信息,沿着这个自由路径,把数据发走,这样端到端的通信就可以通。那么问题来了。

    Q:路由器收到一个数据,怎样才能确定将数据发送到那个网络的那台主机呢?

    两个网络中的主机进行通信,主机发送的数据包含两组源目地址信息:

    • 源目MAC地址
    • 源目IP地址

    为什么通信需要两种地址标识呢?它们又有什么区别呢?

    MACIP都是主机身份标识。作用却不一样。

    MAC和IP本质区别:

    • MAC地址: MAC地址作为一个2层地址,唯一作用就是通过MAC地址,在网络内区别不同节点;不能标识一个节点属于那个网络。它是一个静态地址,终身不会改变,网卡出厂的时候被烧录在只读存储器里面的地址。
    • IP地址:IP地址作为一个三层地址,不仅能在一个网络内来彼此区分节点,而且还能在整个Internet互联网上标识一个节点;告诉因特网上的其他节点,我在那个网络中。它是一个动态地址,是在组网的时候动态分配的,是可以被重新分配的地址

    知道了MACIP的作用,那么路由器收到数据帧以后,到底是根据那种地址,来确定数据发给谁的呢?

    一个节点通过一根网线连接到一个以太网,接口标识符,既有 IP地址,又有MAC地址。
    在这里插入图片描述
    PC1PC2进行网络内通信,数据帧头包含2层源目MAC地址,3层源目IP地址。

    • IP地址:PC1IP地址。
    • 目的IP地址:PC2IP地址。
    • MAC地址:PC1MAC地址。
    • 目的MAC地址:PC2的MAC地址。

    很好理解,那么PC2PC3进行网络间通信,数据帧头目的MAC地址是PC3MAC地址吗?
    在这里插入图片描述
    在两个网络中,A网络中的PC2MAC地址,对于B网络中PC3MAC地址完全没有意义。暂且不说PC2PC3发送消息,源目MAC地址到底是什么。最起码要有一个概念:PC2想要在网络A中发送数据,不管你想要把数据发给谁,源目MAC都应该是A网络内的某个节点地址。

    无论是网络间通信,还是网络内通信。源目IP标识的都是通信双方,但是源目MAC永远都只能使用该网络内的节点地址。

    PC2PC3各属不同网络,因此PC2发送数据到PC3目的MAC地址肯定不是PC3MAC地址。

    Q: 路由器(Router)收到数据帧以后,到底是根据目的IP,还是目的MAC,来确定数据包的最终去向?

    根据以上的分析,显然是IP地址

    二层以太网协议规定,网络中的任何节点,使用任何应用,产生任何数据,不管是什么内容,如果想发送数据,就必须添加一个2层帧头和帧尾,进行数据封装。

    任何一个网络节点,不管是PC还是路由器(Router),收到一个数据帧后,只有确定这个数据帧是要发给自己的时候,才有权利解封装,拿到3IP数据报。这个节点什么情况下才能确定收到的数据帧是自己的呢?

    很简单,看以太网(Ethernet)帧头的目的MAC地址。如果这个目的MAC就是接收端接口MAC地址,那么这个数据就是发给我主机这个接口的,没必要再看帧头帧尾了,把帧头帧尾去掉,拿到3IP数据报。
    如果目的MAC和接收端接口的MAC地址不符,说明数据不是发给我的,不能数据解封装,也就拿不到数据3层地址,无法做数据转发了(臣妾做不到啊)。

    路由器数据转发规则

    路由器(Router)作为网关,只有它接收到一个发给自己的数据的时候,才有能力转发。也就是说路由器接收到一个数据帧,只有这个数据帧目的MAC地址,是接收端接口的MAC地址时,才先假定这个数据帧是发给自己的,去掉帧头帧尾,拿到3层报头,查看目的IP地址。发现这个帧其实不是发给我的,是发给网络B内的主机C的;去往网络B的路径我知不知道?如果知道就沿着去往网络B的最优路径信息,去做数据转发。这就是在网络间通信的规则。

    Q:PC2真要拿PC3的MAC地址作为目的MAC地址去做数据封装,和PC3通信,能直接通信吗?
    答案肯定是不可以的,为什么呢?

    1. PC2PC3发送数据。
    2. PC2发送的数据帧到达Switch1Switch1并不知道PC3MAC地址,所以要进行数据泛洪。
    3. 路由器(Router)接收到泛洪消息,发现数据帧目的MAC地址,并不是自己的网络接入接口的MAC地址,就会丢弃。

    经过以上流程,PC3永远也接收不到数据。为什么MAC地址被称为一个网络内的有效地址就是因为这个。

    Q:那么PC2想要访问网络2的某个节点,该拿谁的MAC地址作为,目的MAC地址呢?

    答案是应该拿网关的MAC地址,作为目的MAC地址。

    端到端的数据通信规则

    • 如果是网络内通信,源目2层地址和源目3层地址标识的都是通信双方。
    • 如果是网络间的通信,源目3层地址标识通信双方,源目2层地址是每跨越一层网关设备,原目MAC地址都会改变。

    一台主机从A网络向B网络的主机发送数据,都不能将对方的MAC地址,作为目的MAC地址封装装数据。
    数据帧每跨越一个网络,其2层帧头的2层源目MAC地址都会改变,3层报头的源目3IP地址维持端到端一致性。

    PC为什么要指网关啊?

    PC指网关的目的就是,当PC在网络间通信的时候,需要通过网关这个IP,找个网关对应的MAC地址。拿到网关的MAC地址之后,就可以使用网关的MAC地址作为目的MAC地址来封装数据,PC发出数据帧,总会被网关收到,并且会被网关误以为数据帧是发给它自己的,网关把2层数据帧头帧尾去掉,就能拿到3层目的IP地址。之所以让路由器(Router)看到IP,就是想让它知道,这个数据包的真实去向,它会去查询一张叫路由表的表,来做一次网络间精确数据转发。

    Q:那么PC是怎样知道网关的MAC地址的呢?
    答案是通过ARP地址解析协议。

    ARP地址解析过程:

    1. PC通过网关的IP地址10.1.1.254,向网关发送一个ARP请求。
    2. 网关(Gateway)收到这个请求后会把网关的MAC地址返回。
    3. PC拿到网关MAC地址以后就把他存在本地的ARP表中。

    PC再将网关的MAC地址作为目的MAC地址进行封装数据,发送给网关,网关再做进一步的数据转发。

    网内通信VS网间通信

    做网络间通信的时候,需要网关做数据的转发。目的主机在哪里,不知道,目的主机离你有多少跳也不知道。终端主机只知道本地网络的出口是网关路由器(Router)的3IP地址。

    那么问题来了主机只知道网关IP地址,怎么确定PC1PC4两台主机进行数据通信,是网络内通信呢,还是网络间通信?

    这时候子网掩码的作用就尤为突出了,方法很简单。

    • PC1IP地址和子网掩码,做逻辑与运算,网络位不变,主机位全部置0。
    • 再用PC4IPPC1的子网掩码做逻辑与运算。
    • 两个结果如果一致,就说明两台主机在同一个网络,不一致则两台主机分属不同的网络。

    例如
    PC1 IP:10.1.1.1
    PC4 IP:20.1.1.1
    PC1 子网掩码:255.255.255.0
    PC1和PC1的子网掩码与运算的结果:10.1.1.0 正好是网络号
    PC2和PC1的子网掩码与运算的结果:20.1.1.0
    两个结果不一致,说明PC1和PC4没有在同一个网络。

    这就是为什么我们在配置IP的时候也要配一个子网掩码,配子网掩码的目的就是让你的计算机在和其他终端通信的时候,来确定两台机器是否在同一个网络,

    路由器的控制层面

    什么是路由器控制层面?
    简单一句话路由器如何获取去往目的网络的路径信息。如何在路由表中,产生一条去往目的网络的路由条目。

    路由:去往一个目的网络的路径,

    路由器(Router)为了做网络间的转发,必须靠一张路由表,来记录每一个网络在哪里。
    每台路由器针对IPV4的单播流量,必须要有路由表,被称之主动路由表,路由表中每一个路由表项都指向一个目的网络,路由器通过该表项,就能找到去往该目的网络的路径地址。

    路由表(TCAM) VS Hub CAM表

    • 路由表(TCAM)相较于交换机(Hub )的CAM表更加重要。
    • 交换机每次我收到一个数据帧的时候,都会根据目的MAC地址,来查看CAM表,来确定一个路径转发信息;交换机能不能找到MAC地址表项,都不影响它进行数据转发,找到了进行精确数据转发,找不到进行泛洪转发。
    • 路由器(Router)是做的网络间转发,路由表中必须得有路由条目才能转发,没有路由条目,就不能转发数据,直接丢包,是不可能进行泛洪转发的。

    网络间有多大?
    整个因特网有多大,它就有多大,它不像交换机,只做网络内的转发,一个网络内主机数量二三百台也就上限了,就算以泛洪的方式来转发数据,充其量也只能影响到一个网络内的所有节点,影响有限。但是路由器不行,一个路由器收到一个数据帧,一看目的IP不知道去往哪。没有去往该网络的路径信息,这个时候你想效仿交换机进行泛洪转发,是不可能的,因为如果路由器进行泛洪转发,影响的是整个因特网。

    在局域网里,三层转发设备拥有内网的IP路由表,同时还拥有一条神奇的路由 0.0.0.0/0。三层转发设备如果没有查询到更匹配的路由,将会使用0.0.0.0/0这条路由。这条路由将把IP报文导流到Internet上。在通向Internet的接入网,三层转发设备也是同样的处理。如果没有查询到更匹配的路由,也会使用0.0.0.0/0这条路由,并将流量导流给上一级网关设备。流量经过层层导流,最终到达了核心网,核心网路由器是Internet上唯一不需要0.0.0.0/0路由的三层转发设备。它们拥有全球合法的、几乎所有的路由表,核心路由器查询路由表,应该都可以匹配到,然后转发出去。
    路由中有一个非常独立的控制体系,得先让这个体系运行完毕,再得基于这个体系,获取相应的路由之后,才能完成数据转发。
    路由器是先有控制层面,再有数据层面。先有控制层面,才会知道一个一个网络怎么走,知道网络怎么走之后,再基于数据层面,接收数据,查读路由表,来进行数据转发。

    路由的两种分类:
    在这里插入图片描述
    直连路由:路由器直接连接,一个直连网络,如图R1,这种路由就被称之为直连路由。

    直连网络:
    所谓直连网络,就是路由器有一个接口直接始于该网络。

    直连路由,只要满足两个条件,路由器路由表就可以自动学习。

    • 路由器连接该网络的接口要拥有IP地址和子网掩码。
    • 该路由器连接该网络的接口状态是upup。

    非直连路由:路由器直连是一个非直连网络,如图R2,这种路由就被称之为非直连路由。

    非直连路由,添加路由器路由表方式:

    • 静态路由,当路由个数多的时候,人工手动配置费时费力。
    • 通过动态路由协议,相邻的几个路由可以相互同步共享路由表项,

    路由器的数据层面

    路由器(Router)收到一个数据帧,先检查帧头的目的MAC地址,是不是自己接口的MAC地址,如果是我的数据,去掉帧头帧尾,露出3层报头,检查目的IP

    Q:IP地址通常指向一个网络的主机地址,而路由器路由表的条目是指向的一个一个的网络。那么用什么来标识一个网络呢?

    答案是网络号,也就说路由条目的IP地址都是一个网络号;网络号虽然都是一个IP地址,但是主机位都为0

    路由器怎样确定目的IP所指向的网络号呢?

    1. 路由器(Router)拿数据报的目的IP地址,和路由条目的子网掩码,逐一去做逻辑与运算。
    2. 得到的结果,再和此路由条目中网络号去做对比,如果一致,就代表命中,没命中接着匹配。

    使用的最长匹配原则,属于模糊匹配 ,别小看这个匹配过程,会导致路由器转发数据的效率明显低于交换机。因此端到端连接尽量用交换机少用路由器。

    交换机在转发数据的时候也是基于源目MAC地址查表,但是因为数据帧的源目地址是一个MACCAM表项里也是MAC地址,所以不会进行模糊匹配,精确匹配。

    结语

    • 在网络间通信中,路由器(Router)扮演的就是一个中间人的角色。
    • 所谓的网关,就是路由器的一个接口连接一个网络;网络内的主机想要进行网间通信的出口。
    • 路由器只做网络间转发,使用IP地址,来确定这个数据帧到底是要去到那个网络。

    路由器要查看IP的前提是要去掉帧头帧尾;去掉帧头帧尾的前提是这个数据是发给我自己的;确定数据帧是不是发给自己的前提,是收到数据帧的目的2层地址,必须是路由器接收接口的MAC地址,这就是计算机为什么要指网关,指网关的目的是要获取到网关的MAC地址。

    当路由器判断出和我通信的主机跟我不在一个网络的时候,我能通过网关的MAC地址, 来封装数据,让网关做一个网络间的网络转发协助。

    为什么计算机要有IP地址,还要有子网掩码,子网掩码能描述我们的IP地址,高多少位是网络位,低多少位是主机位;通过子网掩码跟目的主机的IP做与运算,就能得知目的主机和我在不在同一个网络。

    展开全文
  • 路由器工作原理及其主要部件详解

    万次阅读 2019-01-18 20:52:20
    摘要:路由器定义、路由结构及工作过程、硬件路由转发表CAM、NP(network processor)芯片、多级交换结构路由器、集群路由器 一、什么是路由器? 简单来说是具有路由和转发功能的实现网络互联的设备,除此之外还有...
  • 路由器开发(二)—— 路由器工作原理

    万次阅读 多人点赞 2016-04-05 14:38:46
    路由器的主要工作是:路径的决定和数据包的转发(从路由器一个接口输入,然后选择合适接口输出);维护路由表。  路由器工作的方式非常简洁明了,从接收报文中抽取目的地址,并确定地址中的网络号,查找路由选择表...
  • 无线路由器是每一个家庭必备的网络接入设备,那么无线路由器天线原理是什么?无线路由器怎么工作的呢?下面就为大家解析下无线路由器天线接入与工作原理,大家了解下吧
  • 在了解了网络层的功能和服务之后 ,将注意力转移到网络层的转发功能上来,因为这个功能是数据报网络的一个重要的问题,转发功能也就是说从一台路由器的入链路传送到合适的出链路,转发问题最常见的就是编址和最长...
  • 说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的。在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据这张表负责将数据帧传输到指定的...
  • 面试题-路由器工作原理

    千次阅读 2019-08-17 12:06:44
    路由器工作原理: 收到一个数据桢: 第一步: 判断数据帧里面的目标MAC地址是否与自己的端口MAC匹配 如果匹配成功,进入路由器 第二步:匹配路由表 根据目标地址与子网掩码得出目标网段–>查找路由表 ...
  • 无线路由器详细的工作原理介绍,及对应设置参数的作用
  • [b]网络设备网卡、中继器、集线器、网桥、交换机、路由器工作原理[/b] [b]网卡[/b] 1.工作在物理层(进行数据接收和发送) [b]中继器[/b] 1.工作在物理层,用来复原网络中的信号并重新发送到其他网段上...
  • 无线路由器电路原理

    热门讨论 2013-12-19 15:02:32
    无线路由器电路原理图,可供一些用的着的朋友参考并使用,无线路由器电路原理
  • 个人制作的ppt路由器工作原理内容很详细工工工工工工工工工工工工工工工工工工工工式工工工工工工工工工工工工工工工工工工工工工工工工工工工工工式工工工工工工工工工工工工工工工工工工工工工工工工工工工工工式...
  • 小米路由器工作原理

    2014-12-15 09:43:51
  • 路由器工作原理的flash,包含路由工作原理,分组交换,网桥等
  • 关于交换机和路由器概念、工作原理的介绍文章,适合初步接触网络的童鞋阅读:-)。
  • 路由器工作原理路由器工作原理路由器工作原理路由器工作原理路由器工作原理路由器工作原理
  • 文章目录一、路由的概念:二、功能:三、路由器工作原理:四、路由表的形成:(一)路由表:(二)路由表的形成:(三)、静态路由:(四)、默认路由:五、路由器的重封装过程: 一、路由的概念: 路由(routing...
  • 讲解了路由器的功能作用、路由器的原理以及路由表等内容,适用于路由器原理学习。
  • 路由器工作原理

    2020-08-27 22:52:41
    路由器概述 路由器是⽹络传输的交通枢纽,我经常把它⽐作是盘踞在数条不同物理线路尽头的章⻥怪,这个章⻥怪热衷于把线路中的数据包从⼀条线路抓...路由器时一种实现网络互连的设备,工作在OSI模型的第三层——网络...
  • 路由器工作原理 路由 概念 路由表形成 路由协议 静态路由(实现部分) 动态路由(略)
  • cisco路由器工作原理

    2009-05-20 22:01:04
    路由器工作原理 路由器工作原理 路由器工作原理 路由器工作原理

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 87,889
精华内容 35,155
关键字:

路由器工作原理