2-链路层-以太网协议

基本概念

以太网

  • 是一个局域网技术,能够进行冲突检测,载波监听,以及多路访问.其中:算法

    • 冲突检测: 一个节点在发送帧时会监听链路,所以能够检测出当前正在发送的帧与其余节点发送的帧发生冲突网络

    • 载波监听: 全部节点均可识别链路忙或闲,也即全部节点均可以得知链路当前状态:忙/闲spa

    • 多路访问: 多个节点能够共享一条链路.设计

10/100/1000Mbps

  • 10Mbps以太网:一般采用多路访问模式,即多个节点共享一条链路, 
    code

  • 100Mbps以太网或者更高:被设计成全双工的点到点的配置.此时能够会采用星型拓扑结构.同步

总线型拓扑结构

  • 收发器: 是一个直接链接在以太网上的设备,另外一端链接在以太网适配器(网络适配器)上,可用于:table

    • 检测链路什么时候空闲class

    • 发送输出信号,接受输入信号配置

  • 以太网段: 多个节点经过收发器连接在链路上,就组成了一个以太网段。如图:循环

  • 中继器: 用于将多个以太网段连接在一块儿,同时未来自一个以太网段的数字信号转发到另外一个以太网段.

  • 总线性拓扑结构图:

星型拓扑结构

  • 节点经过点对点链路连接到集线器上,集线器之间再互联起来

  • 不管采用何种拓扑结构,以太网上任意一个节点传输的数据帧均可以到达全部节点。

帧格式


域的长度,单位:字节
备注
目的地址
6

源地址
6

类型
2
多路分解密钥(应该交付的上层协议,如IP,IPX)
帧体
[46,1500]

CRC
4

  • 以太网是一个面向比特的组帧协议,发送方在发送帧以前会首先发送64位的帧前同步码,发送帧结束以后也会发送64位的帧后同步码,接收方接受时会自动去除前同步码,后同步码

  • 帧体最少为46字节,即数据帧最小为64位,由于帧必须足够长才能够检测到一个冲突(后续详细说明)

地址

  • 链路层采用 MAC地址 来标识网络适配器.即每个网络适配器都有惟一一个 MAC 地址,固化在网络适配器的ROM中,共 6 个字节.可读格式:由冒号分割的6个数(16位进制),每个数对应于6个字节中的一个字节。如:

c4:ca:d9:2f:b6:48--对应于-->c4cad92fb648

地址分配

  • MAC地址固化在网络适配器中,因此网络适配器在出厂时其MAC地址就已经分配了

  • 某个机构给每个网络适配器设备制造商都分配一个不一样的前缀。
    好比AMD公司获得的前缀为0x080020;则该公司制造的第一个网络适配器的MAC地址为08:00:20:00:00:01;第2个设备的MAC地址为08:00:20:00:00:02;。。

接收方行为

  • 接收方的行为:收到一个帧,判断是接受,仍是丢弃。

  • 广播地址:目的地址全由1构成:ff:ff:ff:ff:ff:ff

  • 多播地址:目的地址第一位是1,而且不是广播地址

  • 混杂模式:当网络适配器处于混杂模式时,他会将收到的全部正确的帧接受下来。


发送方行为

  • 链路当前处于阻塞状态

    • 等待一段时间后,重试

  • 链路处于空闲状态

    • 发送前同步码,数据帧,后同步码

    • 监听链路,检测是否发生冲突

  • 发生冲突

    • 中止发送

    • 发送32位干扰序列

    • 等待一段时候后从新发送(指数退避算法)

指数退避

  • 以下为指数退避算法,其中c通常取51.2us;

  • 当在'等待 k*c' 后条件达成,则退出循环。

  • 也能够对n设定一个上限值


为何最小帧长度

考虑下面一种状况:A,B两个节点位于以太网的2端;链路的RTT为2*d;(即从A->B须要时延d)

  1. t时刻,A节点发送一个数据帧,而后监听链路

  2. 在t+d的前一时刻,B节点看到的链路仍是空闲的,因而B节点也发送数据帧。

  3. t+d时刻,A,B节点发送的数据帧发生冲突,B节点检测到冲突,因而它发送32位干扰序列

  4. t+2d时刻,干扰时刻到达A节点,此时A节点才能够得知其发送的数据帧产生冲突。

因此A节点要想检测出冲突,即他在[t,t+2d]时间内必须处于发送帧状态,因此这对发送帧的最小长度就有了一个要求。

根据计算...当链路长为2500米时,所需的最小帧长度为512位,64字节,因此最小帧长度46字节。

相关文章
相关标签/搜索