首页 > 编程知识 正文

网络层知识图谱,计算机导论知识点总结

时间:2023-05-05 23:17:41 阅读:174252 作者:2352

数据链路层作用链路:网络中两个节点之间的物理信道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。

数据链路:两个网络中两个节点之间的逻辑信道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。

路由器会去掉帧的首部,拿到数据包之后,查看路由表,从哪个口出去,然后封装为该链路的协议的帧,不同的链路可以使用不同的协议。

可以看出,分组必须按每个链路封装从pc1到pc2。 根据链路和协议的不同,帧的格式也不同。

路由器的接口,有物理层的功能,收到计算机发来的电信号,然后将封装的帧去掉,然后提交给路由器,路由器有网络层的功能,根据路由表选择接口之后,又由这个接口来封装成帧,再变成这个接口电信号,光信号。

路由器是三层设备,还具有数据链路层和物理层功能。

数据链路层使用的信道

数据链路层使用的信道可以是点对点,还有广播信道,比如同轴电缆连的网络,这就是广播信道。一个计算机通信,电信号会给到所有的计算机,这些计算机都可以收到。

点到点是指链路上就两个设备,广播信道是指链路上有多个设备。

他们使用的通信协议不同。

帧的格式因链路协议而异

以太网帧中封装了三个字段

还是这个数据包,看点对点链接的帧,看源地址,目的地址不变! 但是,由于链路不同,协议也不同,帧的格式也不同,所以如果能看到点对点的帧,就不需要MAC地址。

广播链路的局域网

广播信道使用具有冲突检测的载波侦听多址(CSMA/CD )机制进行通信。

CSMA/CD是广播信道中使用的数据链路层协议,格式为使用CSMA/CD协议的网络就是以太网。 点到点链路就不用冲突检测,因此没必要使用CSMA/CD协议。

使用集线器制作的局域网也是广播频道,是总线型拓扑。 (A计算机和C计算机通信后,此信号通过集线器发送到所有端口,未经任何处理,也是广播信道)

点对点链路使用ppp协议,而广播链路使用CSMA/CD协议

什么是集线器?

3358www.Sina.com/(hub )在物理层处工作,具有信号放大功能,并与集线器

集线器没有控制功能,因此请参阅以它为中心的网络设备。即一个多端口的中继器,以集线器为中心,连接多个节点。广播方式发送数据,也就是说,当它要发送数据时,会发送到与集线器相连的所有节点。

将数据链路层需要解决的三个问题封装在帧中

在数据链路层,考虑如何将一个数据传递到另一个节点的接口。 传递时是电信号,还是光信号,还是无线信号,我们不介意这个。 因为这是物理层应该做的事。

帧是指在数据前后分别附加页眉和页脚来构成帧。 网络层给你数据包后,网卡必须把它封装起来,戴上头尾。 从网络层到数据链路层的ip数据报的大小是有限制的,称为最大传输单元。 以太网为1500字节,如果超过这个大小,网络层的ip数据包将被分片。 (封装成帧的意思是在网络层的数据包上加上头尾,有头尾代表完整的数据)是最初和最后的重要作用之一。

数据链路层需要解决的三个问题透明传输

对于包含可打印数据的ASCII代码的文本文件,请参阅因此所有终端共享带宽,同一时刻只能一个终端发送数据,多个终端同时发送数据就会产生冲突。这时,集线器、连接线缆以及连接在集线器上的终端设备构成了一个冲突域。于是采用 CSMA/CD 方式决定终端能否发送数据。

帧定界可以使用特殊的帧定界符。

ASCII表中含有未印刷的文字。 这些字符不是用键盘输入的,而是一些控制字符。

如果数据中某个字节的二进制代码正好与SOH或EOT相同,则控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧的首部开始。另一个控制字符 EOT (End Of Transmission) 表示帧的结束。(控制字符也占用帧头部和尾部字段)作为无效帧丢弃会发生错误。

数据链路层就会错误地“找到帧的边界”。

解决方法:字节填充(byte stuffing )或字符填充(character stuffing )。

ng>发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B)。

接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。

如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

封装成帧加上头和尾,传输的时候加上转义字符,接收的时候去掉转义字符,加头和尾的过程叫做封装成帧,插入转义字符和去掉转义字符的过程叫透明传输。

不同链路协议解决的透明传输的方法不一样,这个转义字符到底是啥,完全由数据链路层搞定,但是,所有的数据链路层都要解决这个问题。

 

 

差错检测

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。误码率与信噪比有很大的关系。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。 

帧的数据部分+数据链路层首部来计算帧校验序列,计算完之后将帧校验序列写到帧尾部FCS字段一块发出去接收端收到之后使用帧校验序列来验证里面有没有差错。如果有差错就丢掉了。

在数据链路层是不可靠传输,如果有差错就直接丢弃,不会重传。

数据链路层有没有重传功能,完全看数据链路层协议有没有这个功能。ppp hdlc以太网协议都不具有可靠传输,有错误就直接丢弃,由传输层来实现。

需要注意的是校验的部分是帧的数据部分和数据链路层首部,检擦这些部分在传输过程当作有没有差错。用于校验的部分写到帧的FCS位置。

循环冗余检验的原理

在发送端,先把数据划分为组。假定每组 k 个比特。在每组 M 后面再添加供差错检测用的 n 位冗余码,然后一起发送出去。

 冗余码的计算

用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。将余数 R 作为冗余码拼接在数据 M 后面,一起发送出去。

冗余码的计算举例

现在 k = 6, M = 101001。设 n = 3, 除数 P = 1101,被除数是 2nM = 101001000。模 2 运算的结果是:商 Q = 110101,余数 R = 001。把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2nM + R,即:101001001,共 (k + n) 位。  

 循环冗余检验的原理说明 

假设101001是我们要传输的数据,冗余码需要生成3位二进制,这个时候就需要在原始数据后面加上3个0,然后选一个除数,除数要比冗余码多一位,冗余码是3位,除数就得是4位。

这个除数其实是每种协议提前定义好的,发送端和接受端都知道这个除数。

冗余码的计算

 接收端对收到的每一帧进行 CRC 检验

(1) 若得出的余数 R = 0,则判定这个帧没有差错,就接受 (accept)。

(2) 若余数 R ≠ 0,则判定这个帧有差错,就丢弃。

但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。

帧检验序列 FCS

算出来的CRC叫做帧校验序列,CRC是一个算法,当然也可以通过其他算法得出帧校验序列FCS的计算方法除了CRC还有其他算法算出帧校验序列。

在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。

循环冗余检验 CRC 和帧检验序列 FCS 并不等同。

CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。