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

以太网与数据链路层

以太网是数据链路层中最常用的协议之一,用于在局域网(LAN)中传输数据。以下是关于以太网协议的一些重要信息:

1. 物理层和数据链路层:

  • 以太网协议涵盖了 OSI 模型中的物理层和数据链路层。物理层负责在网络媒介(如双绞线、光纤等)上传输数据,而数据链路层则负责将数据分成帧,并在同一物理网络上的设备之间进行通信。

2. 媒介访问控制(MAC)地址:

  • 以太网协议使用 MAC 地址来唯一标识网络中的每个设备。MAC 地址是由 48 位二进制数字组成的,通常表示为十六进制数。前24位表示厂商标识符(OUI),后24位由厂商分配给设备。

3. 以太网帧(Ethernet Frame):

  • 以太网协议使用帧来封装数据以进行传输。一个典型的以太网帧包含以下字段:
    • 目标 MAC 地址:指定数据帧的接收者。
    • 源 MAC 地址:指定数据帧的发送者。
    • 类型/长度字段:指示数据帧中有效载荷的类型或长度。
    • 数据字段:存储传输的实际数据。
    • 帧校验序列(FCS):用于错误检测的冗余校验字段。

4. 媒介访问控制(MAC)协议:

  • 以太网使用 CSMA/CD(载波监听多点接入/碰撞检测)协议来管理网络媒介的访问。这意味着设备在发送数据之前会先监听信道,如果信道空闲,它就可以发送数据;如果检测到碰撞,设备会等待一段随机的时间后重新发送数据。

5. 速率和技术:

  • 以太网支持不同的传输速率,最常见的是 10 Mbps、100 Mbps、1 Gbps、10 Gbps 和最新的 40 Gbps 和 100 Gbps。
  • 以太网技术已经演进,从最初的基于双绞线的以太网(10BASE-T)发展到现在的光纤以太网(光纤以太网)和无线以太网(Wi-Fi)等。

以太网协议作为局域网中最常用的协议之一,为我们提供了可靠和高效的局域网通信手段。通过了解以太网协议的基本原理和特性,我们能够更好地理解局域网中数据的传输过程。

6. ARP 

1. ARP 的作用:
  • ARP 的主要作用是解析 IP 地址与 MAC 地址之间的对应关系。当一个设备知道目标 IP 地址但不知道对应的 MAC 地址时,它会使用 ARP 协议来查询目标的 MAC 地址。
2. ARP 请求与应答:
  • 当一个设备想要解析一个目标 IP 地址的 MAC 地址时,它会向网络中发送一个 ARP 请求广播。这个 ARP 请求中包含了源设备的 IP 地址和 MAC 地址,以及目标 IP 地址。
  • 目标设备收到 ARP 请求后,会检查请求中的目标 IP 地址是否与自己相符。如果是,则会向源设备发送 ARP 应答,包含自己的 MAC 地址。
  • 源设备收到 ARP 应答后,就知道了目标 IP 地址对应的 MAC 地址,可以使用这个 MAC 地址来发送数据包。
3. ARP 缓存:
  • 为了提高效率,设备在收到 ARP 应答后会将 IP 地址与 MAC 地址的对应关系缓存起来。这样,在后续的通信中,如果需要与同一个目标设备通信,就不需要再发送 ARP 请求,而是直接从 ARP 缓存中获取目标设备的 MAC 地址。
4.IP地址与MAC 地址的区别

MAC地址和IP地址在网络中扮演着不同的角色:

MAC地址:
  • 属于: 数据链路层(第二层)。

  • 唯一标识: 每个网络设备在出厂时都会分配一个唯一的48位二进制数字的MAC地址。

  • 用途: 在局域网中唯一标识和定位设备,用于数据链路层的帧转发。

  • 特点: MAC地址是硬编码在网络适配器中的,一般情况下不会更改。

IP地址:
  • 属于: 网络层(第三层)。

  • 唯一标识: 每个网络设备在一个TCP/IP网络中都会分配一个唯一的IP地址,由32位(IPv4)或128位(IPv6)二进制数字组成。

  • 用途: 在网络中唯一标识和定位设备,用于网络层的数据包路由和传输。

  • 特点: IP地址可以动态分配(使用DHCP协议)或静态分配。

7.MTU

MTU(Maximum Transmission Unit)指的是网络通信中能够在单个数据包中传输的最大数据量。MTU的大小通常以字节为单位,它由网络技术和网络设备的限制决定。IP协议对MTU的处理机制主要涉及分片和路径MTU发现。

MTU的重要性:
  • 较大的MTU可以提高网络通信的效率和吞吐量,减少通信中的开销。
  • 网络中的每个设备和链路都有可能限制数据包的最大大小,如果数据包超过了MTU,则需要进行分片,增加了网络负载和延迟。
IP对MTU的处理机制:
  1. 分片(Fragmentation):

    • 当一个数据包的大小超过了沿途任何一个设备或链路的MTU时,IP协议会将这个数据包进行分片,将其分割成更小的片段,以适应网络的MTU。这些分片在传输过程中会独立地发送,并在目的地重新组装成完整的数据包。
  2. 路径MTU发现(Path MTU Discovery):

    • IP协议的路径MTU发现机制用于发现连接路径上的最小MTU,并将其作为通信中使用的MTU大小。发送端通过发送带有“不可分段(Don't Fragment)”标志的数据包到目的地,并在返回的ICMP消息中得到路径MTU的信息,以便确定适当的MTU大小,从而避免分片。
  3. MTU协商:

    • 在建立TCP连接时,通信双方会协商一个最大的TCP数据段大小,这个大小一般取决于两端设备和网络中的最小MTU。这样就可以确保TCP数据段不会超过MTU,从而避免分片的发生。

IP协议通过分片和路径MTU发现机制来处理不同MTU的网络环境,以确保数据包的正确传输,并提高网络通信的效率。MTU的处理机制是网络通信中重要的一环,对于网络的性能和可靠性具有重要意义。

相关文章:

  • 两个有序序列的中位数(全网首篇递归、分治解决)
  • Glide
  • 使用IDEA的反编译插件 反编译jar包
  • 开源博客项目Blog .NET Core源码学习(12:App.Application项目结构分析)
  • 快速上手Spring Cloud 十:Spring Cloud与微前端
  • Nexpose v6.6.243 for Linux Windows 下载 - 漏洞扫描
  • 【二分法】编码能力提升
  • Qt实现TFTP Server和 TFTP Client(四)
  • 【通用人工智能AGI元年-各领域的精彩AI/LLM(持续更新)】
  • 【二分法】刻录光盘备份
  • springcloud+nacos服务注册与发现
  • 2024/03/27(C++·day3)
  • MySQL高阶SQL语句(二)
  • 基于Python的高考志愿辅助填报系统
  • IPV6协议之RIPNG
  • [PHP内核探索]PHP中的哈希表
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Apache的基本使用
  • CEF与代理
  • css选择器
  • Docker入门(二) - Dockerfile
  • Docker下部署自己的LNMP工作环境
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • JS数组方法汇总
  • Swift 中的尾递归和蹦床
  • Vue2.x学习三:事件处理生命周期钩子
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用SAX解析XML
  • 小程序测试方案初探
  • Java性能优化之JVM GC(垃圾回收机制)
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​人工智能书单(数学基础篇)
  • #git 撤消对文件的更改
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (12)Hive调优——count distinct去重优化
  • (13):Silverlight 2 数据与通信之WebRequest
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (6)STL算法之转换
  • (MATLAB)第五章-矩阵运算
  • (poj1.3.2)1791(构造法模拟)
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (分布式缓存)Redis哨兵
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .Net core 6.0 升8.0
  • .net web项目 调用webService
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .net分布式压力测试工具(Beetle.DT)
  • /proc/vmstat 详解
  • @Conditional注解详解