我是靠谱客的博主 壮观蓝天,最近开发中收集的这篇文章主要介绍计算机网络学习笔记(五)——数据链路层(1),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、基本概念

1、信道类型

点对点信道:一对一的点对点通信方式

广播信道:一对多的广播通信方式,由于广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。

2、链路:一条点到点的物理线路段,中间没有任何其他结点。一条链路只是一条通路的一个组成部分。

3、数据链路:将控制数据传输的通信协议的硬件和软件加到链路上,即为数据链路。数据链路=链路+协议。

                        现最常用的方法是使用适配器(网卡)来实现这些协议的硬件和软件。

4、帧:数据链路层传输的内容

常常在两个对等的数据链路层之间画出一个数字管道,在这条数字管道上传输的数据单位是帧。


二、基本问题

封装成帧

在一段数据的前后分别添加首部和尾部,即构成帧。

首部和尾部用于帧定界:首部开始的地方即为帧开始的地方;尾部结束的地方即为帧结束的地方。

数据链路层的帧长=帧首部长度+帧的数据部分长度+帧尾部长度。(IP数据报即为帧的数据部分)

若没有首部或者尾部,会被丢弃。

透明传输

一般来说,帧的数据部分由ASCII码中的可打印字符组成,那么为了区分出帧首部和帧尾部,帧首部和尾部会由ASCII的不可打印字符组成。

但是如果帧的数据部分还是混进了不可打印字符,那如何正确区分帧首部和尾部?

利用字节填充或字符填充可以解决这个问题。

即如果帧的数据部分混入了不可打印字符,就在该字符前插入“ESC”(转义字符);当转义字符也出现在数据中时,就应在转义字符前再插入一个转义字符。

接收端的数据链路层在将数据送往网络层之前会删除插入的转义字符,因此传输过程中,转义字符相当于透明,因此叫透明传输。

差错控制

比特差错:1可能变成0,0可能变成1

误码率:在一段时间内,传输错误的比特占所传输比特总数的比率

为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。

循环冗余检验     CRC

注意:

循环冗余检验CRC差错检验技术只能做到无差错接受,即错了就扔了,并不要求重传。

无差错接受:凡是接收端数据链路层接受的帧都没有传输差错,有差错的帧就丢弃不接受。

因此如果要做到“可靠传输”,即发送什么就收到什么,必须加上确认和重传机制。

“CRC是一种无比特差错,而非无传输差错”。

 

 

 

 

 

最后

以上就是壮观蓝天为你收集整理的计算机网络学习笔记(五)——数据链路层(1)的全部内容,希望文章能够帮你解决计算机网络学习笔记(五)——数据链路层(1)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部