在学习网络时,有三个比较重要的设备经常会傻傻分不清楚,分别是bridges(网桥),switches(交换机)和routers(路由器),其实还有个设备称作hub(集线器),但是由于其功能非常简单,而且现在基本已经不再使用了,所以这里就不提它。最近在看Computer Networks: A System Approach时学习了一下这三者之间若即若离的关系,正好做一总结。
众所周知网络是分层的,那么这三者主要区别就是传递信息时所处的layer(层)不一样:bridges是可以被看作是链路层的节点,它们通过在链路之间发送frames(帧)来实现对LAN的扩展;Switches是网络层的节点,它们通过发送packet(数据包)来实现数据报交换网络;而路由器则是发送datagrams(数据报)来实现网络节点之间的互联。
Bridges and Switches
Brideges,顾名思义就是在两个LAN(局域网)之间搭建桥梁,从而使得两个LAN可以互相通信,而Switches则可以连接多个互联网。其实现在将bridges和switches作一区分有点过时了,因为现在多端口的bridge通常被称为以太网交换换机或者LAN交换机。因此bridges和switches经常被组合在一起称作「二层交换设备」,这里「二层」是指“在物理层之上,网络层之下”。另外,switches在转发数据之前会对数据进行错误校验。
Switches and Routers
关于switches和routers的区别开头已经说了,两者主要的区别就是routers发送的是IP datagrams,而switches发送的packet。另外,switches使用MAC地址来区分网络主机,而routers则是使用IP地址。由于所在的网络层次不同,决定了两种设备发送的数据格式不同,从而决定了两者功能的不同,简单来说switches负责快速转发,而routers负责寻找最短路径。
总结
上图很好得总结了网络中主要设备之间的关系,switches使得各个局域网互联,routers使得局域网与互联网相连,从图中设备中的层次区别就可以明显看出设备之间的区别。在现实生活中,具体选择哪种设备要根据实际需求来确定。