本文是数据链路层的最后一部分,将会介绍大家常听的以太网,局域网等名词是什么,以及数据链路层需要用什么设备来实现。本文不是特别重要,因为学习计网最主要还是协议,所以本文对于一些不重点的地方将直接放王道的PPT内容,对于几个重点部分会额外说明并且讲解。总的来说,本文的内容都是常识性的东西,不是太难,可以当作看课外书进行阅读。
1.局域网
1.1 局域网概述
1.1.1 什么是局域网及其特点
最后一点中的广播和组播将在后面学习。局域网还有三大要素:网络拓扑,传输介质和介质访问控制。这三大要素其实都是我们前面学习过的,这里简单回顾一下:
1.1.2 网络拓扑
一共有四大拓扑结构:
虽然目前常用的是结构好,造价低的总线型结构,但是实际考试的时候考到的局域网多是星型结构的,这里需要注意一下。
1.1.3 局域网传输介质
这些前面物理层其实说过:
1.1.4 局域网的介质访问控制方法
其中的令牌总线和令牌环其实都是前文说的令牌传递协议。这里还要注意一点,就是逻辑上的拓扑结构和现实布线的拓扑结构是不一样的,也就是说,现实中你可以是按照总线型去布线,但是你传递信息的过程可以按照环形去传(也就是每一个设备只能和相邻的设备通信,信息只能依次传递),这样逻辑上就是环形的。
1.1.5 局域网的分类
其中,令牌环网因为环型拓扑少了一位就会出错的缺点,目前已经被淘汰了。FDDI网是光纤网络的布局,以前因为价格高而不常用,现在反而一些实验室用的挺多。ATM网是唯一固定了通信单元长度的局域网。无线网络和以太网大家都在用,所以下面要单独介绍一下它们的IEEE 802标准。
1.1.6 IEEE 802
它有很多条目,但是需要学习的就只有下面几条,我们只需要大致了解一下即可,因为里面的协议,或者介质的原理我们前面都学过:
(1)IEEE 802.3 :以太网介质访问控制协议 (CSMA/CD)及物理层技术规范 。因为以太网符合802.3,所以也把以太网称之为802.3局域网。(至于具体的CSMA/CD前面已经学习过)。
(2)IEEE 802.5 :令牌环网(Token-Ring)的介质访问控制协议及物理层技术规范。
(3)IEEE 802.8 :光纤技术咨询组,提供有关光纤联网的技术咨询。对应FDDI。
(4)IEEE 802.11:无线局域网(WLAN)的介质访问控制协议及物理层技术规范。相关协议我们已经掌握了CSMA/CA协议,这就够了,后面如果还需要学习会在后面课程里面补充。
1.1.7 MAC子层和LLC子层
在IEEE802协议里面,还把数据链路层进行了进一步的划分,可以分为两层:
图上展示网络层次用的是OSI的模型,这是因为IEEE802标准是根据OSI7层模型里面的数据链路层和网络层制定的。(所以目前并不是完全不用OSI模型,而是TCP/IP和OSI一起混合使用)。我们只需要简单的记住,LLC层负责听网络层的命令,MAC层负责给下面的物理层传输指令即可。
1.2.以太网
以太网因为常用,且常考(作为题目背景),所以额外开一节进行学习。
1.2.1 什么是以太网
判断一个以太网是不是局域网,只需要看它是不是使用了CSMA/CD协议即可。
1.2.2 它为什么好用(优点)
以太网优点如下:
1.2.3 以太网的两个标准
目前,以太网的标准有两种:
但是其实它们区别并不大,只要满足其中一种即可称之为以太网。
1.2.4 以太网的一大特点:无连接且不可靠
也就是说,在以太网里面,对帧的信息数据链路层是不需要通过CRC等去检验的,检验让传输层去检验。CSMA/CD里面判断数据是否有问题的方法就是看 2 τ 2\tau 2τ时间内有没有新的数据传过来,所以它甚至不需要接收方的确认。虽然说是不可靠的,但是经过传输层等的纠错,还有CSMA/CD协议,我们基本上是可以保证数据无错的,所以不用担心数据传输的过程会变,关键是以太网是有线传输的,所以电气干扰也小,只要符合CSMA/CD,那么基本数据能完好无损的传输。
1.2.5 以太网的结构
如图所示:
这里额外讲一下集线器,这是一个神奇的元件(在计组里面系统学习过),它虽然看上去是星性的结构,但是设备放上去的数据其实会被转发给全部设备,所以从逻辑上而言,它和总线型拓扑没有区别。同时它不容易坏,因为它只是复杂把大家的线接到一起而以,要某个设备出故障对整体没有影响,而且它相比于传统的总线型物理拓扑,它想要添加一个新的设备会更加容易。
1.2.6 10BASE-T 以太网
以太网根据信号,传输介质还可以分为很多种,其实,最常用也是最常出现在考题里面的是10BASE-T以太网,所以需要单独学习。
我们只需要记住,它采用曼彻斯特编码,且传输速率是10Mb/s即可。
1.2.7 网络适配器
适配器其实就是我们常说的网卡,它负责计算机和外界局域网的连接。如图:
准确的说,网络接口卡NIC才是网卡,但是目前都集成到了一起,所以我们也把网络适配器称为网卡。
1.2.8 MAC地址
这是一个很重要的概念,平时写网络相关代码也用得到。MAC地址也被称为物理地址,它是在计算机产商生产电脑(适配器)的时候就生成的,是你的电脑对外界的唯一标识,每一个MAC地址都是独一无二的 。一般情况下,MAC地址不允许修改(除非换网卡),但是也可以通过一些特殊的手段修改这个MAC地址。再插句题外话,有时候会出现非法浏览某些网址,被对方封了IP地址的情况,这个时候你换个网络换个地方去登陆还是可以进去,但是如果封的是你的MAC地址加IP地址,那你不仅要换地方,甚至还要换电脑才能登陆。简单来说,IP地址代表的是你当前在的位置,MAC地址是你的电脑 。MAC地址有固定的格式:
它一共有48位,前面24位是代表厂商的(IEEE给每一个电脑产商都安排了一个MAC地址的前半部分),后24位则是让厂商自己指定。所以你可以通过查电脑的MAC地址前24位看你买的电脑是不是正品。
1.2.9 以太网中的一个帧
如图,IP数据报是网络层需要传递的数据,数据链路层给它加上目的地址,源地址和类型作为帧的首部,FCS检验码(常用CRS循环冗余检验)作为帧的尾部,这样就形成了一个要发送的帧,物理层再给它加上一个8位的前导码,用来保证两个设备之间能够实现同步传输。
其中,目的地址有可能是MAC地址,也就是指明要发给谁,如果目的地址是全1,则说明要发送的是一个广播信息,所有设备均可接收 。类型则指明了网络层IP数据报的协议,便于接收方去解读这个IP数据报,这个会在后面学习。数据部分最长是1500字节,这是IEEE规定好的,我们记住即可。46字节则是CSMA/CD协议里面计算出的最小帧长,具体会因题目不同而变(如果忘记了可以去本章的第二部分里面CSMA/CD协议的内容)。
最后在同步码后面还有一个帧开始定界符,来标明帧从什么位置开始。至于为什么不需要帧的结束符,这是因为曼彻斯特编码里面,如果一个帧的数据没有了电压会变成直线,这个时候就很容易看出哪里结束,所以不需要尾部定界符。
上面说的是以太网V2标准的格式,IEEE802协议与它的不同在于:
(1)第三个字段指明的不一定是IP数据报的类型,也可能是其长度。接收方根据长度也能推出使用什么协议。
(2)当数据部分的长度(也就是看第三个字段的数值)小于0x0600的时候,数据部分要放入LLC层再包装一下。这里不是重点,了解即可。
1.2.10 高速以太网
对于传输速率大于100Mb/s的以太网,我们都称之为高速以太网。一共有以下三种,我们了解即可:
1.3 无线局域网
说完了以太网,来说说无线局域网。无线局域网大家不能简单的理解成wifi,因为无线局域网可以覆盖好几公里的范围,你可以理解为一个手机的热点,而wifi只是一个大的无线局域网中的一个点而已。无线局域网常用的协议是IEEE802.11,感兴趣的可以从这个连接进去简单了解一下。
1.3.1 无线局域网中的帧的帧首部
无线局域网中的帧的帧首部,也被称为MAC帧头是一个考点,需要关注一下。802.11中WDS协议里面,MAC帧头的结构如下 :
我们只需要记住四个地址分别是什么意思就OK,其他的不用太在意。其中四个地址分别代表:
(1)地址1:接收端的地址RA;
(2)地址2:发送端的地址TA;
(3)地址3:目的地址DA;
(4)地址4:源地址SA 。
这里肯定有人觉得懵逼,为什么发送端的地址和源地址,接收端的地址和目的地址不一样。其实是这样的,只有在距离较短的时候,两个设备没有中间设备的时候,它们的含义是一样的,但是现实中,我们要和几公里外的电脑通信,中间需要经过几个基站进行转发,这些基站就是中间节点。所以发送端的地址其实是指当前发送信息的节点的地址,接收端的地址其实是下一个收到信息的节点的地址,源地址是最初生成这个信息的主机的地址,目的地址是最终接收这个信息的主机的地址。
那么这些基站是怎么根据目的地址,来确定这个设备在哪里的呢。这是因为每一个设备加入局域网(比如你到了一个新的城市,并且打开了网络),你的设备会先广播一下它的MAC地址,最近的基站收到以后会把这个地址记下来,并且分配一个IP地址给它,然后把这个IP地址一个接一个的传给全部基站,这样大家就知道你的设备进入了当前的局域网。这也是为什么我们到了一个新的地方,总是能收到新的短信。
地址3和地址4通常是设备的MAC地址或者IP地址,一般是不变的,但是地址1和地址2会随着当前的接收端和发送端不同而一直变化。
除了常用的WDS协议,其实802.11还规定了其他几种帧首部的格式,但是基本不考,了解即可:
其实也不难理解,先说一下To AP和From AP,AP其实是无线接入点。无线接入点(Access Point,AP)是无线局域网(WLAN)中的设备,用于提供无线网络连接。它充当无线终端设备和有线网络之间的桥梁,实现无线与有线网络的数据传输,比如一个路由器,对于一个AP而言,它没有MAC地址,而是用一个BSSID代替 (你可以说BSSID就是它的MAC地址)。在这里不要陷进去,除非你是通信专业的同学或者想深入了解。这里简单讲一下:
(1)To AP:你的电脑需要发给另一个电脑信息,所以你就把你的主机的MAC地址作为SA,那个主机的MAC地址作为DA,发送给AP(在地址1上写明BSSID,让AP设备知道你是发给它的),AP如果DA不在AP范围内设备会帮你把这个帧转成WDS格式,然后发出去,如果在AP范围内,AP会把信息转成From AP形式直接给这个设备 。说个简单的例子:你和你表弟同时连了你家Wifi在电脑上聊天,那这个时候你给你家路由器发信息,直接转给你表弟了,不需要额外的中间节点。如果你表弟连的不是你家wifi,那么你家路由器会把这个信息转成WDS格式,然后传递出去。至于为什么都在一块了还需要AP来管理信息,这是因为如果你家里有多个设备,那么没有一个路由器来管理,而是随便发送,那么有的简单的设备比如智能手表根本处理不过来。
(2)From AP:这个就是路由器发现你俩在一块,或者收到了外面传进来的送给你的WDS信息,它会把信息转成From AP格式,然后传给你。
(3)IBSS:你如果需要修改wifi密码,你就需要直接连接到路由器上(默认网址是192.168.1.1),这个时候你的信息是和AP设备直接交互的,你的目的地址,和接收端都是路由器,也就是DA=BSSID,只是为了把位置占满。(说实话,我对IBSS的理解可能有错,欢迎大家指正)。
1.3.2 有固定基础设施的无线局域网
无线局域网还能分为两种,一种是有固定基础设施的无线局域网,比如你家的一个路由器是固定的设备,那么你家wifi就属于一个有固定基础设施的无线局域网。如图所示:
上面两个有天线的其实就是路由器(AP)。一个AP设备(也可以是一个手机基站)和全部与之相连接的设备,就构成了一个基本服务集BSS ,每一个基本服务集里面的AP设备是唯一的,所以AP设备的标识符也被称为BSSID。
我们把长距离通信称之为漫游 ,在需要漫游时,设备会把信息转为To AP格式,发给AP设备,每一个AP设备都和外界的分配系统(其实是光缆等有线设备)连接,通过有线网络实现远距离通信。在一定区域内的BSS(比如一整栋楼有10多个wifi),它们最终连接到同一个分配系统上去,这个区域内的BSS就组成了一个扩展服务集ESS。
1.3.3 无固定基础设施无线局域网的自组织网络
无固定基础设施无线局域网的自组织网络如图所示:
就是你自己组建的一个网络,把几个电脑放一块,这样这些电脑是可以相互通信的,但是它们不能和外界联网,这是因为没有基站,也没有路由器,甚至不需要集线器。这样的网络在大学的一些实验室很常见,比如我之前在大学实验室里面自己用flask搭建了一个服务器,自己搞了个网页,然后让另外两台电脑连接,每一个电脑都可以访问我的网页,但是无法访问其他网页。我还记得很久以前的一些游戏,比如CS等,也支持同一个区域内的自组织网络一起游戏,当时是小学计算机课,我因为不清楚具体原理,就觉得不能连接外部的网络,但是却能和附近的电脑一起打游戏是一件很神奇的事情。当然,这些都不是考试的重点,考试不会让你组一个网络出来,这部分的内容了解即可。
1.4.VLAN
VLAN是目前的一种新型局域网,我们将其称之为虚拟局域网,它把传统的局域网划分成若干逻辑工作组,一个工作组就是一个VLAN。
1.4.1 为什么需要VLAN(传统局域网的局限)
传统局域网存在一些缺点,所以需要一种新的局域网形式。这些缺点如图:
这里解释一下什么叫做流量隔离:比如在同一个BSS中的主机A只想给主机B和C发送消息,但是这个消息发出去,不仅B和C能收到,在同一个BSS里面的E和F主机也能收到。又或者大家一起发送广播消息,那么这个局域网里面的消息就泛滥了,谁都能收到,而且互相干扰。我们也把这种局域网里面消息乱飞的现象称之为洪泛(信息跟洪水一样到处都是)。
1.4.2 什么是VLAN
至于什么是VLAN,如果你不了解交换机,路由等设备,那么可以看一下我这个不恰当的例子来先理解一下:就是随着技术的进步,现在的路由器升级了(是由交换机来实现的,但是很多人可能没有见过交换机,所以这里先理解成升级版路由器)。以前的路由器只有简单的发送信息和转发信息的功能,现在我们给每一个路由器都安装了芯片,用户可以通过软件来控制其连接的设备,即便是同一个路由器,也可以分出多个子网 。这么说还是有点抽象,举个例子吧,比如:ABCDEF六台主机同时连接了一个路由器AP1,以前A要发一条广播消息给BC,A把信息发出去,AP1会把信息同时丢给BCDEF,让BCDEF自己去分是不是自己的消息,如果A只想要BC收到,那么就只能把这消息分两次发,一次发给B一次发给C,或者是把DEF和AP1的连接断开。现在不一样了,我们通过设置,把ABC划分为一个子网,DEF分为一个子网,那么A再发出广播消息的时候,就只有BC能收到,这样从逻辑上看就出现了两个BSS,还不需要新的路由器。这样把一个BSS,通过软件进行逻辑上的划分,划分出的子网就称之为VLAN 。这里附上王道的PPT,看上面的图可以进一步理解一下:
应用VLAN技术,你甚至可以把属于不同的BSS的设备分成同一个VLAN的,也就是说你既可以缩小你的子网范围,又可以扩大你的子网范围,还不用一直改物理设备 。
这里再解释一下什么是子网(虽然一目了然),你把一个大的网络(局域网也好,广域网也好),分割成小的网络,就叫子网。所以不要把子网和局域网等价,子网有可能是局域网的一部分。广义上讲,局域网是广域网的子网(什么是广域网下一节就讲)。
1.4.3 VLAN的实现原理
为了能更简单的实现VLAN,出现了交换机。什么是交换机在本文最后一节介绍数据链路层用的设备的时候会细讲,这里只需要简单的知道,交换机是一个专门用来划分VLAN的设备。具体的划分VLAN的方法还分为两种:
1.4.3.1 基于端口的VLAN技术
一台交换机上面有很多插口,每一台计算机可以插入一个口,之后我们可以设置交换机哪几个口是一个VLAN,这就是基于端口的VLAN技术,如图所示:
但是要注意的是,交换机并不能代替路由器,连接在交换机上的设备不能和外界通信,甚至不能和同样连接在交换机上的其他VLAN的设备通信,要是想要进行联网,交换机还需要和路由器相连接,而且有几个VLAN就需要连接几条线。所以后面又升级出了三层交换机,它把交换机和路由器合二为一了,不需要额外的搞路由器(也是本文最后一部分说)。
当你划分好VLAN之后,交换机的内部就会自动生成两个表,一个表记录当前的端口都连接了哪些数据,一个表记录当前的每一个VLAN对应哪些端口:
当一个设备要发送一个广播帧的时候,交换机会通过两个表看一下设备属于哪个端口,从而确定它属于哪个VLAN,把这个帧发给对应VLAN里面的全部端口。当一个设备要和另一个设备通信时,也是一样的,如果这个设备和另一个设备在同一个VLAN里面,那么交换机会把帧直接发给对应设备,如果不在同一个VLAN,交换机会把数据发给路由器。
1.4.3.2 基于MAC地址的VLAN技术
上面一种确认VLAN范围的方法是看接口,根据接口判断设备属于哪个VLAN。但是一般数据帧里面有MAC地址的信息,而没有接口的信息,所以第一种方法要交换机看完MAC地址之后再去看接口,再去看VLAN。现在我们直接把VLAN对应表的信息改成对应的MAC地址,也就是交换机看属于哪个VLAN不看端口,而是直接看MAC地址,这样就可以省去一步。
缺点也明显,就是实现起来比第一种更麻烦。虽然,第二种扩展性更好,因为VLAN的划分不看是哪个端口,那么我们就可以在一个端口上连接一个集线器,然后连接多个电脑,根据它们的MAC地址划分不同的VLAN,这样一个交换机可以连接的设备就大大增加,但是一般也用不到,所以第一种基于端口的划分更常用。这里最后强调一点,划分VLAN的过程是由交换机的软件实现的。
1.4.3.3 多台交换机
我们可以使用多个交换机,把它们连接起来(交换机直接互连的端口 称为Trunk ),这样就可以当作一个大交换机看:
目前的交换机已经不需要直接连接了,如果隔离的远,可以让路由器帮忙转发,这样当一个广播帧需要从一个设备传递到另一个位置不相邻但是VLAN相同的几个设备上时,交换机会自动地给这个帧添加上VLAN标识符,表明它属于哪个VLAN再发出去 (形成虚拟的trunk)。在IEEE 802.1Q协议里面是这样规定的:
这里额外注意一点,虽然VID的标识范围是0-4095但是,0和4095都不用于表示VID,所以VID实际范围是1到4094。并且802.1Q协议规定的帧是交换机来实现的,用户主机只会生成普通的MAC帧。
2.广域网
2.1 什么是广域网
简单来讲,就是多个局域网的集合,可以大到覆盖全世界。至于PPT里面说的分组交换技术,我们会在网络层详细地学习,这里知道广域网是靠这技术实现的即可。至于里面的节点交换机,路由器等设备,会在下一节学习。因为相距很远,所以广域网不像局域网那样讲究传输的效率,它只强调资源共享,简单的说,就是不同的局域网网的数据可以通过广域网互相传递即可,慢点无所谓。学习广域网,我们主要学习两个协议即可:
2.2 PPP协议
PPP协议是点对点协议的简称,它是目前使用最广泛的数据链路层协议 ,目前我们通过拨号电话接入互联网使用的都是这个协议(想要具体了解什么是拨号上网可以点击这个连接看看,简单来说,就是我们的联网设备输入它的设备号(账号和密码),然后由外部的大的网络设备比如基站认可,然后上网。如果你不交花费,则这个账号和密码会失效,你就不能上网)。它是全双工协议。
2.2.1 PPP协议的特点
很多东西前面都说过,所以看一下即可:
这里说一下,因为我们本章学习的数据链路层,而PPP协议也是数据链路层协议,所以不用纠错,纠错让网络层等去进行,但是纠错的方法比如CRC等前面是学习过的。其次,有的人会疑问既然不用纠错,为什么要检错,这是因为纠错和检错是不一样的,纠错分为检错加纠错两部分,检错是有必要的,而且关是检错要比纠错简单,所以前面的部分才会把检错和纠错分开讲。最后的压缩协商就是双方通信时,会把数据按一定标准压缩之后再发送,这样可以节约很多带宽(压缩会在后面学习)。
2.2.2 PPP协议的三大组成部分
(1)PPP协议能将一个IP数据报进行封装,然后放到串行链路上(不管是同步还是异步)进行传输。
(2)PPP协议里面有一个小的协议LCP,被称之为链路控制协议,它负责连接一个链路到广域网中,并且维护它。
(3)PPP协议里面还有一个小协议NCP,它被称为网络控制协议,它的功能是承上启下,协调网络层的各个协议,让网络层和下层的数据链路层不冲突,所以只有LCP建立好了,NCP才起作用。在下一章网络层我们还会见到它。
2.2.3 PPP协议的工作流程
如图所示,考试不会让你画的,简单了解即可:
2.2.4 PPP协议的帧格式
这里对应的是上面说的PPP三大部分中的第一部分,如图所示:
其实和我们前面学习的没有什么区别,这里的转义字符其实就是本章第一篇文章说的字符填充,用来防止信息部分的数据和帧定界符冲突。A是地址部分,C是控制部分,只不过设计之初是想着在后世完善,到目前都没有完善,所以没有意义。协议部分标识了这个是一个什么数据,比如广播帧,控制数据等。后面的FCS是用CRC搞的一个用于检错的序列。
2.2.5 HDLC协议
这是一个实际生活中很少被使用的协议,同时408也已经将其从考纲删除,所以简单了解即可。
其定义如下:
2.2.5.1 HDLC的站
在HDLC中,站(Station)是指网络中的设备或节点,它可以是某个终端设备、路由器或其他连接在数据链路层上的设备(可以是电脑也可以是路由器)。站分为三种:
简单来说就是发送方,接收方和既是接收方也是发送方这三种。
2.2.5.2 HDLC的三种操作方式
(1)正常响应:网络里面只有从站和主站,只有主站先发数据,从站才会响应。
(2)异步响应:网络里面只有从站和主站,而且从站不需要主站的允许就可以发送数据给主站,但是这个时候主站不能发数据。
(3)异步平衡:网络里面全是复合站,大家都可以随意发数据,想发就发。
2.2.5.3 HDLC的帧格式
如下:
2.2.6 PPP和HDLC的异同
了解即可,因为考纲已经把HDLC删除。
3.数据链路层用到的设备
3.1 以太网的物理结构
如图,一个以太网内由集线器,光纤调制解调器(都在物理层哪一章讲过),把各个设备连接在一起。因为同一个集线器内一次只允许一个设备通信,我们也把这样的区域称为冲突域。在几个连接了设备的集线器上再连集线器,可以把冲突域扩大,好处是可以互相通信的设备多了,坏处是通信效率低了。为了解决直接连接效率低下的问题,于是有了网桥(已淘汰)和交换机。
3.2 网桥
网桥是交换机的前身,目前已经不再被使用,大家看看就行:
网桥被用来取代集线器,几个网桥最终会连接同一个主干集线器,这样就等于把一个大的冲突域变成了许多小冲突域,在保证设备互联的前提下,还减少了冲突,提高了信道利用。
它的优点有:
网桥可以分为两类:
3.2.1 透明网桥
这里解释一下什么是即插即用和自学习。
(1)即插即用:每一个网桥都维护一张自己的转发表,断电的时候清空,通电的时候就会记录各个信息的来源 。
(2)自学习:每一个网桥的转发表都不是被定义好的,而是需要在使用中被完善的。举个例子:比如A要向B发送数据,因为在同一个网段内,A发送以后B就收到了,但是信号会沿着总线经过第一个网桥,第一个网桥首先会看一下信息的来源,1号接口,并且是A发的,这个时候网桥会遍历一下自己的转发表,A不在里面,于是把A和1加进去。之后,再看一下目的地址是B,网桥会继续遍历一下自己的转发表,如果没有B,或者B在2号接口那边,那么它就会把信息从2号口发出,如果B也在1号口,网桥会把这段信息丢弃。
3.2.1 源路由网桥
路由网桥用的不是自学习算法,而是在发送帧的时候就把最佳的路由信息放在帧的首部,注意这里的"最佳"可以指经过的路由最少,也可以指用的时间最少 。那么怎么计算这个最佳路径呢,大家不需要紧张,做法非常简单:要发送数据的设备称为源站。源站每一次发送数据之前,都会发送一个发现帧,这是一个广播帧。这个发现帧会以广播的方式依次在各个节点传播,每一个收到这个帧的节点都会把自己的信息记录上去,这样当这个发现帧传递到接收方时,接收方收到的帧包含了全部的路径信息。接收方紧接着会把这个信息根据最佳的标准进行筛选,然后把最好的路径方案以回复的方式发回给源站,之后,源站就会把这个路径加入到帧首部或者尾部,网桥会帮忙按照这个路径依次发送。就相当于用较短的帧把所有路径的试一遍,然后再挑选出最好的(就是暴力算法)。
3.3 交换机
交换机其实就是有很多个接口的网桥,所以也被称为多接口网桥,因为在以太网中使用,也被称为以太网交换机。传统的网桥只能连接两个口,一个交换机就可以连接多根线。如图:
这样之前需要多个网桥,现在只需要一个交换机即可。它的一个特点是独占媒体带宽,其实就是说这个整体的带宽和交换机带宽是一样的,比如交换机带宽是10Mb/s,有一台电脑带宽是24Mb/s,只要它连接在交换机上它的带宽就只能是10Mb/s,其中的原理其实很简单,因为最快的要迁就最慢的,而交换机往往是最慢那个。交换机的工作原理和网桥是一模一样的自学习功能,它也存储了自己的转发表 ,当转发表是空的时候,它收到消息也会把消息转发给除输入端口外的全部端口。转发表是永远更新的,当新的设备进来它就记录,当转发表没有对应设备它就全发 。
交换机有三种:
3.3.1 直通式交换机
它的特点是查完目的地址立即转发,没有存储能力 。所以它的优点是延迟很小。缺点就是可靠性低,且无法支持不同速率端口的交换。什么是不同速率端口的交换呢,比如说A主机给另一个VLAN的B主机发消息,交换机带宽是10Mb/s,A的发送带宽是9Mb/s,B的接收带宽是5Mb/s,那么如果A以9Mb/s的速度发送,直通式交换机会全部转发B是来不及接收的。
3.3.2 存储转发式交换机
它的特点就是我们一直说的存储转发 。该交换机会先把发送过来的的数据存储在高速缓冲中,之后对数据进行检错,最后根据接收方的带宽发送出去。很显然,它就解决了直通式交换机的全部缺点,但是它本身的缺点就是延迟要比直通式交换机高(因为多了一些操作)。虽然这里说延迟更高,但是人类是很难察觉到的,所以我们目前多用的就是这种存储转发式交换机。
至于第三种其实就是两者的结合,当数据急着发送的时候是直通式,当数据没有那么急的时候是存储转发式,这里就不额外叙述了,因为它需要一些额外的配置,所以也不常用。
3.4 从冲突域和广播域来对比一下各个层的设备
网络层的路由器将在下一章详细的给大家展开。我们需要能区分有多少冲突域和广播域:
像上图交换机连接了4个口,所以有4个冲突域,因为没有路由器,所以只有一个广播域。当然,这里是有问题的,因为其实前面的内容里面说的是交换机可以划分VLAN,而一个VLAN就是一个广播域,这样又说不可以,确实存在一定的混乱。事情实际上是这样的,现在的技术进步了,以前的交换机只能划分冲突域而不能划分广播域,后面提出了VLAN的概念之后,大家对交换机进行了升级,现在的基本都是三层交换机,既能划分冲突域也能划分广播域,那么如果从这个角度来看图中就有4个广播域,4个冲突域。至于考试的时候肯定是会严谨的说明的,或者就不考,大家不用担心。