计算机网络必考之PPP协议和LCP协议运作解读

PPP协议工作状态:

00984f43e1a7430ea813fc56f4dd47ba.jpg

工欲善其事必先利其器,前天的文章,介绍了PPP协议组成与特点,(没有印象或忘记的朋友可以关注本号去历史文章看看),下面解读一下PPP协议的具体实现:

424ce6ecfe634eecbbe87948a18d113f.png

如上图所示

(1) 首先是物理层连接的建立,当用户通过调制解调器呼叫路由器时,路由器检测到调制解调器发出的载波信号,由此双方建立了物理连接,

即用户端到ISP(Internet server provider互联网服务提供者)建立了物理连接。

(2)LCP(link control protocol)链路控制协议,是专门用来建立,配置和测试数据链路链接的;

接下来进入链路建立状态,建立链路层的LCP连接,如何建立连接呢?用户端向ISP发送LCP分组(封装成PPP帧),向其发送LCP的配置请求帧(configure-request),链路另一端发送的回应有以下几种帧;

配置确认帧(configure-ack):所有选项都接受。

配置否认帧(configure-nak):所有选项都理解但不接受。

配置拒绝帧(configure-nak):选项有的无法识别需要协商。

27f9cfe7cbe44e78996b0df34bf8b76d.jpg

 

这里提到的配置选项包括链路上的最大帧长,如果需要鉴别的话,还包括所使用的鉴别协议(authenticate protocol)的规约, 还有不使用PPP帧的地址和控制字段,因为该字段是固定的,可以省略。

(3)接下来进入鉴别状态:

该状态下只允许传送LCP协议的分组,鉴别协议的分组和监测链路质量的分组通过。如果使用口令鉴别协议,需要用户端的口令(即密码)和身份标识符(类似账号),核实身份成功后则鉴别成功,鉴别失败进入链路终止状态。

(3)接下来进入网络层协议状态,PPP链路两端的网络控制协议NCP根据网络层的不同协议互相网络控制分组,因为PPP协议两端的网络层可以运行不同的网络协议,依然使用同一个PPP协议通信。如果PPP链路运行的是IP协议,那么对链路的每一端配置IP协议模块时使用到NCP中支持IP的协议-IP控制协议IPCP(IP control protocol);

45a8bbed9cac4a8f967972aab3b3c72f.jpg

 

(4)网络层配置好后进入链路打开(link open)状态,链路的两个PPP端点可以向彼此发送分组了。还可以互相发送回送请求(echo-request)分组和回送回答分组(echo-reply),用来检查链路状态。

数据链路层使用广播信道,即所有计算机都可以检测到发送的数据。

局域网按拓扑结构分类:

星形网,环形网,

总线网:各主机直接相连在一条总线上,总线两端的匹配电阻吸收总线上传播的电磁波信号的能量,避免产生有害的电磁波辐射。

共享信道技术

e023e7a8f363437caeb4d0cf2d5d87ae.jpg

 

(1)静态划分信道:之前提到过的频分复用,时分复用,波分复用,码分复用等。

(2)动态媒体接入控制:又叫做多点接入(multiple access),信道并不是在用户通信时固定分配给用户,而是不固定的,分为下列两类:

随机接入:所有用户可以随机发送信息;但当发生同一时刻不止一个用户发送消息时,就会发生碰撞。

受控接入:用户不能随机发送信息,必须受到一定的控制,比如在令牌环局域网中使用轮询的方式,即每间隔一段时间用户才有机会发送消息。

适配器的介绍:

513611ea5ad84466b9c4fbd0b2eaa404.jpg

 

(1) 适配器的作用:又叫网络接口卡NIC(Network interface card),简称网卡,实现了物理层和网络层这两层的功能。

(2)适配器和计算机之间通信是并行方式进行,适配器和局域网之间通信是串行方式进行。因此适配器最重要的一项功能是数据串行传输和并行传输的转换。

(3)并且由于适配器两端通信链路介质不同,数据传输速率不同,因此网卡要有一个缓存,以临时存放等待发送的数据。

(4)每个适配器工作是双向的,既可以发送消息又可以接收消息。每个适配器都有自己特定的地址,且该地址存放在适配器的RPM存储器中,适配器也有RAM存储器,只有当数据帧的目的地址与适配器ROM的硬件地址一致时,适配器才接收这个帧,否则丢弃。

f84bc162f7054daabc31766fe0b69ceb.png

CSMA/CD协议即载波监听多点接入碰撞检测(csrrier sense multiple access with collision detection)

就是为了解决前面提到的碰撞问题而产生的。

多点接入:总线型网络,计算机以多点接入的方式相连。

载波监听:每个站在发送数据前或者在发送数据中,都要不停的检测信道,看是否有其它数据正在发送。发送之前检测是为了避免冲突。发送中检测是为了碰撞检测。检测到有其他数据正在发送时,就中断本站数据发送。

4b90cf67dd4f4245bf5cbbc81e77dbb4.jpg

碰撞检测,也叫冲突检测,实际上在检测信道上的信号电压变化情况。当两个及以上站发送数据,总线上信号电压变化幅度会很大。

既然一开始都是检测到信道空闲再发送,为啥还会有碰撞产生,因为发送过程中存在时延。

电磁波再1KM电缆上传播时延大约是5us,因此假设a和b相距1KM,a一端发送到的数据要经过5us才能传到b.假设a向b发送帧后,在该帧到达b之前,b又发送自己的帧(因为发送时b的载波监听检测不到a发送的帧),则之后某个时刻必然发生碰撞。

发送帧以后最多经过2倍的端到端时延就可以得知是否发生碰撞。

该协议用于半双工通信(双向交替通信,即某时刻只能有一个发送或接收方占用)

c0ff6ea592d34b50b11f9ea731f8d0b3.png

就是极限情况,假设a发出的信号几乎快碰到b瞬间,b此时恰好发出来信号,那么b很快检测到碰撞,停止发送后续信号,而a检测到碰撞需要等到b发出的信号几乎接近a时才行。当a送到b的信号与a发送信号时刻间隔接近0,则认为a发出信号后经过端到端往返时延才能检测到碰撞。

将端到端往返时延定义为争用期(contention period),又叫做碰撞窗口期(collision window),一个站发送完数据后,只有在争用期没有检测到碰撞,才能肯定这次发送不会再有碰撞。

对于碰撞发生之后,该过多久重传呢?

采用截断二进制指数退避(truncated binary exponential backof)算法确认。

即停止发送数据后,不是等信道后再立即重传,而是退避一个随机时间。

基本退避时间为争用期2a;

 

 

 

  • 19
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值