数据链路层(学习笔记)

本文介绍了数据链路层的基本概念,包括链路与数据链路的区别,以及数据链路层的主要任务。重点讨论了CRC校验在确保帧完整性的关键作用,详细阐述了MTU对IP、UDP和TCP协议的影响,以及ARP协议的工作流程和重要性。同时,解释了ARP数据报的格式和MTU与MSS的关系。
摘要由CSDN通过智能技术生成

首先要明确“数据链路”和“链路”这两个概念:

  链路:从一个节点到相邻节点的一段物理现路,其中间没有任何的交换节点,所以可以说链路只是一条路径的组成部分。
  数据链路:当需要在一条线路上传送数据的时候,除了要有一条物理线路还需要一些必要的通信协议来控制这些数据的传输,把实现这些协议的软硬件添加到链路上就形成了数据链路。其中最常使用网络适配器来实现这些协议,一般都包括数据链路层和物理层的功能。
  数据链路层负责相邻设备之间的数据传输,数据单元为帧,主要的设备是交换机,主要工作是将网络层交下来的IP数据报添加首部和尾部封装成帧,然后将封装好的帧发送给接收方的数据链路层,接收方如果收到的帧是无差错的,就从中提取IP数据报交付给网络层,否则丢弃。
  所以在数据链路层的协议要解决三个问题:封装成帧、透明传输和差错控制。

  1. 封装成帧:在数据的首端和尾端添加首部和尾部封装成帧,这样可以判断一个帧的完整性。
  2. 透明传输:虽然帧的开始(SOH)和结尾(EOT)是ASCLL码不可打印的控制字符,但是他的二进制形式很有可能和数据中的二进制相同,造成帧提前结束,透明传输就是用来解决这一问题。在数据中出现控制字符前插入转义自读“ESC”,接收方接收到帧将这个转义字符删掉,然后发往网络层。如果前面刚好有一个转义字符,在插入一个转义字符,然后删掉最前面的。
  3. 差错控制:为了保证可靠性,使用CRC(循环冗余校验码)。由于数据链路层不要求可靠传输,CRC只做到对帧的无差错接收,只是为了避免比特差错,但是仍然会出现传输差错(帧丢失、帧重复、帧失序)。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值