| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 计算机网络(复习)数据链路层 -> 正文阅读 |
|
[网络协议]计算机网络(复习)数据链路层 |
数据链路层属于计算机网络的底层,使用的信道主要有两种类型:
数据链路层的简单模型:主机?H1?向?H2?发送数据 本章介绍的数据链路层协议都不是可靠传输的协议。? ?使用点对点信道的数据链路层数据链路和帧??链路?(link) :从一个结点到相邻结点的物理线路(有线或无线),中间没有任何其他的交换结点。(链路只是一条路径的组成部分) 数据链路?(data link) :除了物理线路外,还必须有通信协议来控制这些数据的传输。 把实现这些协议的硬件和软件加到链路上,就构成了数据链路。 帧:点对点信道的数据链路层的协议数据单元。 三个基本问题封装成帧?framing封装成帧 :?在一段数据的前后分别添加首部和尾部,构成一个帧,确定帧的界限。首部和尾部的一个重要作用就是进行帧定界。?? ? MTU(最大传输单元):每一种链路层协议都规定了所能传送的帧的数据部分长度上限(1500字节)? 当数据是由可打印的?ASCII?码组成的文本文件时,帧定界可以使用特殊的帧定界符。控制字符?SOH (Start Of Header)?放在一帧的最前面,表示帧的首部开始。另一个控制字符EOT (End Of Transmission)?表示帧的结束。(SOH、EOT只是控制字符的名称,它们的十六进制编码时01、04) ? 透明传输如果数据中的某个字节的二进制代码恰好和?SOH?或EOT?一样,数据链路层就会错误地“找到帧的边界”。 解决方法——字节填充/字符填充:发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”?(其十六进制是1B);接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。 差错检测比特差错:比特在传输过程中可能会产生差错:1可能变为0,0可能变为1。? 误码率?BER (Bit Error Rate):在一段时间内,传输错误的比特占所传输比特总数的比率。(误码率与信噪比有很大关系) 循环冗余检验?CRC? 原理:在发送端,先把数据划分为组。假定每组?k?个比特;假设待传送的一组数据?M?,我们在?M?的后面再添加供差错检测用的?n?位冗余码,构成一个帧发送出去,一共(k+n)位;得到的?(k?+?n)?位的数除以事先选定好的长度为?(n?+ 1)?位的除数?P,得出商是?Q?而余数是?R,余数?R?比除数?P?少?1?位,即?R?是?n?位;将余数?R?作为冗余码拼接在数据?M?后面发送出去。
接收端对收到的每一帧经过CRC检验后:
点对点协议 PPP对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议?PPP (Point-to-Point Protocol)。用户使用拨号电话线接入互联网时,?用户计算机和?ISP?进行通信时所使用的数据链路层协议就是?PPP?协议,用户到?ISP?的链路使用?PPP?协议 。 使用广播信道的数据链路层局域网的数据链路层局域网的特点:网络为一个单位所拥有,地理范围和站点数目有限 局域网的优点:
局域网按网络拓扑进行分类:星形网、环形网、总线网 媒体共享技术:
以太网的两个标准:
人们常把802.3局域网简称为“以太网”;严格来说,“以太网”是符合DIX Ethernet V2标准的局域网。 数据链路层的两个子层逻辑链路控制LLC:看不见下面的局域网(局域网对?LLC?子层来说都是透明的) 媒体接入控制MAC:存放与接入到传输媒体有关的内容 ?适配器的作用计算机与外界局域网的连接是通过适配器。网络接口板又称为通信适配器?(adapter)?或网络接口卡?NIC (Network Interface Card),或“网卡”。 适配器的功能:
CSMA/CD协议CSMA/CD?含义:载波监听多点接入?/?碰撞检测?(Carrier Sense Multiple Access with Collision Detection)?。? 多点接入:表示许多计算机以多点接入的方式连接在一根总线上。 载波监听:每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。 碰撞检测:计算机边发送数据边检测信道上的信号电压大小。 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。 信号传播时延对载波监听的影响 : CSMA/CD重要特性:使用?CSMA/CD?协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信);每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。最先发送数据帧的站,在发送数据帧后至多经过时间?2t?(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞;以太网的端到端往返时延?2t?称为争用期,或碰撞窗口;经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。 使用集线器的星形拓扑集线器的特点:
以太网的MAC层在局域网中,硬件地址又称为物理地址,或?MAC?地址。48位=6字节 IEEE?的注册管理机构?RA?负责向厂家分配地址字段?6?个字节中的前三个字节?(即高位?24?位),称为组织唯一标识符;后三个字节?(即低位?24?位)?由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。 一个地址块可以生成个不同的地址。这种?48?位地址称为?MAC-48,它的通用名称是?EUI-48。生产适配器时,6?字节的?MAC?地址已被固化在适配器的?ROM,因此,MAC?地址也叫作硬件地址(hardware address)或物理地址。“MAC地址”实际上就是适配器地址或适配器标识符?EUI-48。 IEEE规定地址字段的第一字节的最低位为?I/G?位,?表示Individual / Group。当?I/G位=0?时,地址字段表示一个单站地址;当?I/G位=1?时,表示组地址,用来进行多播。此时,IEEE?只分配地址字段前三个字节中的23位。第一字节的最低第?2?位规定为?G/L?位,表示Global / Local。当?G/L位=0?时,是全球管理(保证在全球没有相同的地址),厂商向IEEE购买的?OUI?都属于全球管理;当?G/L位=1?时,?是本地管理,这时用户可任意分配网络上的地址。 所有?48?位都为?1?时(即全1),为广播地址? 适配器的过滤功能:当适配器从网络上每收到一个MAC帧,就先用硬件检查MAC帧中的目的地址。如果是发往本站的帧则收下,然后再进行其他的处理;否则就将此帧丢弃,不再进行其他的处理。 发往本站的帧包括:
所有的适配器都至少能够识别单播帧和广播帧,有的适配器可用编程方法识别多播地址。 只有目的地址才能使用广播地址和多播地址。 常用MAC帧:以太网?V2?的格式(具体可查看PPT的第60页~66页) 扩展的以太网在物理层扩展以太网可使用光纤、集线器进行扩展 在数据链路层扩展以太网(常用)早期使用网桥,现在使用以太网交换机(交换式集线器常称为以太网交换机?(switch)?或第二层交换机?(L2 switch),强调这种交换机工作在数据链路层。) 以太网交换机的特点:
交换机划分冲突域,路由器划分广播域和冲突域!!!
交换机的转发方式:
?以太网交换机的自学习功能以太网交换机运行自学习算法自动维护交换表,开始时,以太网交换机里面的交换表是空的。
虚拟局域网 VLAN定义: 由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个VLAN。 虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为?VLAN?标记?(tag),用来指明发送该帧的计算机属于哪一个虚拟局域网。插入?VLAN?标记得出的帧称为?802.1Q?帧?或?带标记的以太网帧。 ? 高速以太网速率达到或超过?100?Mbit/s?的以太网称为高速以太网? 100BASE-T以太网100 :带宽 BASE:基带传输 T :双绞线 吉比特以太网吉比特以太网的标准IEEE 802.3z的特点:
1000BASE-T 使用铜缆,4对UTP5类线,网段最大长度为100m。 ? 参考资料:《计算机网络》 第8版 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/8 7:10:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |