Ethernet

<13>基础知识——以太网(Ethernet ) 目录 以太网概述 以太网——标准和实施 以太网—— 第1层和第2层 逻辑链路控制——连接到上层 MAC——获取到介质的数据 以太网的物理实现 以太网——通过LAN的通信 以太网历史 以太网冲突管理 发展到 1Gbps 及以上速度 以太网帧 帧——封装数据包 以太网MAC 地址 十六进制计数和编址 另一个编址层 以太网单播、组播和广播 以太网MAC 以太网中的MA... 阅读详情

Ethernet

简介

这是关于以太网技术的简要介绍。

一个以太网帧包含源地址,目的地址,类型和数据。 以太网地址是一个6个字节的数据。每台主机都有它自己的以太网地址,而且监听着每个目的地址,和自己的地址做比较。每个设备都监听一个广播地址FF-FF-FF-FF-FF-FF(16进制数).

数据链路层用 载波监听碰撞检测:CSMA/CD(Carrier Sense and Multiple Access with Collision Detection),。CSMA/CD意味着在同一时间,只能有一个设备可以传输数据。如果有两台设备同时传输,就会检测到数据碰撞,之后这两台设备都会在等待一个随机时间后再次尝试传输。

如何用人来模拟CSMA/CD?

模拟以太网技术的一个好的例子是一群人在一个小的,完全黑暗的房子里说话。在这次模拟中,物理介质是房间里的声波,而不是电子信号.

当其他人说话(Carrier Sense)时,每个人都在听。房间里的每个人都有同等的说话的权利。但是没有人会进行长篇大论的演说,因为他们都很有礼貌。当有人不礼貌时,他会被强制离开这个房间。

没有人会在另一个人说话时,也开始他的演讲。但是如果有两个人在同一时间说话,他们都会听到对方也在说话。当这两个人都注意到这种情况时,他们会停止说话,然后等一段时间没人说话时,再次尝试说话.其他的听众会在开始他的演讲之前,一直等待。

每个人都有一个独一无二的名字:MAC地址(Ethernet address)来避免冲突。每次和别人谈话时,他都会告诉对方自己的名字,也会指出和他谈话人的名字:源地址和目的地址(Ethernet destination and source address)比如说:”Hello I am Jack, this is Brown …”。如果这个说话人想要告诉每个人一件事,他会说:”everyone”:广播地址(broadcast address),比如说:”Hello Everyone, this is Jack …”

Ethernet/IP ①在标准以太网基础上建立,而不仅仅是与之兼容;②多种数据传输速率:10、100、1000Mbit/s;③可以使用标准基础架构来构建系统;④可以使用IP路由器将网络构建为子网;⑤使用IP寻址进行所有通信,完全支持跨子网的通信,因此网络中几乎没有节点数量限制;⑥非实时通信和实时通信可以在同一子网中共存;⑦支持协调驱动和运动控制;⑧支持设备级环网(DLR),该环网通过介质冗余提供单容错能力;⑨与其他上层协议(如HTTP,FTP,VOIP等)共存;引用链接:link。 阅读详情

相关推荐

网络协议之Ethernet

Ethernet协议作为局域网技术的核心,自1970年代诞生以来,经历了从10Mbps到更高速率的不断演进。它采用CSMA/CD协议管理数据传输,支持多种拓扑结构,以星型为主。以太网凭借其高速率、高稳定性、高安全性、高兼容性和高可扩展性等优势,在办公室、家庭网络、数据中心、工业控制系统等场景中得到广泛应用。从标准以太网到快速以太网,再到EtherNet/IP等协议的发展,满足了不同规模和需求。未来,以太网将继续向更高传输速率、更智能管理、更广泛应用、更安全传输和更环保设备方向发展。

一个老Java开发的自白 1985

Ethernet(以太网)详解

以太网(Ethernet)是一种基于IEEE 802.3标准的局域网(LAN)技术,用于设备间通过有线或光纤介质进行数据通信。标准化:遵循IEEE 802.3系列协议,支持多种速率(10Mbps~400Gbps)。灵活性:支持双绞线(铜缆)、光纤、同轴电缆等多种传输介质。可扩展性:通过交换机实现大规模网络拓扑(星型、树型、环形等)。高可靠性:支持冲突检测(CSMA/CD)、错误校验(CRC)及冗余协议(如STP)。1. 物理接口类型接口类型传输介质典型速率应用场景RJ45(8P8C)

SDJ_success的博客 8475

深入解析:Ethernet/IP是什么?

EtherNet/IP是由罗克韦尔自动化公司开发的工业以太网通讯协定,由ODVA(ODVA)管理,可应用在程序控制及其他自动化的应用中,是通用工业协定(CIP)中的一部分。网关实现Modbus转Ethernet/IP的协议设备,具备将Modbus RTU转为Ethernet/IP协议的功能,每个接口相对独立,专为罗克韦尔PLC等相关协议量身定做,多样灵活的组网方式,用户可快速实现对PLC等设备的扩展应用。Ethernet/IP通信中,扫描器和适配器是十分重要的概念。被打开的一侧称为“适配器”,类似从站。

钡铼技术工业物联网 2319

Ethernet II 和802.3

Ethernet V2比IEEE802.3更适合于传输大量的数据,但Ethernet V2缺乏数据链路层的控制,不利于传输需要严格传输控制的数据,这也正是IEEE802.3的优势所在,越需要严格传输控制的应用,越需要用 IEEE802.3或SNAP来封装,但IEEE802.3也不可避免的带来数据装载量的损失,因此该格式的封装往往用在较少数据量承载但又需要严格控制传输的应用中。 在实际应用中,

forsakening的专栏 7726

Ethernet 协议

Ethernet 协议 1. Internet 与 Ethernet 协议的关系 Internet 将世界各地的计算设备连接起来,其中“连接”需要两部分:物理连接(即硬件连接)和软件连接。 物理连接指的就是硬件设备,比如光纤、无线网络信号等; 软件连接指的就是各种通信协议。 而 Ethernet 是一种局域网协议,所以它是 Internet 的组成部分。 2.Ethernet 协议数据包格式 Destination/目的字段:标识目标通信方的MAC地址 Source/源字段:标识发送端的MAC地址 Eth

weixin_41994704的博客 1433

10G_Ethernet_02 10G Ethernet Subsystem 简介

目录 1 10G Ethernet MAC 2 10G Ethernet PHY 2.1 10GBASE-R 2.2 10GBASE-KR 10G 以太网子系统框图如图所示, 子系统(注: 10G Ethernet Subsystem 下文均称子系统)主要由 10Gbs 以太网 MAC、(PHY) 物理编码子层(PCS)物理和物理媒介适配层(PMA) 组成,从概念上与千兆、百兆以太网是一样的。 以太网 MAC : 10 Gigabit Ethernet MAC 提供 AXI4-...

比特电子工作室 9950

基础知识——以太网(Ethernet )

1980 年,Digital Equipment Corporation、Intel 和 Xerox (DIX) 协会发布了第一个以太网标准。1985 年,本地和城域网的电气电子工程师协会 (IEEE) 标准委员会发布了 LAN 标准。以太网在 OSI 模型的下两层,也就是 数据链路层和 物理层上运行。以太网遵守 IEEE 802.3 标准。目前为通过光缆和双绞线电缆的运行定义了四种数据速率:(1)10 Mbps - 10Base-T 以太网(2)100 Mbps - 快速以太网。

季秊爱桃楸的博客 3万+

CANoe-Ethernet IG和Ethernet Packet Builder的使用和区别

Ethernet IG和Ethernet Packet Builder都是CANoe仿真以太网报文发送的模块,但是在用途上各有不同。

jasonj333 5286

简述Ethernet协议

简述TCP/IP协议中的Ethernet协议

weixin_38980630的博客 4384

Ethernet : No ethernet found

uclass_first_device_check的作用是找到第一个UCLASS_ETH类型的 udevice,然后进行device_probe,这里没找到,这是由于没有编译UCLASS_ETH对应的driver到uboot。uboot启动过程中提示No ethernet found。实现这个Ethernet驱动编译到uboot系统即可。

无线互联&网络介绍 1083

RK3568下YT8531/YT8521 PHY移植避坑指南:RGMII与设备树详解

嵌入式Linux网络调试中,PHY芯片作为MAC与物理介质之间的桥梁,其驱动配置直接影响网络稳定性。RGMII接口的延时补偿、PHY地址设定以及复位时序是设备树配置中的关键环节,稍有差错便会出现链路已通却无法通信的现象。通过理解PHYLIB框架与mdio总线枚举原理,开发者可以快速定位寄存器级故障。在RK3568等工业级平台中,裕太微YT8531/YT8521凭借高性价比与内核主线支持,成为替代传统方案的热门选择。从设备树模板、内核配置到常见坑点,系统梳理千兆以太网PHY的移植与调试方法,帮助开发者少走弯路

weixin_29189381的博客 215

Ethernet帧格式

一、Ethernet帧格式的发展 1980 DEC,Intel,Xerox制订了Ethernet I的标准 1982 DEC,Intel,Xerox又制订了Ehternet II的标准 1982 IEEE开始研究Ethernet的国际标准802.3 1983 迫不及待的Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式 (因此802.3 Raw 先于 I...

weixin_30721899的博客 866

把STM32MP135当单片机玩:实战SD卡脱机运行LED程序(基于MP135DK开发板)

本文详细介绍了如何在STM32MP135开发板上实现SD卡脱机运行LED程序,通过裸机开发方式(Bare Metal)利用HAL库完成GPIO控制,并解析了SD卡启动流程。内容涵盖工程创建、代码编写、SD卡烧录及常见问题排查,为开发者提供了一种高性能单片机开发方案。

weixin_33734785的博客 242

lwip发送ethernet ii包

有时候系统很简单时,可能想通过网口直接发送数据包给网张中的设备,这里可以发送ethernet ii包。 ethernet ii包的格式如下所示,其中FCS由硬件填充: 在etharp.h中定义了ethernet ii包的数据结构: 我们组一个pbuf包通过netif->linkoutput发送出支去,代码如下: //ethernet_ii.c #include "lwip...

sy84436446的博客 1129

保研考研机试攻略:第一章——从零开始

🧊保研考研机试攻略:第一章——从零开始

qq_63349644的博客 1321

03 Token、Embedding、上下文窗口:开发者必须懂的三个基本概念

Token、Embedding 和上下文窗口是大模型应用开发的三个基础概念。本文从成本、速度、检索和上下文设计四个角度讲清它们的工程意义,帮助开发者理解为什么同一段内容会超限、变贵,为什么 RAG 能做语义检索。

老于的笔记的专栏 413

Ethernet和EtherCAT

Ethernet是一种广泛使用的局域网(

sinat_35719135的博客 1万+

31、工程中不确定性量化与优化的全面解析

本文全面解析了工程中不确定性量化与优化的关键方法。针对数据充足与不足两种情况,分别介绍了概率理论和非概率方法在不确定性建模中的应用;系统阐述了采样方法、FORM/SORM、泰勒级数近似等不确定性传播技术;深入比较了RBDO与RDO两种主流优化框架的原理、步骤及适用场景,并通过两杆桁架案例展示了具体实现过程。文章旨在为工程师提供一套完整的从不确定性分析到优化设计的方法论,提升工程系统的可靠性与稳健性。

php55的博客 122

GO 语言取得 Ethernet 类型的网卡地址

在 C# 中取得 Ethernet 类型的网卡地址 在 C# 中,因为有NetworkInterface .NetworkInterfaceType == NetworkInterfaceType.Ethernet所以,很容易在代码中进行判断。 public static PhysicalAddress GetMacAddress() { foreach (NetworkInte...

三角室专栏 1505

时空智友企业流程化管控系统文件上传漏洞

时空智友企业流程化管控系统是一个功能丰富、灵活可定制的企业管理工具。通过该系统,企业能够实现流程的自动化、协同的提升、数据的洞察和决策的优化,从而提高工作效率、管理水平和企业竞争力。时空智友企业流程化管控系统 formservice接口处存在任意文件上传漏洞,未经认证的攻击者可通过此接口上传后门文件,最终可导致服务器失陷。

holyxp的博客 1036

深度学习实战35-图卷积神经网络GCN模型的搭建与应用

大家好,我是微学AI,今天给大家介绍一下深度学习实战35-图卷积神经网络GCN模型的搭建与应用,GCN是一种用于处理图结构数据的深度学习模型,它可以捕捉节点之间的拓扑关系和局部特征,并进行图级别的预测和分类任务。下面将介绍如何搭建并应用GCN模型。

微学AI的博客 2226

mac 网口ethernet_总线-Ethernet

1. _Ethernet1.1. 参考资料TI Ethernet portfolio overviewEthernet PHYPOE1.2. 名词解释PDU:protocol data unitLLC: logical link controlMAC:media access controlPHY:physicalMII:media independent interfaceMDI:media d...

weixin_27031001的博客 1378

从0开始图形学(光栅化)

从0开始图形学

A112459的专栏 2397

Ethernet和802.3的区别及历史

1.前言 Ethernet 和 802.3 并不是一回事,虽然我们经常混用这两个术语 2.历史上以太网帧格式 2.1EthernetV1 这是最原始的一种格式,是由XeroxPARC提出的3MbpsCSMA/CD以太网标准的封装格式,后来在1980年由DEC,Intel和Xerox标准化形成EthernetV1标准 2.2 EthernetV2(ARPA) Etherne...

lengye7的博客 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Ethernet以太网简介

*Ethernet(以太网)**是计算机网络中最常用的局域网(LAN)技术,它定义了计算机之间如何在有线网络上进行通信。以太网使用一组协议标准来控制设备之间的数据传输,并支持从小型家庭网络到大型企业网络的各种规模。

qq_42935045的博客 2323

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android ethernet 框架,Android Ethernet从上至下解析一

Android Ethernet从上至下解析一浏览次数:发布时间:2015-08-30 14:14最近遇到不少框架问题,比如关于网口的,开机后拔掉有线网,状态栏和设置项中有线网显示图标不会更新,还有双网口的需求,下面就带着这个问题,以跟踪网络状态问题为引线,本篇将贯穿分析Ethernet从上至下的框架结构。因能力和时间有限,文中有分析不到位的地方,十分欢迎大侠们拍砖。首先看下应用层网络监听相关的a...

weixin_36239938的博客 1089
上一篇: VIM使用总结
下一篇: 程序运行时的存储结构
Coder_Stephen
博客等级 码龄9年 16粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值