七层模型之物理层&数据链路层

本文详细介绍了网络通信中的物理层和数字链路层的概念及其作用。涵盖了物理层的规定、信号转换及复用技术等内容,并深入解析了数字链路层的封装、透明传输及差错检测原理。此外,还对比了点对点协议PPP与CSMA/CD协议的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

物理层

   物理层是对传输媒介的一些规定,包括通信的信号转换(模拟信号,数字信号等信号转换调频,调相,调幅等),以及信道的通过频率,信噪比,信道复用技术(频分复用,码分复用,时分复用,实际上就是采用不同的策略来通过复用器来共享信道进行通信),还有一些物理传输媒介,比如双绞线,同轴电缆等。
  

数字链路层

   数字链路层实际的功能就是封装成帧,透明传输以及差错检测。由发送端的数据链路层将网络层的IP数据报添加头部和尾部,封装成帧,之后经过一系列路由,在经过路由时,传输实际上是先传到发送端的物理层,再传输到路由的物理层,再到路由的数据链路层,进行去头去尾的工作,并进行差错检测,如果错误,则丢弃,否则传输给上层的网络层,进行路由表查询,找到下一跳,再进行封装,向下传输,直到到达目标应用程序。
   封装成帧是说在数据链路层将上层(网络层)的ip数据报加上头部和尾部信息,构成一个帧,从而进行传输并且表示帧的开始和结束。
   SOH或者EOT是帧定界控制字符。
   透明传输的意思就是说传输的数据中可能会出现SOH或者EOT这样的字符而被错误的解释成为帧定界符而造成数据传输错误或丢失,所以解决透明传输的方法是:在发送端的该字符前加上转移字符“ESC”(占1个字节),在接收端的数据链路层在将该数据送往网络层之前删除这个插入的转义字符,这种方法称为字节填充或者字符填充
   差错检测:比特差错是指在传输过程中可能会产生0变1,1变0。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率。在数据链路层广泛使用了循环冗余校验CRC的检错技术。值得一提的是帧检验序列FCS与其并不是同一个概念。CRC是一种检错方法,而FCS是添加在数据后面的冗余码。在数据链路层进行差错检验时,必须将数据划分为帧。每一帧都加上冗余码,一帧一帧的传送,然后在接收方进行差错检验。但如果仅仅使用这种检验技术,那么只能做到对帧的无差错接收。传输差错不仅有比特差错,还有帧重复以及帧丢失。仅仅做到无比特差错是远远不够的,不是可靠传输,可靠传输是发送方发送什么,接收方完整无误地接收什么,因此在CRC检错基础上,加了帧编号,确认和重传机制。收到正确的帧就要向发送方发送确认。但由于硬件质量提高,所以只需要让上层协议去完成改正差错的任务。
   数字链路层的协议有点对点协议PPP以及能实现可靠传输的高级数据链路控制HDLC
   PPP协议是点对点信道上所使用的协议,属于广域网范畴;而MAC协议是共享信道上的局域网相关的协议。

(1) 使用点对点信道的数据链路层

1.PPP协议简述
  ppp协议就是用户计算机和ISP(因特网服务提供者,用户计算机通过ISP连接到因特网上)进行通信时所使用的数据链路层协议。
  它提供的是不可靠的数据报服务,其没有纠错机制,接收方每收到一帧,就进行CRC检验,正确则收下此帧,否则丢弃,其他什么也不做。它能够在同一条物理链路上同时支持多种网络层协议的运行,同时能够在多种类型的链路上运行。 PPPoE就是PPP能够适应多种类型链路的一个典型例子,它是为带宽上网的主机使用的链路层协议。此协议就是将PPP帧再封装在以太网帧中。此外,PPP协议有检测连接状态的功能,并且对每一种类型的点对点链路设置最大传送单元MTU的标准默认值,如果分组长度(这里指纯数据部分的长度)超过该值,就丢弃这样的帧。PPP协议还提供一种机制使得通信的两个网络层的实体能够配置彼此的网络层地址,以及数据压缩协商(一种用来协商使用数据压缩算法的方法)。
  PPP协议并不需要纠错,流量控制以及使用帧的序号,且不支持多点线路(即一个主站轮流和链路上的多个从站进行通信,只支持点对点通信),不支持半双工或者单工链路,只支持全双工链路
2.PPP协议帧格式
 (1) 帧的首部和尾部分别有四个字段和两个字段,其中首部四个字段分别为占1字节的F(尾部最后一个字段也是一样的,规定为0x7E,标志帧的开始或结束),首部第二个字段为占1个字节的A(规定为0xFF),首部第三个字段为1个字节的C(规定为0x03),首部第四个字段为占两字节的协议,这个协议字段为0x0021时,ppp帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制协议LCP的数据,而0x8021表示这是网络层的控制数据;尾部第一个字段为占2个字节的FCS(帧校验序列),中间信息部分为不超过1500字节的可变长度的IP数据报。
3.零比特填充(位填充)
  只要发现连续的5个1,就立即填充一个0,在接收端在收到一个帧时,先找到界定帧,之后再用硬件对其中的比特流进行扫描,每发现5个连续的1,就将后面的0去掉。以还原成原来的信息比特流,这样来保证透明传输。
4.ppp协议工作状态
  ppp链路的起始和终止状态都是“链路静止”状态,此时用户PC机和ISP的路由器之间并不存在物理层的连接。
  当用户PC机通过解调器呼叫路由器时(通常时用鼠标在屏幕上点击一个连接按钮),路由器能够检测到调制解调器发出的载波信号。在双方建立了物理层连接之后,ppp就进入了“链路建立”状态,其目的是建立链路层的LCP连接。
  这时LCP开始协商一些配置选项,即发送LCP的配置请求帧,这是个PPP帧,其协议字段就是LCP对应的代码,而信息字段包含特定的配置请求,链路的另一端可以发送包括配置确认帧(所有选项都接收),配置否认帧(所有选项都理解但不接收)以及配置拒绝帧(选项有的无法识别或不能接受,需要协商)这几种响应。
  协商之后就进入了“鉴别”状态,1用来鉴别通信一方的身份标志符和口令,若鉴别失败,就进入到“链路终止”状态。若鉴别成功,就进入了“网络层协议”状态。
  在“网络层协议”状态,PPP链路两端的网络控制协议NCP根据网络层的不同协议互相交换网络层特定的网络控制分组,因为现在的路由器都能够有同时支持多种网络层协议。
  在进行了NCP配置协商之后就进入了“链路打开”状态,链路的两个PPP端点可以彼此向对方发送分组,还可以发送回送请求LCP分组和回送回答LCP分组,以检查链路的状态。
  数据传输结束后,可以由链路的一端发出终止请求LCP分组请求终止链路连接,在收到对方的终止确认的LCP分组后,转到“链路终止”状态。如果链路出现故障,会从“链路打开”状态转到“链路终止”状态,当调制解调器的载波停止之后,就回到了“链路静止”状态。
  其实由此可以看出,PPP协议不仅仅只是链路层协议,还包括了物理层和网络层的内容。

(2) 使用广播信道的数据链路层

1.CSMA/CD协议
  以太网使用的是广播信道,每个适配器的ROM中计算机的硬件地址都不一样,当数据帧的目标地址与计算机适配器中的地址不匹配时,丢弃该数据帧,如果匹配,就接收该数据帧,使之实现一对一的通信。
  那么一个重要的问题就是如何协调总线上各计算机的工作。
  适配器也就是网卡,ROM保存计算机的硬件地址,计算机的IP地址也就是计算机的软件地址保存在计算机的存储器中,CPU和存储器并行生成发送数据,并通过主板上的IO总线以并行方式发送给适配器(网卡),适配器将数据组装成帧,串行地发送到局域网中,当适配器在收到来自局域网中正确的帧时,它就使用中断来通知计算机并交付给协议栈中的网络层。
  以太网协调的办法就是使用一种特殊的协议CSMA/CD,它是载波侦听多点接入/冲突检测的缩写。
  载波侦听就是发送前监听,每一个站在发送数据之前先检测一下总线上是否有其他站在发送数据,如果有,暂时先不发送数据,等信道变空闲时再发送。多点接入就是说明这时总线型网络,许多计算机以多点接入的方式连接在一根总线上。冲突检测的意思就是说边发送边监听,适配器边发送数据边检测信道上的信号电压的变化情况,以便判断自己在发送数据时是否有其他站也在发送数据。当检测到的信号超过一定门限值,就说明至少有两个站在总线上发送数据,就产生了冲突。一旦出现冲突,适配器就立即停止发送,等待一段随机时间后再次发送。
  使用CSMA/CD协议的以太网是半双工通信

(3) 使用广播信道的以太网

1.MAC层
  MAC层的硬件地址固化在适配器的ROM中,一个主机或者路由器可以对应多个适配器,也就是多个硬件或者物理地址(名字)。
  MAC帧的格式:
  由5个字段构成,前两个字段分别为6个字节长的目的地址和源地址字段,第三个字段是2个字节的类型字段,用来标志上一层是什么协议,以便把收到的MAC帧的数据交给上一层的这个协议,第四个字段是数据字段,其长度在46到1500字节之间,最后一个字段是4字节的帧检验序列FCS。
  在以太网上传送数据时是以帧为单位进行传送,且各帧之间必须由一定的空隙,因此,接收端只要找到帧开始界定符,其后面的连续到达的比特流就是属于同一个MAC帧。所以,以太网不需要使用帧的结束定界符,也不需要使用字节插入来保证透明传输。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值