局域网(Local Area Network, LAN)是指在一个较小的地理范围(如一所学校) 内,将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互联网络。主要特点有:
1)为一个单位所拥有,且地理范围和站点数目均有限。
2)所有站点共享较高的总带宽(即较高的数据传输率)。
3)较低的时延和较低的误码率。
4)各站为平等关系而非主从关系。
5)能进行广播和组播。
局域网的特性主要由三个要素决定:拓扑结构、传输介质、介质访问控制方式,其中最重要的是介质访问控制方式,它决定着局域网的技术特性。
常见的局域网拓扑结构主要有以下4大类:①星形结构;②环形结构;③总线形结构;④星形和总线形结合的复合型结构。
局域网可以使用双绞线、铜缆和光纤等多种传输介质,其中双绞线为主流传输介质。
局域网的介质访问控制方法主要有CSMA/CD、令牌总线和令牌环,其中前两种方法主要用于总线形局域网,令牌环主要用于环形局域网。
三种特殊的局域网拓扑实现如下:
IEEE 802标准定义的局域网参考模型只对应于OSI 参考模型的数据链路层和物理层,并将数据链路层拆分为两个子层:逻辑链路控制(LLC)子层和媒体接入控制(MAC)子层。与接入传输媒体有关的内容都放在MAC子层,它向上层屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口,主要功能包括:组帧和拆卸帧、比特传输差错检测、透明传输。LLC子层与传输媒体无关,它向网络层提供无确认无连接、面向连接、带确认无连接、高速传送4种不同的连接服务类型。
由于以太网在局域网市场中取得垄断地位,几乎成为局域网的代名词,而802委员会制定的LLC子层作用已经不大,因此现在许多网卡仅装有MAC协议而没有LLC协议。
IEEE 802 协议层与OSI模型的比较如图所示。
IEEE 802.3标准是一种基带总线形的局域网标准,它描述物理层和数据链路层的MAC子层的实现方法。随着技术的发展,该标准又有了大量的补充与更新,以支持更多的传输介质和更高的传输率。
以太网逻辑上采用总线形拓扑结构,以太网中的所有计算机共享同一条总线,信息以广播方式发送。为了保证数据通信的方便性和可靠性,以太网简化了通信流程并使用了CSMA/CD方式对总线进行访问控制。
严格来说,以太网应当是指符合DIX Ethernet V2标准的局域网,但DIX Ethernet V2标准与IEEE 802.3标准只有很小的差别,因此通常将802.3局域网简称为以太网。
以太网采用两项措施简化通信:采用无连接的工作方式;不对发送的数据帧编号,也不要求接收方发送确认,即以太网尽最大努力交付数据,提供的是不可靠服务,对于差错的纠正则由高层完成。
以太网常用的传输介质有4种:粗缆、细缆、双绞线和光纤。各种传输介质的适用情况见表。
计算机与外界局域网的连接是通过主机箱内插入的- 块网络接口板[又称网络适配器(Adapter)或网络接口卡(Network Interface Card, NIC) 实现的。网卡上装有处理器和存储器,是工作在数据链路层的网路组件。网卡是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码及数据缓存功能等。
全世界的每块网卡在出厂时都有一个唯一的代码, 称为介质访问控制(MAC)地址,这个地址用于控制主机在网络.上的数据通信。数据链路层设备(网桥、交换机等)都使用各个网卡的MAC地址。另外,网卡控制着主机对介质的访问,因此网卡也工作在物理层,因为它只关注比特,而不关注任何地址信息和高层协议信息。
每块网络适配器(网卡)都有一个地址,称为MAC地址,也称物理地址; MAC地址长6字节,一般用由连字符(或冒号)分隔的6个十六进制数表示,如02-60-8c-e4-b1-21。高24位为厂商代码,低24位为厂商自行分配的网卡序列号。
由于总线上使用的是广播通信,因此网卡从网络上每收到一个MAC帧,首先要用硬件检查MAC帧中的MAC地址。如果是发往本站的帧,那么就收下,否则丢弃。
以太网MAC帧格式有两种标准:DIX Ethernet V2标准 (即以太网V2标准) 和IEEE 802.3标准。下面介绍最常用的以太网V2的MAC帧格式,如图所示。
前导码:使接收端与发送端时钟同步。在帧前面插入的8字节可再分为两个字段:第一个字段共7字节,是前同步码,用来快速实现MAC帧的比特同步;第二个字段是帧开始定界符,表示后面的信息就是MAC帧。
注意: MAC帧并不需要帧结束符,因为以太网在传送帧时,各帧之间必须有一定的间隙。因此,接收端只要找到帧开始定界符,其后面连续到达的比特流就都属于同一个MAC帧,所以上图只有帧开始定界符。但不要误以为以太网MAC帧不需要尾部,在数据链路层上,帧既要加首部,也要加尾部。
地址:通常使用6字节(48 bit) 地址(MAC地址)。
类型:2字节,指出数据域中携带的数据应交给哪个协议实体处理。
数据:46~ 1500字节,包含高层的协议消息。由于CSMA/CD算法的限制,以太网帧必须满足最小长度要求64字节,数据较少时必须加以填充(0~46字节)。
注意:由CSMA/CD算法可知以太网帧的最短帧长为64B,而MAC帧的首部和尾部的长度为18字节,所以数据最短为64-18=46字节。
填充: 0~46字节,当帧长太短时填充帧,使之达到64字节的最小长度。
校验码(FCS):4字节,校验范围从目的地址段到数据段的末尾,算法采用32位循环冗余码(CRC),不但需要检验MAC帧的数据部分,还要检验目的地址、源地址和类型字段,但不校验前导码。
802.3帧格式与DIX以太帧格式的不同之处在于用长度域替代了DIX帧中的类型域,指出数据域的长度。在实践中,前述长度/类型两种机制可以并存,由于IEEE 802.3数据段的最大字节数是1500,所以长度段的最大值是1500,因此从1501到65535的值可用于类型段标识符。
速率达到或超过100Mb/s的以太网称为高速以太网。
以太网从10Mb/s到10Gb/s的演进证明了以太网是可扩展的(从10Mb/s到10Gb/s)、灵活的(多种传输媒体、全/半双工、 共享/交换)、 易安装、稳健性好。
IEEE 802.11是无线局域网的一系列协议标准,包括802.11a和802.11b等。
它们制定了MAC 层协议,运行在多个物理层标准上。除基本的协调访问问题外,标准还进行错误控制(以克服通道固有的不可靠性)、适宜的寻址和关联规程(以处理站的可携带性和移动性)、互联过程(以扩
展无线站的通信范围),并且允许用户在移动的同时进行通信。
802.11的MAC层采用CSMA/CA协议进行介质访问控制。冲突避免要求每个发送结点在发送帧之前先侦听信道。如果信道空闲,那么结点可以发送帧;发送站在发送完一帧之后,必须再等待一个短的时间间隔,检查接收站是否发回帧的确认ACK。如果接收到确认,那么说明此次发送未出现冲突,发送成功;如果在规定的时间内没有接收到确认,那么表明出现冲突,发送失败,重发该帧,直到在规定的最大重发次数之内,发送成功。
注意:在无线局域网中,即使在发送过程中发生了碰撞,也要把整个帧发送完毕。而在有线局域网中,发生冲突则结点立即停止发送数据。再次提醒读者要熟悉局域网的各种协议。
无线局域网可分为两大类:固定基础设施无线局域网和无固定基础设施无线局域网自组织网络(Ad Hoc Network)。
令牌环网的基本原理如下图所示。令牌环网的每一站通过电缆与环接口干线耦合器(TCU)相连。TCU的主要作用是,传递所有经过的帧,为接入站发送和接收数据提供接口。与此对应,TCU的状态也有两个:收听状态和发送状态。数据总是在某个特定的方向上从一个TCU到下一个TCU逐比特地依次传送,每个TCU重新产生并重新传输每一比特。
令牌环网的媒体接入控制机制采用的是分布式控制模式的循环方法。在令牌环网中有一个令牌(Token)沿着环形总线在入网结点计算机间依次传递,令牌实际上是一个特殊格式的MAC控制帧,它本身并不包含信息,仅控制信道的使用,确保在同一时刻只有一个结点能够独占信道。
站点只有取得令牌后才能发送数据帧,因此令牌环网不会发生碰撞。由于令牌在网环上是按顺序依次传递的,因此对所有入网计算机而言,访问权是公平的。
令牌环网中令牌和数据的传递过程如下:
1)网络空闲时,环路中只有令牌帧在循环传递。
2)令牌传递到有数据要发送的站点处时,该站点就修改令牌中的一个标志位,并在令牌中附加自己需要传输的数据,将令牌变成一个数据帧,然后将这个数据帧发送出去。
3)数据帧沿着环路传输,接收到的站点一边转发数据,一边查看帧的目的地址。如果目的地址和自己的地址相同,那么接收站就复制该数据帧以便进一步处理。
4)数据帧沿着环路传输,直到到达该帧的源站点,源站点接收到自己发出去的数据帧后便不再进行转发。同时,发送方可以通过检验返回的数据帧来查看数据传输过程中是否有错,若有错则重传该帧。
5)源站点传送完数据后,重新产生一个令牌,并将令牌传递给下一个站点,以交出对媒体的访问权限。
令牌环网在物理上采用星形拓扑结构,但逻辑上仍是环形拓扑结构,其标准由IEEE 802.5定义。图中的环并不是由通信线路连接而成的物理环。
广域网通常是指覆盖范围很广(远超一个城市的范围)的长距离网络。广域网是因特网的核心部分,其任务是长距离运送主机所发送的数据。连接广域网各结点交换机的链路都是高速链路,它可以长达几千千米的光缆线路,也可以是长达几万千米的点对点卫星链路。因此广域网首要考虑的问题是通信容量必须足够大,以便支持日益增长的通信量。
广域网不等于互联网,互联网可以连接不同类型的网络(既可以连接局域网,又可以连接广域网),通常使用路由器来连接。下图显示了由相距较远的局域网通过路由器与广域网相连而成的一个覆盖范围很广的互联网。局域网可以通过广域网与另一个相隔很远的局域网通信。
广域网由一些结点交换机 (不是路由器,结点交换机和路由器都用来转发分组,它们的工作原理也类似。路由器在单个网络中转发分组,而结点交换机在多个网络构成的互联网中转发分组) 及连接这些交换机的链路组成。结点交换机的功能是将分组存储并转发。结点之间都是点到点连接,但为了提高网络的可靠性,通常一个结点交换机往往与多个结点交换机相连。
从层次上考虑,广域网和局域网的区别很大,因为局域网使用的协议主要在数据链路层(还有少量在物理层),而广域网使用的协议主要在网络层。
怎么理解“局域网使用的协议主要在数据链路层,而广域网使用的协议主要在网络层”呢?
如果网络中的两个结点要进行数据交换,那么结点除要给出数据外,还要给数据“包装”上一层控制信息,用于实现检错纠错等功能。如果这层控制信息是数据链路层协议的控制信息,那么就称使用了数据链路层协议,如果这层控制信息是网络层的控制信息,那么就称使用了网络层协议。
广域网中的一个重要问题是路由选择和分组转发。路由选择协议负责搜索分组从某个结点到目的结点的最佳传输路由,以便构造路由表,然后从路由表再构造出转发分组的转发表。分组是通过转发表进行转发的。
PPP协议和HDLC协议是目前最常用的两种广域网数据链路层控制协议。
PPP(Point-to-Point Protocol)是使用串行线路通信的面向字节的协议,该协议应用在直接连接的两个结点的链路上。设计的目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共同的解决方案。
PPP协议有三个组成部分:
1)链路控制协议(LCP)。一种扩展链路控制协议,用于建立、配置、测试和管理数据链路。
2)网络控制协议(NCP)。PPP协议允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。
3)一个将IP数据报封装到串行链路的方法。IP 数据报在PPP帧中就是其信息部分,这个信息部分的长度受最大传送单元(MTU)的限制。
PPP帧的格式如下图所示。PPP帧的前3个字段和最后2个字段与HDLC帧是一样的,标志字段(F)仍为7E 0111110),前后各占1字节,若它出现在信息字段中,就必须做字节填充,使用的控制转义字节是7D 0111101)。 但在PPP中,地址字段(A)占1字节,规定为0xFF,控制字段©占1字节,规定为0x03,两者的内容始终是固定不变的。PPP 是面向字符的,因而所有PPP帧的长度都是整数个字节。
第4个字段是协议段,占2字节,在HDLC中没有该字段,它是说明信息段中运载的是什么种类的分组。以比特0开始的是诸如IP、IPX 和AppleTalk这样的网络层协议;以比特1开始的被用来协商其他协议,包括LCP及每个支持的网络层协议的一一个不同的NCP。
第5段信息段的长度是可变的,大于等于0且小于等于1500 B。为了实现透明传输,当信息段中出现和标志字段一样的比特组合时,必须采用一些措施来改进。
注意:因为PPP是点对点的,并不是总线形,所以无须采用CSMA/CD协议,自然就没有最短帧,所以信息段占0~ 1500字节,而不是46~1500字节。另外,当数据部分出现和标志位一样的比特组合时,就要采用一些措施来实现透明传输。
第6个字段是帧检验序列(FCS),占2字节,即循环冗余码检验中的冗余码。检验区包括地址字段、控制字段、协议字段和信息字段。
下图给出了PPP链路建立、使用、撤销所经历的状态图。当线路处于静止状态时,不存在物理层连接。当线路检测到载波信号时,建立物理连接,线路变为建立状态。此时,LCP开始选项商定,商定成功后就进入身份验证状态。双发身份验证通过后,进入网络状态。这时,采用NCP配置网络层,配置成功后,进入打开状态,然后就可进行数据传输。当数据传输完成后,线路转为终止状态。载波停止后则回到静止状态。
注意:
1)PPP提供差错检测但不提供纠错功能,只保证无差错接收(通过硬件进行CRC校验)。它是不可靠的传输协议,因此也不使用序号和确认机制。
2)它仅支持点对点的链路通信,不支持多点线路。
3) PPP只支持全双工链路。
4) PPP的两端可以运行不同的网络层协议,但仍然可使用同一个PPP进行通信。
5)PPP是面向字节的,当信息字段出现和标志字段一-致的比特组合时,PPP有两种不同的处理方法:若PPP用在异步线路(默认),则采用字节填充法;若PPP用在SONET/SDH等同步线路,则协议规定采用硬件来完成比特填充(和HDLC的做法一样)。
高级数据链路控制(High-level Data Link Control,HDLC) 协议是ISO制定的面向比特的数据链路层协议。该协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,有较高的数据链路传输效率;所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高;传输控制功能与处理功能分离,具有较大的灵活性。
HDLC适用于链路的两种基本配置:非平衡配置和平衡配置。
1)非平衡配置的特点是由一个主站控制整个链路的工作。
2)平衡配置的特点是链路两端的两个站都是复合站,每个复合站都可以平等地发起数据传输,而不需要得到对方复合站的允许。
HDLC有3种站类型:主站、从站和复合站。主站负责控制链路的操作,主站发出的帧称为命令帧。从站受控于主站,按主站的命令进行操作;发出的帧称为响应帧。另外,有些站既具有主站的功能,又具有从站的功能,所以这类站称为复合站,它可以发出命令帧和响应帧。
HDLC有3种数据操作方式:
HDLC帧格式由标志、地址、控制、信息和帧校验序列(FCS)等字段构成。如下图所示。
标志字段F,为0111110在接收端只要找到标志字段就可确定-个帧的位置。HDLC协议采用比特填充的首尾标志法实现透明传输。在发送端,当一串比特流数据中有5个连续的1时,就立即在其后填入-一个0。接收帧时,先找到F字段以确定帧的边界,接着对比特流进行扫描。每当发现5个连续的1时,就将其后的一个0删除,以还原成原来的比特流。
地址字段A,共8位,在使用非平衡方式传送数据时,站地址字段总是写入从站的地址;在使用平衡方式传送数据时,站地址字段填入的是应答站的地址。控制字段C,共8位,是最复杂的字段。HDLC的许多重要功能都靠控制字段来实现。根据其第1位或第1、2位的取值,可将HDLC帧划分为三类:
由上面的图可知,PPP 帧和HDLC帧的格式很相似。但两者有以下三点不同: