精华内容
下载资源
问答
  • 数据链路层的三个基本问题 目录标题数据链路层的三个基本问题1. 封装成2. 透明传输3. 差错检测 1. 封装成 ①数据链路层将IP的数据报的前后分别添加首部和尾部,构成一个。但因该层的协议很多,不同协议的的...

    数据链路层的三个基本问题

    1. 封装成帧

    在这里插入图片描述
    ①数据链路层将IP的数据报的前后分别添加首部和尾部,构成一个帧。但因该层的协议很多,不同协议的帧的首部和尾部信息所有不同。

    ②帧的首部和尾部有帧开始符和结束符,被称为帧定界符。

    ③每一种数据链路层协议都规定了所能传送帧的数据部分的长度上限——最大传输单元(MTU),以太网的MTU为1500个字节(指的是数据部分长度。注意,MTU不是越大越好,因为MTU越大意味着单个数据包,在线路质量较差的网络环境中,数据包中 bit位发生错误的概率也越大,丢包率会越高。同时MTU越大,传送一个数据包时延也越大,会影响其他计算机的通信从而造成用户体验差。因此,1500字节是一个折衷的结果)

    2. 透明传输

    ①帧定界符:可以选用ASCII码表中的SOH(0x01)作为帧开始定界符,EOT(0x04)为帧结束定界符。

    ②如果数据部分出现“EOT”或“SOH”时要进行字节填充。(具体方法:发送端的数据链路层在数据中出现控制字符“EOT”、“SOH”以及“ESC”,则在前面插入一个转义字符“ESC”的编码。接收端的数据链路层在收到删除这个插入的转义字符。这样用字节填充法解决透明传输的问题)。

    在这里插入图片描述

    3. 差错检测

    在这里插入图片描述
    ①现实的通信链路都不会是理想的,在传输过程中可能会产生差错。为了保证数据传输的可靠性,必须采用各种差错检验技术(如循环冗余检验,CRC)。

    ②要让接收端能够判断帧在传输过程中是否有差,需要在帧中包含用于检测错误的信息,这部分信息称为“帧校验序列(FCS)”

    ③以CRC技术为例计算FCS。假设要检测的数据为M=101001(注意,不仅包含帧的数据部分,还包含了数据链路层的首部),要想得到n位FCS。则计算过程如下:

    A.要得到n位的FCS,则必须先在M后面添加n位(这里假设n为3)的0,得到被除数101001 000。再除以收发双方事先商定好的n+1位除数P(设为1101),得到商Q,余数R(n位,比除数少一位),这个R(001)就是要计算的FCS。

    B.接收方收到后,会使用M和FCS合成一个二进制数(即101001001),再除以P(1101),如果余数为0,表示该帧没有差错。否则表示传输有差错,就会丢弃从而出现丢包现象(这个得由传输层的TCP协议通过丢包重传来实现可靠传输)

    在这里插入图片描述

    ④帧检验序列FCS包含了帧的数据部分(来自网络层)和数据链路层的首部。这意味着,如果通信经过多条链路时,IP数据报的源和目标地址会被修改或者经过路由器时网络层首部的TTL(生存时间减1),这些会造成IP数据报的变化。而当通信由一条链路到下一条链路时由于协议不同,会造成数据链路层首部格式不同,帧开始和结束符也不同,这都需要将帧进行重新封装,重新计算FCS。幸运的是,这些都是由硬件完成的,处理速度很快,不会延误数据的传输。

    展开全文
  • 无论是TCP还是UDP, 最终还是封装成了IP包。 我们知道, IP包的最大长度为65535个字节, 于是很多初学者会误解, 以为这... 举个本文涉及到的例子, 网络层的数据如果过长, 是没法直接加载链路层上的, 需要将...

           无论是TCP还是UDP, 最终还是封装成了IP包。

           我们知道, IP包的最大长度为65535个字节, 于是很多初学者会误解, 以为这65535字节的IP包数据, 是直接被数据链路层套上帧头和帧尾巴的。比如, 下图就容易让人产生一个极大的误解:

            这幅图的最大误人子弟之处在于:

            如果上层数据比较长, 是无法套在一个tcp头部之后的, 其他各层也有类似特点。   举个本文涉及到的例子, 网络层的数据如果过长, 是没法直接加载链路层上的, 需要将网络层的数据分片, 然后在数据链路层组装成多个帧(而不是一个)。

           下面, 我们来看看数据链路层(用以太网来举例)对上一层数据(网络层数据)长度的限制:

            可以看到, 在单个帧中, IP数据包必须小于1500字节,  这个1500就是MTU(max transmission unit)能达到的最大值,  它是数据链路层允许的最大IP包。

            回想下以前说的概念:

            UDP包头中, UDP整个包的最大长度是65535个字节, 但是IP数据包的最大值也是这个长度, 所以IP层允许的最大UDP包长绝对不能65535个字节(而应该是65535 - 20个字节)。

           同理, IP包的最大长度是65535个字节, 但是数据链路层允许的最大IP包, 绝对不能是65535个自己, 实际上远远小于这个数(如上图)。

            在本文中, 我们了解到, 实际上, MTU的定义就是:数据链路层允许的最大IP包长(其最大值是1500字节)。

    展开全文
  • ”是数据链路层中数据的基本单位,发送端在一段数据前后添加特定标记形成“”,接收端根据前后特定标记识别出“”。 首部和尾部是特定的控制字符(特定比特流),首部(SOH)使用00000001,尾部...

    OSI模型中的数据链路层与物理层,在TCP/IP协议中同属于网络接口层。

    数据链路层为物理连接之间提供了可靠的数据传输。数据链路层主要解决3个问题:封装成帧、透明传输、差错检测。

    封装成帧

    “帧”是数据链路层中数据的基本单位,发送端在一段数据前后添加特定标记形成“帧”,接收端根据前后特定标记识别出“帧”。

    帧首部和尾部是特定的控制字符(即:特定比特流),帧首部(SOH)使用00000001,帧尾部(EOT)使用00000100。

    透明传输

    假如帧数据中刚好存在帧首部、帧尾部的比特流,那该怎么处理呢?

    下图的帧数据中出现了帧尾部的比特流。

    解决方式是在帧数据的EOT前面加一个转义字符

    如果帧数据中就包含了ESC+EOT比特流,则在前面再加一个转义字符。

    这种处理方法跟编程语言中使用“\”作为转义字符是一个道理。

    “透明”在计算机领域是一个非常重要的术语,透明即“当它不存在”。在特殊比特流前面加转义比特流,将帧数据中的特殊比特流透明化,以便能把这些比特流标识为正常的数据。

    差错检测

    数据在物理层以比特流的方式传输,传输过程中可能发生差错,0可能变成1,1可能变成0。数据链路层提供差错检测功能,在发送的数据块中添加一些冗余信息,以便接收方判断数据在传输过程中是否出错。

    奇偶检验码

    奇偶检验码是一种通过增加冗余位使得码流中"1"的个数恒为奇数或偶数的编码方法。下面以码流中“1”恒为偶数讲解。

    假设要发送数据是00110010,1的个数是奇数个,在数据的末尾加1,保证数据中“1”为偶数个。假设要发送数据是00111010,1的个数是偶数个,在数据的末尾加0,保证数据中“1”为偶数个。

    当001100101在传输过程中有一个比特位发生变化,变成了000100101,接收端收到数据后,发现“1”的个数为奇数个,则认为此数据在传输过程中发生了错误。

    奇偶检验有局限性,如果数据有两个比特位发生错误,奇偶检验无法检测出错误。例如001100101在传输过程中,前面的两位发生错误,变成111100101,由于“1”的个数还是偶数个,则服务端认为此数据是正确的。

    循环冗余校验码CRC

    目前在数据链路层广泛使用了CRC检测技术(循环冗余检测)。CRC校验码是在数据后面添加n位冗余码,构成“数据+n位冗余码”的帧发送出去。

    CRC用到了模“2”除法,二进制的模“2”除法不会向前一位借位,仅是一种异或的数学关系。例如:1001除以1010,商为1,余数是11。1101除以1011,商为1,余数是110。如下图:

    计算CRC循环冗余校验码有3步骤:

    1、选定一个用于校验的多项式G(x),G(x)的位串(也叫“最高阶”)是r。

    2、在数据尾部添加r个0,使用模“2”除法除以多项式的位串。

    3、得到的余数填充在原数据末尾,得到可校验的位串。

    下面以G(x)=x^{3}+x^{2}+1,数据=101001 为例子讲解。

    发送端

    1、 G(x)=x^{3}+x^{2}+1,最高阶是3,对应的二进制串为1101。

    2、要校验的数据为101001,由于G(x)最高阶是3,则在数据后加3个0,变成101001000。

    101001000除以G(x)对应的二进制串1101

    3、将余数001添加到原始数据101001的后面,变成101001001,这个数据就是发送给接收端的数据。

    接收端

    接收端将接收到的数据除以G(x)=x^{3}+x^{2}+1对应的二进制串1101,如果余数为0,则认为数据没有出错。

    例如:接收端收到101001001后,使用101001001除以G(x)=x^{3}+x^{2}+1对应的二进制串1101,余数为0,证明数据在传输过程中没发生错误。

    最大传输单元MTU

    MTU即Maximum Transmission Unit 最大传输单元。它是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。

    数据链路层传输数据的基本单位是帧,数据帧不可能无限大,以太网的MTU一般为1500字节。

    路径MTU是指一条因特网传输路径中,从源地址到目的地址所经过的“路径”上的所有IP跳的MTU的最小值。

    上图中计算机A向计算机B传输数据会经过几个小型网络,小型网络之间的MTU各不相同。路径MTU就是此“路径”上最小的MTU,路径MTU = 1492

    以太网协议

    MAC地址

    网络中每台设备都有一个唯一的网络标识,这个地址叫MAC地址或网卡地址,由网络设备制造商生产时写进硬件内部。 MAC地址是48位的(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号或者中杠隔开,如08:00:20:0A:8C:6D是一个MAC地址。

    window使用 ipconfig -all 命令查看MAC地址

    以太网协议

    以太网(Ethernet)是一种使用广泛的局域网技术,可以完成相邻设备的数据帧传输,是TCP/IP协议簇四层模型的网络接口层使用的协议。

    以太网协议数据帧的格式如下:

    目的地址、原地址是接收端、发送端的MAC地址,各占6个字节(前面有提到MAC地址是6个字节的)。

    类型用于表示网络层使用的协议(备注:数据链路层的上一层就是网络层),占2字节,例如:0800表示网络层使用的是IP协议。

    帧数据是网络层交付给数据链路层的数据。数据链路层将网络层的数据加上头(目的地址、源地址、类型),加上尾(CRC冗余校验码)就组成了以太帧网协议的数据帧。

    数据链路层将CRC循环冗余校验码添加到以太帧的尾部。

    数据链路层使用以太网协议完成相邻设备间的数据传输。

    问题一:如上图所示,计算机A要将数据发送给计算机C,过程是怎样的呢?

    1、路由器E维护了一张MAC地址表,存储了计算机A、B、C的MAC地址与硬件接口(即:路由器插槽)的映射。

    2、路由器接收到A发送的数据帧后,读取数据帧中的目的地址。路由器通过MAC地址表知道目的地址的设备插在了E3接口上,则将数据帧发送给E3接口的设备。

    问题二:假如MAC地址没有C与E3的映射会怎样呢?

    1、路由器收到A发送的数据帧后,在MAC地址表中找不到目的地址与硬件接口的映射,就会将数据帧广播给除了A以外的所有设备。

    2、将数据广播出去后,路由器将收到B、C的响应信息,并将C的MAC地址与硬件接口的映射更新到MAC地址表。

    问题三:如果A与C之间有多个路由器,数据如何传输?

    以太网协议只能解决相邻节点的数据传输,这种跨设备传输的问题将交给网络层解决。请看这篇博客 https://blog.csdn.net/u010606397/article/details/110422346

     

     

     

    展开全文
  • 链路层上最常见的封装就是以太网和IEEE 802封装,这里就使用以太网作为讲解的对象。 一、以太网帧格式  以太网的帧格式才有6字节的目的地址和源头地址。...最小数据帧尾46,最大数据帧长为1500.  在

    链路层上最常见的封装就是以太网和IEEE 802封装,这里就使用以太网作为讲解的对象。

    一、概述

         数据链路层属于计算机网络的底层,使用的信道主要有点对点信道和广播信道两种类型。
     
         在TCP/IP协议族中,数据链路层主要有三个目的:
              1)为IP模块发送和接收数据
              2)为ARP模块发送ARP请求和接收ARP应答
              3)为RARP模块发送RARP请求和接收RARP应答
         TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网,令牌环网,FDDI(光纤分布式数据接口)及RS-232串行线路等。
         
         数据链路层的协议数据单元——帧:将IP层(网络层)的数据报添加首部和尾部封装成帧。
         数据链路层协议有许多种,都会解决三个基本问题,封装成帧,透明传输,差错检测。

    .二、以太网和IEEE802的封装

         如图所示,显示了两种不同形式的封装格式。最常使用的封装格式是RFC894定义的格式。两种帧格式均采用48bit(6 byte)的目的地址和源地址。


            以太网的帧格式才有6字节的目的地址和源头地址。帧长度字段是指它后续数据的字节长度,但不包括CRC校验码。这个长度是提供给上层协议的数据负载,也就是上层协议封装的数据最长度不要超过以太网帧的数据长度。最小数据帧尾46,最大数据帧长为1500.
            在分析以太网帧的长度时,也有不同的说法,详见http://blog.csdn.net/yusiguyuan/article/details/22490229
    二、最大传输单元MTU
          最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。
         如果在IP层要传输一个数据报比链路层的MTU还大,那么IP层就会对这个数据报进行分片。一个数据报会被分为若干片,每个分片的大小都小于或者等于链路层的MTU值。当同一网络上的主机互相进行通信时,该网络的MTU对通信双方非常重要。但当主机间要通过很多网络才能通信时,对通信双方最重要的是通信路径中最小的MTU,因为在通信路径上不同网络的链路层MTU不同。通信路径中最小的MTU被称为路径MTU。
         网络中一些常见链路层协议MTU的缺省数值如下:
    • FDDI协议:4352字节
    • 以太网(Ethernet)协议:1500字节
    • PPPoE(ADSL)协议:1492字节
    • X.25协议(Dial Up/Modem):576字节
    • Point-to-Point:4470字节
          以太网和802.3对数据帧的长度有一个限制,其最大值分别是1500和1492字节。链路层的这个特性称作MTU,最大传输单元,不同类型的网络大多都有一个上限,这个值是根据硬件来确定的。

           如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行分片,把数据分成若干片,这样每一片就小于MTU,。
    三、路径MTU
           路径MTU和上述内容类似,只不过是在传输数据的时候需要知道真个路径的最小MTU.
    展开全文
  • 链路层-大小

    2018-11-17 15:35:19
    以太网有最小和最大字节限制,最小的是64字节,数据区的有效载荷长度最小为48字节,当有效载荷较小时,以保障的大小达到64字节。 最大是1518字节,由于MTU(最大传输单元)的上限为1500,对于TCP/IP...
  • 链路层方式

    千次阅读 2012-12-07 14:39:53
    其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址。 (注:ISL封装后可达1548字节,802.1Q封装后可达1522字节) 802.3 以太网帧结构 前导码 帧开始符
  • 链路层方式和类型

    千次阅读 2017-05-11 11:55:35
    以太网帧(820.3) ...其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址。 (注:ISL封装后可达1548字节,802.1Q封装后可达1522字节) 802.3 以太网帧结构 前导码 帧
  • 链路层

    2021-04-11 16:01:05
    设计链路层的目的是位IP模块发送和接收数据报 可用于携带一些支持IP的辅助性协议,例如ARP TCP/IP中有多种链路层,依赖于使用的网络硬件类型 有线局域网:以太网 无线局域网:wifi 城域网 链路层我们使用术语 ...
  • 网络层:负责地址管理与路由选择(为每条网络中的数据选择合适路径);...**分片标识:**数据传输时最大长度不超过数据报长度64k即65536字节,并且受限于链路层数据帧MTU(最大传输单元),通常再以
  • 广播信道的数据链路) 广播信道中的冲突问题CSMA/CD协议冲突退避算法以太网以太网格式以太网的信道利用率网卡和MAC地址扩展以太网 广播信道中的冲突问题 最初的广播信道组网方式。一根同轴电缆,两头电阻,通...
  • 以太网和802.3对数据帧长度都有一个限制,其最大值分别是1500和1492字节。 链路层的这个特性称作MTU,即最大传输单元。不同类型的大多数网络都有一个上限。 如果IP层有一个数据报要传,并且数据的长度比链路层的MTU...
  • 其中以太网数据帧链路层IP包在网络层TCP或UDP包在传输层TCP或UDP中的数据(Data)在应用层它们的关系是数据帧{IP包{TCP或者UDP包{Data}}}————————————————————————————————在应用...
  • 目录以太网数据帧格式MTU最大传输单元ARP地址解析协议ARP报文格式RARP逆地址解析协议 以太网数据帧格式   以太网链路传输的数据包称为以太帧,或者以太网数据帧。 以太帧的工作机制:   当以太网软件从网络接收...
  • 第5章 链路层:链路、接入网和局域网(7)以太网 20世纪末 基于集线器的星型拓扑以太网 21世纪初 基于交换机的星型拓扑以太网 该类型局域网中不会有碰撞,因此没有必要再使用MAC协议。 以太网帧 - 协议规定的...
  • 3.链路层

    2018-03-19 10:22:49
    前言 从上图中可以看出,链路层主要有两个作用: 1.为IP模块发送和接收IP数据报; 2.为ARP和RARP发送和接收ARP和RARP应答...最大传输单元(MTU) 链路层数据帧的长度是有限制的,这个最大的长度叫MTU,最大传输...
  • ①成:把数据报用链路层帧封装起来。 以太网帧的结构: (1) 数据字段:承载IP数据报。以太网最大传输单元1500字节。数据字段最小长度是46字节。如果数据报比这个小,就填充。去除填充是靠网络层首部的数据...
  • 网络协议之链路层

    2019-08-19 16:47:39
    以太网帧格式 类型有三种:IP、ARP、RARP MAC地址 MAC地址用来识别数据链路中连接的节点 长度为48位,用16进制数中间间隔:来表示 MAC地址在网卡出厂就确定,是唯一的。虚拟机中不一定 MTU MTU最大传输...
  • 第三章:链路层

    2018-04-10 00:35:00
    在TCP/IP协议中,链路层为IP层提供服务:发送和接收数据报。不同的网络硬件类型(有线局域网、有限语音网络、无线网络、蜂窝网络),有不同的链路层链路层的PDU通常叫。范围从几字节到几千字节,这个范围上限称为...
  • 以太网帧格式 以太网协议规定了一组电信号构成的一组数据包叫做包括头和数据部分。先是一个SFD字段标志着一个的开始,然后是源地址,目的地址,数据长度,协议类型...链路层的流量控制但是不经常使用 ..
  • 数据链路——最大传输单元MTU

    千次阅读 2018-07-23 23:17:11
    1 数据链路层以太网帧结构 以太网帧结构由四个字段组成,各字段含义为: 目的地址:该地址指的是MAC地址,指该数据要发送至哪里 源地址:MAC地址,填本地MAC地址,指该数据从哪里来 类型:值该数据要交给...
  • 计算机网络-链路层

    2020-03-26 14:32:31
    以太网 环回接口 ... 传给环回地址(127.0.0.1)的任何数据均作为IP输入 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是因为广播传送和多波传动的定义...数据帧最大的字节(1500,802是1...
  • 链路层小结

    2018-03-31 13:29:00
    这章大致介绍了以太网以太网帧的格式,网桥和交换机,无线局域网(Wi-Fi),点到点协议,MTU(最大传输单元)的知识点,所谓链路,在此可以解释为 IP数据报传递所在的介于发送方和接受方之间的通信路径,而链路层的...
  • MTU以太网和IEEE802.3对数据帧的长度都有限制,其最大值分别是1500和1492字节,这个限制称为MTU:最大传输单元,Maximum Transmission Unit。 如果IP要传数据报,但是数据报长度大于MTU,那么IP就要分片...
  • MTU(Maximum Transfer Unit),指在一个...例如:以太网帧对数据帧的大小有一个限制,是1500字节,这个数值就是以太网的MTU。 网络中一些常见链路层协议MTU的缺省数值如下: FDDI协议:4352字节 以太网(Eth...
  • 若侵犯作者权益,请与我联系...[背景知识]MTU: Maxitum Transmission Unit 最大传输单元(意义多用在网际互联时,链路层承载网的不同,比如以太网、PPP、老的SLIP,一般是最大数据帧除去链路层报头和网络层报头的字节
  • 11.4.3 从套接口读取链路帧的编程方法以太网数据结构如图11.10所示,总长度最大为1518字节,最小为64字节,其中目标地址的MAC为6字节,源地址MAC为6字节,协议类型为2字节,含有46~1500字节的数据,尾部为4个...
  • 数据链路协议封装

    2020-12-17 22:25:45
    常用的两种数据链路层帧以太网帧和PPP的区别: 最大的区别,以太网是一个广播链路,一个广播域可能有多个设备,所以以太网帧有MAC地址,为了在整个以太网中确定一个唯一确定到底哪个设备进行接收,减少链路的...
  • 链路层如上图所示,链路层主要有三个目的:为IP模块发送和接收数据报为ARP模块发送ARP请求和接收ARP应答...每一种链路层协议都规定了所能传送 数据部分 长度上限----最大传输单元 MTU。以太网(Ethernet)协议:1...
  • cPPP点对点协议PPP数据帧格式 比特填充与字符填充 d环回接口环回接口处理IP数据报的过程 e最大传输单元MTU路径MTU f用tcpdump抓包并分析帧结构注:本文图片均来自于网络,若侵权请联系我删除。a.链路层的目的 为IP...
  • 以太网UDP最大报文长度

    千次阅读 2014-08-19 17:51:50
     其中以太网(Ethernet)的数据帧链路层  IP包在网络层  TCP或UDP包在传输层  TCP或UDP中的数据(Data)在应用层  它们的关系是 数据帧{IP包{TCP或UDP包{Data}}}  在应用程序中我

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 292
精华内容 116
关键字:

以太网数据链路层最大数据帧