路由器工作原理浅谈

路由器工作原理浅谈路由器工作原理浅谈路由器是构建整个网络最核心的设备 比较著名的品牌为 cisco 锐捷 华为 TP LINK H3C 等等 之前工作中接触的较多的是思科和银河风云 思科的主要是 7609 性能十分稳定 基本上全年每天 24 小时工作不会出问题 银河风云一般 十分笨重 板卡容易坏 2M 接口不稳定 进行自环不是 loopback 状态 软件有 bug 一次作业中发现其以太口如果正常工作中 当将网线从以太口中拔出

路由器工作原理浅谈

路由器是构建整个网络最核心的设备。比较著名的品牌为cisco、锐捷、华为、TP-LINK、H3C等等。之前工作中接触的较多的是思科和银河风云,思科的主要是7609,性能十分稳定,基本上全年每天24小时工作不会出问题。银河风云一般,十分笨重,板卡容易坏,2M接口不稳定(进行自环不是loopback状态),软件有bug(一次作业中发现其以太口如果正常工作中,当将网线从以太口中拔出再插上,和对端的路由器之间路由协议的邻居就建立不起来,必须将整个路由器进行重启才正常工作)。

 路由器其实和我们普通使用的计算机类似,有cpu、输入输出接口、内存,操作系统(思科的是ios,华为的VRP)。思科公司从来不承认自己是硬件公司,而是一直声称自己是软件公司,由此可以路由器的操作系统是核心,操作系统的性能直接决定了路由器的性能。路由器和我们使用的计算机最大的不同之处就是路由器是用来进行转发数据包的,而我们使用的计算机只是接收数据包或者发送数据包。好比我们个人只会收快递或者发快递,只是作为叶子节点,但是快递中转站则接收来自各地的快递然后进行判断将每个包裹从正确的路线发送出去,这个快递中转站就和我们的路由器很相像了。

 路由器有很多接口,我们的电脑一般只有一个以太网口。而路由器比较常见的接口有2M口、以太电口、以太光口、POS口等等,这也是为了满足整个网络的异构性。路由器这些接口主要是做什么用的,当然是用来接收数据包、发送数据包的。数据包大家可以看成一个个快递包裹。比如你要通过网络给朋友发送一首mp3,一个包裹装不下,那么就分成1000个包裹,当然是数据包,这个工作不需要你来做,电脑自动完成了,当你朋友收到这1000个数据包后,进行检查有没有破损的,没有就进行重新组装成mp3,如果在传送过程中有丢失则会通知你进行重新传送,重新传送的时候只需要重传丢弃或进行校验出错的那几个数据包即可。另外这1000个数据包到达朋友处的顺序是不定的,他们各自独立的在网络上跑向目的地,这就是分组交换,相对应的就是电路交换,电路交换就如我们打电话,进行交互之前必须提前申请好一条资源线路。

 好的,路由器接口是用来接收数据包的,那么数据包到达路由器接口会发生什么呢?首先路由器会检查数据帧目标地址字段中的数据链路标识。(其实就是MAC地址,二层,数据链路层,只在单跳中有用,在网络上每进行一跳数据包头中的目的MAC都要进行改写才能继续进行下一跳。这和IP地址不一样,数据包中的目的IP地址在整个网络传输过程中是一直不会变化的。IP地址类似我们的地址,MAC地址类似于我们每个人的身份证号),如果它包含了路由器接口标识符或者广播标识符,那么说明这个数据包是给路由器 我自己的,则路由器需要将从帧中剥离出数据包并传递给网络层。

在网络层,路由器将检查数据包的目的IP地址。如果目的IP地址是路由器的接口IP地址或者是所有主机的广播地址,那么需要进一步检查数据包的协议字段,然后再把被封装的数据发送给适当的内部进程,就是说这个数据包就是给我自己的,我自己进行消化处理,不需要我再进行转发。

除此之外,其他所有的数据包都不是给我的,都需要我进行转发,进行转发就要进行路由选择,否则路由器不知道应该从哪个接口将该数据包扔出去。数据包的目的地址可能是另一个网络上的主机地址,这个网络也许和路由器直接相连、也许不直接相连。那么路由器就需要查看自己的路由表来判断这个数据包中指示的目的地址应该从哪个接口送出去。路由表是路由器一个最核心的 数据库,是不断动态变化的,是路由器工作的基石,他是由一条条的路由组成的,每一条路由至少包含了两点:目标地址、指向目标地址的指针。目标地址:这是路由器可以到达的网络地址。指向目标的指针:指针不是指向路由器的直连目标网络就是指向直连网络内的另一条路由器地址,或者是到这个链路的本地接口。而且数据包在进行路由匹配的时候遵循路径选择最长匹配原则,就是如果有多个匹配,则选择掩码最长的。

我们上面所说的路由表是路由器工作过程中最核心的东西,是一个动态变化的数据库,所有数据包转发都需要根据路由表进行匹配。而且每个路由器都有自己的路由表。那么路由表中一条条的路由是怎么来的呢,由静态路由和动态路由协议得来的,静态路由是手动设置的,动态路由协议包括RIP、EIGRP、OSPF、ISIS、BGP等,在路由器中看启动了哪些路由协议,也即启用了哪些进程。这些进程就像一个个的打工仔,不断的和同样运行该协议的邻居路由器们进行交互、进行计算,从而找到新的路由供路由器进行选择,路由器根据一定的策略再决定要不要将该路由加入路由表中,只有加入了路由表中的路由才是有用的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202498.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午7:00
下一篇 2026年3月20日 上午7:00


相关推荐

  • jps查看java进程(进程的等待状态)

    列出PID和Java主类名jps2017Bootstrap2576Jps列出pid和java完整主类名jps-l2017org.apache.catalina.startup.Bootstrap2612sun.tools.jps.Jps列出pid、主类全称和应用程序参数jps-lm2017org.apache.catalina.startup.Boots…

    2022年4月13日
    62
  • DIKW 体系介绍

    DIKW 体系介绍DIKW 体系 DIKW 体系是关于数据 信息 知识及智慧的体系 可以追溯至托马斯 斯特尔那斯 艾略特所写的诗 岩石 在首段 他写道 我们在哪里丢失了知识中的智慧 又在哪里丢失了信息中的知识 Whereisthewi Whereisthekn 1982 年 12 月 美国教育家哈蓝 克利夫兰引用艾略特的这些诗句在其出版的 未来主义者 一书提出了 信息即资

    2026年3月19日
    2
  • pycharm如何返回上一次位置

    pycharm如何返回上一次位置view gt gt Appearance gt gt Toolbar 启用 toolbar 后用点击左键就可返回上一次编辑的位置

    2026年3月27日
    3
  • Mysql之Linux环境下如何彻底删除卸载Mysql

    Mysql之Linux环境下如何彻底删除卸载Mysql首先连接操作系统,切换到root用户。一、如果是使用yum安装的mysql,使用如下命令进行卸载(不能确定使用何种方式安装的mysql情况下,按后续步骤一一进行处理即可):#yumremovemysqlmysql-servermysql-libscompat-mysql51#rm-rf/var/lib/mysq#rm/etc/my.cnf使用rpm-qa|grepmysq…

    2022年6月18日
    38
  • Clion2022.01激活码_在线激活

    (Clion2022.01激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html40ZKSWCX8G-eyJsaWNlbnNlSWQi…

    2022年4月2日
    115
  • 优化算法——牛顿法(Newton Method)

    优化算法——牛顿法(Newton Method)一、牛顿法概述

    2022年5月6日
    274

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号