• 第三章 数据链路层(二)


        序言

            也没什么好说的,只能说继续努力,终有一天会拨开云雾见青天。 

                                                                          -----WH

    一、两种情况下的数据链路层

          点对点信道的数据链路层、 广播信道的数据链路层

        1、点对点协议PPP

            概述:现在全世界使用的最多的数据链路层协议就是点对点协议PPP(Point to Point Protocol),我们大多数用户使用的拨号电话线接入因特网时,一般使用的就是PPP协议,

                    

        

            PPP协议的特点:

                  ·简单:接收方每接收一个帧,就进行CRC检验,检验正确,就收下,否则就丢弃,它是不可靠传输,所以这就是简单的原因

                  ·封装成帧:前一章已经讲过

                  ·多种网络层协议:数据链路层的上一层就是网络层,所以它同时支持多种网络层协议的运行

                  ·多种类型链路:比如,串行的、并行的,(串行:一个比特一个比特发送,只需要一条线路,并行:一次性传输n个比特,所以需要n条线路,所以叫并行)同步的、异步的(同步:以稳定的比特流的形式传输  异步:以字节为独立的传输单位,字节跟字节之间的时间间隔不确定,但字节中的每个比特仍是同步的。),低速或高速、电或光,等不同类型的链路都能支持

                  ·差错检测:就是用CRC来检验

                  ·透明传输

                  ·检测连接状态:检测点跟点之间的连接状态,也就是在PC机和ISP之间的线路。

                  ·最大传送单位:PPP协议帧有最大的传送单元,发送的分组不能超过这个最大长度

                  ·网络层地址协商:使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址,通俗的讲,就是在分配IP地址时,就现需要这个协商才能解决,具体可以去查看资料学习

                  

            PPP协议的组成

                  1、数据链路层协可以用于异步串行或同步串行介质,通俗讲也就是可以适应多种性质的链路,有这种介质存在

                  2、使用LCP(链路控制协议)建立并维护数据链路连接, 也就是上面讲的一些维护链路连接、检测连接状态等功能,就是用它来实现的

                  3、网络控制协议(NCP)允许点到点连接上使用多种网络层协议,也就是因为跟网络层连接在一起,所以需要支持上一层的多种协议,这样才能完成一系列的功能,比如,网络层地址协商,

                      

           PPP协议帧格式

               看一张图就知道了

                    

          

            PPP协议帧传输时的透明传输问题

                 字节填充:

                      使用的是字节传输,也就是异步,所有的PPP帧的长度都是整数字节,所以会出现IP数据包中有字节跟开始结束标志字节相同的问题

                         解决: 标志字段 F = 0x7E   

                            IP数据包中出现0x7E字节 : 转变为   0x7D、0x5E

                            IP数据包中出现0x7D:0x7D、0x5D 

                            IP数据包中出现ASCII码的控制字符,则在该控制字符前面加0x7D

                  零比特填充方法

                      使用的是比特流传输(一连串的比特连续传送),也就是同步,PPP协议就采用零比特填充方法来实现透明传输,就跟上一章讲的一样,具体看前面的吧,这里就不详细讲解了。

            PPP协议的工作状态

                  链路静止、链路建立、鉴别、网络层协议、链路打开、链路终止  大概流程图就是下面这个图这样,

                  

                   具体细节:六步。正好验证了PPP协议的三部分组成

                       1、链路静止到链路建立:用户拨号接通ISP拨号服务器后,就创建了PC机到ISP服务器的物理连接,这里面的细节就归咎于物理层的功劳了,创建了一条怎么样的信道,通过什么传送数据,都市物理层需要做的事情。

                       2、链路建立到鉴别:建立了物理连接后,PPP中LCP(链路控制协议)就需要做事了,LCP协商一些配置选项(链路上的最大帧长,所使用的鉴别协议,或者不使用PPP帧中的地址和控制字段),如何跟ISP协商这些呢,就是通过发送LCP的配置请求帧,而ISP也可以发送几种响应,配置确认帧:所有选项都接受  配置否认帧:所有选项都理解但不能接受 配置拒绝帧:有的选项无法识别或不能接受,需要协商。  通过一系列的协商后,此过程就结束了,就到了鉴别状态,如果协商失败,就直接回到链路静止状态。

                       3、鉴别到网络层协议:这里到达网络层协议之间做的事情就是鉴别身份,这里感觉还没学习到,大概就是鉴别一些用户的身份信息,比如交钱了没有等等吧,猜的。这一阶段可以去查查,估计之后会遇得到。给出参考答案:只允许传送LCP协议的分组、鉴别协议的分组以及检测链路质量的分组。若使用口令鉴别协议PAP(Password Authentication Protocol),则需要发起通信的一方发送身份标识符和口令。系统可运行用户重试若干次。如果需要有更好的安全性,则可使用更加复杂的口令握手鉴别协议CHAP(Challenge-Handshake Authentication Protocol)。若鉴别身份失败,则转到链路终止状态(Link Dead)。若鉴别成功,则进入网络层协议状态(Network-Layer Protocol)。

                       4、网络层协议到链路打开:前面已经经过了PPP协议的前两层,接下来就是NCP(网络控制协议)做事的时候了,这一阶段就是给PC机分配一个IP地址和对链路层进行网络层协议的设置,让链路层能支持网络层的工作

                       5、链路打开到链路终止:进行传输数据,如果传输完成,就发送终止请求分组,收到终止确认分组后,就到了终止状态,

                       6、链路终止到链路静止:当物理层没有载波时,就到静止状态

            PPP协议为什么不适用序号和确认机制?

                   这个问题也就是问为什么PPP协议不用可靠传输的意思?原因有三点

                        1、在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。

                        2、在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。
                        3、帧检验序列 FCS 字段可保证无差错接受。

     

       2、广播信道的数据链路层

            讲解广播信道的知识,就必须要提到以太网,但是现在大多数人已经把以太网就当成局域网了,现在来说清楚以太网和局域网的区别

                以太网和局域网?

                  1、以太网是通信协议标准,该标准定义了在局域网(LAN)中采用的电缆类型和信号处理方法,比如有CSMA/CD协议,这个协议后面会讲到。

                  2、局域网:在较小范围内组件的网络,通过交换器什么的连接各个PC机,比如一个实验室,一栋楼,一个校园内,这都市局域网,拿网线将两台计算机连在一起,这也能算是局域网,

                  所以:以太网是一种局域网,而局域网却不一定是以太网,大多数局域网就是采用了以太网的这个标准,所以很多人就将局域网默认为以太网,这种说法是有点偏差的。

            在局域网中,就采用的是广播信道,

            广播信道:就是一台PC机发送数据给另一台PC机,在同一个局域网中的计算机都能接收到该数据,这就像广播一样,所以这种就叫做广播信道。

                  


  • 相关阅读:
    .net软件反编译笔记
    Asp.Net 网站一键部署技术(上)
    C# TreeGridView 实现进程列表
    HeidiSQL Navicat
    Flask项目中邮箱模块的应用
    如何在已有的Flask项目添加数据表结构?
    把u盘刻录成系统盘
    Object '<Tbl_next_week_change_state at 0x7f2c78d849e8>' is already attached to session '4' (this is '6')
    OSError: [Errno 98] Address already in use
    Linux下设置和查看环境变量
  • 原文地址:https://www.cnblogs.com/shitaotao/p/7652031.html
Copyright © 2020-2023  润新知