第4章数据链路层本章能帮助大家掌握以下技术要点:①了解数据链路层的功能②了解以太网的地址和帧格式③了解交换机的数据转发原理④熟悉Cisco交换机的几种操作模式⑤能够正确接入交换机,并掌握Cisco交换机的基本配置本章将讲解TCP/IP参考模型中数据链路层的功能、协议。
工作在数据链路层的协议有很多种,但是在本部分,以目前使用最广泛的局域网技术——以太网技术为主,讲解协议以及工作在数据链路层的设备一交换机。
在本章中,首先要了解一些关于以太网的理论知识,在局域网中,以太网技术是目前使用最为广泛的技术。
在学习以太网的理论知识之前,首先来思考几个问题,如果是你需要将几台计算机连接起来通信,如图4.1所示,你是否也需要考虑下面这些问题呢?图4.1 多台计算机通信(1)如果中间的线路是共享的,这条链路在同一时间由谁来使用呢?如何来保证这些主机能有序地使用共享线路,不发生数据的冲突?(2)如果主机A发出一个数据包给主机B,如何标识主机A和主机B呢?这就是主机的地址问题。
(3)主机之间发送的数据,需要保证双方都能读懂,那么它们发送的数据的格式是不是需要有一个统一的规范呢?本章将就这几个问题,展开对以太网工作原理的介绍。
4.1 数据链路层数据链路层负责网络中相邻节点之间可靠的数据通信,并进行有效的流量控制。
在局域网中,数据链路层使用帧完成主机对等层之间数据的可靠传输。
如图 4.2所示,以主机A 与主机B的一次数据发送为例,数据链路层的作用包括数据链路的建立、维护与拆除、帧包装、帧传输、帧同步、帧的差错控制以及流量控制等。
数据链路层(Data Link Layer)在物理线路上提供可靠的数据传输,使之对网络层呈现为一条无差错的线路,本层所关心的问题包括以下几方面:◇物理地址、网络拓扑◇组帧:把数据封装在帧中,按顺序传送◇定界与同步:产生/识别帧边界◇差错恢复:采用重传的方法◇流量控制及自适应:确保中间传输设备的稳定及收发双方传输速率的匹配图4.2 数据链路层(Data Link Layer)数据传输示例局域网中的数据链路知识主要涵盖在以太网的技术知识之中。
后面将详细阐述以太网的发展历程,并对相关技术做详尽的介绍。
4.2 以太网4.2.1 以太网的发展1.Xerox公司的X-Wire1973年,位于加利福尼亚的Xerox公司提出并实现了最初的以太网。
Robert Metcalfe 博士被公认为以太网之父,他研制的实验室原型系统运行速度是2.94兆比特每秒(3Mbps)。
这个实验性以太网(在Xerox公司中被称为X-Wire)用在了Xerox公司早期的一些产品中,包括世界上第一台配备网络功能、带有图形用户界面的个人工作站一一Xerox Alto。
2.DEC-Intel-Xerox (DIX)的以太网1979年,:Xerox与DEC公司(Digital Equipment Corporation)联合起来,致力于以太网技术的标准化和商品化,并促进该项技术在网络产品中的应用。
为确保能很容易地将商品化以太网集成到廉价芯片中,在Xerox的要求下,Intel公司也加入了这个联盟,负责提供这方面的指导。
由它们组成的DEC-Intel-Xerox(DIx)三驾马车,1980年9月开发并发布了10Mbps版的以太网标准。
1982年,发布了该标准的第2版。
这一版以太网对信令做了略微修改,并增加了网络管理功能。
3.IEEE的802.3标准1983年6月,IEEE标准委员会通过了第一个802.3标准。
IEEE于1990年9月通过了使用双绞线介质的以太网(10Base-T)标准,该标准很快成为办公自动化应用中首选的以太网技术。
4.快速以太网和千兆以太网1991一1992年间,Grand Junction网络公司开发了一种高速以太网,这种网络的基本特征,如帧格式、软件接口、访问控制方法等,与以往的以太网相同,但可运行速度可达到100Mbps。
在快速以太网的官方标准提出后不到一年,对千兆以太网的研究工作也开始了,这种网络的速率可达到1000Mbps。
1996年,IEEE 802.3成立了一个标准开发任务组,1998年完成并通过了标准。
研究工作又向支持桌面应用的双绞线千兆以太网技术方面拓展。
图4.3说明了在过去的一段时间里以太网的增长趋势。
图4.3 以太网增长趋势4.2.2 CSMA/CD以太网使用共享介质来传输数据,那么在同一时刻,共享介质由哪个站点来使用,是如何决定的呢甲以太网使用CSMA/CD(带冲突检测的载波监听多路访问)算法来决定哪个站点对共享介质具有使用权。
CSMA/CD是一种使用争用的方法来决定介质访问权的协议,这种争用协议只适用于逻辑上属于总线拓扑结构的网络。
在总线网络中,每个站点都能独立地决定帧的发送,若两个或多个站点同时发送帧,就会产生冲突,导致所发送的帧都出错。
因此,一个用户发送信息成功与否,在很大程度上取决于监测总线是否空闲的算法,以及当两个不同节点同时发送的分组发生冲突后所使用的中断传输的方法。
CSMA/CD的工作原理是:发送前先监听信道是否空闲,若空闲则立即发送数据。
在发送时,边发边继续监听。
若监听到冲突,则立即停止发送。
等待一段随机时间(称为退避)以后,再重新尝试。
4.2.3 以太网帧格式1.MAC地址前面讲过,计算机联网必需的硬件是安装在计算机的网卡。
通信中,用来标识主机身份的地址就是制造在网卡的一个硬件地址。
每块网卡在生产出来后,除了具有基本的功能外,都有一个全球唯一的编号来标识自己,不会重复,这个地址就是MAC地址,即网卡的物理地址。
MAC地址由48位二进制数组成,通常分成6段,用16进制表示,如00-DO-09-A1-D7-B7。
其中前24位是生产厂商向IEEE申请的厂商编号,后24位是网络接口卡序列号。
MAC地址的第8位为0时,表示该MAC地址为单播地址,为1时,表示该MAC地址为组播MAC地址。
一块物理网卡的地址一定是一个单播地址,也就是第8位一定为0,组播地址是一个逻辑地址,用来表示一组接收者,而不是一个接收者,如图4.4所示。
图4.4 MAC地址图示------------------------------------------------------------------------------- 提示:单播的发送方式为一对一,即一台主机发送的数据只发送给另一台主机。
广播方式示为一对多,即一台主机发送一个数据,在这个网段的所有主机都能收到。
组播方式介于单播和广播之间,也是一对多,但接收者不是网段上的全体成员,而是一个特定的组的成员。
在后续课程中会讲解有组播的应用。
------------------------------------------------------------------------------- 2.802.3以太网帧格式(DIX)如图4.5所示,该帧包含6个域。
(1)前导码(preamble)包含8个字节(octet)。
前7个字节的值为0xAA,而最后一个字节的值为OxAB。
在DIX以太网中,前导码被认为是物理层封装的一部分,而不是数据链路层的封装。
(2)目的地址(DA)包含6个字节。
DA标识了帧的目的站点的MAC地址。
DA可以是单播地址(单个目的地)、组播地址(组目的地)或广播地址。
(3)源地址(SA)包含6个字节。
SA标识了发送帧的站点的MAC地址。
SA一定是单播地址(即第8位是O)。
图4.5 以太网帧格式(4)类型/长度域包含2个字节。
用来标识上层协议的类型或后续数据的字节长度。
当此字段的数值大于0600H时,用来表示类型,例如0800H表示IP协议;当数值小于0600H时,用来表示长度。
(5)数据域包含46~1500个字节。
数据域封装了通过以太网传输的高层协议信息。
出于CSMA/CD算法的限制,以太网帧必须不能小于某个最小长度。
高层协议要确保这个域至少包含46字节。
如果实际数据不足46个字节,则高层协议必须执行某些(未指定)填充算法。
数据域长度的上限是任意的,但已经被设置为1500字节。
------------------------------------------------------------------------------- 提示:关于是否增大以太网帧的最大长度,及其对信道访问和帧出错率的影响有许多不同意见。
但是,1500字节最大长度的真正原因是1979年(10Mbps以太网正在设计之中)的内存成本以及低成本的LAN控制器的缓冲区要求。
-------------------------------------------------------------------------------(6)帧校验序列(FCS)包含4个字节。
FCS是从DA开始到数据域结束这部分的校验和。
校验和的算法是32位的循环冗余校验法(CRC)。
4.2.4 以太网标准数据链路层可以分成两个子层:MAC(介质访问控制)和LLC(逻辑链路控制)子层。
其中,MAC子层在LLC的下层,它的功能主要有以下几个方面:◇将上层交下来的数据封装成帧进行发送(接收时进行相反的过程,将帧解封装)。
◇实现和维护介质访问控制协议,例如CSMA/CD。
◇比特差错检测。
◇MAC帧的寻址,即MAC帧由哪个站(源站)发出,被哪个站/哪些站接收(目的站)。
数据链路层中与媒体接入无关的部分都集中在逻辑链路控制LLC子层。
更具体些讲,LLC 子层的主要功能有以下几个方面:◇建立和释放数据链路层的逻辑连接◇提供与上层的接口◇给帧加上序号IEEE定义了以太网的标准,MAC子层的规范称为IEEE 802.3,LLC子层的规范称为IEEE 802.2。
4.2.5 以太网命名标准当以太网首次广泛应用于商业时,它只支持单一数据传输率(10Mbps)以及一种物理介质(粗同轴电缆)。
因此术语“以太网”毫无争议地专指这种系统。
然而这种简明的特点没有保持很长时间。
出于花费少、易安装、易维护以及能在恶劣环境中使用等方面的考虑,以太网被不断修改,并在其中逐渐增加了一系列物理介质。
一般地说,商业产品领导市场,随之而来的是制定在这些新介质上的操作标准。
稍后,数据传输率也可能发生变化,这又导致出现更多的物理介质。
因此,今天有许多非常不同的通信系统,它们都称为“以太网”。
为避免使用这样累赘的称呼,如“使用两对第三类双绞线的10Mbps以太网”或“使用长波激光两路光纤的千兆以太网”,IEEE 802.3定义了一种缩写符号来表示以太网的某一实现标准。
因此,某个以太网实现被称为:n-信号-物理介质◇n:以兆位每秒为单位的数据率,如1、10、100、1000。
◇信号:如果采用的信号是基带的,即物理介质是由以太网专用的,不与其他的通信系统共享,则表示成:Base;如果信号是宽带的,即物理介质能够同时支持以太网和其他非以太网的服务,则表示成Broad。