首页 > 其他分享 >在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?(转)

在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?(转)

时间:2025-01-20 09:10:18浏览次数:1  
标签:字节 主机 最小 发送 冲突 长度 512 以太网

在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?

以太网(IEEE 802.3)帧格式:

1、前导码:7字节0x55,一串1、0间隔,用于信号同步

2、帧起始定界符:1字节0xD5(10101011),表示一帧开始

3、DA(目的MAC):6字节

4、SA(源MAC):6字节

5、类型/长度:2字节,0~1500保留为长度域值,1536~65535保留为类型域值(0x0600~0xFFFF)

6、数据:46~1500字节

7、帧校验序列(FCS):4字节,使用CRC计算从目的MAC到数据域这部分内容而得到的校验和。

以CSMA/CD作为MAC算法的一类LAN称为以太网。CSMA/CD冲突避免的方法:先听后发、边听边发、随机延迟后重发。一旦发生冲突,必须让每台主机都能检测到。关于最小发送间隙和最小帧长的规定也是为了避免冲突。

考虑如下的情况,主机发送的帧很小,而两台冲突主机相距很远。在主机A发送的帧传输到B的前一刻,B开始发送帧。这样,当A的帧到达B时,B检测到冲突,于是发送冲突信号。假如在B的冲突信号传输到A之前,A的帧已经发送完毕,那么A将检测不到冲突而误认为已发送成功。由于信号传播是有时延的,因此检测冲突也需要一定的时间。这也是为什么必须有个最小帧长的限制。

按照标准,10Mbps以太网采用中继器时,连接的最大长度是2500米,最多经过4个中继器,因此规定对10Mbps以太网一帧的最小发送时间为51.2微秒。这段时间所能传输的数据为512位,因此也称该时间为512位时。这个时间定义为以太网时隙,或冲突时槽。512位=64字节,这就是以太网帧最小64字节的原因。

512位时是主机捕获信道的时间。如果某主机发送一个帧的64字节仍无冲突,以后也就不会再发生冲突了,称此主机捕获了信道。

由于信道是所有主机共享的,如果数据帧太长就会出现有的主机长时间不能发送数据,而且有的发送数据可能超出接收端的缓冲区大小,造成缓冲溢出。为避免单一主机占用信道时间过长,规定了以太网帧的最大帧长为1500。

100Mbps以太网的时隙仍为512位时,以太网规定一帧的最小发送时间必须为5.12μs。

1000Mbps以太网的时隙增至512字节,即4096位时,4.096μs。

标签:字节,主机,最小,发送,冲突,长度,512,以太网
From: https://www.cnblogs.com/xihong2014/p/18680717

相关文章

  • 以太网每秒可以传输多少个数据帧?(转)
    “148810”这个数字有什么特殊的含义吗?熟悉以太网的话,对这个数字应该并不陌生。这是百兆以太网每秒可以传输的数据帧的个数。确切来讲,这是帧长为64字节的数据帧的帧速率。这个数字是怎么得出来的呢?百兆以太网的带宽是100Mbps,也就是每秒可以传输100,000,000个比特位。以太网带宽......
  • 2025寒假哈工大ACM集训_最小生成树
    好不容易终于做完了,(最后一题是黑题并且还是数学不想做)所谓“做了不总结==没做”,特此写一下常用函数和思路吧。一些基本模板函数:longlongfindroot(longlongx){returnx==rt[x]?x:rt[x]=findroot(rt[x]);}voidun(longlongx,longlongy){rt[findro......
  • 以太网三大链路类型对比:如何选择Access、Trunk或Hybrid?
    以太网链路类型指的是不同的链路连接模式,这些模式决定了交换机与交换机、交换机与路由器、交换机与终端设备之间如何交换数据。理解这些链路类型有助于优化网络结构,提高数据传输效率,确保网络的稳定性和安全性。在以太网中,链路类型分为三种:Access链路、Trunk链路和Hybrid链......
  • 文件格式分析 --- 最小class
    class是java编译后的可执行的字节码文件。下面是javapackagecom.example;publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorldbygk");}} 编译后的二进制  用ida反汇编;+-----------------......
  • 以太网详解(五)GMII、RGMII、SGMII接口时序约束(Quartus 平台)
    文章目录接口时序AvalonStreaming接口时序ReceiveTimingTransmitTimingGMII接口时序ReceiveTimingTransmitTimingRGMII接口时序ReceiveTimingTransmitTiming如何创建.sdc约束文件三速以太网系统时钟信号创建set_input_delay,set_output_delay约束set_in......
  • 2025dsfz集训Day5:最短路与最小生成树
    DAY5I:最小生成树生成树及最小生成树生成树是从一张无向连通图中选取一些边构成一张新图,使得这张图是是一棵树最小生成树即是让上述的生成树的边权和最小同时,最小生成树也会有一些性质在最小生成树上,两个点路径上经过的边权最小值即是这个点在原图中所有路径中可能经过......
  • python-leetcode-最小覆盖子串
    76.最小覆盖子串-力扣(LeetCode)classSolution:defminWindow(self,s:str,t:str)->str:ifnotsornott:return""need={}forcint:need[c]=need.get(c,0)+1windo......
  • 有一个包含开始日期和结束日期的数组,获取最小的日期和最大的日期,用java实现
    packagecom.cfb.oa.m;importjava.time.LocalDate;importjava.util.ArrayList;importjava.util.List;classDateRange{LocalDatestartDate;LocalDateendDate;publicDateRange(LocalDatestartDate,LocalDateendDate){this.startDate......
  • 求 n 个数的最小公倍数(详解版)
    你的好朋友小明最近在学习最小公倍数的知识,他妈妈给他出了100题,每一题都有n(2≤n≤20)个数,要小明求出这n个数的最小公倍数。小明现在想快点出去玩,于是想到会编程的你,能否设计一个程序,让他输入题目n个数就可以得到答案?快来帮帮小明吧!输入格式第一行一个整数n (2≤n≤20)。......
  • 编程题-生成交替二进制字符串的最小操作数
    题目:给你一个仅由字符'0'和'1'组成的字符串s。一步操作中,你可以将任一'0'变成'1',或者将'1'变成'0'。交替字符串定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。例如,字符串"010"是交替字符串,而字符串"0100"不是。返回使s......