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

计算机网络温习1——数据链路层

时间:2016-12-27 23:23:59      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:字段   组播   rtu   转义   sof   系统   网络层   取出   高德   

数  据  链  路  层

分组=包=IP数据报

先从数据链路层开始

数据链路层使用的信道类型

(1)点对点信道:一对一的点对点通信方式

1>

网络适配器包括了数据链路层和物理层两层功能

协议数据单元:帧

2>主要步骤:

a.前结点的数据链路层把网络层交下来的包添加首部和尾部封装成帧。

b.前结点把封装好的帧发送给后结点的数据链路层。

c.后结点检查帧无差错,则从中提取出包交给网络层;否则丢弃。

3>三个基本问题:

a.封装成帧

添加首尾部,没加之前不得超出MTU(Maximum Transfer Unit)。

帧定界符 前->SOH(十六进制编码为01)   后->EOT(十六进制编码为04)

b.透明传输

就是将数据中的控制字符前加入一个转义字符ESC(控制字符包括:SOH EOT ESC)-->字节填充 的方法。

c.差错检测

误码率:传输错误的比特占所传输比特总数的比率

CRC(循环冗余检验 Cyclic Redundancy Check):发送端帧检验序列FCS的生成和接受端的CRC检验都是用硬件完成的,速度快,不会延误数据传输。

注:数据链路层仅仅使用CRC,只能做到对帧的 无差错接受。(仅丢弃错误帧)

但传输差错分两类:比特差错和帧丢失、重复、失序。

所以增加了 帧编号、确认、重传机制(由于现在通信质量不好引起差错的概率越来越少,所以区别对待。质量好的,改正差错的任务由上层完成 如:TCP;质量不好的。则确认重传机制)

4>最常用协议:PPP(Point-to-Point Protocol)      只支持全双工

当时在数据链路层使用的可靠传输协议是HDLC(高级数据链路控制,High-level Data Link Control)

a.PPP协议特点(应该满足的需求):

  ·简单                接收帧->CRC校验->丢弃/接收(不提供可靠传输,可靠传输由TCP完成)

  ·封装成帧              规定了特殊的字符作为帧定界符

  ·透明性

  ·多种网络层协议和多种链路类型    可以同一物理链路上同时支持多种网络层协议(如IP,IPX),可以多种类型链路运行(如串并行、同异步、高低速、光电)

  ·差错检测              可以检测,但不纠错

  ·检测连接状态            可及时检测出链路是否正常工作

  ·最大传输单元            每一种类型的点对点链路设置MTU的默认值

  ·网络层地址协商           使通信的的两个网络层的实体能够通过协商知道彼此或者能够配置彼此的网络层地址

b.三部分

  一个将IP数据报封装到串行链路的方法

  一个用来建立、配置、测试数据链路连接的链路控制协议LCP  通信双方协商一些选项

  一套网络控制协议NCP                   每个协议支持不同的网络层协议

c.帧格式

        IP数据报(长度可变)    
F A C 协议 信息字段 FCS F
0x7E 0xFF 0x03 0x0021信息字段是IP数据报   CRC的帧校验序列 0x7E
flag:表示开始或结束 无意义 无意义 0xC021信息字段是LCP      
      0x8021信息字段是NCP      
1 1 1 2 不超过1500字节 2 1

字节填充:转义字符ESC->0x7D

零比特填充:有五个连续1就填入0

d.工作状态

初始化:用户拨号连接ISP,建立了物理连接。用户向ISP发送LCP分组,以便建立LCP连接。然后网络层配置,NCP给新接入的用户分配一个临时的IP地址。通信完以后NCP释放物理层连接,收回之前的IP地址。LCP释放数据链路层连接。最后释放物理层连接。

PPP链路的起始和终状态都是“静止”状态。

(2)广播信道:一对多的广播通信方式

a.局域网使用广播信道。

局域网优点:

  可以广播,局域网上主机可以共享硬件和软件资源

  便于系统扩展和演变,设备位置灵活

  提高系统的可靠性(reliability)、可用性(availability)、生存性(survivability)

注:局域网的层次不仅仅数据链路层和物理层。

b.以太网共享信道的方式:随机接入(所有用户随机发送消息)

IEEE802将局域网的数据链路层拆为两个子层:

  网络层

  逻辑链路控制LLC(Logical Link Control)    与接入到传输媒体无关的放在LLC

  媒体接入控制MAC(Medium Access Control)  与接入到传输媒体有关的放在MAC

  物理层

适配器:就是网卡,现在基本嵌入。适配器和局域网之间通信是串行,和计算机之间通信并行。所以适配器可以进行转换。

c.CSMA/CD  载波侦听多路访问/冲突检测

  总线型网络,监听总线

  发送前先监听

  闲时发送,边发送边监听,发生碰撞后,适配器停止发送

d.星形拓扑  集线器hub  10base-T双绞线:10Mbit/s  基带信号  T双绞线 F光纤

e.以太网的MAC层

  硬件地址=物理地址=MAC地址,因为用在MAC帧中。(因为MAC地址被固话在适配器的ROM中)

  identification system

  MAC地址像名字,IP地址像地址,路由像高德地图告诉你该怎么走

  多个适配器则多个“名字”

  48位(6字节) 或 16位(2字节)  MAC-48=EUI-48

  前三个字节  组织唯一标识符OUI  代表厂商

  后三个字节  扩展标识符      厂商自行指派

  MAC地址段的第一字节(头8位)的最低位   0表示是单播地址

                        1表示是组播地址

                   FF:FF:FF:FF:FF:FF是广播地址

  适配器具有过滤功能 当收到一个MAC帧后检查MAC帧中目的地址。发给本站就收下,进行处理,否则丢弃。

  混杂方式(Promiscuous mode)&嗅探器(Sniffer)

  以太网V2的MAC帧格式(5字段):

目的地址(6字节) 源地址(6字节) 类型字段(2字节) 数据字段(46~1500) 帧校验序列FCS(4字节)

  所以最短64字节,最长1518字节。

  在 目的地址 前会有一个8字节(7字节前同步码,用来同步时钟频率;后1字节帧开始定界符10101011)

  总结无效MAC帧:

    (1)帧的长度不是整数个字节;不是8bit的倍数

    (2)FCS校验出错

    (3)小于64或大于1518

(3)扩展以太网

  在物理层通过光纤和光纤调制解调器扩展

  在数据链路层通过以太网交换机扩展

    依靠转发表来转发

    生成树协议STP Spanning-tree Protocol(防止出现广播风暴)

    虚拟局域网Virtual LAN:VLAN的帧会有明确的标识符

(4)无线局域网

WLAN(Wireless Local Area Network)

 两大类:

  有固定基础设施的

    中心为接入点AP(Access Point)

    凡使用802.11系列协议的局域网又叫做Wi-Fi(Wireless Fidelity,无线保真度)

    最小构件BSS(1*基站+N*移动站)  基站基本就是接入点AP,基站内的移动站可以直接通信

    一个BBS可以通过连接到分配系统DS连接到其他BBS

    无线英特网服务提供商WISP,用户<-->WISP<-->Internet

  无固定基础设施的

    自组网络

    可移动设备发现在他们附近还有其他可以可移动设备,并且要求和其他移动设备进行通信。

               频段    最高数据速率(Mbit/s)

    802.11b    2.4GHz      11

    802.11a     5GHz        54

    802.11g    2.4GHz      54

    802.11n    2.4和5       300

    802.11ac    5GHz       500

    MIMO(Multiple-Input Multiple-Output)(多入多出技术)

      在发射端和接收端分别使用多个发射天线和接收天线,使信号通过发射端与接收端的多个天线传送和接收,从而改善通信质量。

CSMA/CA冲突避免协议

  802.11无线局域网采用的停止等待协议,可靠的传输协议。

 

计算机网络温习1——数据链路层

标签:字段   组播   rtu   转义   sof   系统   网络层   取出   高德   

原文地址:http://www.cnblogs.com/duchou/p/6193597.html

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