zoukankan      html  css  js  c++  java
  • 路由器结构

    路由器整体结构

    路由转发

    路由表:从目的IP和对应下一跳IP的映射关系

    转发表:转发表是从路由表得出,包含转发需要的必须信息,比如MAC地址(ARP协议:ip to mac)。

    影子副本(shadow copy):转发表都会在每一个输入端口放一个copy。直接在输入端口进行使用,避免了路由表的单点集中式处理的瓶颈。

    输入端口

    物理层收到比特;数据链路层按照链路层协议接收传输分组的帧,把帧的首部和尾部剥去;分组进入网络层,网络层按照分组首部的地址(IP地址)查找转发表,得到输出端口,最终数据通过交换结构到达到最终的输出端口。

    当交换结构正在被使用的时候,则数据会被暂时阻塞,在输入端口进行排队。如果排队过多,则会导致路由器内存耗尽,出现丢包。

    输出端口

    输出端口从交换结构接收分组,然后通过网络层,链路层以及物理层最终把数据交给输出线路。如果交换结构的发送速度大于输出链路的发送速度,数据会在输出链路进行缓存排队,最终如果排队过多,也会导致路由器缓存耗尽,出现丢包。

    交换结构

    交换结构把分组从一个输入端口转移到某个合适的端口,主要有三种方法:

    1. 经过内存(存储器)交换
    2. 经过总线进行交换
    3. 经过互联网络进行交换

    经过内存(存储器)交换

    输入输出端口的功能类似于操作系统的IO设备,当分组到达接收端口后,该端口会以中断的方式向路由选择处理器发出信号,下一步,分组会被复制到路由器的内存,然后继续装备找到输出端口,并将分组最终复制到输出端口,一次同时只能转发一个分组,即使是发往不同端口的分组,因为最终要经过一个共享的系统总线,一次仅能执行一个内存的读写

    经过总线进行交换

    输入输出端口通过共享的总线直接传输,无需路由选择处理器的干预,一次只有一个分组能够跨越总线,同时到达需要等待。

    经过互联网络进行交换

    为了克服单一、共享式总线带宽的限制,使用更为复杂的互联网络,有2N条总线,可以使得N个输入端口和N个输出端口相互连接。

    作者:iBrake
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    计算两个latitude-longitude点之间的距离? (Haversine公式)
    Spring Boot工程支持HTTP和HTTPS,HTTP重定向HTTPS
    Invalid character found in method name. HTTP method names must be tokens
    Http压测工具wrk使用指南
    Android自定义带下划线EditText解决文字压线的问题
    Android-PullToRefresh 使用心得
    GridView 和ListView中自适应高度
    【Android多屏适配】动态改变Listview item高度
    Android listview的item设定高度
    Android ListView高度自适应和ScrollView冲突解决
  • 原文地址:https://www.cnblogs.com/Brake/p/14642467.html
Copyright © 2011-2022 走看看