2019独角兽企业重金招聘Python工程师标准>>>

基本概念

以太网

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

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

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

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

10/100/1000Mbps

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

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

总线型拓扑结构

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

    • 检测链路何时空闲

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

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

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

  • 总线性拓扑结构图:

星型拓扑结构

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

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

帧格式

域的长度,单位:字节 备注
目的地址 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字节。

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

2-链路层-以太网协议相关推荐

  1. 网络 链路层 | 以太网协议与ARP协议

    数据链路层是计算机网络的底层,主要负责相邻设备之间的数据帧传输 链路层就是负责每一个相邻结点之间的数据传输,但是相邻设备之间也需要描述识别,主要是因为每一个设备都有可能有多个相邻的设备.这种识别在链路 ...

  2. 链路层典型协议(简述)

    链路层 以太网协议,ARP协议: 链路层负责了相邻数据之间的数据转发: 以太网协议: 用于描述相邻设备通信: 协议格式: 48位对端&源端MAC地址:描述了相邻的亮哥指定物理硬件设备: 16位 ...

  3. LLDP(链路层发现协议)

    LLDP 链路层发现协议(LLDP)是一个厂商无关的二层协议,它允许网络设备在本地子网中通告自己的设备标识和性能. 目前,网络设备的种类日益繁多且各自的配置错综复杂,为了使不同厂商的设备能够在网络中相 ...

  4. 什么是链路层发现协议LLDP和LLDP-MED

    什么是LLDP? LLDP 是一种 IEEE 标准协议(IEEE 802.1AB),它定义封装在以太网帧中的消息,目的是为设备提供向 LAN 上的其他设备宣布基本设备信息的方法.它类似于CDP,用于网 ...

  5. 网络基础链路层--eth协议arp协议mtu

    网络基础链路层--eth协议&arp协议&mtu 一.链路层 二.eth-以太网协议 (一)mac地址 三.arp-地址解析协议 (一)解析流程 (二)arp缓存为什么只有很短的一段时 ...

  6. lldp协议代码阅读_LLDP(链路层发现协议)和OpenFlow

    1.LLDP(链路层发现协议)机制 链路层发现协议(LLDP)是一个厂商无关的二层协议,它允许网络设备在本地子网中通告自己的设备标识和性能.它提供了一种标准的链路层发现方式.LLDP协议使得接入网络的 ...

  7. 不会还有人不会配置LLDP链路层发现协议吧?

    实验目的 1.了解链路层发现协议LLDP的运行原理 2.掌握链路层发现协议LLDP的配置方法 实验拓扑 实验需求 1.根据实验拓扑图,完成设备的基本配置: 2.在R1上使用LLDP查看SW1和R2的设 ...

  8. LLDP链路层发现协议介绍

    目录 背景 基本概念 LLDP报文 Ethernet II格式封装的LLDP报文 SNAP格式封装的LLDP报文 LLDPDU TLV 特点 工作机制 LLDP的工作模式 LLDP报文的发送机制 LL ...

  9. lldp协议代码阅读_LLDP链路层发现协议详解

    LLDP(链路层发现协议)是定义在802.1ab中的一个二层协议,接入网络的设备可以通过其,将管理地址.设备标识.接口标识等信息发送给同一个局域网络的其它设备. LLDP 帧格式 封装有 LLDP D ...

  10. 计算机网络实验: 使用Wireshark抓包工具进行网络层和链路层网络协议分析(IP部分)

    目录 实验名称: 实验介绍: 实验目的: 背景知识和准备: 实验过程: 一. IP协议分析 二. Ethernet & ARP 协议分析 实验名称: 网络层和链路层网络协议分析 实验介绍: 本 ...

最新文章

  1. Linux下/dev/null 21 相关知识说明
  2. python time智能等待_python中等待怎么表示
  3. 谁偷走了程序员的时间??
  4. SXSSFWorkbook使用——使用excel模板
  5. python面试技巧和注意事项_Python 程序员面试须知须会的5个问题
  6. LwIP之数据包管理
  7. jq自动获取html的值,jquery如何获取class值?
  8. 1.7更换JDK1.6版本后,无法启动eclipse mars解决办法。
  9. java封装的注意事项_新手学习Java之对象---封装
  10. 【图像检测-边缘检测】基于PCNN实现图像边缘提取附matlab代码
  11. Unity摄像机上下旋转镜头实现
  12. org.apache.flink.util.FlinkRuntimeException: Exceeded checkpoint tolerable failure threshold
  13. JAVA中的protected的访问权限只有在本类同包类和子类吗?
  14. 移动端开发之Web App开发
  15. 山东大学软件学院项目实训-创新实训-网络安全靶场实验平台(十五)
  16. 获诱人的实习offer、在Kaggle推AI大赛,大二学生如何做到?
  17. AI产品经理数据模型设计文档(简版)
  18. 永不消逝的电波(四):从无线电角度揭秘定位劫持
  19. 树莓派4正式发布!TYPE-C,USB3.0,支持4K双屏,售价35美金起
  20. pyautocad相关操作案例

热门文章

  1. 归并排序详解,Java版描述。
  2. PS技巧-如何快速解决合成中的光影
  3. 4g通信模块怎么连接sim卡_4g通信模块怎么连接sim卡_针对物联网连接管理关键痛点,英飞凌推出一站式eSIM解决方案......
  4. 4G模块G8100低功耗对比测试
  5. [Python]error: (-215:Assertion failed) size.width0 size.height0 in function 'cv::imshow'
  6. android 程序应用锁,应用锁(com.ushareit.lockit) - 2.2.48_ww - 应用 - 酷安
  7. mac使用pptp的正确方式
  8. POJ3602解题报告
  9. 论文笔记——Fair Resource Allocation in Federated Learning
  10. Java中char和int相互转换