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

news2024/11/25 16:19:42

参考引用

  • 计算机网络微课堂-湖科大教书匠
  • 计算机网络(第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.coloradmin.cn/o/1056638.html

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

相关文章

倒计时15天!百度世界2023抢先看

近日消息,在10月17日即将举办的百度世界2023上,百度创始人、董事长兼首席执行官李彦宏将带来主题演讲,“手把手教你做AI原生应用”。 增设社会报名,有机会获得精美伴手礼 目前,百度世界大会已经开放公众参会报名&…

选择和操作元素

上一篇文档我们介绍了DOM元素和DOM的获取;其实除了获取DOM,我们也可以去替换DOM元素中的文本 document.querySelector(.message).textContent "🎉Correct Number"● 除此之外,我们可以设置那个数字部分 document.que…

【iptables 实战】07 iptables NAT实验

在上一节中,我们将两个网段的机器,通过中间机器的网络转发,能达到互通。再来回顾一下这个网络连接的图 上一节我们在防火墙实验中,设置了主机B的的转发规则,我们先清空主机B的转发规则 [rootlocalhost ~]# iptables…

Linux下基本指令(上)

文章内容: 1. ls 指令 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 单个ls显示当前目录下的文件和目录 常用选项&#…

【Linux】线程详解完结篇——信号量 + 线程池 + 单例模式 + 读写锁

线程详解第四篇 前言正式开始信号量引例信号量的本质信号量相关的四个核心接口生产消费者模型用环形队列实现生产者消费者模型基于环形队列的生产消费模型的原理代码演示单生产者单消费者多生产者多消费者 计数器的意义 线程池基本概念代码 单例模式STL,智能指针和线程安全STL中…

Echarts 教程一

Echarts 教程一 可视化大屏幕适配方案可视化大屏幕布局方案Echart 图表通用配置部分解决方案1. titile2. tooltip3. xAxis / yAxis 常用配置4. legend5. grid6. series7.color Echarts API 使用全局echarts对象echarts实例对象 可视化大屏幕适配方案 rem flexible.js 关于flex…

Linux JumpServer 堡垒机远程访问

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpS…

如何用画图将另一个图片中的成分复制粘贴?

一、画图是什么? 画图是Windows自带的一个附件,可于菜单中的Windows附件文件夹中找到(自带的为2D画图,有需要的可以下载3D画图),可以用来编辑或查看图片,也可以用来绘制图片,并将图…

JAVA面经整理(5)

创建线程池不是说现用先创建,而是要是可以复用线程池中的线程,就很好地避免了大量用户态和内核态的交互,不需要频繁的创建和销毁线程 一)什么是池化技术?什么是线程池? 1)池化技术是提前准备好一些资源,在…

PADS9.5使用记录

目录 一、概述 二、PADS Logic IN4148二极管封装 SOD-123封装 SOD-323封装 SOD-523封装 2N3904 1AM 三极管封装 78L05 7533-1 一、概述 PADS Logic 原理图绘制PADS Layout PCB 封装设计PADS Router 布线 二、PADS Logic …

【python学习第12节 pandas】

文章目录 一,pandas1.1 pd.Series1.2 pd.date_range1.3 pd_DataFrame1.4浏览数据1.5布尔索引1.6设置值1.7操作1.8合并1.8.1concat()函数1.8.2 merge()函数 一,pandas 1.1 pd.Series pd.Series 是 Pandas 库中的一个数据结构&…

2023年【道路运输企业安全生产管理人员】最新解析及道路运输企业安全生产管理人员考试技巧

题库来源:安全生产模拟考试一点通公众号小程序 道路运输企业安全生产管理人员最新解析参考答案及道路运输企业安全生产管理人员考试试题解析是安全生产模拟考试一点通题库老师及道路运输企业安全生产管理人员操作证已考过的学员汇总,相对有效帮助道路运…

leetcode-239-滑动窗口最大值

题意描述: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例: 输入:nums [1,3,-1,…

【C++】单例

设计一个类,只能在堆上创建对象 只能在堆上创建对象,也就是只能通过new操作符创建对象,方式如下: 将析构函数设为私有将释放空间的操作在类内保留一个接口,只能在类内进行调用将构造函数设置为私有,防止外…

计算机组成与结构

目录 一、计算机硬件组成 二、中央处理单元 1、功能 2、CPU的组成 三、校验码 四、体系结构的分类 1、按处理机数量分类 2、Flynn分类 五、指令系统 1、指令 2、寻址方式 3、指令系统 #CISC(复杂指令集计算机) RISC(精简指令集…

阿里云关系型数据库有哪些?RDS云数据库汇总

阿里云RDS关系型数据库大全,关系型数据库包括MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等,NoSQL数据库如Redis、Tair、Lindorm和MongoDB,阿里云百科分享阿里云RDS关系型数据库大全: 目录 阿里云RDS关系型数据库大全 …

图解大模型微调系列之:大模型低秩适配器LoRA(原理篇)

关于LORA部分的讲解,我们将分为**“原理篇”和“源码篇”**。 在原理篇中,我们将通过图解的方式,详细分析LoRA怎么用、为什么能奏效、存在哪些优劣势等核心问题。特别是当你在学习LoRA时,如果对“秩”的定义和作用方式感到迷惑&a…

基于Java的库存管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

先做一年的弱电在做网络工程师这个顺序对不对

大家好,我是网络工程师成长日记实验室的郑老师,您现在正在查看的是网络工程师成长日记专栏,记录网络工程师日常生活的点点滴滴 有个同学说他原来是做视频审核的那个工作,我离职了,26岁他看了一些相关视频。他说他现在打…

电流流过电阻时会减小吗?

我相信很多人刚接触电路时都会有这个想法:由于电阻会抵抗或阻碍电荷的流动,假如现在电流往一个方向流动,且电路中只有一个电阻器,那么从电流流出的地方到刚接触电阻中间应该有有高电流,从电阻刚流出到最后应该有低电流…