• 计算机网络中,路由器和交换机的区别


    首先,我分享一下百度经验上面的讲解:

    • 区别一
      • 路由器可以为局域网自动分配IP和虚拟拨号
      • 交换机只是用来分配网络数据的
    • 区别二
      • 路由器在网络层,根据IP地址寻址,路由器还可以处理“TCP/IP”协议,交换机不行
    • 区别三
      • 交换机在数据链路层,根据MAC地址寻址
    • 区别四
      • 路由器可以把一个IP分给多个主机使用,对外IP相同
      • 交换机可以把很多主机连接起来,对外的IP不同
    • 区别五
      • 路由器可以提供防火墙,交换机不提供这个功能
    • 区别六
      • 交换机是做扩大局域网接入点的,可以让局域网连进更多的电脑
      • 路由器是用来做网间连接,也就是用来连接不同的网络的

    交换机的转发原理

    交换机通电后会自动建立一个端口地址表,也叫MAC地址表它会记录每个设备的MAC地址机和哪个端口连接的,它会有自动学习功能,一开始如果没有地址,每次经过交换机的信息,它都会读取并记录下送信息过来的设备端口MAC地址,如果下次有其他设备送信息给该设备,就直接送达了。

    最普遍的情况下,转发原则是这样的:交换机收到一个以太帧数据,它自己会比对交换机已经学习到的端口地址表,如果表里存在端口地址,直接在对应的端口转发出去。如果表里不存在,则会向剩下的每个端口(除送信息过来的端口)广播发送一条相同的信息。

    • 交换机A和交换机B,现在如果从主机01发一个数据到主机03,设定的前提是,交换机A和B的地址表都是空白。
    • 那么首先,从主机01发数据到交换机A,交换机A在收到数据以后,先识别出主机的MAC地址是01(假设是01因为每台设备都是16进制的唯一地址),端口号是1。
    • 交换机A查找自己MAC地址表,发现没有(如果有就直接转发),交换机A向其他的所有端口广播。
    • 交换机B收到数据信息后,识别并学习源地址和过来的端口号。
    • 交换机B查看地址表,发现没有,记录并向除了端口3以外的两个端口发送广播包。
    • 最后的情况是,主机02会收到数据一次,不是自己的,丢弃数据;主机03收到数据一次,正好是自己的,接收数据;主机04也收到一次,丢弃。

    路由器的工作原理

    举个例子:

    • 主机A准备发数据给主机B。
    • A将B的IP地址连同数据一起,以数据包形式发送给路由器R1。
    • 路由器R1收到数据包后,先从数据中读取到B的IP地址,然后根据路径表计算发往B的最优路径。
    • 比如路径为:R1->R2->R5->B;并将数据包发往路由器R2。
    • 路由器2重复路由器1的工作,并将数据包转发给路由器5。
    • 路由器5同样取出目的地址,发现目的地址就在自己的网段上,于是将该数据包直接交给主机B。
    • 主机B收到主机A的信息,一次完整的通信宣告结束。

    当作笔记记录一下,参考了一些资料:

    https://jingyan.baidu.com/article/7908e85cda65e1af481ad2c4.html

    微信公众号:第一监控

  • 相关阅读:
    整合第二次(SSM第一次)------------>spring+struts2+mybatis
    整合初步--------->SSH(注解版)
    整合初步______SH
    Spring 配置数据源之一三兄弟
    Spring 中面向AOP之一系列做法
    Spring Bean的生命周期详解
    Linux常用指令大全
    CentOS7 下 RabbitMQ 3.7.8 安装 步骤
    Unhandled exception handling in iOS and Android with Xamarin.
    改进Xamarin应用程序中的HTTP性能
  • 原文地址:https://www.cnblogs.com/adongyo/p/11617427.html
Copyright © 2020-2023  润新知