首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

再谈以太网格式

又重新读了一遍《tcp/ip详解》,又重温了一遍万年知识以太网,为了不能忘却的回忆,我决定原文摘抄一遍。 以太网这个术语是指DEC、Intel和Xerox公司在1982年联合公布的一个标准。...不幸的 是,802.3定义了一个与以太网不同的格式。 下图定义了两种不同形式的封装格式: ?...在以太网格式中,类型字段之后就是数据,而在802格式中,跟随在后面的3字节的802.2LLC和5字节的802.2SNAP。 目的服务访问(DSAP)和源服务访问点(SSAP)的值都设为0xaa。...再接下来的2个字节类型字段和以以太网格式一样。 CRC字段用于内后续字节差错的循环冗余码检验。 802.3标准定义的以太网都有最小长度要求。...802.3规定数据部分必须至少为38字节,而对于以太网,则要求最少要有46字节。为了保证这一点,必须在不足的空间插入填充字节。 最后注意一下,mtu的大小只是指内容的大小,不包括头。

1K20

HCIE | 以太网数据、MAC地址介绍

2020 以太网数据、MAC YuLong XiaoZhan 玉 龙 小 栈 以太网链路传输的数据包称做以太,或者以太网数据。...在以太网中,网络访问层的软件必须把数据转换成能够通过网络适配器硬件进行传输的格式。二层交换机设备维护CAM表,而CAM表中存放的是MAC地址。今天给大家介绍一下以太网数据格式和MAC地址格式。...以太网数据 以太网II格式 ? Ethernet_II 类型值大于等于1536 (0x0600)。 以太网数据的长度在64-1518字节之间。 802.3格式 ?...IEEE 802.3 长度字段值小于等于1500 (0x05DC)。 作用: 将上层数据进行二层封装,在通信过程中要求数据必须封装成才能够被物理层转成bit(0,1),放在物理板卡上发送出去。...,E1.POS.SDH除外,这类接口都不是封装802协议),而所谓的以太网卡就是指遵循IEEE802协议的网络接口卡(网卡) MAC构成 MAC地址一共6byte,48bit,由两部分组成名分别是供应商代码和序列号

2.7K30

千兆以太网(3):发送——组建以太网心跳包

心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。心跳包在GPRS通信和CDMA通信的应用方面使用非常广泛。...所谓的心跳包就是客户端定时发送简单的信息给服务器端告诉它我还在而已。代码就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到客户端信息则视客户端断开。...二、心跳包粗略框架   本次以太网的心跳包结构如下所示:   本次发送 64 个全为0的数据,当然这个数据是自定义的,因此心跳包总长度为118。...CRC校验时必须先去除头(即前面的7个55和1个d5),还得去掉尾(即后面4个数据,前面我们直接在这填了0)。当 CRC 校验值计算完成后,即可将其填充至数据的末尾 4 位即可。...至此,我们组建了以太网发送的心跳包,下一步就可以发送了。 参考资料:威三学院FPGA教程

1.3K20

【斯坦福计网CS144】Lab5终结笔记

Linux提供了一个称为TUN设备的接口,它允许应用程序提供整个Internet数据报,而内核负责其余的工作(写入以太网标头,并通过物理以太网卡实际发送,等等)。...在上述的几种方法中,我们仍然依赖Linux内核来实现部分网络栈。每当代码将IP数据报写入TUN设备时,Linux必须以IP数据报作为有效负载构造一个链路层以太网。...我们的代码将生成原始以太网,这些将通过一个称为TAP设备的接口传递给Linux——TAP设备。类似于TUN设备,但更低级,因为它交换原始链路层而不是IP数据报。...第二种是TCP-in-IP,当用户将 IP 报文发送给 TUN 设备后,剩余的以太网报头构造、发送以太网等的操作均会由内核自动进行,无需用户干预。...第三种是TCP-in-IP-in-Ethernet,它将会把待出口的 IP 报文转换成链路层(以太网等等,之后将链路层发送给 TAP 虚拟网络设备,剩下的发送操作将会由它来代为完成。

13110

Linux TunTap 介绍

TAP等同于一个以太网设备,它操作第二层数据包如以太网数据。TUN模拟了网络层设备,操作第三层数据包比如IP数据封包。...与之相对的是,Tap虚拟设备是以太网设备,处理的是二层以太网数据,从/dev/net/tun字符设备上读取的是以太网数据,写入的也只能是以太网数据。...如下图所示,左边主机上应用程序发送到Tun虚拟设备上的IP数据包被V**程序通过字符设备接收,然后再通过一个TCP或者UDP隧道发送到右端的V**服务器上,V**服务器将隧道负载中的原始IP数据包写入字符设备...Linux Bridge上,Linux Bridge发给Eth1的数据包也会被发送以太网交换机上。...Linux Bridge泛洪,将ARP请求发送往Eth1,由于Eth1连接到了以太网交换机上,以太网交换机接收到了该ARP请求。

2.5K10

CAN FD网络中每秒最多可以发送多少报文?

,主动错误时发送显性位(0),被动错误时发送隐性位(1)。...那么一秒钟最多可以发送报文呢?由于报文发送成功后,需经过间隔(3个位)后才能发送下一报文,也就说仲裁段要在原来基础上加3个位,就可以算出每秒发送多少了。...那么上述位数最少报文的发送时间耗时 = 1us * (26 + 3) + 33 * 200ns = 35.6us,也就是1秒钟最多可以发送1000000us / 35.6us = 28089报文。...也就是说,1M/5M波特率下,发送CAN FD标准加速,最多可以发送28089。...下面我们给出一些常用波特率下,不同类型报文每秒最多可以发送的CANFD报文帧数(下表中报文BRS位为1,ESI位为0),供大家参考。

78030

【计算机网络】数据链路层 : 以太网 ( 无连接、不可靠服务 | 以太网发展 | 10BASE-T 以太网 | MAC 地址 | 以太网 MAC | 高速以太网 )

地址 六、 以太网 MAC 七、高速以太网 一、 以太网 ( Ethernet ) 概述 ---- 以太网 ( Ethernet ) 概述 : ① 开发者 : 由 Xerox 公司创建 , 由 Xerox...) 服务 ---- 以太网 ( Ethernet ) 服务 : ① 无连接 : 发送方 接收方 之间 , 没有握手过程 ; ② 不可靠传输 : 数据没有编号 , 接收方不返回确认 , 差错直接丢弃...MAC ---- 以太网 V 2 格式 MAC : ① 头 : 6 字节目的地址 + 6 字节原地址 + 2 字节类型标识 ; 类型指的是 网络层 协议类型 ; ② 数据部分...: 上层传下来的 IP 数据报 , 长度 46 ~ 1500 字节 ; 最小长度来源 : 以太网最小长 64 字节 , 除去 头 14 字节 , 尾 4 字节 , 数据部分 还剩下..., 在 以太网 MAC 前 , 加入 1 字节的前导码 ; ⑤ 间隔 : 之间有一定的空白间隙 , 如果一段信号没有电压变化 , 说明这是间隔 ; 七、高速以太网 ---- 高速以太网

1.3K00

千兆以太网(4):发送——ODDR原语和Wireshark抓包工具

一、ODDR原语   FPGA 传输的数据为单沿数据,而 PHY 传输的数据为双沿数据,所以FPGA 发送心跳包的最后需要使用 ODDR 原语将单沿数据转换为双沿数据。...[5mz5gtljfv.png] 二、以太网复位信号   前面博客《千兆以太网(1)》中说过 PHY 芯片初始化必须满足当上电后至少经过 4ms 以上才可以将 PHY 芯片复位引脚置高,因此输出端口不要忘记了...[418sgqgtdn.png]   打开 Wireshark 软件,可以看到 以太网 的波形正在变化。...[xbpo4ax8rl.png] [nph1j6coh5.png]   接着我们重新捕获以太网,可以看到很多蓝色的部分表示我们传输的心跳包,黑色则的不是我们的,它的 Source 和 Destination...[lzhw0n979a.png]   上面的现象表明我们此次的千兆以太网发送项目成功实现,完结撒花!

92520

TCPIP第二层--数据链路层

1.基本功能 设计数据链路层的原因 1、在原始的物理线路上传输数据信号是有差错的。...数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一无差错的线路。...比如,采用特定模式01111110,则对信息位中的任何连续出现的五个“1”,发送方自动在其后插入一个“0”,而接收则做该过程的逆操作,即每接收到连续五个“1”,则自动删去其后所跟的“0”,以此恢复原始信息...以太网协议实现RFC894规定的功能,能发送和接收采用RFC894封装格式的,同时也能够兼容与RFC894混合的RFC1042(IEEE802)封装格式的。...联系linux里面的ifconfig -a命令,这个命令通常会得到如下的结果 em1 Link encap:Ethernet HWaddr 34:17:EB:BB:ED:93

1.5K20

Linux之python发送邮件

0 背景 在服务器端开发时,会遇到通过邮件发送报警或结果的情形,本文对使用 python 发送附件的方法做一个总结,用到的库是 smtp 和 email 两个基础库 smtplib:发送邮件(连接邮箱服务器...、登陆邮箱、发送邮件) email:构造邮件内容(发件人、收件人、主题、正文、附件等) 测试环境: ubuntu18.04 1 安装方法 pip install py-email 安装好之后,即可正常导入相关的库...2 邮箱配置 使用 qq 邮箱服务器发送邮件时,需要开启 SMTP 服务,并获取相关授权码,进入邮箱首页,找到 “设置” — “账户” — “POP3/IMAP/SMTP/Exchange/CardDAV...– IT工具网 Python SMTP发送邮件 | 菜鸟教程 python 发送邮件带附件(txt、图片、excel、压缩包等) 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.7K20

Linux】数据链路层:以太网协议

一、以太网 和 局域网转发数据包 1.局域网转发的原理(基于以太网协议) 1....【Linux】传输层协议:UDP和TCP 【Linux】网络层协议:IP 二、局域网中的数据碰撞 1.如何解决局域网中的数据碰撞?(碰撞检测和碰撞避免算法) 1....之前我们谈论以太网通信时,说过在局域网内我们应该将数据包路由到下一跳位置,以这样的方式来跨多个网络进行数据包的传输,但想要将数据包发送到下一跳位置,一定是数据在网线上进行传输,而想要以数据的方式进行传输...而ARP协议做的就是将ip地址转换为MAC地址的工作,知道MAC地址后,就可以将IP报文,向下交付,在MAC层封装好MAC报头,然后再通过以太网接口Iface,将数据发送到目标主机。...【Linux】应用层协议:HTTP和HTTPS 2.

38020
领券