码迷,mamicode.com
首页 > 其他好文 > 详细

计算机网络 第三章 数据链路层

时间:2015-05-12 19:01:45      阅读:320      评论:0      收藏:0      [点我收藏+]

标签:blank   计算机网络   target   style   


    1.数据链路层基本概念及基本问题:
       
        2)基本问题:
            ① 封装成帧:帧头+数据+帧尾+校验和

技术分享技术分享
                封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧,确定帧的界限。
                首部和尾部的一个重要的作用就是进行帧定界。

                用控制字符进行帧定界的方法举例:

            ② 透明传输:加转义字符,后再去掉转义字符,就跟没加一样。

技术分享
                若传输的数据是ASCII码中“可打印字符(95个)”集时,一切正常;
                若传输的数据不是仅由“可打印字符”组成时,就出出现透明传输的问题。
                我们用字节填充法来解决透明传输问题

技术分享
                    发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制码是1B)。
                字节填充(bytestuffing)或字符填充(character stuffing)--接收端的数据链路层在将数据送往网络层之前删除之前插入的转义字符。
                如果转义字符也出现在数据当中,那么应在转义字符前插入一个字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个字符。

            ③ 差错控制
                传输过程中,可能会产生比特差错。在一段时间内,传输错误的比特占所传输比特总数的比率成为误码率BRR(Bit Error Rate)。误码率跟信噪比有很大关系。

                为了保证数据传输的可靠性,在计算机网络传输数据时,必须此案去各种差错检测措施。---帧检验序列:
                    循环冗余检验CRC:

技术分享
                        除数随意,被除数后+(除数位数-1)个0
                        被除数:2^n*M
                        除数:P
                        商:Q
                        余数:R(作为FCS)
                    FCS:帧检验序列:
                        在数据后面添加上的额冗余码成为帧检验序列FCS(Frame Check Sequence)。
                    △循环冗余校验CRC和帧检验序列FCS并不等同:
                        CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码;
                        FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。
                接受端对收到的每一帧进行CRC检验:
                    检验:
                        若得出的余数R=0,则判定这个帧没有差错,就接受Accept
                        若得出余数R≠0,则判定这个帧有差错,就丢弃。

                    特点:
                        但这种检验方法,并不能确定究竟是哪一个或者那几个比特出错。
                        只要经过严格的筛选,并使用位数足够多的余数 P,那么出现检测不到的差错的概率就很小很小。即除数的位数越多,则检测不到差错的概率就越小。
                仅用循环冗余校验CRC差错检测技术只能做到无差错接受。要做到可靠传输,就必须加上确认和重传机制。
                    无差错接受:指凡是接受的帧(即不包括丢弃的帧),我们都可以非常接近1 的概率认为这些帧在传输过程中没有产生差错。

 

    2.两种情况下的数据链路层:
        1)使用点对点信道的数据链路层:PPP协议-->适用于广域网
            现在全世界使用的最多的数据链路层协议是点对点协议PPP(Point-to-Point Protocol),用户使用拨号电话上网一般都是使用PPP协议。

技术分享

            PPP协议特点:
                PPP协议需要满足的要求:
                    简单--首要要求
                    封装成帧
                    透明性
                    多种网络层协议:可以封装tcp/ip协议、IPX协议、SPX协议等多种协议。
                    多种类型链路:
                    差错检测
                    检测连接状态
                    最大传输单元
                    网络层地址协商:用户从ISP得到ip地址
                    数据压缩协商:数据压缩

                PPP协议不需要满足的要求:
                    纠错:
                    流量控制:
                    序号
                    多点线路
                    半双工或单工链路

            PPP协议的组成:

技术分享
                PPP协议是因特网的正式标准:RFC 1661
                PPP协议有三个组成部分:
                    ① 高级数据链路层协议(HDLC)可以用于异步串行或同步串行介质;
                    ② 它使用LCP(链路控制协议)建立并维护数据链路连接-->身份验证,计费功能
                    ③ 网络控制协议(NCP)允许在点到点连接上使用多种网络层协议(针对每一个网络层协议)。
            PPP协议的帧格式:PPP是面向字节的,所有的PPP帧的长度都是整数字节。

技术分享
                F 7E :标志字段,01111110,帧的开始,一个字节
                A FF :地址字段,固定的,表示地址,  一个字节
                C 03 :控制字段,固定字符,             一个字节
                协议 :表示信息部分的内容  两个字节
                    0x0021 :ppp帧的信息字段是IP数据报
                    0xC021 :PPP链路控制数据
                    0x8021 :网络控制数据
                    0xC023 :安全性认证的PAP
                    0xC025 :LQR
                    0xC233 :安全性认证CHAP
                信息部分:                 少于1500字节
                FCS :数据校验               两个字节
                F 7E:帧的结束             一个字节
            字节填充:信息字段出现了标志字段的值,怎么办?
技术分享

                ① 将信息字段中出现的每个0x7E字节转变为2字节序列(0x7D,0x5E)
                ② 若信息字段中出现一个0x7D的字节,则将其转变成2字节序列(0x7D,0x5D)
                ③ 若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码改变。
            零比特填充方法:
                PPP协议用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传输)。这时PPP协议采用零比特填充方法,来实现透明传输。
                在发送端,只奥发现有5个连续1,则立即填入一个0。接收端对帧中的比特流进行扫描。每当发现5个连续的1时,就把这5个连续1后的一个 0 删除。
            PPP不使用序号和确认机制的原因:
                在数据链路层出现差错的概率不大时,使用比较简单的PPP协议比较合理。
                在因特网环境下,ppp的信息字段放入的数据是IP数据包。数据链路层的可靠传输并不能保证网络层的传输也是可靠的。
                帧检验序列FCS字段可以保证无差错的接受。
            PPP协议的工作状态(过程):
                ① 当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
                ② PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。
                ③ 这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时的地址,使PC机成为因特网上的一个主机。【??为什么是NCP分配IP地址??】
                ④ 通信完毕,NCP释放网络层连接,收回原来分配出去的IP地址。
                ⑤ 接着,LCP释放数据链路层连接。
                ⑥ 最后,释放物理层连接。

        2)使用广播信道的数据链路层:CSMA/CD适用于局域网【总线型、或者集线器连接的局域网。】

技术分享
            局域网拓扑:
                星形网络:
                总线型
                树形
                环形
            局域网的特点和优点:
                特点:
                    网络为一个单位所拥有;
                    地理范围和站点数目均有限
                优点:
                    ① 具有广播功能,从一个站点可以方便的访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源;
                    ② 便于系统的扩展和逐渐的演变,各设备的位置可灵活调整和改变;
                    ③ 提高了系统的可靠性、可用性和生存性。
            共享通信媒体:

技术分享
                静态化分信道:麻烦,一般不使用
                    频分复用
                    时分复用
                    波分复用
                    码分复用
                动态媒体接入控制(多点接入):
                    随机接入(主要被以太网采用):使用最广泛
                    受控接入,如多点线路探寻(polling),或轮询。(目前已废弃)
            载波监听多点接入/碰撞检测 以太网使用CSMA/CD协议:
                Carrier Sense Multiple Access with Collision Detection
                ① 多点接入:
                    表示许多计算机以多点接入的方式连接到一个总线上;
                ② 载波监听:
                    指每一个站在发送数据之前,先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
                    a.碰撞检测:就是计算机边发送数据边检测信道上的信号电压大小:
                        当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
                        当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
                        所谓碰撞,就是发生了冲突,因此,碰撞检测也被成为冲突检测。
                    b.检测到碰撞后:
                        在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来;
                        每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机事件后再次发送。
            传播时延对载波监听的影响:
                使用CSMA/CD协议的以太网不能进行全双工通信,而只能进行双向交替通信(半双工通信)。
                每个站在发送数据之后的一小段时间内,存在着遭遇彭转的可能性,这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。
            争用期
                最先发送数据帧的站,在发送数据站后至多进过时间2τ(两倍的端到端往返时间)就可知道发送的数据帧是否遭受了碰撞。
                经过征用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

                以太网的争用期:
                    以太网的端到端往返时延2τ成为争用期,或碰撞窗口。通常,取51.2μs为争用期的长度。
                    对于10Mb/s以太网,在争用期内可发送512bit,即64字节之内。
                    以太网在发送数据时,若前64字节未发生冲突,则后续的数据就不会发生冲突。
                最短有效帧长:
                    如果发生冲突,就一定是在发送的前64字节之内;
                    由于一检测到冲突就立即终止发送,这时已经发出去的数据一定小于64字节。
                    以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常终止的无效帧。
            二进制指数类型退避算法:
                发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能发送数据。

                ① 确定基本退避时间,一般是取为争用期2τ。
                ② 定义参数k,
                    k=Min[重传次数,10]
                ③ 从整数集合[0,1...,(2^k-1)]中随机的去一个数,记为r ,重传所需的时延就是r倍的基本退避时间。
                ④ 当重传达16次仍不能成功时,就丢弃该帧,并向高层报告。

    3.以太局域网(以太网)
        概述:
            标准:
                DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约;
                IEEE 802.3 标准,
                两者只有很小的差别,因此可以将802.3局域网简称为以太网。严格来说,以太网应当是指符合DIX Ethernet V2 标准的局域网。
            以太网与数据链路层的两个子层:
                为了使数据链路层能更好的适应多种局域网标准,802委员会将局域网的数据链路层拆分为两个子层:
                    ① 逻辑链路控制子层(Logical Link Control)
                        与传输媒体无关,不管采用何种协议的局域网对LLC子层来说都是透明的。
                    ② 媒体接入控制子层(Medium Access Control)
                        与接入到传输媒体有关的内容都放在MAC子层
                    由于TCP/IP体系经常使用的局域网是DIX Ethernet V2而不是802.3标准,因此LLC的作用已经不大。
                    许多厂商生产的适配器上仅装有MAC协议而没有LLC协议。
            以太网提供的服务:
                以太网提供的服务是不可靠的交付,即尽最大努力的交付;
                当接收站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正有高层来决定。如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当做一个新的数据帧来发送。
        拓扑
            星形拓扑:双绞线+集线器(信号放大)
                集线器的一些特点:发<-->收
                    集线器很像一个多接口的转发器,工作在物理层。
                    使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。集线器使用了大规模集成电路芯片,因此这样的硬件设备的可靠性大大提高了。
                    使用集线器的以太网在逻辑上仍是一个总线网。个工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
                10BASE-T:
                    10 : 10MB/s
                    BASE :基带传输,数字信号。
                    T:双绞线

        以太网的信道利用率:

技术分享
            争用期长度为2τ,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。
            帧长度为L(bit),数据发送速率为C(b/s),因而帧的发送时间为L/C=T(s)
            一个帧从开始发送,经可能发生的碰撞之后,将再重传数次,到发送成功且信道转为空闲(即再经过时间t使得信道上无信号在传播)时为止,是发送一帧所需的平均时间。

            要提供依然网的信道利用率,就必须减小 τ 与 T 之比。在以太网中定义了参数a,他是以太网单程端到端时延 τ 与帧的发送时间 T 之比:
                    a=τ/T
                a-->0 表示一发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高。
                a越大,表明争用期所占的比例增大,没发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。
            以太网信道利用率的最大值:
                当数据率一定时,以太网的连线的长度受到限制,否则τ的数值会太大;
                以太网的帧长度不能太多,否则T的值会狠下,使得a值太大。
                最大值:
                    在理想化情况下,以太网上的各占发送数据都不会产生碰撞(这显然已经不是CSMA/CD,而是需要使用一种特殊的调度方法),即总线一旦空闲就有某一个站立即发送数据。
                    发送一帧占用线路的时间是T+τ,而帧本身的发送时间是 T 。于是我们可计算出理想情况下的极限信道利用率S为:
                            s=T/(T+τ)=1/(1+a)
        MAC层
            MAC层的硬件地址(MAC地址):
                硬件地址=MAC地址=物理地址
                长度:48位
                    高位24位:
                        IEEE的注册管理结构RA负责向厂商分配。
                    低位23位:扩展标识符
                        厂商自行指派。
                一个地址块可以生成2^24个不同的地址,这种48位地址称为MAC-48,他的通用名称为 EUI-48。
                MAC地址实际上就是适配器地址或者适配器标识符EUI-48.通常用12位16进制数表示。
            适配器检查MAC地址:
                适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址:
                    如果是发往本站的帧,则收下,然后再进行其他的处理。
                    否则就将此帧丢弃,不再进行其他处理。
                发往本站的帧包括以下三种帧:
                    ① 单播,unicast,(一对一)
                    ② 广播,broadcast,(一对全体)
                    ③ 多播,multicast,(一对多)
            帧格式:DIX Ethernet V2标准

技术分享
                前同步码:7字节--->实现MAC帧的比特同步
                帧开始定界符:1字节
                以太网帧:
                    目的MAC地址:6字节
                    源MAC地址:6字节
                    (IP数据报)类型:2字节
                    IP数据报:46-1500字节
                        注:若IP数据包少于46字节,MAC将为其增加至46字节
                    FCS:4字节
            无效的MAC帧:
                帧的长度不是整数字节
                用收到的帧检验序列FCS查出有差错
                数据字段的长度不再46-1500字节之间
                有效的MAC帧长度为64-1518字节之间
                对于检查出的无效的MAC帧,就简单的丢弃,以太网不负责重传丢失的帧。
            帧间最小间隔:
                帧间最小间隔为9.6μs,相当于96bit的发送时间;
                一个站在检测到总线开始空闲后,还要等待9.6μs才能再次发送数据。这样做是为了使刚刚收到数据帧的站的接受缓存来得及清理,做好接受下一帧的准备。
            抓包工具:Wireshark

    4.扩展以太网
        在物理层考虑扩展:

技术分享
            距离上的:光纤+光纤调制解调器
            数量上的:扩展冲突域(增加hub)-->集线器级联====>数量增加,效率降低

技术分享技术分享
        在数据链路层考虑扩展:网桥--隔离冲突域
            网桥-->交换机(基于MAC转发)
            交换机:存储转发,
                    能学习MAC地址
                    全双工,
                    带宽独享。
            目前交换机是组网的主流设备。
        查看交换机MAC地址表:       

    5.高速以太网:速度达到或超过100Mb/s的以太网
        100BASE-T物理层:
            100BASE-TX :使用2对UTP 5类线或者屏蔽双绞线STP;
            100BASE-FX :使用2对光纤;
            100BASE-T4 :使用4对UTP 3 类线或5类线。
        100BASE-T 特点:
            可在全双工方式下工作而无冲突发生,因此不使用CSMA/CD协议;
            MAC帧格式仍然是802.3标准规定的;
            保持最短帧长不变(64K),但将一个网段的最大电缆长度减小到100m;
            帧间时间间隔从原来的9.6μs改为现在的0.96μs。
    6.吉比特以太网:

技术分享
        允许在1Gb/s下全双工和半双工两种方式工作。在半双工方式下使用CSMA/CD协议(全双工方式不需要使用CSMA/CD协议)
        使用802.3规定的帧格式
        与10BASE-T和100BASE-T技术向后兼容
        当吉比特以太网工作在全双工方式时(即通信双方可同时进行发送和接受数据),不适用载波延伸和分组突发   
        1000BASE-X:基于光纤通道的物理层
            1000BASE-SX SX表示短波长,传输距离275或550m
            1000BASE-LX LX表示长波长,传输距离550或5000m
            1000BASE-CX CX表示铜线,传输距离25m
        1000BASE-T:
            使用4对 5类线UTP
    7.10吉比特以太网:
        只工作在全双工方式,没有争用问题,也不使用CSMA/CD协议。
        只使用光纤作为传输媒体
        保留了802.3标准的以太网最小和最大帧长,便于升级
        10吉比特以太网与10Mb/s、100Mb/s和1Gb/s以太网的帧格式完全相同。
    8.端到端的以太网传输:
        10吉比特以太网的出现,以太网的工作范围已经从局域网扩大到城域网和广域网,从而实现了端到端的以太网传输。
        优点:
            成熟的技术;
            互操作性很好
            在广域网中使用以太网时价格便宜
            同一的帧格式简化了操作和管理
    9.思科(Cisco)建网的3层模型:

技术分享
        核心层:小区
        汇聚层:单栋
        接入层:楼层

计算机网络 第三章 数据链路层

标签:blank   计算机网络   target   style   

原文地址:http://wbcla.blog.51cto.com/9367213/1650735

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!