计算机网络-数据链路层-广播信道

局域网的数据链路层

局域网使用广播信道

  • 局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限
  • 优点
    1)有广播功能——能方便地从一个站点访问全网
    2)便于系统扩展
    3)提高系统可靠性、可用性、生存性
  • 按网络拓扑分类
    星型网、环形网、总线网
  • 共享信道的两种方法
    1)静态划分信道:代价高,不适合局域网,如:频分复用、时分复用、波分复用、码分复用
    2)动态媒体接入控制(多点接入):特点:信道不是在用户通信时,固定分配给用户
    分两类:
    1.随机接入 : (以太网就是这种)
    特点:所有的用户可随机地发送信息,如果刚好有两个以上用户同时发信息,则发生碰撞(冲突),使他们的发送都失败
    2.受控接入 :(不讨论嗷)
    特点:不能随机发,要受控制。

以太网的两个标准

  • 数据链路层的两个子层:
    逻辑链路控制 LLC 子层,与传输媒体无关。
    媒体接入控制 MAC子层,与接入到传输媒体有关的内容都在这子层,局域网对 LLC子层是透明的。
  • LLC被淘汰了,以后只讲MAC层嗷

适配器的作用

  1. 进行串行/并行转换
  2. 对数据进行缓存 ——网络上的数据率与计算机总线上的数据率不匹配
  3. 在计算机的操作系统安装设备驱动程序
  4. 实现以太网协议

CSMA/CD协议——载波监听多点接入/碰撞检测

  • 总线的特点:当一台计算机发送数据,总线上所有计算机都可以检测到这个数据。这就是广播通信方式
  • 为了通信的简便,以太网采用两种措施
  • 1)采用 较为灵活的 无连接 的工作方式,即不必先建立连接 就可以直接发送数据,对发送的数据帧不编号 ,也不要求对方发回确认(因为局域网信道好)。以太网提供的服务是尽最大努力的交付,即 不可靠的交付 ;以太网还 不纠错 ——有错就丢弃,不知道重传帧 ——把之前的有差错帧当做新的数据帧发送。
  • 2)以太网发送的数据都使用曼彻斯特编码 ——码元1是低电压变高电压;码元0是高电压变低电压
    好处:摆脱对时钟的依赖
    缺点:所占的频带宽度增加了一倍

CSMA/CD协议要点

  • “多点接入” :总线型网络,表示许多计算机以多点接入 的方式连接在一根总线上
  • “载波监听” 是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据
  • “碰撞检测” 就是计算机边发送数据边检测信道上的信号电压大小。
    当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

分析为什么监听到空闲却还会发生碰撞

前提:电磁波在1km电缆传播时延约5 μs

  • 如果B在A发送的数据到达前发送自己的帧,则必然发生碰撞,结果导致两个帧都无用。
  • 把总线上的单程端到端传播时延记τ,A 发送数据后,最迟要经过才能知道自己发送的数据和其他站发送的数据有没有发生碰撞
  • 使用 CSMA/CD 协议的以太网不可能进行全双工 通信而只能进行双向交替 通信(半双工通信
  • 以太网有发送的不确定性 ——有碰撞的可能
  • 争用期(碰撞窗口):端到端往返时间 ——经过争用期还没检测到碰撞,才能肯定发送没有发生碰撞
  • 以太网使用:截断二进制指数退避 算法来确定碰撞后重传的时机
  • 退避算法
    1)确定基本退避时间,一般是取为争用期 2τ,具体是51.2μs
    2)从整数集合[0,1,…, (2^k −1)]中随机地取出一个数,记为 r
    3)定义重传次数 k ,k ≤ 10,即k = Min[重传次数, 10]
    4)重传所需的时延就是 r 倍的基本退避时间。
    5)当重传达 16 次仍不能成功时即丢弃该帧,并报告

举例

如果第二次发生碰撞:
n = 2
k = MIN(2,10) = 2
R = {0, 1, 2, 3)
延迟时间 = {0, 51.2 μs, 102.4 μs, 153.6 μs} 其中任取一值

  • 以太网规定:一个最短帧长64字节,即512bit;凡长度小于64字节的帧都是由于冲突而异常终止的无效帧;对于10Mbit/s以太网,发送512bit的时间需要51.2μs
  • 强化碰撞
    当发送数据的站一发现发生碰撞就马上停止发送;并且再发送32/48比特的人为干扰信号 ——让所有用户都知道发生了碰撞
  • 每发送一帧,都暂时保留一下,若在争用期发生碰撞,就推迟一会后把暂时保留的帧重传
  • 帧间最小间隔 为9.6μs,即96比特时间——为了清理接收缓存

集线器

  • 逻辑上仍是一个总线网,使用CSMA/CD
  • 集线器有很多接口
  • 集线器工作在物理层,不进行碰撞检测,只简单地转发比特——收1发1,收0发0
  • 采用专门的芯片:自适应串音回波抵消、信号再生整形、重新定时

以太网信道利用率

  • 要提高信道利用率,要减小 τT0 之比

  • 以太网定义了参数a (a要尽可能小),是单程端到端时延τ帧的发送时间T0之比:
    在这里插入图片描述

  • 理想化情况:假定:各站发送数据都不会碰撞,且一空闲就有一个站发送数据。
    这样,发送一帧占用线路的时间:T0 + τ ,而帧发送时间:**T0 **

  • 得到极限信道利用率Smax:
    在这里插入图片描述

  • 公式意义:只有a<<1才能得到很高的极限信道利用率

MAC层

  • MAC层的硬件地址
    在局域网中,硬件地址又称为物理地址或MAC地址,因为这种地址用在MAC帧中。
    其实是指局域网上的每一台计算机中固化在适配器的ROM中的地址
    目前的MAC地址一般是6字节的48位的长度。
    简单的理解:MAC地址,实际上就是适配器地址

简述一下适配的作用:
适配器实际上就是每台计算机接入到互联网的一个接口,路由器因为要将数据在不同的局域网上面路由,所以路由器一般不止一个接口,就是说路由器一般不止一个硬件地址。

  • 适配器有过滤的功能:它在局域网上每次收到一个MAC帧时(局域网上面传输的数据),就检查MAC帧中的目的地址,发现如果和自己的地址一样(即是发往本站的帧),则拿到该MAC帧,然后做其他处理,如果发现和自己的MAC地址不一样,则把刚刚拿到的MAC帧再次丢到局域网中,以供其他的计算机使用。局域网上面的每一台计算机都是通过这种方式拿到自己需要的数据(MAC帧)

  • “发往本站的帧包括:”
    (1)单播帧(一对一):即收到的帧的MAC地址与本站的硬件地址相同。
    (2)广播帧(一对全体):即发送给本局域网上所有站点的帧(全1地址)。
    (3)多播帧(一对多):即发送给本局域网上一部分站点的帧。
    所有适配器至少能识别前两种帧

  • 适配器还有一种特殊工作方式:
    混杂方式 :工作在混杂方式的适配器只要“听到”有帧在以太网上传输就悄悄接受下来,而不管这些帧发往哪个站。即“窃听”其他站的通信,但不是中断通信。

MAC帧的格式

计算机网络-数据链路层-广播信道_第1张图片

  • 个字段的6个字节放置的是目的地址字段

  • 个字段的6个字节放置的内容是源地址字段

  • 个字段的2个字节放置的内容是类型字段:
    用来标识上一层使用的是什么协议,比如0800是IP协议,0806是ARP协议,8035是RARP协议,MAC层根据这些字段的内容来把数据传递给特定的层去使用。

  • 个字段是数据字段,它的长度是46–1500字节(46字节是这样得出的:最小长度64字节减去18字节的首部和尾部)

  • 最后一个字段是4个字节是帧检验序列FCS,使用了CRC校验。

  • 问题来了!

  • 1)MAC子层如何知道要取多少字节的数据呢?
    ——MAC帧并没有一个字段用来标识数据的长度,而是使用了曼彻斯特编码解决这个问题:发送方发送完毕,就不再发0/1,则适配器接口的电压也不再变化——就能找到帧的结束位置,往前数4字节(FSC),就得到数据字节的结束位置

  • 2)在数据字段中,如果数据的长度不满46字节,MAC帧就会加入一些数据进行填充 ,来保证帧长不小于64字节;但是,帧的首部并没有指出数据字段的长度 是多少;若有填充字段,接收端的MAC子层把首部、尾部剥去后就把数据字段和填充字段 一起交上去给上层协议了。问题是!!!!
    上层协议如何知道填充字段的长度??由此可得——上层协议必须具有识别有效的数据字段长度的功能。

  • 在以太网传送数据以帧为单位,且各帧之间 必须有一定间隙 ,因此以太网不需要帧结束定界符,不需要字节插入来保证透明传输

  • 无效的MAC帧
    1)不完整 :帧的长度不是整数个字节
    2)校验错 : FSC…
    3)长度错 : 数据字段长度不在46-1500字节之间

  • 查出无效就丢弃,不负责重传

在物理层扩展以太网——集线器

  • 扩展主机和集线器之间的距离:使用光纤 和一对光纤调制解调器
    光纤调制解调器作用:电信号、光信号转换。光纤时延很小,带宽很宽——这种方法容易使主机和远处集线器相连接。

  • 优点:
    1)使同学院不同系的计算机能跨系进行通信
    2)扩大了以太网覆盖的地理范围

  • 缺点:
    1)最大吞吐量没提高
    2)不同系如果用不同的以太网技术(如数据率不同),就不可能用集线器把他们互连

在数据链路层扩展以太网

  • 网桥工作原理
    网桥对收到的帧,根据他MAC帧的目的地址,查找网桥中的地址表,再确定把他转发 到哪个接口,或者丢弃(即过滤

  • 交换机特点:
    实质是一个多接口的网桥 **
    1)每个接口一般都连接一个主机或另一个交换机,且工作在全双工模式下
    2)有
    并行性** :能同时连通多对接口,使多对主机能同时通信
    3)独占传输媒体,无碰撞地传输数据
    4)接口有存储器 ,能缓存帧
    5)即插即用,内部的帧交换表地址表) 通过自学习 算法自动、逐渐建立
    6)用专用的交换结构芯片,用硬件转发——转发速率比用软件的网桥快很多
    7)最大优点:一个用户在通信时是独占而不是共享带宽
    8)大多数对收到的帧用存储转发 进行转发,但有用直通 的方式:在收到帧的同时就根据其目的地址决定他的转发接口 ,提高了转发速度, 缺点是:不检查差错,有可能转发了无效帧

交换机的自学习功能——使得能即插即用

1)开始时,交换表为空
2)收到帧则记录发送方 ,如 (A ,1) 【格式(MAC地址,接口)】
3)如果接收方端口未知,则向除接口1 以外的所有接口广播这个帧 (A,1)(这个帧从接口1进来,不应该把它从接口1又转发出去,这不是没事找事吗)
4)如果接收方端口已知,则发送到对应端口就vans了
5)**过滤: ** 例如A要传给B,那C D就丢弃这个帧,因为目标地址不对

  • 不管从哪个接口收到帧,只要他的目的地址是A,就把收到的这个帧从接口1转发出去;依据是:A发出的帧是从接口1进来的,那从接口1转发出去的帧也可以到达A——这体现了自学习
  • B通过接口2向A发送帧。交换机会查找交换表,发现表中的MAC地址有A,就从接口1发过去给A了,此时就不用广播 ;此时,交换表新增(B,2),以后要传给B,就走接口2嗷
  • 以此类推,交换表就齐全了,囊括了所有主机、接口。
  • 有可能会更换主机,就得更改表中的项目———表中每个项目都设有一个有效时间,过期的项目就自动被删除

你可能感兴趣的:(计算机网络)