认识集线器、交换机(全称内网交换机)、路由器

来源:互联网 发布:linux arp命令详解 编辑:程序博客网 时间:2024/06/09 20:22

       这三者都用于连接计算机,进行数据转发(路由)。分别适用于极简网络(集线器、传统交换)、简单网络之间(三层交换)、复杂网络(路由) 。

       理解前两者,先理解以太网基础协议CSMA/CD(Carrier Sense Multiple Access with Collision Detection)基带冲突检测的载波监听多路访问技术(载波监听多点接入/碰撞检测)。在传统的共享以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。

CSMA/CD应用在 OSI 的第二层数据链路层。
它的工作原理是: 发送数据前 先侦听信道是否空闲 ,若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。
其原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发
CSMA/CD采用IEEE 802.3标准。
它的主要目的是:提供寻址和媒体存取的控制方式,使得不同设备或网络上的节点可以在多点的网络上通信而不相互冲突。
有人将CSMA/CD的工作过程形象的比喻成很多人在一间黑屋子中举行讨论会,参加会议的人都是只能听到其他人的声音。每个人在说话前必须先倾听,只有等会场安静下来后,他才能够发言。人们将发言前监听以确定是否已有人在发言的动作称为"载波监听";将在会场安静的情况下每人都有平等机会讲话成为“多路访问”;如果有两人或两人以上同时说话,大家就无法听清其中任何一人的发言,这种情况称为发生“冲突”。发言人在发言过程中要及时发现是否发生冲突,这个动作称为“冲突检测”。如果发言人发现冲突已经发生,这时他需要停止讲话,然后随机后退延迟,再次重复上述过程,直至讲话成功。如果失败次数太多,他也许就放弃这次发言的想法。通常尝试16次后放弃。

       集线器与传统交换一样,都可以将计算机连起来,组成局域网,但性能不一样。原因在于,集线器仅仅只是物理层连接设备,主要提供信号放大和中转的功能,他把一个端口收到的信号向所有端口分发出去。

        打个比方一个8口hub, 当端口1上的机器要给端口8上的机器发数据,那这个数据是这样跑的:首先她在端口1上侦听hub上有没有数据在传输,如果没有,端口1就跳出来向hub上喊:“我有数据包要给端口8,请端口8听到后回话” 这个数据被以广播的方式发送到hub上的其余7个口上,每端口都会接到这样的数据包,然后端口2---端口7会发一则消息给断口1:“我不是端口8,请你快释放带宽资源” 与此同时端口8会发消息给断口1:“我是端口8,你在找我吗?”端口1收到上述消息后,会和端口8进行确认,然后他们建立传输链接(逻辑连接),完成数据转发(仍为广播)。如果端口1在发送寻找断口8的消息后,没有得到相应,那她还会接着发这个消息,直到收到端口8的回答。等端口1和端口8完整数据转发后,假设他们还要进行通讯,那么hub上还会重复以上的过程。由此可见hub的通信方式点点碰撞,一个数据,需要送达所有的端口,这不但增加了数据转发的时间,更要命的是hub往往会给网络带来可怕的广播风暴。 

        而相同的工作再交换机就不用这么麻烦,假设端口1和端口8从没有通信过,那么开始的时候,他们的工作和hub一样,端口1要在交换机上找端口8,一旦端口8返回确认信息,那再端口1上就会生成1个和端口8的地址对应表,这个表里面有所有和端口1通过信的端口,一旦有了这地址对应表,那在以后端口1要和端口8通讯,就不用这么麻烦,可以直接送达,而且其他的断口也不会知道他们直接正在转发数据,这样不当加快了数据转发时间,而且避免了可怕的广播风暴。

        由此可以看出,集线器的工作方式决定了网内计算机共享带宽,而交换机除了首次路由外,端口(计算机)之间是独享带宽,其他计算机并不知道两者正在进行通信。在网络计算机很多时,两者会差别明显。
        

网桥(Bridge

一个网桥连接的两个网络,网桥的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。

交换机不一样, 每个port只记录一个mac(因为只连接一个mac)。

    工作在数据链路层,将两个局域网(LAN)连起来,根据MAC地址(物理地址)来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。它可以有效地联接两个LAN,使本地通信限制在本网段内,并转发相应的信号至另一网段,网桥通常用于联接数量不多的、同一类型的网段。打个比方,你用集线器组个局域网A,别人用另一个集线器组个局域网网B,每个局域网里的电脑都能互相访问。但是A里的电脑想访问B里的电脑怎么办,这里就用到网桥了,用网桥来连接2个局域网。如果说集线器是一层设备的话,那么网桥就是二层设备。



        传统交换机是层二设备,用MAC地址确定转发数据的目的地址,路由器是层三设备,用IP地址确定转发地址。IP地址是软件中实现的,也叫协议地址;MAC地址是硬件自带,固化不可更改。
        CSMA/CD是层二冲突检测和访问协议,传统交换机是层二设备,只能分割冲突域(各个端口建立mac映射后不再冲突),不能分割广播域(子网,层三概念),负责子网内部通信。

        路由器工作于网络层,用来隔离广播域(子网),连接的设备分属不同子网,工作范围是多个子网之间,负责网络与网络之间通信。
        层三交换机具有VLAN功能,也可以分隔广播域,但广播域之间需要路由。
        简单点说,交换机(一般二层的)仅用于局域网互连,网口较多。路由器可用于连通外网,严格来说只需要两个网口就行,一个对外一个对内。但市面上的路由器,对内的网口至少有4个吧,所以这些对内的网口相当于一个交换机下的局域网。
       现在三层交换机比较流行,综合了普通二层交换机和路由器的功能。表面上是路由器多了些对内的网口而已,其实不然。局域内网的连通走的是二层的交换,速度快。但其路由功能比不上专业的路由器,所以没那么贵,一般中小企业可以采用。
       “技术”点说,两者都是维护着一张map表而已。交换机维护的是端口-MAC地址的映射表,局域网的那些主机对它而言,就是一个个MAC物理地址。路由器维护的是目地IP地址-网关IP地址的映射表,即通常说的路由表。对于经过的每一个网络包,路由器要做的就是,为它找到下一跳的网关IP地址,然后填入网关的MAC地址送过去。路由协议众多,籍此分享路由表信息,一个路由器可以探知整个网络的拓扑结构。
        
家用宽带路由器,其实是交换机和路由器的结合体,有两个网络层接口,一个连接运营商网络,物理上也就是wan口,IP地址由运营商分配。另一个连接家庭网络,没有物理接口,IP地址由自己通过路由器管理界面配置,一般默认是192.168.1.1
那另外几个Lan口干什么用的?这就是交换机接口,和家庭网络接口相连,负责家庭网络内部通信。

简而言之:交换机用于网内通信, 路由器用于网间通信。

  • 传统交换机
    • 用于同一网络内部数据的快速传输
    • 转发决策通过查看二层头部完成
    • 转发不需要修改数据帧
    • 工作在 TCP/IP 协议的二层 —— 数据链路层
    • 工作简单,直接使用硬件处理
  • 路由器
    • 用于不同网络间数据的跨网络传输
    • 转发决策通过查看三层头部完成
    • 转发需要修改 TTL ,IP 头部校验和需要重新计算,数据帧需要重新封装
    • 工作在 TCP/IP 协议的三层 —— 网络层
    • 工作复杂,使用软件处理
    • 交换机
      • 硬件处理交换 (转发) 过程
      • 一次路由(寻路),多次交换(转发)
    • 路由器
      • 软件处理交换 (转发) 过程
      • 一次路由(寻路),一次交换(转发)
    虽然上面写的是软/硬件的区别,实际上更多的是工作模式上的区别:
    • 三层(多层)交换机并非纯硬件工作,而是有单独的路由引擎,但是路由引擎并非一直工作,而是在第一次通信的时候通过路由引擎查询路由表,建立转发表,之后的数据不再经过路由引擎,而是通过与二层类似的交换引擎进行转发。
      • 由于工作内容简单,转发引擎可以使用专门的硬件芯片来达到廉价高性能。
    • 而路由器对每一个数据包都进行路由查询,占用大量资源,所以寻路效率较低,
      • 由于路由协议复杂,无法通过纯硬件芯片处理,造成大量数据转发时性能比不上三层(多层)交换机

    也正是工作模式上的差异,造成了他们在实际应用时的一些区别:
    • 三层(多层)交换机的路由引擎较弱,相比路由器支持的路由协议有限。
    • 同样由于三层(多层)交换机的路由引擎较弱,且转发表有限,不适合复杂的多网络互联。
    • 因为并不是每一个包都会经过路由引擎,三层(多层)交换机的路由策略功能较弱。
    • 三层(多层)交换机更适合网络结构简单,交换数据量大的情景下使用(例如小型网络的汇聚层)
    • 路由器更适合复杂的多网络互联的核心交换区域。
    路由器和交换机的区别在于八个字:路由求短,交换求快。


    1、网关(协议转换器)是互连网络中操作在OSI网络层之上的具有协议转换功能设施,所以称为设施,是因为网关不一定是一台设备,有可能在一台主机中实现网关功能。  

    2、网关用于以下几种场合的异构网络互连:  

    1).异构型局域网,如互联专用交换网PBX与遵循IEEE802标准的局域网。  

    2).局域网与广域网的互联。  

    3).广域网与广域网的互联。  

    4).局域网与主机的互联(当主机的操作系统与网络操作系统不兼容时,可以通过网关连接)。

    3、网关的分类

    1)协议网关:协议网关通常在使用不同协议的网络区域间做协议转换。  

        2)应用网关:应用网关是在使用不同数据格式间翻译数据的系统。  

    3)安全网关:安全网关是各种技术的融合,具有重要且独特的保护作用,其范围从协议级过滤到十分复杂的应用级过滤。

    就是将两个使用不同协议的网络段连接在一起的设备。它的作用就是对两 个网络段中的使用不同传输协议的数据进行互相的翻译转换。好比是个门,对家庭来说门是门,对国家来说海关是门。在局域网里来说集线器就是网关,在二层网络里,交换机就是网关,在三层网络里路由就是网关,说网关要看你的网是多大的,要拿中国来说,连着美国那台世界服务器的设备就是网关 

     

    路由器(Router)与网桥的差别

        

    1、路由器在网络层提供连接服务,用路由器连接的网络可以使用在数据链路层和物理层完全不同的协议。路由器的服务通常要由端用户设备明确地请求,它处理的仅仅是由其它端用户设备要求寻址的报文。  

    2路由器与网桥的另一个重要差别是,路由器了解整个网络,维持互连网络的拓扑,了解网络的状态,因而可使用最有效的路径发送包。


    交换机一般用于LAN-WAN的连接,交换机归于网桥,是数据链路层的设备,有些交换机也可实现第三层的交换。 路由器用于WAN-WAN之间的连接,可以解决异性网络之间转发分组,作用于网络层。他们只是从一条线路上接受输入分组,然后向另一条线路转发。这两条线路可能分属于不同的网络,并采用不同协议。相比较而言,路由器的功能较交换机要强大,但速度相对也慢,价格昂贵,第三层交换机既有交换机线速转发报文能力,又有路由器良好的控制功能,因此得以广泛应用。

    原创粉丝点击