六、链路层和局域网

6.1 概述:

1.一些概念:

  • 节点:将运行链路层协议的任何设备均称为节点(node),节点包括主机、路由器、交换机、和WiFi接入点。
  • 链路:把沿着通信路径连接相邻节点的通信信道称为链路
  • 在通过特定的链路时,传输节点将数据报封装在链路层帧中,并将该帧传送到链路中。

2.链路层提供的服务

尽管任一链路层的基本服务都是将数据报通过单一通信链路从一个节点移动到相邻节点,但所提供的服务细节能够随着链路层协议的不同而变化。

  • 成帧:在每个网络层数据报经链路传送之前,几乎所有的链路层协议都要将其用链路层帧封装起来。一个帧由一个数据字段和若干首部字段组成,其中网络层数据报就插在数据字段中。帧的结构由链路层协议规定,
  • 链路接入媒体访问控制(MAC)协议规定了帧在链路上传输的规则。对于在链路的一端仅有一个发送方、链路的另一端仅有一个接收方的点对点链路,MAC的协议比较简单。当多个节点共享单个广播链路时,即所谓多路访问问题。这里,MAC协议用于协调多个节点的帧传输。
  • 可靠交付:当链路层协议提供可靠交付服务时,它保证无差错地经链路层移动每个网络层数据报。链路层的可靠交付服务是通过确认重传取得的。主要用于易于产生高差错率的链路,目的是本地(也就是在差错发生的链路上)纠正差错,而不是需要运输层或应用层协议进行端到端的数据重传。对于低比特差错的链路,是不必要的开销。许多有线链路并不提供可靠交付服务。
  • 差错检验和纠正:比特差错是由信号衰减电磁噪声导致的。让发送节点在帧中包括差错检验比特,让接收点进行差错检验,以此完成这项工作。链路层的差错检验更加复杂,并且用硬件实现。差错纠正类似于差错检测,区别在于接收方不仅能够检测帧中出现的比特差错,而且能够准确地将确定帧中的差错出现的位置 (并纠正,可以想一下海明校验码)

3.链路层在何处实现

  • 链路层的主体部分是在网络适配器中实现的,网络适配器有时也称为网络接口卡,位于网络适配器核心的是链路层控制器,是完成许多链路层服务(成帧、链路接入、差错检测)的芯片由硬件实现。部分链路层是在软件上实现的,链路层的软件组件实现了高层链路层功能,如组装链路层寻址信息激活控制器硬件

6.2 差错检测和纠正技术

  • 在发送节点,为保护比特免受差错,使用差错检验和纠正比特来增强数据D。但是还是有可能有未检出比特差错;一般而言,差错检测和纠错技术越复杂,导致的开销就越大,这就是意味着需要更多的计算量及更多的差错检验和纠错比特。

1.奇偶校验:

  • 这个就是d比特数据配合一个奇偶校验码进行奇偶校验,但是当以突发方式聚集在一起的时候就很难识别,由此可以考虑二维奇偶校验,甚至可以找到发生错位的位置并且纠正。
  • 接收方检测和纠正差错的能力被称为前向纠错。可以减少发送方重发的次数。

2.检验和方法

  • 简单校验和:就是将这k比特整数加起来,并且用得到的和作为差错检测比特。因特网检验和就是基于这种方法,即数据的字节作为16比特的整数对待并求和。这个和的反码形成了携带在报文段首部的因特网校验和。

3.循环冗余检测

  • 现今的计算机网络中广泛应用的差错检测技术基于循环冗余检测编码CRC编码也称为多项式编码,因为该编码能够将要发送的比特串看作系数是0和1一个多项式,对比特串的操作被解释为多项式算术。
  • 对于一个给定的数据段D,发送方要选择r个附加比特R,并将它们附加到D上,使得得到的d+r比特模式(被解释为一个二进制数)用模2算数恰好能够被G整除(即没有余数)。用CRC进行差错检测的过程因此很简单。接收方用G去除接收到的d+r比特,如果余数为非零,接收方知道出现了差错;否则认为数据正确而被接收。
  • 模2运算的定义就是加法不进位,减法不借位,也就是说加法和减法是相同,也和按位异或是相同的。
  • R的计算至于怎么推导不用了解,可以看一下二进制除法求余数的过程
  • 每个CRC标准都能检验小于r+1个比特的突发差错。(这意味着所有连续的r比特或者更少的差错都可以检验到),此外在适当的假设下,长度大于r+1比特的突发差错以概率1-0.5^r被检测到。每个CRC标准也都能检测任何奇数个比特差错。

6.3 多路访问链路和协议

1.介绍:

  • 点对点链路:由链路一端的单个发送方和链路另一端的单个接收方组成。相关的链路协议:PPP(点对点协议)和HDLC(高级数据链路控制)。
  • 广播链路:它能够让多个发送和接收节点都连接到相同的、单一的、共享的广播信道上。”广播“是因为当任何一个节点传输一个帧时,信道广播该帧,每个其他节点都收到一个副本。
  • 多路访问问题:如何协调多个发送和接收节点对一个共享广播信道的访问?
  • 多路访问协议:即节点通过这些协议来规范他们在共享的广播信道上的传输行为。
  • 碰撞 :当多个节点同时传输帧,在这种情况下所有节点可能同时接到多个帧;传输的帧在所有的接收方处碰撞。

2.信道划分协议:

  • 时分多路复用(TDM) 和频分多路复用 (FDM)是两种能够用于在所有共享信道节点之间划分广播信道带宽的技术。
  • 码分多址:此时我们知道CDMA编码类似于TDM中的时隙和FDM中的频率,能分配给多路访问信道的用户就可以了。

3.随机接入协议

  • 时隙ALOHA协议:固定时隙而不是完全分散,完全的效率是时隙ALOHA的一半。简单理解就是一个是只能在一个时隙的开始进行重传,一个是任意时刻开始重传。如果没有碰撞直接传输,有的话以概率P在一个时隙开始进行重传。

4.载波侦听多路访问:

  • 载波侦听:即一个节点在传输前先听信道。吐过来自另一个节点的帧正向信道上发送,节点则等待直到检测到一小段时间没有传输,然后开始传输。
  • 碰撞检测:即当一个传输节点在传输时一直在侦听此信道。如果它检测到另一个节点正在传输干扰帧,他就停止传输,在重复”侦听-当空闲时传输“循环之前等待一段时间。
  • 以上两个规则包含在载波侦听多路访问和具有碰撞检测是CSMA协议族中
  • 注意:信道传播时延越大,载波侦听节点不能侦听到网络中另一个节点已经开始传输的机会就越大。

5.具有碰撞检测的载波侦听多路访问(CSMA/CD)

  • CSMA/CD算法流程:
    适配器从网络层获取数据报,准备链路层帧,并将其放入帧适配器缓存中。
    如果适配器真听到信道空闲(即无信号能量从信道进入适配器),它开始传输帧。在另一方面,如果适配器真听到信道正在忙,它将等待,直到侦听到没有信号能量时才开始传输真。
    在传输过程中,适配器监视来自其他使用该广播信道的适配器的信号能量的存在。
    如果适配器传输真个帧而未检测到来自其他适配器的信号能量,该适配器就完成了该帧。在另一方面,如果适配器在传输时检测到来自其他适配器的信号能量,它终止传输(即它停止了传输帧)
    中止传输后,适配器等待一个随机时间量,然后返回步骤2.
  • 二进制指数后退就是为了解决随机时间量设定的一个算法。

6.CSMA/CD效率

  • 定义:当有大量的活跃节点,且每个节点有大量的帧要发送时,帧在信道中无碰撞地传输地那部分时间在长期运行中所占地份额。近似推导公式:

6.3 轮流协议

1.轮询协议:

  • 轮询协议要求这些节点之一要被指定为主节点。主节点以循环的方式轮询每个节点。
    缺点:节点发送了它最多数量的帧时,主节点必须依次轮询每一个非活跃的节点。如果主节点发生故障,整个信道都变得不可操作。

2.令牌传递协议:

  • 概念:一个称为令牌的小的特殊帧在节点之间以某种固定的次序进行交换。
  • 解释:当一个节点持有令牌也确实需要发送时就发送数据,然后将令牌传到下一个节点,没有直接传到下一个节点。
  • 缺点:如果有一个节点故障可能会使整个信道崩溃,如果有一个节点偶然忘记了释放令牌,则必须调用某些恢复步骤使令牌返回到循环中来。

6.4DOCSIS:用于电缆因特网截图的链路层协议

  • 一个电缆接入网通常在电缆网头端将几千个住宅电缆调制解调器与一个电缆调制解调器端系统连接。
  • 数据经电缆服务接口定义了电缆数据网络体系结构及其协议。DOCSIS使用FDM将下行(CMTS到调制解调器)和上行(调制解调器到CMTS)网络段划分为多个频率信道。然而因为仅有单一的CMTS在下行信道上传输,不存在多路访问问题。但在上行方向,因为多个电缆调制解调器共享到CMTS的相同上行信道(频率),因此能够潜在地出现碰撞。
  • 电缆接入网可作为应用多路访问协议(即FDM,TDM,随机接入和集中分配时隙都用于一个网络中)的一个极好例子
  • FDM:下行用到了,TDM上行微时隙间隔,随机接入,集中分配就是电缆调制解调器端系统做的一些事。

6.4 交换局域网

6.4.1 链路层寻址和ARP(地址解析协议)

  • MAC地址:事实上并不是主机或者路由器具有链路层的地址,而且他们的适配器(即网络接口)具有链路层地址。
  • 交换机并不具有与它们的接口相关联的链路层地址。这是因为链路层交换机的任务是在主机与路由器之间承载数据报,交换机透明地执行该项任务。主机或路由器不必明确地将帧寻址到其间地交换机。
  • 不同的称呼:LAN地址、物理地址、MAC地址
  • MAC地址的一个有趣的性质是没有两块适配器具有相同的地址。
  • MAC地址具有扁平结构,是固定不变的。和IP的层次结构不同
  • 根据MAC地址去匹配目的地,但是如果想要所有其他适配器都接收并处理它打算发送的帧,可以在该帧的目的地址字段中插入一个特殊的MAC广播地址。对于使用6字节地址的局域网,广播地址三8个连续的1组成的字符串。
    主机和路由器接口除了网络层地址之外还有MAC地址,原因很多,总结概括一句话:保持各层独立。

6.4.2 地址解析协议

  • 概念的引入:因为存在网络层地址和链路层地址,所以需要在他们之间进行转换。对于因特网而言,这是地址解析协议的任务。
  • ARP将一个IP地址转换为MAC地址,和DNS类似,DNS是将主机名解析为IP地址。DNS为在因特网中任何地方的主机解析主机名,而ARP只为在同一个子网上的主机和路由器接口解析IP地址。
  • 如何映射:通过ARP表,这张表包含IP地址到MAC地址的映射关系。还有过期的时间TTL

子网内通信:

  • 假设IP为222.222.222.220的主机要向主机222.222.222.222发送IP数据报,源和目的均位于相同的子网中,为了发送该报,该源必须要向它的适配器不仅提供IP数据报,而且要提供目的主机的MAC地址,然后发送适配器将构造一个包含目的地的MAC地址的链路层帧,并把该帧发送进局域网。如果ARP表中有对应的IP地址和MAC地址是最好的,没有怎么办?
  • 没有的话,通过ARP协议来解析这个地址。ARP查询分组的目的是询问子网上所有其他主机和路由器,以确定对应于要解析的IP地址的那个MAC地址。
  • 源IP地址通过它的适配器传递一个ARP查询分组,并且指示适配器应该用MAC广播地址来发送这个分组,所有子网内的适配器都把该帧中的ARP分组向上传递给ARP模块,这些ARP模块中的每个都检查它的IP地址是否与ARP分组中的目的IP地址相匹配,阈值匹配的一个给查询主机发送回一个带有所希望映射的相应ARP分组。然后查询主机更逊ARP表,重新进行发送。
  • 注意:查询ARP报文是在广播帧发送的,而响应ARP报文在一个标准帧中发送。

发送数据到子网外:

  • 发送主机的适配器并不知道目的主机的MAC地址。
  • 先将数据传给连接两个子网的路由器,路由器通过查询ARP再去寻找目的主机的MAC地址。

6.4.3 以太网:

  • 以太网帧结构
  • 数据字段:它承载了IP数据报,以太网的最大传输单元(MTU)是1500字节,最小是46字节,多了切片,少了填充。网络层可以通过IP数据报首部中的长度字段来去除填充部分。
  • 目的地址:这个字段包含目的适配器的MAC地址。
  • 源地址:发送主机的适配器的MAC地址。
  • 类型字段(两个字节):该类型字段和网络层数据报中的协议字段、运输层报文段的端口号相类似;所有这些字段都是为了把一层中的某协议与上一层的某协议结合起来。
  • CRC:CRC(循环冗余校验)字段的目的是使得接受适配器检测帧中是否引入了差错。
  • 前同步码:以太网帧以8字节的前同步码字段开始。该前同步码的前7字节的值都是10101010;最后一个字节是10101011。前七个字节用于唤醒接收适配器
  • 以太网技术提供无连接服务不可靠服务。如果上层的协议是TCP那么会进行重传。
  • 以太网技术:(发展,不太重要)

6.4.3链路层交换机

交换机自身对子网中的主机和路由器是透明的;这就是说,某主机/路由器向另一个主机/路由器寻址一个帧(而不是向交换机寻址该帧)

  • 交换机转发和过滤:过滤是决定一个帧应该转发到某个接口还是应当将其丢弃的交换机功能。转发是决定一个帧应该导向哪个接口,并把该帧移动到那些接口的交换机功能。交换机的转发和过滤借助于交换机表完成。
  • 交换机表项包括:
    MAC地址、通向该MAC地址的交换机接口、表项放置在表中的时间。(可以对比ARP表的IP地址、MAC地址、TTL)


*注意:如果MAC和接口存在的话,无需将该帧转发到任何其他接口、交换机通过丢弃该帧执行过滤功能即可。

2.自学习
交换机的表是自动、动态和自治地建立的,即没有来自网络管理员或来自配置协议的任何干预。换句话说,交换机是自学习的。
实现过程:

  • 交换机表初始为空。
  • 对于每个接口接收到的每个入帧,该交换机在其表中存储:①在该帧源地址字段中的MAC地址②该帧到达的接口③当前时间。
  • 如果在一段时间(老化期),交换机没有接收到以该地址作为源地址的帧,就将其删除。
  • 交换机是即插即用设备,不需要网络管理员和用户的干预。
    3.链路层交换机的性质
  • 清除碰撞:交换机缓存真并且绝不会再网段上同时传输对于一个帧。因此交换机提供了比使用广播链路的局域网高得多的性能改善。
  • 异质的链路:交换机将链路彼此隔离,因此局域网中的不同链路能够以不同的速率运行并且能够在不同的媒体上运行。
  • 管理:提供强化的安全性,交换机也易于进行网络管理。
    4.交换机和路由器的比较
  • 交换机是第二层的分组交换机,路由器是第三层的分组交换机。
  • 交换机的优点和缺点:交换机是即插即用的,这是世界上所有超负荷工作的网络管理员都喜爱的特性。交换机还能够具有相对高的分组过滤和转发速录。为了防止广播帧的循环,交换网络的活跃拓扑限制为一棵生成树。交换机对于广播风暴不采取任何保护措施,主机故障并传输没完没了的以太网广播帧溜,该交换机将转发这些帧,有大量的ARP表,着将生成客观的ARP流量和处理量。
  • 路由器的优点和缺点:网络寻址是分层次的,当网络中存在冗余路径,也通常不会通过路由器循环,所以分组不会被限制到一棵生成树上,并可以使用源和目的地之间的最佳路径。缺点:并不是即插即用的,需要人为地配置IP地址。而且路由器对每个分组地处理时间通常比交换机更长,因为他们必须处理高达第三层地字段。

6.4.5虚拟局域网

难题:

  • 缺乏流量隔离:
  • 交换机的无效使用
  • 管理用户

解释:

  • 支持VLAN的交换机允许经一个单一的物理局域网基础设施定义多个虚拟局域网。在一个VLAN的主机彼此通信。在一个基于端口的VLAN中,交换机的端口由网络管理员划分为组。每个组构成一个VLAN,在每个VLAN中的端口形成一个广播域。
  • 当一个VLAN中的交换机端口的用户想加入另一个VLAN时,只需要重新配置VLAN软件,使对应得端口和另一个VLAN相关联即可。
  • 交换机配置和操作:网络管理员使用交换机管理软件声明一个端口属于某个给定的VLAN,在交换机中维护一张端口到VLAN的映射表,交换机软件仅在属于相同VLAN的端口之间交付帧。
  • 隔离带来的问题:需要另一个中介的路由器去完成两个VLAN之间的数据传输。

VLAN干线连接:

  • 由标准以太网帧与加进首部的4字节VLAN标签组成,而VLAN标签承载着该帧所属的VLAN标识符。
  • VLAN标签包括:2字节的标签协议标识符,2字节的标签控制信息字段和三比特优先权字段。

计算机网络第六章复习笔记(JLU复习版)相关推荐

  1. 【线性代数复习笔记】同济大学版第三章和第四章 矩阵的初等变换与线性方程组与向量组的线性相关性

    [线性代数复习笔记]同济大学版第三章和第四章 矩阵的初等变换与线性方程组与向量组的线性相关性 1.矩阵的初等变换 矩阵的三种初等变换及性质 行阶梯形矩阵 矩阵的初等变换的性质 2.矩阵的秩 矩阵的秩的 ...

  2. Python编程:从入门到实践第六章读书笔记6.3遍历字典

    Python编程:从入门到实践第六章读书笔记6.3遍历字典 #coding:gbk#6.3.1遍历所有的键-值对 user_0 = {'username': 'efermi','first': 'en ...

  3. 工程伦理第六章学习笔记2020最新

    工程伦理第六章学习笔记2020最新 继续更新第六章

  4. 计算机网络第六章 链路层和局域网

    计算机网络自顶向下书籍中科大B站课程笔记 Part1第六章 链路层和局域网 --广域网也有链路层,但是相对来说比较简单,所以重点放在局域网 --由一个节点如何到达另外一个相邻节点:点到点传输 目标: ...

  5. chmod 777 什么意思:鸟哥的linux私房菜第六章学习笔记

    鸟哥的linux私房菜基础学习篇:心血来潮决定看一下这本书,虽然都是讲很基础的东西,但是,绝对不是浪费时间,比如我看完了之后就终于明白了chmod777是什么意思了. 写这个读书笔记也主要是想记录一些 ...

  6. 《数学之美》——第六章 个人笔记

    数学之美 最近在读<数学之美>这本书,做一下个人笔记.看的是PDF,看完后会买一本的哦!版权意识还是有的. ps:图片文字都是这本书中的内容,侵权立删.会有点自己的理解. 第六章     ...

  7. 数据结构期末复习笔记(NEU版)

    数据结构期末复习笔记 绪论 数据结构的概念 数据结构的分类 数据结构研究的内容 算法的重要特性 算法的设计要求 题目汇总 线性表 栈和队列 栈 队列 题目 数组与广义表 树 二叉树 二叉树的遍历 线索 ...

  8. JavaScript高级程序设计(第3版)第六章读书笔记

    第六章 面向对象的程序设计 1. 数据属性 [[Configurable]]:表示能否通过delete删除属性从而重新定义属性.默认值为true. [[Enumerable]]:表示能否通过for-i ...

  9. 《文明之光》第六章读书笔记

    第六章--人造的奇迹 综述:中国几千年的文明史上,从来没有一件商品能够像瓷器一样,改变了世界的政治文化和人类的生活. 第一节--陶和瓷 人类走过茹毛饮血的时代,就需要有东西来盛放食物和水.早在新石器时 ...

  10. 计算机网络 第六章 课后题答案

    英文版教材第六章 8.10.11.18.19.21.22.25.26.27.28.补充题 比较传输层与数据链路层的区别(此处数据链路层不包含MAC子层) 比较网络层的端到端和传输层的端到端的区别. 传 ...

最新文章

  1. qu.la网站上的小说爬取
  2. HTTP Status 405 - JSPs only permit GET POST or HEAD问题的分析和解决办法
  3. 网友写的ELK安装步骤
  4. Java多线程系列 JUC线程池05 线程池原理解析(四)
  5. HDFS配置Kerberos
  6. 在c51语言的程序中 注释一般采用,【判断题】在 C51 语言的程序中,注释一般采用 /* */ 和 // 来实现。 (3.0分)...
  7. linux stat命令详解
  8. django处理select下拉表单(从model到前端到post到form)
  9. 原价19万的美系插混,2年后落地只要11万~15万,微蓝6 PHEV为啥这么惨
  10. jquery插件整理篇(六)HTML编辑器插件
  11. 动态生成ContextMenuStrip
  12. ORACLE 导入的问题
  13. 渗透小助手——几个密码收集工具
  14. 2019 序列号_苹果序列号知识扫盲:iPhone序列号含义与查询真伪全攻略
  15. 专业绘图(Visio 2016)实战视频课程-专题视频课程
  16. 电脑有弹窗广告怎么办?真实个人经验分享
  17. hotfox(gyb v2.6)增强
  18. 搜狐 Hive SQL 血缘关系解析与应用
  19. SQL基础培训25-SQL开发思路畅谈与开发规范
  20. 第7课 微信小程序实现图片搜索器案例:

热门文章

  1. 基于 spark ml NaiveBayes实现中文文本分类
  2. 现代密码学导论-2-古典密码及其密码分析
  3. 第三章 硬件描述语言verilog(一)
  4. 软考A计划-试题模拟含答案解析-卷十
  5. javascript 设计模式
  6. python面对对象建立自己的电子宠物的编码_一种基于Kinect技术的电子宠物的制作方法...
  7. Javascript入门阶段——else if语句
  8. KingSCADA通过ODBC连接Oracle数据库
  9. android--圆角框--dialog(圆角框)
  10. 弹塑性力学--应变硬化