第四章:集线器Hub、网桥、交换机、路由器

目录

      • 集线器(HUB)
      • 网桥
      • 交换机
        • 网桥和交换机的区别
        • 网桥的工作原理
        • 交换机的工作原理
      • 路由器
        • 交换机和路由器的区别
        • 路由器的功能
        • 路由分类


先介绍几个概念
(1) 冲突域:总的来说,冲突域就是连接在同一导线上的所有工作站的集合,或者说是同一物理网段上所有节点的集合,或以太网上竞争同一带宽的节点集合。HUB这种设备不能分割冲突域。

(2) 广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。

    网桥和交换机能够分割冲突域,就是网桥和交换机可以较少被逼的广播(hub导致的),但不能分割广播域。不严格地说,交换机可以看作网桥的高度集成。路由器可以分割广播域。


集线器、交换机、路由器有什么区别?

集线器(HUB)

它是工作在物理层的设备, 由于它只是工作在物理层的设备,所以它并不关心也不可能关心OSI上面几层所涉及的,它的工作机制流程是:从一个端口接收到数据包时,会在其他端口把这个 包转发一次,因为它不知道也不可能知道这个包是发给谁的,它也只能对所有人广播。
    这样一来会有不少问题,你发的数据其他人都收到了,私隐这总东西是不存在的!别入可以随便监听你信息!所以会话劫持在那个年代相当容易!
    另外一个比较严重的问题是,如果一个大型的局域网,比如有500台机器,全部用HUB连接的,后果会怎么样呢???答:相当慢,网络的效率极差!为什么?

  • 一个HUB连接的所有设备形成一个冲突域同一时刻只允许一个数据包在该设备群中传递
  • 广播风暴: 如果500台机器都发一个包,那就是说每台机器,都需要接收差不多499个无用包…并且如果是需要回应的话…无用的数据包会充斥着整个的局域网,这就是传说中的广播风暴

网桥

    为了减少广播风暴,网桥产生了(注意这里用的时候“减少”,不是“杜绝”,仅仅是减少!如果仅仅用网桥说能杜绝广播风暴,个人觉得还是不太准确,后来交换机的出现才可以说是完全杜绝了广播风暴的发生)!

    在介绍网桥之前,还想简单介绍另一个物理层的设备:“中继器”,这种设备的作用是把物理层传输的信号放大,由于长距离的传输,信号会有一定的损耗的,这种设备主要解决的就是这个问题。它和HUB的区别是:HUB主要是为了在物理层上转发数据的,所以它不关心电压值的大小,也不会放大物理信号;而中继器它的作用就是为了放大信号用的,SO…

    网桥又称桥接器,英文名Network Bridge,数据链路层设备。它也是转发数据包的设备,但和HUB不一样的是,它工作在数据链路层,HUB只能看懂物理层上的东西(比如一段物理信号),网桥却能看懂一些帧的信息(在链路层上,把上面传下来的数据封装后,封装好了的数据就是帧,但这里我用“数据包”这样的泛指去代替“帧”这个专业术语)。在以太网构造的局域网上,最终的寻址是以数据链路层的MAC地址作为标识的(就是用MAC地址可以在局域网上找到一台唯一的机器),网桥能从发来的数据包中提取MAC信息,并且根据MAC信息对数据包进行有目的的转发,而不采用广播的方式,这样就能减少广播风暴的出现,提升整个网络的效率。在详细说网桥这东西之前,我想先介绍一下交换机。


交换机

第四章:集线器Hub、网桥、交换机、路由器_第1张图片
    交换机Switch,数据链路层设备,作用是转发数据包。和网桥一样,它也是通过识别帧中的MAC地址,然后对特定的端口进行转发的。交换机实际就是多接口的网桥。


网桥和交换机的区别

    回答网桥和交换机区别之前,我们先一起看两幅图~这是从《计算机网络(第四版)》第四章截下来的。

  1. 网桥的连接模式:(红点处为HUB)
    第四章:集线器Hub、网桥、交换机、路由器_第2张图片
  2. 交换机连接模式:
    第四章:集线器Hub、网桥、交换机、路由器_第3张图片
        从图中可以看到,网桥只有2个输入/出端口,而交换机有8个。嗯,是的,一开始的时候(那时候只有HUB这种设备),由于硬件水平不是很发达,人们为了提高局域网效率,减少广播风暴的出现,他们生产了网桥(一个只有两个输入/出端口的链路层设备,这时的网桥已经是个比较先进的设备),然后他们把一个局域网一分为2,中间用网桥连接,这样A发给BCD的数据就不会再广播到EFGH了(网桥发现如果数据包不是转发给下面这个子网的,它会自动丢弃此包);只有从A发到EFGH的数据包才能通过网桥,到达另外一个子网(网桥发现如果数据包是转发给下面这个子网的,它才会把包转发给这个子网)。这样一来,非必要的传输减少了,整个网络的效率也随之提高可不少!
        人们发现网桥真是个好东西呀,随着硬件发展,出现了4个、8个端口的链路层设备,这就是交换机,由于交换机可以使得网络更安全(数据不容易被监听,因为数据不再广播了,注意:只是不容易而已,要搞你其实还是可以的),网络效率更高(还是因为数据不再广播!),交换机渐渐替代了HUB,成为组建局域网的重要设备。

    所以说,网桥和交换机,基本上是一样的,嗯,只是基本上而已,细看还是有些不一样的,但在说明他们之间有什么不一样之前,我想先简单介绍一下网桥和交换机的工作原理。


网桥的工作原理

第四章:集线器Hub、网桥、交换机、路由器_第4张图片
    上图是用一个网桥连接的两个网络,网桥的A端口连接A子网,B端口连接B子网,为什么网桥知道哪些数据包该转发,哪些包不该转发呢? 那是因为它有两个表A和B,当有数据包进入端口A时,网桥从数据包中提取出源MAC地址和目的MAC地址,一开始的时候,表A和表B都是空的,没有一条记录,这时,网桥会把数据包转发给B网络,并且在表A中增加一条MAC地址(把源MAC地址记录表中),说明这个MAC地址的机器是A子网的,同理,当B子网发送数据包到B端口时,网桥也会记录源MAC地址到B表;当网桥工作一段时候后,表A基本上记录了A子网所有的机器的MAC地址,表B同理。当再有一个数据包从A子网发送给网桥时,网桥会先看看数据包的目的MAC地址是属于A子网还是B子网的,如果从A表中找到对应,则抛弃该包,如果不是,则转发给B子网,然后检查源MAC地址,是否在表中已经存在,如果不存在,在表A中增加一条记录。

    噢,或许你现在会问了,为什么需要两张表呢,一张表不行么??嗯~刚才把表一分为二是为了便于理解,实际上,真正的网桥里面存的应该是一张表(当然有可能为了提速,或者其他原因,它也可能把信息存为多张表,这个得看它怎么实现了~),如果是一张信息表,表里记录的应该是:MAC-PortNum。

交换机的工作原理

第四章:集线器Hub、网桥、交换机、路由器_第5张图片
    交换机也有一张MAC-PORT对应表(这张表的学名为:CAM),和网桥不一样的是网桥的表是一对多的(一个端口号对多个MAC地址),但交换机的CAM表却是一对一的,如果一个端口有新的MAC地址,它不会新增MAC-PORT记录,而是修改原有的记录,比如:现在交换机记录表里已经有一项:MAC1-Port1,如果此刻端口1又来了一个数据包,里面的源MAC地址是MAC2,此时,交换机会刷新交换机记录表:MAC1-Port1记录被修改为MAC2-Port1,因为交换机认为是端口1的计算机MAC地址变了,如果端口1连接的一台物理机器,MAC一般是不会变的,如果连接的是另外一个交换机,那这个端口的记录会变化得比较频繁(如上图的Port12,它是对外的接口,与一个局域网连接),另外,如果CAM表中没有找到和数据包的目的MAC地址对应的记录,交换机会对此数据包进行广播,发给本交换机的每一个端口。

    网桥和交换机除了用CAM表指导数据包转发这点和HUB不一样外,网桥和交换机还有一个特点:缓存!对,网桥和交换机都有一定量的缓存,因为网桥和交换机转发数据包需要一些额外的操作,所以可能会占用一些时间,为了避免出现因来不及转发数据,导致大量数据丢失的情况,网桥和交换机就出现了缓存。当然,缓存不是万能的,当网桥或交换机处理不及并且缓存用完了,以后再来的数据还是会丢失的。还一个网桥需要缓存的原因是:桥接两个传输速率不同的局域网,比如:802.3的传输速率说10mb/s,但实际上并不是真的10Mb/s,而 802.4(几乎)确实为10Mb/s,但两个局域网桥接时候必须是速率一样的,否则会有包丢失,而缓存也正好可以为不同速率网络连接时所使用。这里需要对比一下网桥和交换机的缓存,一般来说,网桥的缓存量是大于交换机的缓存量,因为网桥天生是为了连接两个网络的,两个网络桥接时所要处理的数据量会比一般的交换机需要处理的数据量要多,所以网桥的缓存也一般要比交换机大一点。


值得注意的一些问题:

1). 网桥需要软件辅助?

    回答这个问题,首先要看看原始的网桥,《计算机网络(第四版)》里有一段话是这样的:传统上,网桥往往包含一个CPU,"转发-存储"由软件来实现。噢,以前的网桥是这样的,但现在由于硬件水平的提升,网桥、交换机都包含了特殊的,用于转发的集成电路部分,现在的网桥和交换机都可以不需要软件辅助了!顺带说一句,模拟网桥功能的软件现在也是有的。

2). 网桥用于连接不同的网段?(搜索百度时查到一个答案)

    首先这里要理解什么是网段,唉,这个概念说起来又是一篇文章!它涉及到子网掩码的等等一系列的东西…


路由器

第四章:集线器Hub、网桥、交换机、路由器_第6张图片

交换机和路由器的区别
路由器 交换机
连接不同网段的交换机 连接相同网段的多个机器
隔离冲突域、广播域 隔离冲突域,不隔离广播域
路由器在网络层,根据IP地址寻址 交换机在中继层,根据“MAC”地址寻址。
路由器可以处理“TCP/IP”协议,交换机不可以
交换机只是用来分配网络数据的
路由器可以为局域网自动分配IP和虚拟拨号
路由器可以提供防火墙,交换机不能提供这个功能。
路由器可以把一个IP分给多个主机使用,采用NAT/PAT映射,对外IP相同 交换机可以把很多主机连接起来,对外的IP不同

(1) 外形上
    从外形上我们区分两者,交换机通常端口比较多看起来比较笨重,而路由器的端口就少得多体积也小得多,实际上上图并不是真正的路由器只是集成了路由器的功能,除此之外还有交换机的功能(LAN口就是作为交换机的端口来使用,WAN是用于连接外网的端口),而两个天线则是无线AP接入点(即是通常所说的无线局域网wifi)。
(2) 工作层次不同
    最初的交换机工作在OSI开放式系统互联模型的数据链路层,也就是第二层,而路由器则工作在OSI模型的网络层,就是第三层。交换机一般都是采用硬件电路实现数据帧的转发,路由器肩负着网络互联的重任,要实现更加复杂的协议,具有更加智能的转发决策功能,一般都会在在路由器中跑操作系统,实现复杂的路由算法,更偏向于软件实现其功能。
(3) 数据的转发对象不同
    交换机是根据MAC地址转发数据帧,而路由器则是根据IP地址来转发IP数据报/分组。数据帧是在IP数据包/分组的基础上封装了帧头(源MAC和目的MAC等)和帧尾(CRC校验码)。其中:
    IP地址决定最终数据包要到达某一台主机
    MAC地址则是决定下一跳将要交互给哪一台设备(一般是路由器或主机)。
(4) ”分工“不同
    交换机主要是用于组建局域网,而路由器则是负责让主机连接外网。多台主机可以通过网线连接到交换机,这时就组建好了局域网,就可以将数据发送给局域网中的其他主机,然而,通过交换机组建的局域网是不能访问外网的(即是Internet);这时需要路由器来为我们”打开外面精彩世界的大门“,局域网的所有主机使用的都是私网的IP,所以必须通过路由器转化为公网的IP之后才能访问外网。
(5) 冲突域和广播域
    交换机分割冲突域,但是不分割广播域,而路由器分割广播域。由交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在这种情况下会导致广播风暴和安全漏洞问题。而连接在路由器上的网段会被分配不通的广播域,路由器不会转发广播数据。需要说明的是单播的数据包在局域网中会被交换机唯一地送往目标主机,其他主机不会接收到数据,这是区别于原始的集线器的,数据的到达时间由交换机的转发速率决定,交换机会转发广播数据给局域网中的所有主机。
(6) 最后需要说明的是:路由器一般有防火墙的功能,能够对一些网络数据包选择性过滤。现在的一些路由器都具备交换机的功能,一些交换机具备路由器的功能,被称为3层交换机,广泛使用。相比较而言,路由器的功能较交换机要强大,但是速度也较慢,价格昂贵,三层交换机既有交换机的线性转发报文的能力,又有路由器的良好的路由功能因此得到广泛的使用。

路由器的功能

1)连接多个独立的网络或子网
2)实现网络间最佳寻径和数据包传送
3)数据流量控制、负载分流等

路由分类

直连路由、静态路由、动态路由、策略路由

你可能感兴趣的:(计算机网络)