2-链路层-以太网协议

基本概念

以太网

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

    • 冲突检测: 一个节点在发送帧时会监听链路,因此可以检测出当前正在发送的帧与其他节点发送的帧发生冲突

    • 载波监听: 所有节点都可识别链路忙或闲,也即所有节点都可以得知链路当前状态:忙/闲

    • 多路访问: 多个节点可以共享一条链路.

10/100/1000Mbps

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

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

总线型拓扑结构

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

    • 检测链路何时空闲

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

003147_0Aag_1383479.jpg

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

003235_ltI9_1383479.jpg

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

  • 总线性拓扑结构图:

202531_pXiG_1383479.jpg

星型拓扑结构

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

204032_6vis_1383479.jpg

  • 无论采用何种拓扑结构,以太网上任意一个节点传输的数据帧都可以到达所有节点。

帧格式


域的长度,单位:字节
备注
目的地址
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,并且不是广播地址

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

214226_Z3F5_1383479.jpg

发送方行为

  • 链路当前处于阻塞状态

    • 等待一段时间后,重试

  • 链路处于空闲状态

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

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

  • 发生冲突

    • 停止发送

    • 发送32位干扰序列

    • 等待一段时候后重新发送(指数退避算法)
      000721_65bN_1383479.jpg

指数退避

  • 如下为指数退避算法,其中c一般取51.2us;

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

  • 也可以对n设定一个上限值


001752_SGjR_1383479.jpg

为什么最小帧长度

考虑下面一种情况: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字节。



转载于:https://my.oschina.net/u/1383479/blog/209443

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值