以太网基础学习(一)——以太网概述

news2025/1/11 14:28:03

一、以太网概述

        以太网(Ethernet)指的是由 Xerox公司创建并由Xerox、Intel和 DEC公司联合开发的基带局域网规范,通用的以太网标准于1980年9月30日出台,是当今现有局域网采用的最通用的通信协议标准(是局域网的一种)。

        以太网是一种计算机局域网技术。以太网有两类:第一类是经典以太网,第二类是交换式以太网,使用了一种称为交换机的设备连接不同的计算机。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET。以太网实现了网络上无线电系统多个节点发送信息的想法,每个节点必须获取电缆或者信道的才能传送信息,有时也叫作以太(Ether)。 每一个节点有全球唯一的48位地址也就是制造商分配给网卡的MAC地址,以保证以太网上所有节点能互相鉴别。由于以太网十分普遍,许多制造商把以太网卡直接集成进计算机主板。

        以太网协议采用星形拓扑或线性总线,这是 IEEE 802.3 标准的基础。在 OSI 网络结构中,该协议同时工作于物理层和数据链路层,即前两层。以太网将数据连接层分为两个不同的层:逻辑链路控制层和媒体访问控制 (MAC) 层。

        网络系统中的数据连接层主要负责将数据包从一个节点传输到另一个节点。以太网采用一种称为 CSMA/CD(载波侦听多路访问/冲突检测)的访问机制,使每台计算机能够在通过网络传输数据之前侦听连接。        

        以太网还使用两个组件传输数据:数据包和帧。该帧包含发送的数据有效负载以及以下内容:

  • 发件人和收件人的 MAC 和物理地址
  • 用于识别传输故障的纠错数据
  • 有关虚拟 LAN (VLAN) 标记以及服务质量 (QoS)的信息

        每个帧都封装在包含许多数据字节的数据包中,以建立连接并识别帧的开始点。

二、以太网物理帧格式

常用的以太网MAC帧格式有两种标准 :

  • DIX Ethernet V2 标准
  • IEEE 的 802.3 标准

最常用的 MAC 帧是以太网 V2 的格式。

         这里我们着重介绍 Ethernet V2 标准的MAC帧格式(这里我们暂时不考虑VLAN的情况):

1、前导码

        图中的黄色部分,简单说就是用来同步用的,这里不是我们考虑的重点。

2、MAC帧

(1)目的地址

        IPv4下共占据6个Byte,即48个bit,目的MAC地址,该字段确定帧的接收者。

(2)源地址

        IPv4下共占据6个Byte,即48个bit,源MAC地址,该字段标识帧的发送者。

(3)类型

        协议类型,长度为2个Byte,用来标识数据字段内的高层协议,我们举两个最最常用的例子:

  • 0x0800:IP报文
  • 0x0806:ARP报文

(4)数据

        数据字段,其长度在46~1500字节(46字节是这样得出的:最小长度64字节减去18字节的首部和尾部就得出数据字段的最小长度)。当数据字段的长度小于46字节时,MAC子层就会在数据字段的后面加入一个整数字节的填充字段,以保证以太网的MAC帧长不小于64字节。

(5)FCS

        最后一个字段是4个Byte的帧检验序列FCS(使用CRC检验)

三、帧间最小间隔

        帧间最小间隔为 9.6 us,相当于 96 bit 的发送时间。一个站在检测到总线开始空闲后,还要等待 9.6 us 才能再次发送数据。以太网不需要使用帧结束定界符,也不需要使用字节填充或比特填充技术来保证透明传输。帧间间隔用于接收方检测一个帧的结束,同时也使得所有其它站点都能有机会平等竞争信道并发送数据。

四、CSMA/CD

        带冲突检测的载波侦听多路访问(CSMA/CD)技术规定了多台计算机共享一个通道的方法。这项技术最早出现在1960年代由夏威夷大学开发的AHLOAnet,它使用无线电波为载体。这个方法要比令牌环网或者主控制网简单。当某台计算机要发送信息时,在以下行动与状态之间进行转换:

  1. 开始- 如果线路空闲,则启动传输,否则跳转到第4步。

  2. 发送- 如果检测到冲突,继续发送数据直到达到最小回报时间(min echo receive interval)以确保所有其他转发器和终端检测到冲突,而后跳转到第4步。

  3. 成功传输- 向更高层的网络协议报告发送成功,退出传输模式。

  4. 线路繁忙- 持续等待直到线路空闲。

  5. 线路空闲- 在尚未达到最大尝试次数之前,每隔一段随机时间转到第1步重新尝试。

  6. 超过最大尝试传输次数- 向更高层的网络协议报告发送失败,退出传输模式。

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

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

相关文章

libevent源码学习笔记

libevent源码学习笔记 libevent安装libevent源码解析(1)事件对象(2)事件操作(3)事件循环(4)事件处理 常用指令问题记录问题一:长连接的管理问题二:连接关闭问…

WebSocket实战之三遇上PAC

一、前言 前两天销售数据实时刷新功能开发测试完成,开开心心部署到生产环境,然后直接懵逼傻眼了,竟然连接不上WebSocket服务端,浏览器端请求头报 Provisional headers are shown 信息,然后采用一系列操作排查问题。 …

DS线性表之链表

前言 我们上一期介绍了顺序表,它的底层就是数组,我们也分别对顺序表的动态版本和静态版本进行了实现!并且分析了顺序表的优缺点,优点是:尾插、尾删效率很高,其时间复杂度是O(1);缺点是&#xff…

用于数据增强的十个Python库

数据增强是人工智能和机器学习领域的一项关键技术。它涉及到创建现有数据集的变体,提高模型性能和泛化。Python是一种流行的AI和ML语言,它提供了几个强大的数据增强库。在本文中,我们将介绍数据增强的十个Python库,并为每个库提供…

(二)激光线扫描-相机标定

1. 何为相机标定? 当相机拍摄照片时,我们看到的图像通常与我们实际看到的不完全相同。这是由相机镜头引起的,而且发生的频率比我们想象的要高。 这种图像的改变就是我们所说的畸变。一般来说,畸变是指直线在图像中出现弯曲或弯曲。 这种畸变我们可以通过相机标定来进行解…

轮询与中断

中断控制器 #include"exynos_4412.h"int main() {/*产生一个中断信号*//*1.属于外设层次&#xff0c;让外部的硬件控制器能产生一个中断信号并发送给中断控制器*//*将GPX1_1设置成中断功能*/GPX1.CON GPX1.CON |( 0xF << 4);/*设置GPX1_1中断的触发方式---下降…

栈的应用场景(一)

逆波兰表达式 1.题目2.思路3.代码 1.题目 2.思路 3.代码 class Solution {public int evalRPN(String[] tokens) {//创建一个栈Stack<Integer> stack new Stack<>();//对字符串数组进行遍历for(String x : tokens){//分数操作符和操作数两种情况,我们得判断//一下…

JavaScript系列从入门到精通系列第十二篇:JavaScript中对象的简介和对象的基本操作以及JavaScript中的属性值和属性名

文章目录 前言 一&#xff1a;对象分类 1&#xff1a;内建对象 2&#xff1a;宿主对象 3&#xff1a;自建对象 二&#xff1a;对象的基本操作 1&#xff1a;创建对象 2&#xff1a;向对象中添加属性 3&#xff1a;读取对象中的属性 4&#xff1a;修改对象中的属性 三…

使用晶体管做布尔逻辑和逻辑门

目录 二进制&#xff0c;三进制&#xff0c;五进制 true&#xff0c;false表示0&#xff0c;1 早期计算机采用进制 布尔逻辑 三个基本操作&#xff1a;NOT,AND,OR 基础“真值表” NOT 如何实现&#xff1f; AND如何实现&#xff1f; OR如何实现&#xff1f; 图标表示…

算法——买卖股票问题

309. 买卖股票的最佳时机含冷冻期 - 力扣&#xff08;LeetCode&#xff09; 一、 究其就是个动态规划的问题 算法实现图 初始化 由于有三个阶段&#xff0c;买入&#xff0c;可交易&#xff0c;冷冻期&#xff0c;那么用dp表表示现在为止的最大利润&#xff0c;则有 dp[0][…

基于Redis实现消息队列的实践

为什么要基于Redis实现消费队列&#xff1f; 消息队列是一种典型的发布/订阅模式&#xff0c;是专门为异步化应用和分布式系统设计的&#xff0c;具有高性能、稳定性及可伸缩性的特点&#xff0c;是开发分布式系统和应用系统必备的技术之一。目前&#xff0c;针对不同的业务场…

WebSocket实战之四WSS配置

一、前言 上一篇文章WebSocket实战之三遇上PAC &#xff0c;碰到的问题只能上安全的WebSocket&#xff08;WSS&#xff09;才能解决&#xff0c;配置证书还是挺麻烦的&#xff0c;主要是每年都需要重新更新证书&#xff0c;我配置过的证书最长有效期也只有两年&#xff0c;搞不…

由于计算机中丢失msvcp110.dll的解决方法与msvcp110.dll丢失修复方法

相信大家在打开电脑软件或许游戏都有遇到过电脑提示找不到msvcp110.dll文件&#xff0c;导致软件游戏打不开&#xff0c;我们应该怎么办&#xff1f;不用着急&#xff0c;今天小编我分享我找了很久成功解决问题的方法给大家&#xff0c;希望可以帮到各位。 1. 使用DLL修复工具&…

python——Django框架

一、基本介绍 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。 使用 Django&#xff0c;只要很少的代码&#xff0c;Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容&#xff0c;并进一步开发出全功能的 Web 服务 Django 本身基于 MVC …

简单的考试系统

开发一个简单的考试系统&#xff0c;在HTML页面中建立一个表单&#xff0c;通过post方法传递参数。题目类型包括单选题、多选题和填空题&#xff0c;要求程序给出考试成绩。 <!DOCTYPE html> <html> <head><title>question.html</title><met…

SpringBoot banner 样式 自动生成

目录 SpringBoot banner 样式 自动生成 图案网站&#xff1a; 1.第一步创建banner.txt文件 2.访问网站Ascii艺术字实现个性化Spring Boot启动banner图案&#xff0c;轻松修改更换banner.txt文件内容&#xff0c;收集了丰富的banner艺术字和图&#xff0c;并且支持中文banner下…

【C语言】文件操作(三)

前言 在文件操作&#xff08;二&#xff09;中我们学习了顺序读写文件的函数&#xff0c;在这篇博客中我们将学习⽂件的随机读写&#xff0c;⽂件读取结束的判定。 文章目录 一、文件的随机读写1.1 fseek1.2 ftell1.3 rewind 二、文件读取结束的判定2.1 ferror和feof 三、文件缓…

键盘上F1至F12键的作用

多年来&#xff0c;我们习惯了最上排的12个按键&#xff0c;从F1到F12&#xff0c;它们被称为“快速功能键”&#xff0c;可以让你更轻松地操作电脑&#xff1b;但是&#xff0c;很多人可能从未使用过它们&#xff0c;也从来不知道它们的用途。那么今天&#xff0c;就向大家科普…

【Pytorch笔记】4.梯度计算

深度之眼官方账号 - 01-04-mp4-计算图与动态图机制 前置知识&#xff1a;计算图 可以参考我的笔记&#xff1a; 【学习笔记】计算机视觉与深度学习(2.全连接神经网络) 计算图 以这棵计算图为例。这个计算图中&#xff0c;叶子节点为x和w。 import torchw torch.tensor([1.]…

web漏洞-PHP反序列化

目录 PHP反序列化序列化反序列化原理涉及技术利用危害CTF靶场 PHP反序列化 序列化 将对象转换成字符串 反序列化 相反&#xff0c;将字符串转换成对象。 数据格式的转换对象的序列化有利于对象的保存和传输&#xff0c;也可以让多个文件共享对象。 原理 未对用户输入的序列化字…