计算机网络(三):数据链路层

参考引用

  • 计算机网络微课堂-湖科大教书匠
  • 计算机网络(第7版)-谢希仁

1. 数据链路层概述

1.1 数据链路层在网络体系结构中所处的地位

在这里插入图片描述

  • 链路 (Link)
    • 就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点
  • 数据链路 (Data Link)
    • 是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路
  • 数据链路层以为单位传输和处理数据
1.2 数据链路层的三个重要问题
  • 封装成帧
    • 封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧
    • 帧头和帧尾中包含有重要的控制信息
    • 帧头和帧尾的作用之一就是帧定界
    • 透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样
      • 面向字节的物理链路使用字节填充 (或称字符填充) 的方法实现透明传输
      • 面向比特的物理链路使用比特填充的方法实现透明传输

在这里插入图片描述

  • 差错检测
    • 根据帧尾中的检错码,检测帧中是否有误码
    • 实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:1 可能会变成 0,而 0 也可能变成 1,这称为比特差错
    • 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER(Bit Error Rate)

在这里插入图片描述

  • 可靠传输
    • 尽管误码是不能完全避免的,但若能实现发送方发送什么接收方就能收到什么,就称为可靠传输
    • 数据链路层向上层提供的服务类型
      • 不可靠传输服务:仅仅丢弃有误码的帧,其他什么也不做
      • 可靠传输服务:想办法实现发送端发送什么,接收端就收到什么
    • 一般情况下,有线链路的误码率比较低,为了减小开销,并不要求数据链路层向上提供可靠传输服务。即使出现了误码,可靠传输的问题由其上层处理
    • 无线链路易受干扰,误码率比较高,因此要求数据链路层必须向上层提供可靠传输服务
    • 可靠传输服务并不仅局限于数据链路层,其他各层均可选择实现可靠传输
      在这里插入图片描述

2. 点对点协议 PPP

  • 点对点协议 PPP(Point-to-Point Protocol) 是目前使用最广泛的点对点数据链路层协议

在这里插入图片描述

  • PPP 协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成
    • 对各种协议数据报的封装方法 (封装成帧)
    • 链路控制协议 LCP:用于建立、配置以及测试数据链路的连接
    • 一套网络控制协议 NCPs:其中的每一个协议支持不同的网络层协议

在这里插入图片描述

2.1 帧格式

在这里插入图片描述

  • 标志 (Flag) 字段:PPP 的定界符,取值为 0x7E
  • 地址 (Address) 字段:取值为 0xFF,预留 (目前没有什么作用)
  • 控制 (Control) 字段:取值为 0x03,预留 (目前没有什么作用)
  • 协议 (Protocol) 字段:指明帧的数据部分送交哪个协议处理
  • 帧检验序列 (Frame Check Sequence) 字段:CRC 计算出的校验位
2.2 工作状态

在这里插入图片描述

3. MAC 地址、IP 地址及 ARP 协议

  • MAC 地址是以太网的 MAC 子层所使用的地址(位于数据链路层)
  • IP 地址是 TCP/IP 体系结构网际层所使用的地址
  • ARP 协议属于 TCP/IP 体系结构的网际层,其作用是已知设备所分配到的 IP 地址,使用 ARP 协议可以通过该 IP 地址获取到设备的 MAC 地址
3.1 MAC 地址

共享信道要着重考虑的一个问题就是:如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制 MAC (Media Access Control)

在这里插入图片描述

  • 当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址

  • 在每个主机发送的帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制 MAC,因此这类地址被称为 MAC 地址

    • MAC 地址一般被固化在网卡 (网络适配器) 的电可擦可编程只读存储器 EEPROM 中,因此 MAC 地址也被称为硬件地址
    • MAC 地址有时也被称为物理地址。请注意:这并不意味着 MAC 地址属于网络体系结构中的物理层
      在这里插入图片描述
  • 一般情况下,用户主机会包含两个网络适配器:有线局域网适配器 (有线网卡) 和无线局域网适配器 (无线网卡)

    • 每个网络适配器都有一个全球唯一的 MAC 地址。而交换机和路由器往往拥有更多的网络接口,所以会拥有更多的 MAC 地址
    • 综上所述,严格来说,MAC 地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识
  • IEEE 802 局域网的 MAC 地址格式

在这里插入图片描述

  • IEEE 802 局域网的 MAC 地址发送顺序
    • 字节发送顺序:第一字节 --> 第六字节
    • 字节内的比特发送顺序:b0 --> b7
3.2 IP 地址
  • IP 地址是因特网上的主机和路由器所使用的地址,用于标识两部分信息
    • 网络编号:标识因特网上数以百万计的网络
    • 主机编号:标识同一网络上不同主机 (或路由器各接口)

在这里插入图片描述

  • 之前介绍的 MAC 地址不具备区分不同网络的功能

    • 如果只是一个单独的网络,不接入因特网,可以只使用 MAC 地址 (这不是一般用户的应用方式)
    • 如果主机所在的网络要接入因特网,则 IP 地址和 MAC 地址都需要使用
  • 数据包转发过程中 IP 地址与 MAC 地址的变化情况(H 为主机,R 为路由器)

    • 数据包转发过程中源 IP 地址和目的 IP 地址保持不变
    • 数据包转发过程中源 MAC 地址和目的 MAC 地址逐个链路 (或逐个网络) 改变
    • H1 知道应该把数据包传给 R1,由 R1 帮其把数据包转发出去
    • H1 知道 R1 相应接口的 IP 地址为 IP3,但不知道其对应的 MAC 地址是什么
      在这里插入图片描述
3.3 ARP 协议
  • 如何通过 IP 地址找到其相应的 MAC 地址?
    • 通过 ARP 协议
  • ARP 请求报文(广播)

在这里插入图片描述

  • ARP 响应报文(单播)

在这里插入图片描述

  • ARP 高速缓存

在这里插入图片描述

  • ARP 协议只能在一段链路或一个网络上使用,不能跨网络使用

在这里插入图片描述

4. 集线器与交换机

以太网(Ethernet)是一种计算机局域网技术,是一种基于总线型拓扑结构的网络,使用分布式仲裁机制来解决冲突

4.1 集线器
  • 使用双绞线和集线器 HUB 的星型以太网
    在这里插入图片描述

  • 使用集线器的以太网在逻辑上仍是一个总线网,各站共享总线资源,使用的还是 CSMA/CD 协议

  • 集线器只工作在物理层,它的每个接口仅简单地转发比特,不进行碰撞检测 (由各站的网卡检测)

  • 集线器一般都有少量的容错能力和网络管理功能

    • 例如,若网络中某个网卡出了故障,不停地发送帧。此时,集线器可以检测到这个问题,在内部断开与出故障网卡的连线,使整个以太网仍然能正常工作
  • 使用集线器 HUB 在物理层扩展以太网

在这里插入图片描述

4.2 以太网交换机
  • 以太网交换机通常都有多个接口
    • 每个接口都可以直接与一台主机或另一个以太网交换机相连。一般都工作在全双工方式
  • 以太网交换机具有并行性
    • 能同时连通多对接口,使多对主机能同时通信,无碰撞 (不使用CSMA/CD协议)
  • 以太网交换机一般都具有多种速率的接口
    • 例如:10Mb/s、100Mb/s、1Gb/s、10Gb/s 接口的多种组合
  • 以太网交换机工作在数据链路层 (也包括物理层)
    • 它收到帧后,在帧交换表中查找帧的目的 MAC 地址所对应的接口号,然后通过该接口转发帧
  • 以太网交换机是一种即插即用设备
    • 其内部的帧交换表是通过自学习算法自动地逐渐建立起来的
4.3 集线器与交换机的对比

在这里插入图片描述

在这里插入图片描述

5. 虚拟局域网 VLAN

以太网交换机工作在数据链路层 (也包括物理层),使用一个或多个以太网交换机互连起来的交换式以太网,其所有站点都属于同一个广播域,随着交换式以太网规模的扩大,广播域相应扩大,巨大的广播域会带来很多弊端

  • 广播风暴:广播风暴会浪费网络资源和各主机的 CPU 资源
  • 难以管理和维护
  • 潜在的安全问题
5.1 网络中会频繁出现广播信息
  • TCP/IP 协议栈中的很多协议都会使用广播
    • 地址解析协议 ARP (已知 IP 地址,找出其相应的 MAC 地址)
    • 路由信息协议 RIP (一种小型的内部路由协议)
    • 动态主机配置协议DHCP (用于自动配置IP地址)
  • NetBEUl:Widnows 下使用的广播型协议
  • IPX/SPX:Novell 网络的协议栈
  • Apple Talk:Apple 公司的网络协议栈
5.2 分割广播域的方法
  • 使用路由器可以隔离广播域(路由器成本较高)
    在这里插入图片描述

  • 虚拟局域网 VLAN 技术

    • 虚拟局域网 VLAN (Virtual Local Area Network) 是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求
      在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/97020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.primitive主数据类型和引用 认识变量

3.1 声明变量 Java注重类型。它不会让你做出把长颈鹿类型变量装进兔子类型变量中这种诡异又危险的举动——如果有人对长颈鹿调用“跳跃”这个方法会发生什么样的悲剧?并且它也不会让你将浮点数类型变量放进整数类型的变量中,除非你先跟编译器确认过数字…

【状态估计】将Transformer和LSTM与EM算法结合到卡尔曼滤波器中,用于状态估计(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

JavaWeb:上传文件

1.建普通maven项目,或者maven项目,这里以普通maven为例,区别的jar包的导入方式啦 到中央仓库下载哦 2.结构 3.写fileservlet public class FileServlet extends HttpServlet {Overrideprotected void doPost(HttpServletRequest req, HttpSe…

LVS+Keepalived 高可用集群负载均衡

一.keepalived介绍 1.1.Keepalived实现原理 由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务。 每个热备组内同时只有一台主路由器提供服务,其他路由器处于冗余状态。 若当前在线的路由器失效,则其他路由器会根据设置…

三相PWM整流器滞环电流控制Simulink仿真模型

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

No168.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

【C++面向对象侯捷下】4. pointer-like classes,关于智能指针 | 5. function-like classes,所谓仿函数

文章目录 4. pointer-like classes,关于智能指针pointer-like classes,关于智能指针 shared_ptrpointer-like classes,关于迭代器5. function-like classes,所谓仿函数【不懂,跳过】 4. pointer-like classes,关于智能指针 pointer-like classes,关于智…

【机器学习】决策树原理及scikit-learn使用

文章目录 决策树详解ID3 算法C4.5算法CART 算法 scikit-learn使用分类树剪枝参数重要属性和接口 回归树重要参数,属性及接口交叉验证代码示例 一维回归的图像绘制 决策树详解 决策树(Decision Tree)是一种非参数的有监督学习方法,…

Django 前端模板显示换行符、日期格式

linebreaksbr 显示换行符 <td>{{ data.sku_list|default:"无"|linebreaksbr }}</td> date:"Y年m月d日 H:i" 设置日期格式 <td>{{ data.submit_time|date:"Y年m月d日 H:i" }}</td> 其他语法 forloop 获取循环的索引 …

【audio】alsa pcm音频路径

文章目录 AML方案音频路径分析dump alsa pcm各个音频路径的原始音频流数据 AML方案音频路径分析 一个Audio Patch用来表示一个或多个source端到一个或多个sink端。这个是从代码的注释翻译来的&#xff0c;大家可以把它比作大坝&#xff0c;可以有好几个入水口和出水口&#xf…

【新书推荐】当 Python 遇到 ChatGPT —— 自动化办公落地

文章目录 当 Python 遇到 ChatGPT&#xff1a;一种强大的组合1. 文本生成2. 自动翻译3. 对话生成4. 情感分析 新书推荐《Python自动化办公应用大全&#xff08;ChatGPT版&#xff09;&#xff1a;从零开始教编程小白一键搞定烦琐工作&#xff08;上下册&#xff09;》前言内容简…

Neo4j深度学习

Neo4j的简介 Neo4j是用Java实现的开源NoSQL图数据库。从2003年开始开发&#xff0c;2007年正式发布第一版&#xff0c;其源码托管于GitHtb。Neo4j作为图数据库中的代表产品&#xff0c;已经在众多的行业项目中进行了应用&#xff0c;如&#xff1a;网络管理、软件分析、组织和…

DirectX12_Windows_GameDevelop_3:Direct3D的初始化

引言 查看龙书时发现&#xff0c;第四章介绍预备知识的代码不太利于学习。因为它不像是LearnOpenGL那样从头开始一步一步教你敲代码&#xff0c;导致你没有一种整体感。如果你把它当作某一块的代码进行学习&#xff0c;你跟着敲会发现&#xff0c;总有几个变量是没有定义的。这…

乌班图22.04 kubeadm简单搭建k8s集群

1. 我遇到的问题 任何部署类问题实际上对于萌新来说都不算简单&#xff0c;因为没有经验&#xff0c;这里我简单将部署的步骤和想法给大家讲述一下 2. 简单安装步骤 准备 3台标准安装的乌班图server22.04&#xff08;采用vm虚拟机安装&#xff0c;ip为192.168.50.3&#xff0…

STC89C51基础及项目第10天:LCD显示字符(非标协议外设)

1. 初识LCD1602&#xff08;233.79&#xff09; 非标协议外设 LCD1602显示 LCD1602&#xff08;Liquid Crystal Display&#xff09;是一种工业字符型液晶&#xff0c;能够同时显示 1602 即 32 字符(16列两行) 引脚说明 第 1 脚&#xff1a; VSS 为电源地第 2 脚&#xff1…

SpringBoot项目默认使用HikariDataSource数据库连接池修改使用Druid连接池

1.启动项目&#xff0c;查看正在使用的链接池。 2.在pom.xml文件中引入驱动 <dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.8</version></dependency> 3.在ap…

机器视觉工程师,公司设置奖金,真的为了奖励你吗?其实和你没关系

​据说某家大厂&#xff0c;超额罚款&#xff0c;有奖有罚很正常&#xff0c;但是我觉得你罚款代理商员工就不一样了&#xff0c;把代理商当成你的员工&#xff0c;我就觉得这些大厂的脑回路有问题。 有人从来没听说过项目奖金&#xff0c;更没有奖金。那么为什么设置奖金呢&a…

数字化转型频频失败?一体化模式提供新的思考

数字化连续6年出现在政府报告中&#xff0c;从《中小企业数字化赋能专项行动方案》到《关于推进“上云用数赋智”行动》、《“十四五” 规划和 2035 年远景目标建议》、《中小企业数字化转型指南》&#xff0c;再到2023年2月《数字中国建设整体布局规划》&#xff0c;加快数字化…

MM-Camera架构-ProcessCaptureRequest 流程分析

文章目录 processCaptureRequest\_3\_41.1 mDevice1.2 mDevice->ops->process\_capture\_request1.3 hardware to vendor mct\_shimlayer\_process\_event2.1 mct\_shimlayer\_handle\_parm2.2 mct\_shimlayer\_reg\_buffer processCaptureRequest_3_4 sdm660的摄像头走…

mysql5.7停止维护时间

mysql5.7将于2023年10月停止官网支持和更新&#xff1b;老项目要准备升级&#xff0c;新项目的mysql必须是mysql8.0&#xff08;2023-10&#xff09; 官方升级咨询地址 oracle官方升级咨询地址https://go.oracle.com/LP116153?elq_mid247718&sh1518132002061316121320310…