当前位置: 首页 > news >正文

Linux网络:数据链路层以太网

目录

    • 认识数据链路层
    • 关于以太网
      • 1. 基本概念
      • 2. 以太网帧格式
      • 3. MAC vs IP

认识数据链路层

数据链路层 位于物理层和网络层之间,其作用是将源自物理层来的数据可靠地传输到相邻节点的目标主机的网络层,主要通过物理介质(如以太网,Wi-Fi等)将数据分割成帧,并在相邻节点之间进行传输。

  • 主机:配有IP地址,但不进行路由控制的设备
  • 路由器:既配有IP地址,又能进行路由控制、
  • 节点:主机和路由器的统称
  • 链路(Link):一个节点到另一个相邻节点的一段物理线路,中间没有任何其他节点。
    • 链路由传输介质和物理设备组成,传输介质主要有双绞线,光纤,微波。在两个节点进行通信的时候,链路只是一条完整通信路径的一部分
  • 数据链路(Data Link):把实际控制数据传输协议的硬件和软件加到链路上就构成了数据链路

补充:报文在传输层叫数据段(Segment),在网络层叫数据报(Packet),在数据链路层叫做数据帧(Frame)

数据链路层的功能如下:

  • 封装成帧:将网络层交付下来的数据报封装成帧,每个帧包含了控制信息(如起始标志,目的MAC地址,源MAC地址等)和数据部分
  • 物理地址寻址:通过物理地址(MAC地址)来唯一标识网络中的设备,在数据链路层中使用MAC地址进行寻址和转发
  • 媒体访问控制:在共享介质的网络中,数据链路层使用媒体访问控制协议(如CSMA/CD,CSMA/CA等)来协调多个节点之间的传输,避免冲突和碰撞
  • 差错检查与重传:数据链路层负责检测和纠正传输过程中可能发生的位错误,通过差错检验码(如循环冗余校验码CRC)来实现
  • 流量控制:数据链路层通过流量控制机制,确保发送方和接收方之间的数据传输速率匹配,避免数据丢失或溢出
  • 链路管理:数据链路层负责建立,维护和释放链路链接,包括链路的建立,终止,确认以及链路状态的管理

数据链路层的协议有很多种,常见的有以太网(Ethernet),无线局域网(Wi-Fi)和点对点协议(PPP)等。不同协议适用于不同的网络环境和需求

关于以太网

1. 基本概念

“以太网”不是一种具体的网络,而是一种技术标准,既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等

  • 例如以太网中的网线必须使用双绞线,传输速率有10M,100M,1000M等
  • 以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等

2. 以太网帧格式

在这里插入图片描述

字段解释
目的地址目的MAC地址
源地址源MAC地址
帧类型有效载荷的类型,0800表示IP数据报,0806表示ARP请求应答,0835表示RARP请求应答
PAD以太网帧数据不能少于46不能大于1500字节,否则就要添加PAD就是随机值
帧末尾CRC 校验码

两个结论:
① 报头和有效载荷如何分离?
 MAC帧的报头是固定长度,即前14字节为报头,后续为有效载荷

② 有效载荷如何向上交付?
 根据报头的类型字段,0800 代表IP协议;0806 代表ARP请求/应答;0835 代表RARP请求/应答。以此交付对应的上层

3. MAC vs IP

在这里插入图片描述
MAC地址和IP地址的区别
1、范围、层次及使用

  • MAC地址是在局域网(子网,内网)范围内唯一标识设备的地址,一般只能在同一局域网内进行通信(寻址 和 转发),例如:以太网的数据链路层使用MAC地址进行设备之间的通信
  • IP地址可以在广域网(公网,外网)范围内唯一标识设备的地址,可以在不同的网络中进行通信(跨网络通信 和 路由选择),例如:在因特网中的网络层使用IP地址进行主机之间的通信

在路由转发的过程中,IP地址描述的是路途总体的起点和终点,MAC地址描述的是路途上的每一个区间的起点和终点

2、分配方式

  • MAC地址由网卡厂商分配,通常是固定的,与设备绑定,一般情况下不会改变
  • IP地址由网络管理员分配,可以是静态分配或动态分配(如DHCP),可以根据需要进行更改

证明如下:
在这里插入图片描述
上面如果主机A想访问服务器B

  • 服务器B具有公网IP,所以主机A可以直接使用公网IP进行访问;IP数据报中源IP地址是私有IP——192.168.1.201/24,目的IP地址是公网IP——122.77.241.3/24
  • 但子网的数据要想发到公网,需要路由器根据路由表进行转发。所以要先将数据发给路由器,但IP报文内的目的IP又不能更改为路由器的IP地址,不然后续无法发送到服务器B。所以需要MAC地址,用于局域网(子网)内的数据发送
  • 主机A在MAC帧中,源MAC地址为自己的MAC地址,目的MAC地址为路由器的MAC地址,发送数据
  • 路由器收到主机A的数据帧,解包查看IP地址,发现不是给自己的,再根据路由表进行路由转发,途中可能还需要经过很多个路由器,使用的也是MAC地址,路由转发其实就是在多个局域网间跳转。

结论:MAC地址用于局域网内通信,IP地址用于广域网通信,即起点和终点


文章转载自:
http://axisymmetrical.wsgyq.cn
http://blesbuck.wsgyq.cn
http://aerology.wsgyq.cn
http://chlamydate.wsgyq.cn
http://atrocious.wsgyq.cn
http://beetlebung.wsgyq.cn
http://brabanconne.wsgyq.cn
http://bindin.wsgyq.cn
http://avens.wsgyq.cn
http://antillean.wsgyq.cn
http://beckon.wsgyq.cn
http://chimp.wsgyq.cn
http://antichristianism.wsgyq.cn
http://britska.wsgyq.cn
http://backbreaking.wsgyq.cn
http://adusk.wsgyq.cn
http://briolette.wsgyq.cn
http://caecostomy.wsgyq.cn
http://baleful.wsgyq.cn
http://catalog.wsgyq.cn
http://biannual.wsgyq.cn
http://brindisi.wsgyq.cn
http://chloracne.wsgyq.cn
http://avenger.wsgyq.cn
http://bespoken.wsgyq.cn
http://bacteriolysis.wsgyq.cn
http://bifurcation.wsgyq.cn
http://breather.wsgyq.cn
http://absorptiometer.wsgyq.cn
http://braunschweiger.wsgyq.cn
http://www.dtcms.com/a/113881.html

相关文章:

  • 6.第二阶段x64游戏实战-分析人物状态
  • MySQL:表的约束
  • Windows 10/11系统优化工具
  • 基于Spark的招聘数据预测分析推荐系统
  • Golang的Web框架比较与选择
  • 26.[MRCTF2020]Transform 1
  • 构建macOS命令速查手册:基于Flask的轻量级Web应用实践
  • 代码随想录算法训练营第三十八天 | 322.零钱兑换 279.完全平方数 139.单词拆分
  • 关于HikariDataSource (null)的误解,顺带提出一种mybaits-Plus mapper映射失败的容易被忽视的原因
  • 用swift playground写个ios应用和大模型或者网站交互
  • 日本汽车规模性经济计划失败,日产三大品牌的合并合作共赢,还是绝地求生?本田与日产合并确认失败,将成为世界第三大汽车集团愿景失败
  • 如何绕过myabtis-plus的逻辑删除条件
  • Unity URP管线与HDRP管线对比
  • Mysql 数据库编程技术01
  • Linux上位机开发实践(硬件设计的创新)
  • SQL Server 2022 数据同步到 Elasticsearch 思考
  • Spring 核心技术解析【纯干货版】- XV:Spring 网络模块 Spring-Web 模块精讲
  • 16.1Linux自带的LED灯驱动实验(知识)_csdn
  • [3.2] 深入了解recv参数列表里的status
  • 信息系统项目管理中各个知识领域的概要描述及其管理流程
  • 【网络安全】 防火墙技术
  • 卢瑟福实验室2025.4.5
  • java流程控制05:Switch选择结构
  • Python开发GUI 框架TKinter、PyQt、PySide、wxPython、Kivy、PyGTK
  • Day 7
  • 采掘队绩效考核制度与生产管理
  • Angular 2 模板语法详解
  • Ubuntu(CentOS、Rockylinux等)快速进入深度学习pytorch环境
  • 【Redis】背景知识
  • 信息系统项目管理师-第十章-项目进度管理