菜鸟笔记之计算机网络(9)
声明:以下是学习《图解TCP/IP》第五版并结合网上资料所记的笔记,侵权请联系删除。可能会有一些错误,发现了会修改。
数据链路的作用
数据链路,指OSI参考模型中的数据链路层,有时也指以太网、无线局域网等通信手段。数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范。 通信媒介包括双绞线电缆、同轴电缆、光纤、电波以及红外线等介质。此外,各个设备之间有时也会通过交换机、网桥、中继器等中转数据。
各个设备之间在数据传输时,数据链路层和物理层都是必不可少的。计算机以二进制0、1来表示信息,然而实际的通信媒介之间处理的却是电压的高低、光的闪灭以及电波的强弱等信号。把这些信号与二进制的0、1进行转换正是物理层的责任。数据链路层处理的数据也不是单纯的0、1序列,该层把它们集合为一个叫做“帧”的块,然后再进行传输。
数据链路也可以被视为网络传输中的最小单位。 可以称互联网为“数据链路的集合”。
- 数据链路的段
数据链路的段是指一个被分割的网络。然而根据使用者不同,其含义也不尽相同。例如,引入中继器将两条网线相连组成一个网络。这种情况下有两条数据链路:
(1)从网络层的概念看,它是一个网络(逻辑上),即从网络层的立场出发,这两条网线组成一个段。
(2)从物理层的概念看,两条网线分别是两个物体(物理上),即从物理层的观点出发,一条网线是一个段。
- 网络拓扑
网络的连接和构成的形态称为网络拓扑(Topology)。网络拓扑包括总线型、环型、星型、网状型等。
目前实际的网络都是由这些简单的拓扑结构错综复杂的组合而成的。
数据链路相关技术
MAC地址
MAC地址用于识别数据链路中互连的节点。通过MAC地址判断目标地址。
MAC地址结构如下:
MAC地址长48比特位,其中3~24位表示厂商识别码,每个NIC厂商都有特定唯一的识别数字。25~48位是厂商内部为识别每个网卡而用。因此,可以保证全世界不会有相同MAC地址的网卡。不论哪种数据链路的网络(以太网、FDDI、ATM、无线LAN、蓝牙等), 都不会有相同的MAC地址出现。
有一种设备叫网络分析器,它可以分析出局域网中的包是由哪个厂商的网卡发出的。它通过读取数据帧当中发送MAC地址里的厂商识别码进行识别,能够迅速定位是否有未知厂商识别码的网卡发送异常的包。
注: 在全世界,MAC地址也并不总是唯一的。实际上,即使MAC地址相同,只要不是同属一个数据链路就不会出现问题。但是,无论哪个协议成员通信设备,设计前提都是MAC地址的唯一性,这也可以说是网络世界的基本准则。
共享介质型网络
从通信介质的使用方法上看,网络可分为共享介质型和非共享介质型。共享介质型网络指由多个设备共享一个通信介质的一种网络。 在这种方式下,设备之间使用同一个载波信道进行发送和接收。为此,基本上采用半双工通信方式,并有必要对介质进行访问控制。
共享介质型网络中有两种介质访问控制方式:一种是争用方式,另一种是令牌传递方式。
- 争用方式
争用方式(Contention)是指争夺获取数据传输的权力,也叫CSMA(载波监听多路访问)。这种方法通常令网络中的各个站(数据链路中很多情况下称节点为站) 采用先到先得的方式占用信道发送数据,如果多个站同时发送帧,则会产生冲突现象,因此也会导致网络拥堵与性能下降。
在一部分以太网当中,采用了改良CSMA的另一种方式 — CSMA/CD (Carrier Sense Multiple Access with Collision Detection)。CSMA/CD要求每个站提前检查冲突,一旦发生冲突,则尽早释放信道放弃发送数据,然后随机延时一段时间,再重新争用介质,重新发送。
- 令牌传递方式
令牌传递方式是沿着令牌环发送一种叫做“令牌”的特殊报文,是控制传输的一种方式。只有获得令牌的站才能发送数据。这种方式有两个特点:一是不会有冲突,二是每个站都有通过平等循环获得令牌的机会。所以即使网络拥堵也不会导致性能下降。
非共享介质型网络
非共享介质网络是指不共享介质,是对介质采取专用的一种传输控制方式。在这种方式下,网络中的每个站直连交换机,由交换机负责转发数据帧。此方式下,发送端与接收端并不共享通信介质,因此很多情况下采用全双工通信方式。
通过以太网交换机构建网络,从而使计算机与交换机端口之间形成一对一的连接,即可实现全双工通信。在这种一对一连接全双工通信的方式下不会发生冲突,因此不需要 CSMA/CD 的机制就可以实现更高效的通信。这种方式也有一个致命的弱点,那就是一旦交换机发生故障,与之相连的所有计算机之间都将无法通信。
- 半双工与全双工通信
半双工是指,只发送或只接收的通信方式。它类似于无线电收发器,若两端同时说话,是听不见对方说的话的(收发数据共享同一介质)。而全双工不同,它允许在同一时间既可以发送数据也可以接收数据。类似于电话,接打双方可以同时说话(收发数据时每个站有各自专用的通信介质)。
根据MAC地址转发
将集线器或集中器等设备以星型连接,就出现了一款新的网络设备 —— 交换集线器,这是一种将非介质共享型网络中所使用的交换机用在以太网中的技术,交换集线器也叫做以太网交换机。
以太网交换机就是持有多个端口的网桥。它们根据数据链路层中每个帧的目标MAC地址,决定从哪个网络接口发送数据。这时所参考的、用以记录发送接口的表就叫做转发表。这种转发表的内容不需要使用者在每个终端或交换机上手工设置,而是可以自动生成。数据链路层的每个通过点在接到包时,会从中将源MAC地址以及曾经接收该地址发送的数据包的接口作为对应关系记录到转发表中。
交换机转发方式有两种,一种叫存储转发,另一种叫直通转发。 存储转发方式检查以太网数据帧末尾的FCS位后再进行转发。因此可以避免发送由于冲突而被破坏的帧或噪声导致的错误帧。直通转发方式中不需要将整个帧全部接收下来以后再进行转发,只需要得知目标地址即可开始转发。因此它具有延迟较短的优势,但同时也不可避免地有发送错误帧的可能性。
环路检测技术
通过网桥连接网络时,可能会出现环路这种情况,这与网络的拓扑 结构和所使用的网桥种类有直接关系。最坏的情况下,数据帧会在环路中被一而再再而三地持续转发,而一旦这种数据帧越积越多将会导致网络瘫痪。为此有必要解决网络中的环路问题,具体有生成树与源路由两种方式。
- 生成树方式:每个网桥必须在每1~10秒内相互交换BPDU(Bridge Protocol Data Unit)包,从而判断哪些端口使用哪些不使用,以便消除环路。一旦发生故障,则自动切换通信线路,利用那些没有被使用的端口继续进行传输。
- 源路由法:该方式可以判断发送数据的源地址是通过哪个网桥实现传输的,并将帧写入RIF(Routing Information Field)。网桥则根据这个RIF信息发送帧给目标地址。即使网桥中出现了环路,数据帧也不会被反复转发,可成功地发送到目标地址。在这种机制中发送端本身必须具备源路由的功能。
VLAN(虚拟局域网)
进行网络管理的时候,时常会遇到分散网络负载、变换部署网络设备的位置等情况。而有时管理员在做这些操作时,不得不修改网络的拓扑结构,这也就意味着必须进行硬件线路的改造。然而,如果采用带有VLAN技术的网桥,就不用实际修改网络布线,只需修改网络的结构即可。
对这种VLAN进行了扩展,又定义了IEEE802.1Q的标准(也叫TAG VLAN),该标准允许包含跨越异构交换机的网段。TAG VLAN中对每个网段都用一个VLAN ID的标签进行唯一标识。在交换机中传输帧时,在以太网首部加入这个VID标签,根据这个值决定将数据帧发送给哪个网段。
随着VLAN技术的应用,不必再重新修改布线,只要修改网段即可。