计算机网络3_数据链路层(1)点对点信道
2022/4/15 6:16:31
本文主要是介绍计算机网络3_数据链路层(1)点对点信道,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
因为书本上的知识太过于枯燥,所以在学习的时候希望多多使用到Packet Tracer以及Wire Shark工具加深理解。
1.简介
数据链路层在物理层之上,属于计算机网络的低层,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。
使用的信道主要为:
1) 点对点信道:使用点对点通信方式
2) 广播信道:信道上连接许多主机组成局域网,需要使用专用的协议来进行协调。
部分概念说明:
1)数据链路(data link):在一条物理线路上添加必要的通信协议来控制数据的传输(包括硬件和软件),常用网络适配器(网卡)实现。
2)帧:数据链路层的协议数据单元。
2. 点对点信道
2.1通信主要步骤
①A把网络层的IP数据报添加首部、尾部封装成帧
②A将帧发送到B数据链路层
③B检查,无差错则上报网络层
2.2基本问题
根据以上的步骤,主要有封装成帧,透明传输,差错检测三问题。
①封装成帧
帧 = 首部 + IP数据报(来源于网络层) + 尾部
MTU(Maximum Transfer Unit):数据部分的最长长度
②透明传输
“透明”很生动,就是说不管传什么数据,都不受限制。
为什么会受到限制?比如说传输的数据有一部分跟帧首部一模一样,那么就分不清哪里是首部了,传输的数据就会受到影响,所以说需要想办法解决这个问题。
③差错检测
衡量标准:BER(Bit Error Rate) = 传输错误比特 / 总比特
解决方案:CRC(Cyclic Redundancy Check)
2.3点对点协议PPP(Point-to-Point Protocol)
1) 组成部分
①封装帧。将IP数据报封装到串行链路的方法
②链路控制协议LCP(Link Control Protocol)。建立、配置、测试数据链路
③网络控制协议NCP(Network Control Protocol)。
2)帧
①内容
F(Flag),01111110:标志帧的开始
A,C:暂无定义。11111111 00000011
协议:LCP:00000000 00100001
NCP:11000000 00100001
FCS:CRC的帧检测序列
②实现透明传输
定义好了帧格式,需要解决透明传输问题,不然信息与定义的字段一致就乱起来了。那么PPP协议怎么解决的呢?有俩方法。
- 法①:字节填充,用于异步传输(逐个字符传送)
F(Flag) = 01111110,设计转义符01111101,这里就简写为\F吧
原数据 | 新数据 |
F(01111110) | \F + F 即 01111101011111110 |
\F | \F + 01011101 |
小于00100000的ASCII字符 | 前面填充\F |
接收方进行反变换后即可回复信息
- 法②:零比特填充,用于同步传输(一连串连续传送)
原数据 | 新数据 |
11111 | 111110 |
每有5个1就填0,就不会出现与F相同的字段
3)工作状态
step1:用户拨号接入ISP(Internet Service Provider)
step2:PC向ISP发送LCP分组,NCP为PC分配IP地址,建立连接
2.4 Packet Tracer模拟
请参见本文使用思科Packet tracer软件模拟PPP协议
Router2发送给下一个Router的为PPP协议帧,截获后发现格式与前述一致。
这篇关于计算机网络3_数据链路层(1)点对点信道的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器