一. 数据链路层的作用

  1. 计算机用二进制表示信息,而实际的通信媒介处理的却是电压的高低,光的闪灭,电波的强弱等信号,把这些信号与二进制的0,1进行转换正是物理层的作用。数据链路层处理的数据不是单纯的0,1序列。而是把他们集合成一个叫做“帧”的块进行传输。链路层重在集合。

  2. 数据链路是网络传输中的最小单位,互联网被称为“数据链路的集合”。

二. 数据链路相关技术

  1. MAC地址
    (1)MAC地址用于识别数据链路中互联的节点
          对于总线型网络,每个节点暂时获取所有目标站的帧,再跟据MAC寻址,如果是发给自己的就接收,如果不是发给自己的帧,总线型网络会丢弃,环路性网络回发送到下一个节点。

  2. 数据链路层使用2种信道
    (1)点对点信道:这种信道使用1对1点对点方式通信
    (2)广播信道:这种信道使用一对多的广播通信方式

  3. 数据链路和帧
    (1)链路(link):从一个节点到相邻节点的一段物理线路,中间没有其他交换节点。
    (2)数据链路(data link):链路 + 数据传输协议
    (3)帧:数据链路层传输的基本单位

  4. 数据链路层各种协议都要解决的3个问题
    (1)封装成帧
         i. 网络层的ip数据报,添加上帧首部,帧尾部后就构成了一个完整的帧。帧首部和帧尾部用来确定帧的界限。
         ii. 每种协议都规定了帧数据部分的最大长度上限 --- 最大传输单元MTU(Maximum Transfer Unit)

         iii. 当数据部分是ASCII码组成的时候,帧首部和帧尾部采用特定的帧定界符,均是不可打印的ASCII码字符。帧首部用SOH(start of header)01表示(00000001),帧尾部用EOT(end of transmission)04表示(00000010)。
    (2)透明传输
    透明传输是指,用户输入什么字符,就发送什么字符。当数据是一个图片等不可打印的0,1序列时,数据中往往会包含SOH或EOT,造成识别帧首尾位置错误,这时就需要在这些字0,1序列前面加上转义字符,这种方法称为字节填充/字符填充
    (3)帧检错
         i. 传输过程中产生的0,1差错称为比特差错
         ii. 误码率(BER)
         iii. 采用循环冗余校验CRC校验是否有比特差错

【注】:经过CRC检错纠错后,基本可以确定传输帧无比特差错。但无比特差错,不是无差错传输,数据链路层还是可能出现帧丢失,真重复,帧失序的错误。原先OSI模型中要求数据链路层提供可靠传输,所以在CRC基础上,增加了祯序号,确认重传等机制。但随着目前通信线路的质量提升,这种由于通讯线路造成的数据传输错误纪律大大下降,所以数据链路层不在提供无差错传输,而把这些功能转移到TCP协议实现。

三. 点对点信道的链路层

  1. ppp协议:
    用户计算机和ISP进行通信通信时使用的数据链路层协议

  2. PPP协议的特点
    (1)简单
    接收方每接收到一个数据帧,就进行CRC校验,如果正确就收下该帧,如果错误,就丢弃这个帧,然后什么也不做
    (2)封装成帧
    在数据报文的前后加上帧头和帧尾,形成帧定界符,以便接收端从接收的比特流中找出开始和结束位置
    (3)透明性
    如果数据报文中出现和帧定界符相同的比特组合时,要加上转义符进行转义
    (4)多种网络协议
    PPP协议应该支持链路上所连接的局域网和路由器上的各种网络协议
    (5)多种类型链路
         i. 主要指支持多种物理材质的信道,多种发送方式。比如支持电的或者光的,穿行发送还是并行发送(一次发送一个比特还是一次并行发送多个比特)
         ii. 1999年出现的PPPoE协议,是宽带上网使用的链路层协议。这个协议把ppp帧再封装到以太网帧中。宽带上网让多个用户使用同一条连接到ISP的线路。
    (6)差错检验:能够在检测到出错的帧后立即丢弃该帧,避免其还在网络中传输,浪费资源
    (7)检测链接状态:
    PPP协议具有一种机制,在不超过几分钟的时间内就能自动检测出链路是否处于正常状态。当出现故障的链路隔了一段时间又恢复连接时,很有用
    (8)最大传输单元
    PPP协议规定了最大传输单元,MTU,是指最大数据段长度,并不是指总共帧长。
    (9)网络地址协商
    PPP提供一种方式,使连接的两个网络层实体,能够通过协商获知彼此的网络层地址
    (10)数据压缩算法:对传输帧进行压缩

  3. PPP不需要的功能
    (1)纠错
    (2)流量控制
    (3)序号
    (4)多点线路 : PPP不支持多点线路,即一个主站轮流和链路上的多个从站进行通信,只支持点对点的链路通信。
    (5)半双工或单工链路:PPP只支持全双工通信。

  4. PPP协议的帧格式
    (1)首位的帧定界符规定为0x7E(0x表示使用的是十六进制表示,7E的二进制编码为01111110)
    (2)数据部分MTU不能超过1500字节
    (3)CRC编码加上的校验位占2个字节
    (4)下图中的FF和03没有实际意义

  5. PPP协议中的字节填充
    (1)PPP规定转义字符为0x7D
    (2)信息字段的0x7E变为(0x7D,0x5E)
    (3)信息字段的0x7D变为(0x7D,0x5D)
    (4)ASCII码的控制字符(小于0x20的字符)也要变化。例如0x03变为(0x7D,0x31)

  6. 0比特填充
    (1)当PPP协议用在同步传输的链路时,例如SONET/SDH,PPP协议就采用0比特填充进行透明传输。
    (2)因为PPP的帧定界符是0x7E,二进制01111110中包含6个连续的1,所以在信息字段中,每发现5个连续的1后,就加1个0,保证字段中不会出现6个连续的1。接收端要在数据段中发现5个连续的1后面的0删除。

四. 使用广播信道的数据链路

  1. 局域网 :为同一个公司所有,且地理位置和节点数量均由限制
    (1)网络拓扑分类
         i. 总线型
         ii. 环形
         iii. 星型
         v. 混合型(网状与星型组合)

  2. 总线型网络使用2种协议
    (1)传统以太网的CSMA/CD协议
    (2)令牌传递总线网。(物理上的总线网,逻辑上的令牌环网络)

  3. 多用户共享通信媒体资源的2种方法:
    (1)利用物理层划分信道的方法,使多个用户即时使用一条物理线路,也会使用搁置的通信信道(eg:时分复用,频分复用,码分复用,波分复用),这种方法代价高
    (2)动态媒体接入控制(多点接入):信道并非在用户通信时固定分配给用户。有以下2类
         i. 随机接入:用户可随时发送信息,但如果线路上恰巧右其他用户也在发送信息时,这些信息就会发生碰撞,导致该时刻所有发送信息的用户全部发送失败。
         ii. 受控接入:用户不能随时发送信息,比如令牌环网络和集中控制的多点轮训

  4. 以太网
    (1)以太网的2个标准
         i. 以太网把数据链路层分为2个层:LLC(逻辑链路控制Logical Link Control)子层和MAC(媒体接入控制Medium Access Control)
         ii. 与接入和传输媒体有关的内容放在MAC子层,LLC子层和传输媒体无关。
    (2)适配器的作用
         i. 计算机通过适配器与外界局域网连接,适配器是机箱内放置的一块网络接口卡(NIC),简称网卡。适配器的功能就是进行数据的串行和并行传输的转换。网卡上还要有缓冲区来处理网络上的数据率和计算机总线数据率不同带来的数据积压。
         ii. 适配器在接收到有差错的帧后就会丢弃该帧,而不去通知计算机。如果接收到正确的帧,就使用中断通知计算机交付给协议栈中的网络层。
         iii. 计算机硬件地址放在适配器的ROM中,计算机的IP地址放在计算机的存储器中
    (3)以太网的设计思路:早期以太网都连接在一根总线上。当时认为“有源器件不可靠,而无源的电缆线才是最可靠的”。
    (4)总线网络的特点是:当一台机器发送数据时,总线上所有计算机都会检测到这个数据。所以这种情况下,为了实现一对一的通信,每个计算机适配器都要各自的地址。当数据帧的目的地至与适配器ROM中存放的硬件地址一致时,适配器接受帧,否则就直接丢弃

  5. 以太网的2种措施来实现“简单通信”
    (1)尽最大努力交付:
    以太网采用无连接模式,适配器不对数据编号,也不要求对方发回确认帧。如果发现帧存在比特差错,就直接丢弃该帧。至于有差错的帧是否会重传由高层来决定。即便高层要求重传,以太网也不知道这是重传数据帧,一样按照新帧处理。
    (2)以太网传输数据先用曼彻斯特进行编码:
    二进制基带信号通常使用电压的高低来表示传输的0和1,这样导致接收端无法从比特流中拉取同步位。因此,曼彻斯特编码再把每一个码元分割成登场的2个码元。前高电平后低电平表示0,前低后高表示1.(电平上升表示1,电平下降表示0)。

  6. 以太网协调多台机器的数据发送:CSMA/CD协议
    (1)CSMA/CD协议:载波监听,多点介入,碰撞检测
    (2)多点接入:说明这是总线型网络,许多计算机多点连接到一根总线上。
             载波监听:每个站发送数据前先检测总线上是否有其他站在发送数据,如果有九推迟发送时间,等待信道空闲。
             碰撞检测:边发边检测,适配器在发送数据时也检测信道上的电压变化,当电压发生大幅度变化,数据欧明有多个站同事发送数据,造成“碰撞”。此时适配器停止发送数据,避免浪费资源,等待信道空闲。
    (3)端到端传播时延
         适配器并不能在其他站刚开始传输数据就检测到信道上有数据,因为此时电信号还未传输到该适配器。我们把一个站电信号传输到另一个站的时间称为传播时延。由于存在传播时延,导致即使适配器发现此时信道空闲而发送数据,该数据仍可能在信道上发生碰撞。因此,局域网要按最坏情况设计,取总线两端的2个站的传播时延为端到端传播时延。
    (4)以太网发送的不确定性
         载波监听需要时间,所以发送的数据存在彭转化高的可能性,这种不确定是否发生碰撞就是以太网的不确定性
    (5)碰撞窗口
         以太网端到端往返时间2称为争用期,如果经过这段时间还没发现碰撞,才能肯定这次发送没有发生碰撞。
    (6)截断二进制指数避退算法
         i. 以太网规定征用期2为51.2,这个时间综合考虑了以太网端到端时延,转发器转发的时延等因素。对于10Mb/s的以太网,争用期内可以发送512bit,即64字节
         ii. 设离散集合(0,1,3,7,...,())中取一个数r,重传推后时间为.其中k的取值为Min(重传次数,10),即当重传次数大于10后,仍取10.当重传16次还不成功时,说明 同时发送的数据太多,导致连续冲突,于是丢弃该帧,向高层报告。
         iii. 因为对于10Mb/s的网络,争用期内可以传播64 bit的数据,所以小于64bit的数据不应该被发送出去,这种数据不能在传播过程中监测到碰撞。一次以太网规定最短帧长为64字节,凡是小于64 字节的帧都是由于冲突二异常种植的无效帧,这种帧会被立刻丢弃。(这种规定使得接收端根据接受帧的帧长度就能判断该帧是否发生碰撞,因为64字节内发送段如果监测到碰撞就不会继续发送帧,所以发送成功的帧都是大于64字节的)
    (7)强化碰撞
         当发送站发现发送帧出现碰撞,立刻停止发送该帧,还要接着发送一个长32bit或48bit的干扰帧,让其他发送站立刻监测到信道发生了碰撞。这个干扰帧还要在信道上传播一个的时间。
    (8)帧间最小间隔:以太网规定帧间最小间隔为96,以便于接收端可以缓存数据。

results matching ""

    No results matching ""