Facebook Twitter Linkedin YouTube VK Xing

计网复习(链路层)

五.数据链路层

概述

目的:了解数据链路层服务和协议原理

包括:

(1)差错检测和纠错

(2)共享广播信道:多路访问协议

(3)链路层寻址

(4)可靠传输,流量控制

简单的介绍

术语:

节点:主机和路由器(包括网桥和交换机)

链路:沿通信路径连接的通信信道

:链路层协议交换的数据单元。封装网络层数据报

数据链路层的职责:

将分组通过一个链路,从一个节点传到临近的另一个节点。

特点:

分组的传输在经过不同链路的时候可以用不同的协议来实现

例如,最初是以太网,然后是帧中继,接着是802.11

每个链路协议提供不同服务

例如,可以在链路上提供或不提供可靠的传输

链路层服务

成帧:

(1)把网络层的数据加头和尾封装成帧

(2)帧头中包括指明目的和源的”物理地址”(不同于IP地址)

链路访问:

(1)媒体访问控制协议(MAC)

(2)共享媒体的多路访问

在邻接节点间的可靠传输:

(1)无确认无连接

(2)无确认有连接

(3)有确认有连接

差错检测:

差错由信号衰减和噪声所引起

如果接受者检测到错误,那么发送者重传帧或者丢弃帧

纠错:

接收者检测和纠正错误,不需要发送者重传。

多路访问协议(MAC协议)

分三类:

1.信道划分

把信道进行划分(TDMA,FDMA,CDMA),然后给节点分配专用的小片

2.随机访问

不划分信道,允许冲突,能够从冲突中”进行恢复”

3.轮流

通过集中来调整共享访问从而避免冲突

具体来看:

信道划分

TDMA:通过对信道进行时隙的划分,轮流访问信道。

个人理解TDMA是一种串行使用,对时间划分的话利用效率其实很低…

FDMA:信道根据频段来进行划分,每个站点分配一个固定的频段,未被使用的频段空闲。

CDMA:每个节点分配一个唯一的编码,每个节点用其唯一的编码来对发送的数据进行编码,这样可以实现多个节点共存,信号可以叠加,可以同步传输而无冲突(如果编码正交化)

随机访问

节点以满数据率发送数据包,节点之间没有协调者,当有2个或更多的发送节点的时候会发生冲突.

所以随机访问MAC协议还要求能够检测冲突并且能够从冲突中恢复(比如通过延时重传)。

随机访问MAC协议的实例:

  • ALOHA
  • 时隙ALOHA
  • CSMA,CSMA/CD,CSMA/CA

ALOHA(非时隙):

简单,不需要同步,帧一到达立即传输

但是t0发送的帧会和[t0-1,t0+1]的发送的其它帧冲突

后出现的帧会覆盖前面出现的,所以传输成功概率为

P=p(1-p)^2(N-1)^

时隙ALOHA:

假设情况:

所有的帧大小相同;时间被划分称为相同大小的时隙;一个时隙等于传送一帧的时间;所有节点只有在一个时隙开始的时候才能传送;节点需要同步;如果一个时隙有多个节点同时传送,所有节点都可以检测到冲突

实现:

节点发送新帧的时候等下一个时隙开始

如果没有冲突,节点可以在下一个时隙发送新帧

如果有冲突,节点在随后的时隙以概率p重传,直到成功

优点:

1.单个活跃节点满速率传送帧

2.高分散性,只用节点时隙同步

3.简单

缺点:

1.冲突,浪费时隙

2.空闲时隙

3.节点只有在传输数据包的时候才能检测到冲突

blacsheep

CSMA

可以类比人类的不打断他人

即传送之前侦听,如果信道空闲则传输,否则延时传输

冲突可能:

传播延时可能导致两个节点没侦听到其它节点的传送。当发生冲突的时候,整个数据包传送时间被浪费。冲突概率由距离和传播延时决定

CSMA/CD

基本思想:

当一个节点要发送数据的时候,先看是否有载波

如果没有,则发送数据,否则继续监听,一旦发现空闲就立刻传送数据。

如果发送中没有发生冲突,则传输成功,否则停止正常发送,转而发送一短暂的干扰信号强化冲突,让其他站点都知道出现了冲突。

p发送了干扰信号后,指数退避一随机时间,即假设该帧经过n次冲突后,适配器在{0,1,2,…,2^m^-1}中随机选取一个K值 ,其中m=min(n,10),然后等待K*512比特时间后,回到第2步

轮转协议

两者的折中,主节点轮流邀请从属节点来传送数据

控制方式:控制令牌从一个节点传到另外一个节点。

交换局域网

主要是arp协议

arp协议

数据帧的传输是依赖于MAC地址的,但是A往B发包的时候,只知道IP地址

问题:从B的IP怎么知道B的mac地址

每个局域网上的IP都有arp表,arp表中有局域网上的IP/MAC的一一对应,当A知道B的IP,想发分组给B的时候,假设B的MAC不在A的arp表,那么A广播包含B的IP地址的ARP查询包,局域网的所有机器都可以收到ARP查询,当B收到查询的时候,回送一个有自己MAC的包给A,A缓存IP-to-MAC信息直到过期.

如果是对外网发包,那么过程如下

发送过程:

在路由器R中有两个ARP表,每个针对一个IP网络 (LAN)

在主机的路由表中发现路由器的IP:111.111.111.110

在主机的ARP表中发现MAC地址:E6-E9-00-17-BB4B 等

A创建一个分组,源地址为A,目的地址为B

A使用ARP得到R的111.111.111.110的MAC地址

A创建一个链路层帧,该帧以R的MAC地址为目的地址 ,并包含 A-to-B的IP数据包

A的适配器发送帧,R的适配器收到帧

R从Ethernet帧中提取IP数据包,得知目的地址为B

R使用 ARP得到B的MAC地址

R创建一个包含A-to-B的IP数据包的帧发送给B

Leave a Reply

Your email address will not be published.Required fields are marked *

%d 博主赞过: