标签:
链路层协议定义了在链路两端的节点之间交互的分组格式,以及当发送和接受分组时这些节点采取的动作。
链路层协议可能提供的服务包括:
服务 | 概述 |
---|---|
成帧 | 在每个数据报传输时,用链路层帧将其封装起来.一个帧由首部,数据字段和尾部组成.链路层的数据字段就是网络层的数据报 |
链路接入 | 媒体访问控制协议(Medium Access Control,MAC)规定了帧在链路上传输的规则.当对端只有一个的时候,可以随便发,MAC不作限制.当出现多路访问的问题的时候,MAC协议协调多个节点传输 |
可靠交付 | 表示两个链路层结点之间可以无差错传递帧.使用和TCP类似的确认与重传实现的.一般用于差错比例较大的链路(WiFi等).差错比特较低的链路(光纤等)一般不使用. |
差错检测和纠正 | 差错检测用于检测比特差错,一般用硬件实现.差错纠正可以纠正出现的比特差错 |
对于给定的一个通信的链路,链路层协议的主要部分在适配器中实现。在主机中,链路层的主体是在网络适配器(网络接口卡)中实现的,还是有部分功能由软件实现,如组装链路层寻址信息和激活控制器硬件.位于网卡核心的是链路层控制器,控制器实现了许多链路层服务(成帧,链路接入,差错检测)的专用芯片,因此,链路层的许多功能是用硬件实现的.
适配器是一个半自治的单元。
单个比特的奇偶校验
单个比特的奇偶校验是指在要发送的数据最后附加一个奇偶校验位.奇校验的意思就是整个编码中的1的个数要是奇数.偶校验就是1的个数是偶数. 显然如果有偶数个比特发生错误,那么奇偶校验就检测不出来了.
二维奇偶校验
D中的d个比特被划分为i行j列.对每行没咧计算奇偶值.产生的i + j + 1奇偶比特就构成了链路层帧的差错检测比特.
当出现单个比特差错时,发生错误的行和列都会出现差错.接收方不仅可以检测差错,还可以根据行列索引来纠正它
二维奇偶校验也可以检测(但不能纠正)两个比特错误的任何组合.
如果在同一行两个比特错误,则那一行的奇偶校验正确,但是会有两列的奇偶校验失败.如果不同行,则会有四列出错.这两种情况都无法纠错,只能检测.但是还是有一些偶数个错误的情况是二维奇偶校验无法检测的.
接收方检测和纠错的能力被称为前向纠错.
在校验和方法中,数据被切成k比特的序列,这些序列全部相加之后取反码就是校验和.接收方收到数据之后,把所有数据加起来(包括校验和).用结果是否全为1来作为判断数据是否出错的标准.
和CRC相比,校验和提供较弱的保护.
为什么传输层使用校验和而链路层使用CRC呢?
编码解码步骤
CRC编码也称为多项式编码,因为该编码能够将要发送的比特串看成系数是0或1的一个比特串,对比特串的操作被解释为多项式算数. 这里不过多讨论多项式理论.
编码步骤如下 :
接收方的解码步骤很简单,用G去除收到的d + r比特.如果余数非0,接收方知道出了差错.否则认为数据被正确接收.
怎么计算R?
要使得R对于n有: D * 2 r XOR R = nG.
两边同异或R得: D * 2 r = nG XOR
所以 R = remainder {D * 2r / G}
TDM(时分多路复用)
TDM把时间划分为时间帧,并进一步把时间帧划分为N个时隙(slot).(时间帧和链路层交换的单元帧不是一个意思)
然后把每个时隙分给N个节点中的一个.无论何时某个节点在有分组想要发送的时候,他在循环的TDM帧中指派给它的时隙内传输分组比特.时隙长度一般应是一个时隙内能传输一个分组
TDM的缺点
FDM(频分多路复用)
FDM将Rbps的信道划分为不同的频段(每个频段具有R/N带宽),并把每个频段分给N个结点中的一个.因此FDM在N个较大的信道中创建了N个较小的R/N信道.
FDM的缺点和TDM相同,限制了每个结点只能使用R/N带宽.
码分多址
又称为CDMA,此处不作介绍.只需要知道类似于TDM的时隙和FDM的频率,能分配给多路访问信道的用户.
时隙ALOHA
时隙ALOHA的原则是
优点:
缺点:
ALOHA
ALOHA是一个非时隙,分散的协议.当有帧需要传输时,ALOHA会马上传输.如果碰撞了,ALOHA会以概论P重传该帧.否则,该结点等待一个帧传输的时间.因为ALOHA的分散,所以ALOHA的最大效率仅为1/(2e).仅为时隙ALOHA的一半.
载波侦听多路访问(CSMA)
载波侦听的意思包含两点:
为什么所有结点都载波侦听,还是会碰撞?
因为信道传输会有时延(虽然速度接近光).
具有碰撞检测的载波侦听多路访问(CSMA/CD)
在纯CSMA中,即使检测到了碰撞,结点还是会发完它的帧.在CSMA/CD中,结点检测到碰撞就会停止发送一个无用的帧,有助于改善协议性能.
CSMA/CD运行的过程
如果每个结点都等待同样的时间T,那么可能会一直碰撞下去.为了解决这个问题,一般采用二进制指数后退算法.
二进制指数后退算法:传输一个帧时,如果经历了一连串的n次碰撞后,结点随机等概率从[0, 1, 2,3,…,2n-1]中选择一个K值,然后等待K * 512比特时间(例如,对于100Mbps,这个时间是5.12微秒.)后重传.
CSMA/CD协议效率 : 效率 = 1 / (1 + 5dprop / dtrans),其中dprop表示信号能量在任意两个适配器中传播所需的最大时间,dtrans表示传输一个最大长度的以太网帧的时间.从公式可以看出,如果dprop 接近0 , 则效率接近1
并非节点具有链路层地址,而是节点的适配器具有链路层地址。
MAC地址的作用是标识局域网内一个帧从哪个接口到哪个物理相连的其他接口.因此,拥有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址,就像他们也具有多个IP地址一样.需要注意的是,链路层交换机没有MAC地址.
MAC地址也被称为LAN地址,物理地址.
MAC地址长度为6个字节,,共有248个可能的MAC地址.
MAC地址空间由IEEE统一管理.当一个公司要生产适配器的时候,他象征性的付一点钱给IEEE,买一个224的地址空间.IEEE固定前24位,后24位由各个公司自己生成唯一标识.
当适配器收到一个帧时,会先检查这个帧的MAC地址与自己的接口MAC是否一致,如果不匹配就丢弃该帧,如果匹配向上传递.这种适配是使用硬件实现的.
FF-FF-FF-FF-FF-FF是唯一的用来广播的MAC地址
ARP做什么?
ARP的任务是把网络层的IP地址和链路层的MAC进行转换
在发送主机的ARP模块将取在相同局域网上的任何IP地址进行输入,然后返回相应的MAC地址
DNS和ARP很相似,但是DNS和ARP的区别是DNS为因特网上的任何主机解析主机名,而ARP只为在同一个子网上的主机和路由器接口解析IP地址.
ARP如何工作?
每台主机或者路由器在它的内存中都有一张ARP表,这张表包含了IP地址到MAC地址的映射关系.ARP表中也有一个寿命(TTL)值,它指示了从表中删除每个映射的时间,一个表项的过期时间一般是20分钟
这张表不必为该子网上的每台主机和每个路由器都包含一个表项,某些可能从没进入过表,某些可能已经过期
当主机222.222.222.220要发送一个数据报,该数据报要IP寻址到本子网上另一台主机或路由器.发送主机需要拿到MAC地址然后进行发送.如果ARP表中有这一项,那么直接取即可.如果没有,那么就会发送一个ARP分组.
一个ARP分组有几个字段,包括发送和接收IP地址和MAC地址.ARP查询分组和ARP响应分组都具有相同格式.
222.222.222.220向广播地址FF-FF-FF-FF-FF-FF发送一个ARP查询分组,子网中的每个结点都把这个分组向上传给ARP模块,ARP检查查询分组中的IP地址和自己的是否一样,其中匹配的那一个给查询者送回(不是广播)一个ARP响应,然后222.222.222.220更新它的ARP表并发送数据报
TIP:
DHCP是一个客户机/服务器协议。
对于一台新到达的主机,DHCP协议分四个阶段进行:
以太网是一种局域网技术.
以太网现行的主要结构是星型拓扑,不再使用集线器,而是使用交换机.
交换机不仅是无碰撞的,而且是名副其实的存储转发分组交换机.交换机运行在第二层.
|–前同步码–|–目的地址–|–源地址–|–类型–|–数据–|–CRC–|
字段 | 描述 |
---|---|
数据字段(46-1500字节) | 这个字段承载IP数据报.以太网的最大传输单元(MTU)是1500字节.如果超过就要分片.最小是46字节,如果不足,就要填充.网络层使用IP数据报标记的长度来确定去掉填充的字节. |
目的地址(6字节) | 网卡的MAC地址.只有本接口地址和广播地址才会被接收方送到网路层. |
源地址(6字节) | 发送者的MAC地址 |
类型字段(2字节) | 不一定数据一定是IP数据报.可能是各种不同的网络协议.比如ARP,AppleTalk等.用来标记网络层协议类型,以正确分发给网络层 |
CRC(4字节) | 用来纠错 |
前同步码(8字节) | 前七个字节用来”唤醒”接收适配器,并且同步时钟频率(为了支持不同的以太网速率总会产生漂移).第8个字节最后两个比特(第一个连续出现的1)用来警告网卡:”数据马上到来” |
以太网面向无连接,都向网络层提供不可靠服务.当使用CRC检测到帧错误后,它只是简单的丢掉,不会确认重传
前面已经分析,这里不再分析
过滤是决定一个帧应该转发到某个接口还是应当将其丢弃的交换机功能.
转发是决定一个帧应该被导向哪个接口并且导向这个接口的功能.
转发和过滤通过交换机表来完成
交换机表项有:
交换机转发的分组和路由器不一样,交换机转发的分组基于MAC地址
当一个目的地址发来时,交换机做这样的处理:
交换机是这样自学习的
交换机是即插即用的
交换机的几个优点:
TIP:交换机毒化
交换机的优点和缺点
优点 :
缺点:
路由器的优点和缺点
优点:
缺点:
多协议标签交换的目标是:对于基于固定长度标签和虚电路的技术,在不放弃基于目的地IP数据报转发的基础设施的前提下,当可能是通过选择新的标识数据报并允许路由器基于固定长度的标签(而不是目的地IP地址)转发数据报来增强功能
MPLS分组只能在MPLS使能的路由器之间发,因为MPLS首部位于链路层和网络层首部之间,普通路由器不认识.
MPLS使能的路由器会通告其他路由自己能到达的目的地A,并且通告MPLS的某个标签可以到达目的地A.
当一个MPLS分组到达时,路由器解析入标签,查MPLS表,然后把标签换成表中的出标签,发送到表中标记的接口中(类似虚电路).
MPLS可以配置一条预计算的无故障的路径来应对链路故障.
标签:
原文地址:http://blog.csdn.net/jly0612/article/details/51315186