zoukankan      html  css  js  c++  java
  • 计算机网络中,路由器和交换机的区别

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

    • 区别一
      • 路由器可以为局域网自动分配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

    微信公众号:第一监控

  • 相关阅读:
    hdu 5446 Unknown Treasure lucas和CRT
    Hdu 5444 Elven Postman dfs
    hdu 5443 The Water Problem 线段树
    hdu 5442 Favorite Donut 后缀数组
    hdu 5441 Travel 离线带权并查集
    hdu 5438 Ponds 拓扑排序
    hdu 5437 Alisha’s Party 优先队列
    HDU 5433 Xiao Ming climbing dp
    hdu 5432 Pyramid Split 二分
    Codeforces Round #319 (Div. 1) B. Invariance of Tree 构造
  • 原文地址:https://www.cnblogs.com/adongyo/p/11617427.html
Copyright © 2011-2022 走看看