zoukankan      html  css  js  c++  java
  • 计算机网络学习笔记——数据链路层

     

    三、数据链路层

    3.1 使用点对点信道的数据链路层

    • 链路(link):

      • 就是从一个结点到相邻结点的一段物理线路(有限或无线),中间没有任何其他的交换节点。

    • 数据链路(data link):

      • 在一条新路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输。若把这些协议的硬件和软件加到链路上来,就构成了数据链路,最常用的方法时使用网络适配器(即网卡,既有硬件,也包括软件)来实现这些协议。一般的适配器包括了数据链路层和物理层这两层的功能。

    • 帧:

      • 帧是数据链路层的协议数据单元。数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据去除并交给网络层。

    • 数据链路层的三个基本问题:

      • 封装成帧:

        • 就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。首部和尾部的作用是帧定界(即确定帧的边界)。接收端收到物理层上交的比特流后就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。没有的话,接收端就不能知道是否收到完整的数据什么时候接收完毕

        • 当数据是由可打印的 ASCII 码组成的文本文件时,帧定界可以使用帧定界符。控制字符EOF(End Of Transmission)表示帧的结束,SOH(Start Of Header)放在帧的最前面表示帧的开始。他们的十六进制编码分别是01(00000001)和04(00000100)。

      • 透明传输:

        • 透明传输就是无论键盘输入的什么字符都能放到帧中传输过去。

        • 由于帧的开始和结束的标记使用的专门的控制字符,因此,所传输的任何 8比特的组合 不允许帧定界的控制字符的比特编码一样。当传送的帧使用文本文件时,不会出现。当传输的数据是非文本文件时,就会可能出现帧定界符,这样就会错误地识别。

        • 为了解决这个问题,发送端的数据链路层在数据中出现的控制字符前面插入一个转义字符“ESC”(十六进制是 1B,二进制 00011011)。接收端的数据链路层把这个转义字符再删除。如果数据中有转义字符时,就转义这个转义字符,然后删除。

      • 差错检测:

     

    3.2 点对点协议 PPP

    • 用户通常要连接到某个ISP 才能接入互联网。PPP协议(Point-to-Point Protocol)就是用户和ISP进行通信所使用的数据链路层协议。

    • PPP 协议的特点:

      • PPP协议需要满足的需求:

        • 简单

        • 封装成帧

        • 透明性

        • 多种网络协议多种类型链路

        • 插入错检测

        • 检测连接状态

        • 最大传送单元

        • 网络层地址协商

        • 数据压缩协商

      • PPP 协议的组成:

        • 一个将IP数据包封装到穿行链路的方法。

        • 一个用来建立配置和测试数据链路连接的链路控制协议 LCP(Link Control Protocol)。用来身份验证。

        • 一套网络控制协议NCP(Network Control Protocol)。

    • PPP协议的帧格式:

      • 两个字节的协议字段标记的是信息部分是什么内容

      • PPP协议通过字节填充和零比特填充来转义特殊字符,实现透明传输。

    • PPP协议的工作状态:

     

     

    3.3 使用广播信道的数据链路层

      • 局域网的数据链路层:

        • 局域网主要特点:网络为一个单位所拥有,且地理范围和站点数目均有限。

        • 优点:

          • 具有广播功能,从一个站点可很方便访问全网。

          • 局域网上的主句可共享连接在局域网的各种硬件和软件资源。

          • 提高了系统的可靠性、可用性和生存性。速度快,误码率低。

        • 局域网可按照网络拓扑进行分类:

        • 共享通信媒体:

        • 静态划分信道:就是频分复用、时分复用、波分复用和码分复用。但这种方法代价高,不适合局域网。

        • 动态媒体接入:又称多点接入,特点就是信道并非在通信时分配给用户。

          • 随机接入,就是在局域网的所有主机都能收到信息,但是如果恰巧有两个或更多用户向一个用户同一时刻发送信息,那么在共享媒体上就会产生碰撞(即发生冲突),使得这些用户都发送失败,因此必须要有解决碰撞的网络协议。

      • CSMA/CD 协议:

        • Carrier Sense Multiple Access with Collision Detection

        • 多点接入:表示许多计算机以多点接入的方式连接在一根总线上。

        • 载波监听:是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不发送数据以免发生碰撞。

        • 碰撞检测:就是计算机边发送数据边检测信道上的信号

      • MAC地址:

        • 硬件地址又称为物理地址或 MAC地址(因为这种地址在MAC帧中),是固化在适配器(网卡)的ROM中的地址。

        • 适配器从网络上每收到一个MAC帧就先用硬件检查MAC帧中的地址,如果是发往本站的就收下然后处理,不是的话就丢弃。

        • ipconfig /all 查看MAC地址

        • 更改MAC地址,就是让计算机用给定的MAC地址,而不用网卡上的。可以蹭网

          • 修改的话,都不要加上减号 -

          • 网络连接-> 右键 -> 配置 -> 高级 -> 网络地址 -> 修改值。这种方法有的网卡不行,因为网卡没提供接口。

          • 万能方法,修改注册表:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002bE10318} 每个00XX的代号都代表一个网卡,可以根据右侧的DriverDesc值中确定型号。确定网卡后,在这个网卡的项目中新建一个字符串值,命名为NetworkAddress,内容是新的MAC地址。

  • 相关阅读:
    angry_birds_again_and_again(2014年山东省第五届ACM大学生程序设计竞赛A题)
    数学入门题目
    POJ1236:Network of Schools(tarjan+缩点)?
    POJ2186:Popular Cows(tarjan+缩点)
    HDU2426:Interesting Housing Problem(还没过,貌似入门题)
    POJ1175:Starry Night(bfs)
    POJ2506:Tiling(递推+大数斐波那契)
    POJ2135:Farm Tour
    POJ2195:Going Home(费用流入门)
    POJ1273:Drainage Ditches(最大流入门 EK,dinic算法)
  • 原文地址:https://www.cnblogs.com/yuanyb/p/9697189.html
Copyright © 2011-2022 走看看