网络知识第5章 数链层_第1页
网络知识第5章 数链层_第2页
网络知识第5章 数链层_第3页
网络知识第5章 数链层_第4页
网络知识第5章 数链层_第5页
已阅读5页,还剩142页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1数据通信与计算机网络

第5章数据链路层edu.cnIPTCPHTTPedu.cnApplicationDatalinkPhysicalNetworkTransportHTTPedu.cnTCPHTTPedu.cnApplicationDatalinkPhysicalNetworkTransporthttp://DLIPTCPHTTPedu.cnTCP/IP五层协议栈之数据链路层第5

章数据链路层教学目的掌握两种类型信道的数据链路层的基本概念了解点对点信道的三个基本问题——帧定界、透明传输和差错检测掌握点对点信道数据链路层PPP协议的基本内容了解局域网的体系结构了解IEEE802标准学习内容数据链路层概述点对点信道的三个基本问题点对点信道的数据链路层协议广播信道的数据链路层IEEE802标准

3第5章:内容提纲5.1

数据链路层概述5.2点对点信道的三个基本问题5.3点对点信道的数据链路层协议5.4广播信道的数据链路层5.5IEEE802标准

4

5.1数据链路层概述数据链路层使用的信道主要有两种类型点对点信道。使用一对一的点对点通信方式的信道。广播信道。使用一对多的广播通信方式的信道。广播信道上连接的主机很多,必须使用专用的共享信道协议来协调这些主机的数据发送,因此通信过程比较复杂。

55.1数据链路层概述(续3)物理链路与数据链路物理链路

(link,链路)指相邻两结点之间无源的物理线路段,中间没有任何其他的交换结点。当两台计算机通信时,其通路(path)是由多条链路串接构成的,这说明一条链路只是一条通路的一个组成部分。数据链路(datalink,逻辑链路)由物理线路以及实现通信协议的硬件和软件组成的。数据链路层协议(即链路控制规程)是在不太可靠的物理链路上实现可靠的数据传输所必不可少的。网络适配器(即网卡)来实现这些协议的硬件和软件,一般它具有数据链路层和物理层这两层的功能。

75.1数据链路层概述(续4)

8物理链路与数据链路的区别

调制解调器数据链路链路结点交换机链路控制链路控制结点交换机

调制解调器5.1数据链路层概述(续1)

9局域网广域网主机

H1主机

H2路由器

R1路由器

R2路由器

R3电话网局域网链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动主机H1向H2发送数据5.1数据链路层概述(续2)

10局域网广域网主机

H1主机

H2路由器

R1路由器

R2路由器

R3电话网局域网链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动帧是数据链路层的协议数据单元。帧由首部、数据部分和尾部组成。首部含有帧的控制信息(如地址、控制等),尾部包含帧校验序列,数据部分作为存放IP数据报的数据域。

(注意路由器是多端口设备)5.1数据链路层概述(续5)讨论数据链路层时,通常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。数据链路层在物理层提供服务的基础上向网络层提供服务。其基本任务是:在发送方把网络层下传的IP数据报封装成帧往下传给物理层,在接收方把从物理层接收到的无差错帧中提取IP数据报上交给网络层,对差错帧则将其丢弃。

11结点结点帧帧5.1数据链路层概述(续7)数据链路层的主要功能链路管理数据链路的建立、维持和释放。帧定界接收方应当从收到的比特流中准确地区分出一帧的开始和结束,即确定帧的边界位置。透明传输任意的比特组合数据均可正确传输流量控制其实质是控制发送方的发送数据速率,不应超过接收方所能承受的能力。差错检测通常采用发送端对被传输的比特流后面附加差错检测码,接收端重新计算检测码,两者进行比较,判别差错存在与否。

12第5

章:内容提纲5.1数据链路层概述5.2点对点信道的三个基本问题5.3点对点信道的数据链路层协议5.4广播信道的数据链路层5.5IEEE802标准

13

5.2点对点信道的数据链路层

5.2.1帧定界点对点信道的数据链路层协议要解决三个基本问题帧定界透明传输差错检测

145.2.1帧定界(续1)帧定界(framing)就是从传送的比特流中正确地区分出帧的边界。

15帧结束帧首部IP数据报帧的数据部分帧尾部

MTU数据链路层的帧长从这里开始发送帧开始4.16如何确定帧的首部5.2.1帧定界(续2)帧定界采用的几种方法⑴

字节填充法采用一些特定的控制字符来定界一帧的开始和结束。

17SOH装在帧中的内容帧帧开始符帧结束符发送在前EOT标志装在帧中的内容标志发送在前帧5.2.1帧定界(续3)一个值得考虑的问题若传送的数据中出现控制字符,则采用插入一个转义字符“ESC”(1BH)来解决。如果转义字符也出现数据当中,应在转义字符前面再插入一个转义字符。在接收端应删除其插入的转义字符。

18SOHSOHEOTSOHSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符5.2.1帧定界(续4)⑵比特填充法采用一特定的比特组合01111110来定界一帧的开始和结束,是目前最常用的方法。采用“零比特插入、删除”技术来解决传送的数据信息中出现特定比特组合的问题。

19011011111101111111111110010011011111

010111110111110110010被插入的零比特(a)原始数据的帧格式(b)线路上传送的数据的帧格式(d)恢复后的数据的帧格式011011111101111111111110010011011111

010111110111110110010被删除的零比特(c)接收端将插入的零比特删除5.2.1帧定界(续5)⑶字节计数法采用一特定字符来表示一帧的开始,随后使用一个字节计数字段指明该帧所要求传输的字节数。此法存在的问题在于字节计数值在传输过程中出现错误,就无法确定帧的结束边界。⑷非法比特编码法采用非法编码作为帧的边界。此法仅适用于物理媒体上采用特定比特编码的场合。例如,在局域网中采用双相码传输时,每个码元的中点都存在电平跳变。显然,对于码元中点不发生电平跳变的比特编码就属于非法比特编码,这种非法比特编码就可用作帧的定界。

205.2.1帧定界(续6)小结字符填充法与特定的字符编码集的关系过于密切,而且实现较为复杂。字符计数法的字节计数字段的传输正确至关重要,否则,其错误会影响本帧和下一帧。非法比特编码法只适用于采用冗余编码的特殊编码环境,而且对比特编码的码型有一定的要求。目前较常用的是比特填充法。需指出的是,随着通信线路性能的改善,许多数据链路层协议又出现将字节计数法与其他某一种方法联合使用,以提高其安全性。

215.2.2透明传输透明传输是指不管链路上传输的是何种形式的比特组合,都不会影响数据传输的正常进行。前面讲的填充法就是为了实现透明传输在字节填充法中,采用字节填充技术。被填入的字节是转义字节(ESC)。在比特填充法中,采用“零比特插入、删除”技术。如插入特定的比特组合“01111110”。在字节计数法中,采用字节计数字段指明所要传输的字节数。

225.2.3差错控制数据信号在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。误码率BER(BitErrorRate)是衡量传输差错的度量指标。该指标表示:在一段时间内,传输错误的比特占所传输比特总数的比率。误码率与信噪比有着很大的关系。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。循环冗余检验CRC是数据链路层被广泛采用的一种差错检测技术。

2324CRC的内容在书上3.9.节在数据后面添加上的冗余码称为帧检验序列

FCS(FrameCheckSequence)。循环冗余检验CRC和帧检验序列FCS并不等同。CRC是众多可供选择的FCS中的一种。253.9.2差错检测(续6)循环码计算步骤:在发送端,先把数据划分为组。假定每组k个比特。

假设待传送的一组数据M。用二进制的模2运算进行2n乘M的运算,这相当于在M后添加n个0。冗余码的求法是:将得到的(k+n)位数除以除数,此除数P是事先选定好的长度为(n+1)位的生成多项式g(x),得出商是Q而余数是R,此时余数R比除数P少1位(即只有n位)。在M后面添加的是供差错检测用的nbit冗余码,(即余数R),将其发送出去。263.9.2差错检测(续8)发送端的循环码计算举例假设

M=101001,那么其长度

k=6。再设除数多项式

g(x)

=X3+X2+1,即对应的P=1101,此时令n+1=4,即n=3。被除数是2n·M=101001000。模2运算的结果是:商Q=110101,余数R=001。把余数R作为冗余码添加在数据M的后面发送出去。发送的数据是:2n·M+R,即:101001001,共(k+n)位。273.9.2差错检测(续9)

110101

Q

(商)

P(除数)→

1101101001000

2nM

(被除数)

1101

1110

1101

0111

0000

1110

1101

0110

0000

1100

1101

001←R(余数),作为FCS则发送的经过CRC编码后的数据为101001001

长除法举例283.9.2差错检测(续10)接收端的循环冗余校验(1)重新计算循环码,若得出的余数R=0,则判定传输没有差错,就接受(accept)。(2)若余数R

0,则判定传输出现差错,就丢弃。循环冗余校方法并不能确定究竟是哪一个或哪几个比特出现了差错。只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。293.9.2差错检测(续11)常用的生成多项式CRC-16

g(x)=X16+X15+X2+1

CRC-CCITT

g(x)=X16+X12+X5+1CRC-32

g(x)=X32+X26+X23+X22+X16+X12X11+X10+X8+X7+X5+X4+X2+X+1循环码的校验能力与生成多项式有关。303.9.3差错纠正差错检测使用的是差错检测码,但若需纠正差错就需要重传整块数据,这种方法对于无线传输是不合适的。其原因是:①无线链路上的传输差错率很高;②卫星链路的传播时延很长,差错重传将大大降低系统的传输效率。因此,人们希望接收器能够在接收过程中,既有检错又有纠错功能的抗干扰编码,这种编码就是纠错码。一种比较简单的纠错码──汉明码。汉明码的码型结构与循环码相同,由信息码元和校验码元组成。发送端根据编码规则生成校验码元,接收端则按照译码规则找出差错的具体位置后自动进行纠正。

5.2.3差错控制(续1)注意仅用循环冗余检验CRC差错检测技术只能做到无差错接受(accept)。“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。这也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。要做到“可靠传输”(即发送什么就收到什么)就必须再加上接收确认和超时重传机制。

31第5章:内容提纲5.1数据链路层概述5.2点对点信道的三个基本问题5.3点对点信道的数据链路层协议5.4广播信道的数据链路层5.5IEEE802标准

32

5.3点对点信道的数据链路层协议

5.3.1

数据链路层协议概述数据链路控制协议又称链路控制规程。链路控制协议可分为异步协议和同步协议两大类。表5-1列出了几种常用的数据链路层协议。

33协议名称信息块长度(字节)差错检测发送机制媒体访问机制

异步

协议Xmodem1328位校验和停等ARQ受控访问Xmodem-CRC1328位CRC停等ARQ受控访问Xmodem-1K10288位CRC停等ARQ受控访问Zmodem视信息长度而异32位CRC连续ARQ受控访问

同步

协议SDLC视信息长度而异16位CRC连续ARQ受控访问HDLC视信息长度而异16位CRC连续ARQ受控访问Ehternet视信息长度而异32位CRC停等ARQ争用访问PPP视信息长度而异16位CRC连续ARQ全双工5.3.1数据链路层协议概述(续1)在通信线路质量较差的年代,数据链路层使用可靠传输协议是一种较好的选择。因此,能实现可靠传输的高级数据链路控制HDLC(High-LevelDataLinkControl)就成为当时流行的数据链路层协议。随着技术的进步和通信线路质量的改善,现在HDLC协议已很少使用。对于点对点信道,简单可行的PPP协议已成为因特网广泛使用的数据链路层协议。书上这句话有问题,HDLC仍然是思科路由器串行口缺省的数据链路层封装协议。

34HighLevelDataLinkControlHDLC(高级链路控制协议)ISO33009,ISO4335HDLC站点类型Primarystation(主站)Controlsoperationoflink(控制链路运行)Framesissuedarecalledcommands(发出命令帧)Maintainsseparatelogicallinktoeachsecondarystation(为每一个从站维持单独的逻辑链路)Secondarystation(从站)Undercontrolofprimarystation(受主站控制)Framesissuedcalledresponses(发出响应帧)Combinedstation(复合站)Mayissuecommandsandresponses(既可以发命令帧,也可以发响应帧)HDLCLinkConfigurations(HDLC链路配置)Unbalanced(非平衡模式)Oneprimaryandoneormoresecondarystations(一个主站以及一个或多个从站)Supportsfullduplexandhalfduplex(支持全双工和半双工操作)Balanced(平衡模式)Twocombinedstations(两个复合站)Supportsfullduplexandhalfduplex(支持全双工和半双工操作)HDLCTransferModes(1)NormalResponseMode(NRM)(常规相应模式)Unbalancedconfiguration(非平衡配置)Primaryinitiatestransfertosecondary(主站发起到从站的传输)Secondarymayonlytransmitdatainresponsetocommandfromprimary(从站只能对主站发来的命令进行响应)Usedonmulti-droplines(在多点连接的时候使用)Hostcomputerasprimary(主机作为主站)Terminalsassecondary(终端作为从站)FigureNormalresponsemodeHDLCTransferModes(2)AsynchronousBalancedMode(ABM)(异步平衡模式)Balancedconfiguration(平衡配置)Eitherstationmayinitiatetransmissionwithoutreceivingpermission(每一个站点可以主动发起传输)Mostwidelyused(最常用的配置)Nopollingoverhead(没有轮询的负担)FigureAsynchronousbalancedmodeHDLCTransferModes(3)AsynchronousResponseMode(ARM)(异步响应模式)UnbalancedconfigurationSecondarymayinitiatetransmissionwithoutpermissionformprimaryPrimaryresponsibleforlinerarelyusedFrameStructureSynchronoustransmission(同步传输)Alltransmissionsinframes(以帧为传输单位)Singleframeformatforalldataandcontrolexchanges(数据和控制采用单一的帧格式)FrameStructureFigureHDLCframesFlagFields(flag字段)Delimitframeatbothends(分隔帧的两端)01111110MaycloseoneframeandopenanotherReceiverhuntsforflagsequencetosynchronize(接收方寻找这个字段以进行同步)Bitstuffingusedtoavoidconfusionwithdatacontaining01111110(采用比特填充)0insertedaftereverysequenceoffive1sIfreceiverdetectsfive1sitchecksnextbitIf0,itisdeletedIf1andseventhbitis0,acceptasflagIfsixthandseventhbits1,senderisindicatingabortBitStuffingExamplewith

possibleerrorsAddressFieldIdentifiessecondarystationthatsentorwillreceiveframe(标识发送或接收帧的从站)Usually8bitslong(通常8比特长)Maybeextendedtomultiplesof7bitsLSBofeachoctetindicatesthatitisthelastoctet(1)ornot(0)Allones(11111111)isbroadcastControlFieldDifferentfordifferentframetype(不同帧类型有不同的控制字段)Information(信息帧)-datatobetransmittedtouser(nextlayerup)FlowanderrorcontrolpiggybackedoninformationframesSupervisory(监督帧)-ARQwhenpiggybacknotusedUnnumbered(无序号帧)-supplementarylinkcontrolFirstoneortwobitsofcontrolfiledidentifyframetypeRemainingbitsexplainedlaterFigureControlfieldformatforthedifferentframetypesFig.8bitcontrolfieldformat对于监督帧的code字段:Code=00表示准备接收(RR),此时N(R)定义了准备接收的下一帧的编号Code=10表示不准备接收(RNR),宣布接收方忙不能再接收新的帧以实现流量控制,此时N(R)定义了确认号

code=01表示拒收(REJ),告知对方最后一个帧丢失或者损坏。N(R)是丢失或损坏的帧的编号Code=11表示选择性拒收(SREJ),N(R)是被选择性拒收的帧的编号

TableU-framecontrolcommandandresponseControlFieldDiagramThefollowingfigureistheformatof16-bitcontrolfieldPoll/FinalBitUsedependsoncontextCommandframePbit1tosolicit(poll)responsefrompeerResponseframeFbit1indicatesresponsetosolicitingcommandInformationFieldOnlyininformationandsomeunnumberedframesMustcontainintegralnumberofoctetsVariablelengthFrameCheckSequenceFieldFCSErrordetection16bitCRCOptional32bitCRCHDLCOperationExchangeofinformation,supervisoryandunnumberedframesThreephasesInitializationDatatransferDisconnectNextfigureshowshowU-framescanbeusedforconnectionestablishmentandconnectionrelease.NodeAasksforaconnectionwithasetasynchronousbalancedmode(SABM)frame;nodeBgivesapositiveresponsewithanunnumberedacknowledgment(UA)frame.Afterthesetwoexchanges,datacanbetransferredbetweenthetwonodes(notshowninthefigure).Afterdatatransfer,nodeAsendsaDISC(disconnect)frametoreleasetheconnection;itisconfirmedbynodeBrespondingwithaUA(unnumberedacknowledgment).ExampleFigureExampleofconnectionanddisconnectionNextfigureshowsanexchangeusingpiggybacking.NodeAbeginstheexchangeofinformationwithan

I-framenumbered0followedbyanotherI-framenumbered1.NodeBpiggybacksitsacknowledgmentofbothframesontoanI-frameofitsown.NodeB’sfirst

I-frameisalsonumbered0[N(S)field]andcontainsa2initsN(R)field,acknowledgingthereceiptofA’sframes1and0andindicatingthatitexpectsframe2toarrivenext.NodeBtransmitsitssecondandthirdI-frames(numbered1and2)beforeacceptingfurtherframesfromnodeA.ExampleItsN(R)information,therefore,hasnotchanged:Bframes1and2indicatethatnodeBisstillexpectingA’sframe2toarrivenext.NodeAhassentallitsdata.Therefore,itcannotpiggybackanacknowledgmentontoanI-frameandsendsanS-frameinstead.TheRRcodeindicatesthatAisstillreadytoreceive.Thenumber3intheN(R)fieldtellsBthatframes0,1,and2haveallbeenacceptedandthatAisnowexpectingframenumber3.Example(continued)FigureExampleofpiggybackingwithouterrorNextfigureshowsanexchangeinwhichaframeislost.NodeBsendsthreedataframes(0,1,and2),butframe1islost.WhennodeAreceivesframe2,itdiscardsitandsendsaREJframeforframe1.NotethattheprotocolbeingusedisGo-Back-NwiththespecialuseofanREJframeasaNAKframe.TheNAKframedoestwothingshere:Itconfirmsthereceiptofframe0anddeclaresthatframe1andanyfollowingframesmustberesent.NodeB,afterreceivingtheREJframe,resendsframes1and2.NodeAacknowledgesthereceiptbysendinganRRframe(ACK)withacknowledgmentnumber3.ExampleFigureExampleofpiggybackingwitherror5.3.2PPP协议用户接入因特网的有多种方式,但它们都是通过某种接入网连接到因特网服务提供商ISP才接入因特网。

65用户至因特网已向因特网管理机构申请到一批

IP地址因特网服务提供者ISPPPP

协议接入网5.3.2PPP协议(续1)用户使用拨号电话线接入因特网时,一般都是使用PPP(Poine-to-PointProtocol)协议。在PPP协议出现之前,因特网早在1984年就开始使用一个简单的面向字符协议SLIP协议,但SLIP存在不少缺点。1992年制订了点对点协议PPP。后经修订现已成为因特网的正式标准。制订PPP协议的要求:设计简单;在帧封装、透明传输、差错检测、检测连接状态、支持多种网络层协议和多种类型链路、最大传送单元、网络层地址协商和数据压缩协商等方面也有明确的需求。但明确不再设置纠错控制、流量控制、编制序号、只支持点对点的全双工链路通信等功能。

665.3.2PPP协议(续2)PPP协议的组成①一个将IP数据报封装到串行链路的方法。它既支持异步链路,也支持面向比特的同步链路。②一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link

ConlrolProtocol)。该协议允许通信双方协商一些配置选项。③一组网络控制协议NCP。其中的每一个协议支持不同的网络层协议,如IP,OSI网络层,DECnet等。

67PPP协议简介PPP协议的定义:PPP协议提供了一种标准的方式在点对点的链路上传输多种网络层协议的数据报。PPP协议与协议栈的对应关系物理层数据链路层网络层传输层会话层表示层应用层PPP协议PPP协议的特点支持点到点的连接,不同于X.25、framerelay等数据链路层协议,具有CHAP、PAP验证协议,更好的保证了网络的安全性。PPP的物理层既支持数据为8位和无奇偶校验的异步模式,还支持面向比特位的同步链接,如framerelay必须为同步电路。PPP有针对不同网络层的网络控制协议,如IPCP,IPXCP。并且允许双方协商是否对报文首部进行压缩。PPP协议的三组件PPP协议的链路控制协议LCPPPP协议的网络控制协议NCPPPP的扩展协议(如MultilinkProtocol)PPP:AdatalinkwithnetworklayerservicesPPP组件LCP分组中的配置选项PPP帧格式Flag:01111110Address:11111111Flag:00000011PPP的数据帧格式校验标志标志地址信息域控制协议域1B1B2B缺省1500B0x7E0xFF0x031B2B1B0x7E1B=1Byte(字节)固定值5.3.3

PPP协议的帧格式PPP协议的帧格式(同HDLC)

75IP数据报1211字节12≤1500字节PPP帧先发送FACFCSF协议信息部分首部尾部标志字段F(0x7E,即二进制0111_1110)作为PPP帧的定界符,表示一帧的开始或结束。地址字段A(0xFF)表示所有的站均可接收此帧。5.3.3

PPP协议的帧格式(续1)控制字段C(0x03)表示这是一个无序号帧。协议字段(2字节)指明信息字段含有的数据属于哪一种网络层协议。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若协议字段为0xC021,则信息字段是链路控制协议LCP的数据。若协议字段为0x8021,则表示这是网络控制数据。信息字段用来存放网络层下传的数据,其长度小于1500字节。帧校验字段FCS规定使用CRC帧校验序列。

76PPP数据帧所承载的几种常见的报文协议域为2个字节,用来指明信息域中承载的协议类型。校验IP数据报文0x0021校验LCP数据报文0xC021校验NCP数据报文0x8021协议域信息域5.3.3

PPP协议的帧格式(续3)PPP协议不使用序号和确认的可靠传输机制,其理由是:在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。帧检验序列FCS字段可保证无差错接受。

785.3.3

PPP协议的帧格式(续2)透明传输的实现⑴在同步传输时,采用硬件来完成比特填充,即“零比特插入、删除”技术。⑵在异步传输时,采用一种特殊的字符填充法。将信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E)。若信息字段中出现一个0x7D的字节,则将其转变成为2

字节序列(0x7D,0x5D)。若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,起到“转义”作用,同时将该控制字符的编码加以改变。例如,ETX的代码0x03要转换为2字节序列(0x7D,0x23)。

79PPP会话建立过程PPP会话建立的3个步骤链路建立(LCP完成)验证阶段(可选,LCP完成)网路层协议连接(NCP完成)Dialupor

Circuit-Switched

Network两种PPP认证协议:PAP和CHAP5.3.4

PPP协议的状态图当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个主机。通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。

815.3.4

PPP协议的状态图(续1)

82设备之间无链路链路静止链路建立鉴别网络层协议链路打开链路终止物理链路LCP链路已鉴别的LCP链路已鉴别的LCP链路和NCP链路物理层连接建立LCP配置协商鉴别成功或无需鉴别NCP配置协商链路故障或关闭请求LCP链路终止鉴别失败LCP配置协商失败PPP状态转移图链路不可用阶段链路建立阶段验证阶段网络层协议阶段链路终止阶段失败LCP报文可选,由配置决定LCP报文通过关闭LCP协议数据报文的格式信息域协议域标识域代码域长度域数据长度域类型域数据PPP封装格式LCP数据报文的封装格式LCP数据报文中配置选项的封装格式0xC021LCP协议数据报文的分类链路配置报文用来建立和配置一条链路,主要包括Configure-Request、Configure-Ack、Configure-Nak和Configure-Reject报文链路终止报文用来终止一条链路,主要包括Terminate-Request和Terminate-Reply报文链路维护报文用来管理和调试链路,主要包括Code-Reject、Protocol-Reject、Echo-Request、Echo-Reply和Discard-Request报文链路配置报文举例假设点对点通信的一端发送了一个Config-Request报文,该报文将携带多种配置选项,具体携带哪些配置选项视应用而定。当对端正确接收到该报文后,如果接受该报文携带的所有配置选项,则回应一个Config-Ack报文。一次交互12Config-RequestConfig-Ack路由器A路由器BLCP报文中可以携带的配置选项配置参数类型内容注释0x01Maximum-Receive-Unit可以接受的最大传输单元0x03Authentication-Protocol要求对端进行验证的协议0x04Quality-Protocol传输质量监测协议0x05Magic-Number魔术字0x07Protocol-Field-Compression协议域字段压缩,两字节压缩为一个字节0x08Address-And-Control-Field-Compression地址、控制字段压缩。在PPP协议中这两个字段值不变,可以省略之链路配置报文举例假设点对点通信的一端发送了一个Config-Request报文。当对端正确接收到该报文后,如果发现某配置选项可识别,但该配置选项数据域的内容不认可,应发送一个Config-Nak报文且该报文中将携带希望的配置选项内容。当发端收到该报文后会重新发送一个Config-Request报文,相应的配置选项将改为Config-Nak报文中所希望的配置选项内容。两次交互,Nak情况链路配置报文举例两次交互,Nak情况12Config-RequestConfig-Nak路由器A路由器B34Config-RequestConfig-Ack链路配置报文举例假设点对点通信的一端发送了一个Config-Request报文。当对端正确接收到该报文后,如果发现某配置选项不识别,应发送一个Config-Reject报文,且该报文中将携带该配置选项内容。当发端收到该报文后会重新发送一个Config-Request报文,相应的配置选项将被删除。两次交互,Reject情况链路配置报文举例两次交互,Reject情况12Config-RequestConfig-Reject路由器A路由器B34Config-RequestConfig-AckConfig-RejectConfig-RequestConfig-NakConfig-RequestConfig-AckConfig-Request链路配置报文举例多次交互12路由器A路由器B3456PPP

的验证(chap和pap)

在ppp会话中验证阶段是可选的,如果要验证,那么验证将发生在第二阶段。验证分PAP和CHAP两种。PAP密码验证协议(PasswordAuthenticationProtocol)通过两次握手机制,为建立远程节点的验证提供了一个简单的方法。CHAP

挑战握手后验证协议,也叫质询握手协议(ChallengeHandAuthenticationProtocol)使用三次握手机制来启动一条链路和周期性的验证远程节点。PPP认证在PPP会话中,验证是可选的。如果需要验证,则须通信双方的路由器要交换彼此的验证信息。可以选择使用密码验证协议PAP或询问握手验证协议CHAP;在一般情况下,CHAP是首选协议。PAP认证(两次握手)用户名/密码接受/拒绝PPP封装路由器A路由器B被验证方验证方密码明文传输密码明文传输选择PPP验证协议RemoteRouter(SantaCruz)Central-SiteRouter

(HQ)Hostname:santacruzPassword:boardwalkusernamesantacruzpasswordboardwalkPAP2-WayHandshake“santacruz,boardwalk”Accept/RejectPAP认证

PAP验证双方通过两次握手完成验证过程,它是一种用于对试图登录到点对点协议服务器上的用户进行身份验证的方法。由被验证方主动发出验证请求,包含了验证的用户名和密码。由验证方验证后做出回复,通过验证或验证失败。在验证过程中用户名和密码以明文的方式在链路上传输。CHAP认证(三次握手)回应接受/拒绝PPP封装路由器A路由器B被验证方验证方挑战CHAP认证CHAP为三次握手协议CHAP认证比PAP认证更安全,因为CHAP不在线路上发送明文密码,而是发送经过摘要算法加工过的随机序列CHAP身份认证可以随时进行,包括在双方正常通信过程中。因此,非法用户就算截获并成功破解了一次密码,此密码也将在一段时间内失效。

CHAP对端系统要求很高,因为需要多次进行局份质询、响应。这需要耗费较多的CPU资源,因此只用在对安全要求很高的场合。第一步拔号者发起CHAP呼叫766-13640-1UserdialsinpppauthenticationCHAPLCP协商CHAP认证方式和MD5算法user

pass766-1 pc1user

pass3640-1 pc1第二步向拔号者发送质询信息01random3640-1idUserdialsin766-13640-11、建立质询数据包:随机数,认证名…2、将id号和随机数保存在访问服务器中;3、向呼叫方发送质询数据包;分组标识:01:质询02:质询应答03:允许PPP连接04:拒绝PPP连接用于区别多个认证过程第三步拔号者处理质询消息MD5hash01random3640-1iduser

pass3640-1 pc1Userdialsin766-13640-1拔号者处理CHAP质询数据包;1、将id号放入MD5散列生成器;2、将随机数放入MD5散列生成器;3、用访问服务器的认证名匹配口令4、将口令放入MD5散列生成器第四步拔号者向访问服务器发送质询应答0102random3640-1ididhash766-1user

pass3640-1 pc1Userdialsin766-13640-1MD5hash发送应答包给访问服务器;第五步访问服务器检查拔号者发过来的应答数据包0102random3640-1ididhash766-1user

pass766-1 pc1user

pass3640-1 pc1=?Userdialsin766-13640-1MD5hashMD5hash第六步访问服务器向

拔号者发送认证通过/失败的消息010203random3640-1ididhash766-1id“Welcomein”user

pass766-1 pc1user

pass3640-1 pc1Userdialsin766-13640-1MD5hashMD5hashPPP配置和认证总述NCP协议的分类IPCPIPXCPAppleTalkIPCP静态地址协商点对点通信设备均设置了IP地址的情况我知道了我的IP地址是路由器B路由器A我知道了我的IP地址是IPCP动态地址协商点对点通信的一方设置了IP地址,而另一方则通过协商从对端获取IP地址我知道了我的IP地址是路由器B路由器A没有配置IP地址我知道了我的IP地址是我的IP地址是这个地址不合法,用20这个地址吧PPPoE协议概述PPP协议要求进行通信的双方之间是点到点的关系,不适于广播类型的以太网和另外一些多点访问类型的网络,于是就产生了PPPoE协议(Point-to-PointProtocoloverEthernet)它不仅为使用桥接以太网接入的用户提供了一种宽带接入手段,同时还能提供方便的接入控制和计费。每个接入用户均建立一个独一无二PPP的会话。会话建立之前必须知道远端访问集中设备的MAC地址,PPPoE协议可通过发现协议获取发现阶段PPPoE协议分为发现阶段和PPP会话阶段。当主机希望开始一个PPPoE会话时,它首先要执行一个发现过程来识别对方的MAC地址,然后建立一个唯一的PPPoE会话。PPPoE协议发现机制来解决这个问题,它是基于客户/服务器模型的。由于以太网的广播特性,在这个过程中主机(客户)能发现所有的访问集中器(服务器),并选择其中一个,根据所获信息在两者之间建立点对点的连接。当一个PPP会话被建立起来之后,就完成了PPPoE的整个发现阶段。会话阶段PPPoE的会话阶段开始后,主机和访问集中器之间就依据PPP协议传送PPP数据,进行PPP的各项协商和数据传输。在这一阶段传输的数据包中必须包含在发现阶段确定的会话标识并保持不变。正常情况下,会话阶段的结束是由PPP协议控制完成的,但在PPPoE中定义了一个PADT包用来结束会话,主机或者访问集中器可以在PPP会话开始后的任何时候通过发送这个数据包来结束会话。PPPoE的帧格式(一)以太网帧格式帧类型域(2字节)目的MAC地址(6字节)源MAC地址(6字节)净荷载帧校验(4字节)以太网广播地址PPPoE发现阶段的以太网帧格式PPPoE会话阶段的以太网帧格式以太网单播地址主机以太网地址主机以太网地址0x88630x8864数据区数据区数据帧校验数据帧校验PPPoE的帧格式(二)

发现阶段承载一些标记会话阶段承载PPP数据报文PPPoE的报文格式版本4b类型4b代码8bit会话ID16bit长度16bit净载荷跟在以太网帧类型域字段后面的就是PPPoE报文的具体内容PPPoE的帧格式(三)发现阶段承载的标记标记类型16bit标记值标记长度16bit跟在PPPoE长度字段后面的就是各种标记,采用TLV编码方式标记类型含义标记类型含义0x0000End-of-list0x0105Verdor-Specific0x0101Service-Name0x0110Relay-Session-ID0x0102AC-Name0x0201Service-Name-Error0x0103Host-Uniq0x0202AC-System-Error0x0104AC-Cookie0x0203Generic-ErrorPPPoE发现阶段数据报文分类PADI(PPPoE发现初始报文)PADO(PPPoE发现提供报文)PADR(PPPoE发现请求报文)PADS(PPPoE发现会话确认报文)PADT(PPPoE发现终止报文)0x090x070x190x650xa7PPPoE报文的代码字段的值PADI报文报文的目标MAC地址为广播地址,源地址为主机的以太网地址。ETHER_TYPE值为0x8863,代码为0x09,SESSION-ID为0x0000。TAG_TYPE:有且仅有一个Service-Name,表明主机请求的服务。可以包含任何数量的其他TAG_TYPE。以太网PADO报文报文的目标MAC地址为该主机的以太网地址。源地址为接入集中器的以太网地址。ETHER_TYPE值为0x8863,代码为0x07,SESSION-ID为0x0000。TAG_TYPE:必须有一个含有接入集中器名字的AC-Name标记;必须有一个与收到的PADI相同的Service-Name标记。以太网PADR报文报文的目标MAC地址为接入集中器的以太网地址,源地址为主机的以太网地址。ETHER_TYPE值为0x8863,代码为0x19,SESSION-ID为0x0000。TAG_TYPE:必须有一个类型为Service-Name的标记向集中器指明请求的服务,可以有任意数量的其他标记。以太网PADS报文报文的目标MAC地址为该主机的以太网地址,源地址为接入集中器的以太网地址。ETHER_TYPE值为0x8863,代码为0x65,SESSION-ID为集中器指定的唯一标识一个PPPoE会话的值。TAG_TYPE:包含一个类型为Service-Name的标记,表明集中器提供给这个会话的服务,可以包含任意数量的其他标记。以太网PADT报文这个PPPoE报文可以在会话建立之后的任何时间由主机或接入集中器发出。目的MAC地址为单一的以太网地址。ETHER_TYPE值为0x8863,代码为0xa7,SESSION-ID为要终止的会话的SESSION-ID。不要求有标记。会话阶段的PPPoE数据报文格式PPPoE会话建立之后,主机与接入集中器之间就开始依据PPP协议传送PPP数据,所有的以太网帧都是单播地址。此时,ETHER_TYPE值为0x8864,代码为0x00。SESSION-ID在整个会话过程中保持不变。PPPoE净载荷域里包含一个无标志、地址、控制域的PPP数据报文。帧类型域(2字节)目的MAC地址(6字节)源MAC地址(6字节)PPP净荷载版本=0x1类型=0x1代码=0x00会话ID=0x0001长度(2字节)PPP协议域=0xc021PPPoE协议数据包中承载PPP的LCP报文小结(一)PPP协议的三组件包括PPP扩展协议、LCP协议和NCP协议PPP协议通过LCP协议完成数据链路的配置和测试PPP协议通过NCP协议完成点对点通信设备之间网络层通信所需参数的配置PAP认证是二次握手,它直接在网络上传送明文的用户名和密码CHAP认证是三次握手,它只在网络上传送验证方和被验证方的主机名,比PAP更安全小结(二)PPPoE协议包括发现阶段和会话阶段PPPoE的数据报文是承载在以太网的数据域中进行传送的PPPoE的发现阶段会用到PADI、PADO、PADR和PADS这四种报文PPPoE中的PADT报文是用来终止一个会话的PPPoE在发现阶段时,以太网协议域的值为0x8863PPPoE在会话阶段时,以太网协议域的值为0x8864第5

章:内容提纲5.1数据链路层概述5.2点对点信道的三个基本问题5.3点对点信道的数据链路层协议5.4广播信道的数据链路层5.5IEEE802标准

127

5.4广播信道的数据链路层

5.4.1局域网概述广播信道使用一对多的通信方式,不同于点对点通信,其典型应用是局域网。局域网使用一对多通信方式的广播信道。局域网是指在较小地理区域范围内,将计算机、数据通信设备通过通信线路互连在一起的通信网络。局域网的特点:覆盖的地域范围较小,一般在10km以内;通信速率较高,可达10~100Mb/s,最高可达Gb/s级;通信时延小,通信误码率低,一般在10-8~10-11;通信方式灵活,既可单播,也可多播和广播;便于系统安装、扩展和维护;性能价格比较高。

1285.4.1局域网概述(续1)局域网的分类按拓扑结构

129(b)环形(a)星形中心结点(集线器)干线耦合器(d)树形匹配电阻(c)总线形5.4.1局域网概述(续2)局域网的传输媒体双绞线同轴电缆光纤局域网的技术性能主要取决于拓扑结构、传输媒体和信道访问控制方式。以太网局域网市场中已占绝对优势,因此以太网已成为局域网的同义词。局域网的应用范围很广,已应用于各个领域。尤其是宽带局域网更具有广阔的应用前景。

1305.4.2局域网的体系结构

131以OSI模型的观点,局域网是一个计算机通信网,它只具有最低的三个层次。物理层涉及具体的物理连接以及在物理媒体上比特流的透明传送。数据链路层须具有接入多种传输媒体的访问控制方法,因此被划分成两个子层,即媒体接入控制MAC子层和逻辑链路控制LLC子层。由于因特网TCP/IP体系使用的是DIXEthernetV2标准,因此现已不再考虑LLC子层。

5.4.2局域网的体系结构(续3)1、MAC子层的地址MAC子层地址,简称为MAC地址,也称为物理地址或者硬件地址,是局域网上每一个主机上所安装的网卡的编号或者标识符,是固化在网卡的ROM中的。MAC地址一共48个比特,下面是一个例子

1325.4.2局域网的体系结构(续4)IEEE802规定:地址字段第一字节的最低位I/G位是单播/多播位。I/G=0表示单站地址,I/G=1表示组地址。地址字段第一字节的次低位G/L位是全球/局部位。G/L=0表示全球管理,G/L表示局部管理。

133Globle:0;Local:1MAC广播地址是一种特殊的多播地址,所有比特均为1。以太网上的所有主机都会接收目的地址为广播地址的帧。NoteDefinethetypeofthefollowingdestinationaddresses:a.4A:30:10:21:10:1Ab.47:20:1B:2E:08:EEc.FF:FF:FF:FF:FF:FFSolutionTofindthetypeoftheaddress,weneedtolookatthesecondhexadecimaldigitfromtheleft.Ifitiseven,theaddressisunicast.Ifitisodd,theaddressismulticast.IfalldigitsareF’s,theaddressisbroadcast.Therefore,wehavethefollowing:a.ThisisaunicastaddressbecauseAinbinaryis1010.b.Thisisamulticastaddressbecause7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论