深入理解计算机网络—6数据链路层2

广域网中,数据链路层常见的协议可分为:

1.“面向字符”的链路层协议:也称“字符填充的首位定界符法”,数据帧中的数据都被看做字符序列,所有的控制信息也都是字符形式(当然数据的表示形式还是二进制的比特流),每个数据块的头部用一个或多个同步字符SYN来标记数据块的开始,尾部用字符ETX来标记数据的结束。转义字符位DLE(Data Link Escape)

如:IBM BSC(Binary Synchronous Communication,二进制同步通信)、PPP(Point to Point Protocal,点对点协议)

2.“面向比特”的链路层协议:数据块作为比特流来处理(而不是作为字符流来处理)。传输中,每个数据块的头部和尾部都用一个特殊的比特序列(如01111110)来标记数据块的开始和结束。如局域网中所采用的传输方式都是面向比特流的同步传输方式。

如SDLC/HDLC(High-level Data Link Control高级数据链路控制,一个在同步网上传输数据、面向比特的数据链路层协议,改进SDLC而来)

HDLC规定了3中链路结构

主站点:控制作用,发送命令帧

从站点:受主站点控制,接收命令帧,发送响应帧

复合站点:同时具备主、从站点功能

标志字段:标识帧的开始和结束,如01111110,数据中可能与“标志”字段相同的码,采取比特填充技术解决:信号码中连续5个“1”插入1个“0”.

地址字段:表明帧来自于主站点还是从站点。不平衡方式,写入从站点地址;平衡方式,写入响应站地址。

控制字段:用来实现HDLC协议的各种控制信息,并标识是否是数据(因为它可以标识不同的帧类型)

信息帧I,information,用于用户数据传输,包含“信息”字段

监控帧S,Supervisory,用于监视和控制数据链路,完成I帧的接收确认、重发请求、暂停发送请求等功能

无编号帧U,Unnumbered,用于数据链路的控制,不带编号,可以在任何需要的时刻发出,而不影响带编号的信息帧的交换顺序。可分为命令帧C和响应帧R

N(S)代表所发送的帧的编号;N(R)代表下次从对端接收的帧编号,标识在此编号前的所有帧本段已真确接收;S定义S帧的编码;M定义U帧中的命令功能和应答功能;P/F(Poll/Final,查询/结束)位,主站发的帧该位为1标识要求被查询的从站做出响应,从站发的帧为1标识从站响应完毕。

FCS字段:帧校验序列。可使用16位的CRC校验

面向字符的PPP同步传输协议

PPP(point-to-point protocol,点对点协议)一种应用广泛的广域网数据链路协议。

如 Modem\ADSL Modem\PPPoE(底层协议也是PPP协议)\路由器设备间的Serial口\SDH(同步数据系列)

PPP协议的特性:

1.速率远高于SLIP(Serial Line Internet Protocol,串行线路网际协议),达128kb/s

2.提供了“协议”(封装IP/IPX协议包)和“FCS”字段

3.提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。通过以下几个协议来完成:

链路控制协议(Link Control Protocol,LCP):用于建立、配置、测试和管理数据链路连接;

网络控制协议(Network Control Protocol,NCP):协商该链路所传输的数据包格式与类型,建立、配置不同的网络层协议;

口令认证协议(Password Authentication Protocol,PAP)和质询握手认证协议(Challenge-Handshake Authentication Protocol,CHAP):为PPP连接提供用户认证功能,可以确保PPP连接的安全性。

PPP帧结构:

1.标志Flag:标识帧的起始或结束,如01111110(0x7E)

2.地址Address:标识对方节点之地,因PPP是点对点通信协议,对方节点是明确地,故此字段无意义;

3.控制control:因PPP本身是可靠的点对点数据链路层通信协议,无需提供可靠的链路连接服务,所以PPP只有一种帧类型,UI(无编号信息)帧。该字段无实际意义。

4.协议protocol:与HDLC最大的区别是PPP有该协议字段,HDLC没有,指出在“信息”字段中封装的上层协议数据类型。因为它除了可以封装IP协议之外,还可封装其他多种网络层协议,如IPX(0x0021)\AppleTalk等。但这里不仅指网络层协议,还指与PPP协议同样在数据链路层,但是其内部的层次高于PPP的其他协议,如LCP(0xC021)\NCP(0x8021)\PAP(0xC023)\CHAP(0xC223)子协议。

在体系结构中的每一层包括了许多通信协议,但一些层次中的这些协议在本层内部又有层次高低之分,而且高层次的协议报文必须经由低层的协议封装。如LCP\NCP\PAP\CHAP与PPP协议都同在数据链路层中,但它们在数据链路层内部的层次是高于PPP协议,所以它们的报文在发送端必须经过PPP协议封装。

网络层、传输层同样存在这种情况。如ICMP\IGMP等协议与IP协议同处于网络层,但在网络层内部这些协议的层次又高于IP协议,所以ICMP\IGMP等协议报文需要经过IP协议封装。但同处于网络层的ARP协议,因为它在网络层中的层次比IP协议低,所以ARP报文是不需要经过IP协议封装的。

5.信息Information:来自上层协议,默认1500字节

6.帧校验序列FCS:16比特CRC”信息“字段校验和。

PPP帧的透明传输

转义字符:0x7D。如信息字段中出现一个0x7E(起始结束标识01111110),则转变为(0x7D,0x5E);如果出现0x7d则转变为2字节序列(0x7D,0x5D);如果出现ASCII码的控制字符,则在字符前加入一个0x7D字节。

PPP链路管理

1.LCP协商:请求连接打开PPP物理接口,然后进行LCP协商:包括工作方式(单PPP通信SP还是多PPP通信MP)、认证方式、链路最大传输单元MTU;

2.协商后进入Establish阶段,建立数据链路。如果PPP接口上没有配置身份认证,并且PPP连接建立成功,则在链路建立成功后保持LCP为激活状态。如果PPP连接建立不成功,则关闭LCP子协议,关闭PPP接口。

3.如果配置了认证,则需要进入Authenticate阶段,对用户进行身份认证。此时必须保持链路两端接口均配置了相同的PPP认证方式,否则认证失败,关闭LCP子协议,关闭PPP接口。

4.如果认证成功则进入Network阶段,使用封装了NCP的PPP帧与对应网络层协议协商,主要协商网络层地址。协商成功就最终建立PPP连接,否则先关闭NCP协议,再关闭LCP协议,最终关闭PPP接口。

5.数据传输,直到用户拆除了原来建立PPP链路,进入到Terminate阶段。

链路的拆除与建立过程是相反的。

PPPPAP/CHAP身份认证:

PAP身份认证:

一个二次握手机制,两个步骤:

1.被认证方(客户端)发送认证请求;

2.认证方(PPP服务器)给出认证结果。但是它是以明文方式传输认证用户名和密码,所以安全性不高。

注意:若第一次认证失败,并不会马上关闭链路,而是会提示重新认证,指导达到一定次数限制阈值。

CHAP身份认证:

三次握手协议,步骤:

1.认证方(PPP服务器)要求被认证方(客户端)提供认证信息

2.被认证方提供认证信息

3.认证方给出认证结果

网桥

二层交换设备,主要用来连接不同网段的计算机网络设备,它可以隔离冲突域,因为它的两个端口在设备背板中分别由一条独立的交换信道,比集线器hub性能更好(集线器上各端口都是共享同一条背板信道的)。

广播域:

一个广播数据包所能传播的范围,是针对三层IP网段的概念。

每一个自然网段或者一个子网都有一个特定的广播IP地址,这个IP地址代表了发自该网段或子网的IP数据包只能在本网段或子网内传播,不能逾越。即一个网段或子网就是一个广播域。

对于中继器、集线器和二层交换机,因为它们只能实现在同一网段或子网的设备连接,所有它们所连接的设备就同属于一个广播域。而对于三层设备(如三层交换机、路由器、网关)来说,因为它们的每个接口可以配置不同网段的IP地址连接不同网段的设备,所以它们的每个三层接口所连接的都是一个独立的广播域。

冲突域

针对物理层的传输介质访问冲突而言的,即凡是同一时间可能形成介质访问冲突的访问就是一个冲突域。因为在同一条信道中,可能同时有两个方向,或者多路信号在传输,结果造成访问冲突。传输介质访问冲突控制是由数据链路层的MAC子层来实现的。

在物理层设备(如中继器、集线器)中,由于在设备内部的背板中只有一条传输信道,所以各端口连接的设备在进行通信时都是贡献这一条信道,整台设备所连接的网络都属于同一个冲突域,冲突概率比较达。

对于数据链路层设备(如网桥、二层交换机),由于在设备内部背板上有一个信道矩阵,所以不同端口所连接的设备间通信在背板上不存在冲突。但还是有可能存在介质访问冲突,因为对于每一条传输介质,可能因为同时存在双向的数据传输而造成访问冲突,但冲突域明显比物理层设备小,每一个设备端口所连接的那条电脑就是一个冲突域,冲突的概率小很多。

交换机与集线器的区别

1.工作层次不同

集线器在1层,交换机可以是2层或2层以上

2.数据传输方式不同

集线器是多次复制方式的广播传输,而交换机是有目的的,数据只对目的节点发送,只有在自己的MAC地址表中找不到的情况下第一次用FF-FF-FF-FF-FF-FF作为目的MAC地址进行”泛洪“广播式传输。所以交换机传输效率和信道利用率要远高于集线器,集线器容易产生”广播风暴“

3.背板信道占用方式不同

集线器的所有端口是共享集线器背板中的一条信道带宽,而交换机的每个端口的收、发都有独享的背板信道带宽,属于”交换“方式。

4.数据通信方式不同

集线器因为是所有端口共享一条背板信道,所有只能采用半双工方式传输,同一时间,要么是接收数据,要么是发送数据。而交换机中各端口的信道是采用矩阵交换方式,可以同时进行数据交换,也就是进行全双工数据传输。

数据在计算机网络中转发路径的建立就是依靠:交换机上的MAC地址表、主机上的ARP映射表

交换机上的MAC地址表:包括MAC地址、出接口(学习到对应MAC地址的如接口)、VLAN ID(仅在VLAN环境中存在);

主机上的ARP映射表:IP地址、MAC地址、出接口(网卡)

三层交换中在交换机上则需要同时建立二层MAC地址表(用于在同一局域网内部的数据转发)和三层的ARP映射表(用于在不同IP网段之间的数据转发).

 

二层交换原理:

1.在未知目的端MAC地址时,源主机发送一个ARP广播包(目的MAC地址为广播MAC地址),以获取目的端的MAC地址;

2.二层交换机在收到ARP广播帧后,根据帧中的源MAC地址、接收该帧的交换机端口、该端口所属的VLAN建立基于源主机的MAC地址表项目,然后从除了源端口外的其他端口一级级地泛洪该ARP广播帧,直到直接连接目的主机的交换机。

3.IP与ARP广播帧中的目的IP地相同的主机会接收此广播帧,并建立基于源主机的ARP映射表项,然后向源主机返回一个单播ARP响应包。

4.二层交换机收到目的主机发来的响应包后,根据帧中的源MAC地址、接收该响应ARP帧的交换机端口、该端口所属的VLAN建立基于目的主机的MAC地址表项,同时根据原来已建立好的基于源主机的MAC地址表项一级级地单薄传送ARP响应帧,知道直接连接源主机的交换机。

5.源主机收到来自目的主机的ARP响应包后,建立基于目的主机的ARP映射表项

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值