链路层--->ETH(以太网)协议

2023-05-16

文章目录

    • ETH(以太网)协议格式:
    • ARP协议格式

链路层负责相邻设备之间的数据帧传输,典型协议有:ETHH(以太网协议),ARP协议,MTU;
网络层是通过IP地址定位起点与终点;链路层是负责起点到终点之间的相邻设备间传输。相邻设备之间的识别是通过MAC地址完成的。

MAC地址:网卡的物理硬件地址–通常出厂时设定的,通常可以修改。
Uint8_t mac[6] —>为无符号的六个字节的数据。

ETH(以太网)协议格式:

在这里插入图片描述

6字节对端源端MAC地址和6字节对端MAC地址: 长度是48位,是在网卡出厂时固化的
MAC地址:网卡的物理硬件地址,用于表示硬件设备。
2字节上层协议类型:帧协议类型字段有三种值,分别对应IP、ARP、RARP
4字节帧尾:帧末尾是CRC校验码

如何知道指定相邻设备的MAC地址?
ARP协议:是一个介于网络层与链路层之间的协议,通过IP地址获取相邻设备的MAC地址。–>过程:组织ARP请求(包含源端MAC,源端IP,指定相邻设备IP…等信息),广播ARP请求,相邻设备都能收到ARP请求,检测对端IP地址是否和自己匹配,匹配则组织ARP响应返回,否则直接丢弃。
ARP广播只会广播一层,局域网内。
通ARP协议获取到了IP地址和MAC地址映射关系后,缓存起来,然后可用ETH协议传输。

ARP协议格式

在这里插入图片描述

注意到源MAC地址、目的MAC地址在以太网首部和ARP请求中各出现一次,对于链路层为以太网的情况是多余的,但如果链路层是其它类型的网络则有可能是必要的。
硬件类型指链路层网络类型,1为以太网;
协议类型指要转换的地址类型,0x0800为IP地址;
硬件地址长度对于以太网地址为6字节;
协议地址长度对于和IP地址为4字节;
op字段为1表示ARP请求,op字段为2表示ARP应答。

ARP欺骗攻击(局域网内):伪造IP进行ARP响应 解决方法:防火墙MAC白名单。

在这里插入图片描述
MTU:最大传输单元~组网方式不同,默认值也不同;以太网默认MTU=1500字节.

MTU对于编程的影响:

  1. 对于TCP:
    Tcp:tcp三次握手时协商的MSS(最大数据段大小),就是根据MTU计算得到的。MSS=MTU-40.tcp在每次发送数据时取出不大于MSS的数据发送。
    TCP在网络层不会产生数据分片,因为在传输层自动进行分段。
  2. 对于UDP:
    udp不存在MSS,只要最大数据大小小于64k-40就能发送。但是一旦大于MTU就会在网络层进行数据分片,然而一旦分片就要在对端进行重组,重组过程在一个分片出现问题,整个报文都会被丢弃。分片越多,危险越大。
    因此udp编程时,程序员要尽量考虑MTU对于udp传输的影响,在应用层进行分包管理,尽量减少分片概率。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

链路层--->ETH(以太网)协议 的相关文章

  • Determining IP information for eth问题解决

    前言 在Linux网卡ifcfg网卡配置项详解文章中提到一个BOOTPROTO 61 配置项 它的意思是指网卡启动时获取ip的方式 xff0c 可以是dhcp或者静态ip 方式 xff0c 如果设置为none说明是不指定ip设置方式 一 问
  • solidity 学习2.批量转账,存入eth。读取数据。

    pragma solidity 0 4 17 import 39 zeppelin solidity contracts token ERC20 StandardToken sol 39 contract BLEOS is Standard
  • Huawei交换机链路聚合eth-trunk配置

    华三的动态对接华为的lacp 华三的静态对接华为的手工 华为手工模式配置 xff1a 1 执行命令 system view xff0c 进入系统视图 2 执行命令 interface eth trunk trunk id xff0c 进入
  • Eth-Trunk链路聚合原理、静态和动态配置

    Eth Trunk原理 静态和动态配置 Eth Trunk链路聚合概述Eth Trunk链路聚合模式静态配置模式LACP动态模式 Eth Trunk链路聚合概述 在组网中经常遇到的问题 xff0c 单条链路的宽带无法满足整个园区的流量需求时
  • Eth-trunk :LACP模式链路聚合实战

    Eth trunk LACP模式链路聚合实战 需求描述 PC1和PC3数据vlan10 xff0c 网段为192 168 10 0 24PC2和PC4数据vlan20 xff0c 网段为192 168 20 0 24确保设备之间互联互通 x
  • Determining IP information for eth问题解决

    前言 在Linux网卡ifcfg网卡配置项详解文章中提到一个BOOTPROTO 61 配置项 它的意思是指网卡启动时获取ip的方式 xff0c 可以是dhcp或者静态ip 方式 xff0c 如果设置为none说明是不指定ip设置方式 一 问
  • Eth-Trunk链路聚合理论

    目录 什么是Eth trunk Eth Trunk的一些概念 LACP模式 手工模式 链路聚合工作机制 负载分担方式 Eth trunk转发原理 什么是Eth trunk Eth trunk xff08 链路聚合技术 xff09 是一种捆绑
  • ETH-Cubli阅读

    7月底补完
  • LWIP (1.1) ETH Module以太网模块

    STM32 以太网 ETH模块说明 1 overview 2 ETH module in stm32h743 STM32H743 为例 开局一张图 ETHER 模块 红框所示 以STM32H743为例 32 BIt AHB为内部高速总线 D
  • 链路层--->ETH(以太网)协议

    文章目录 ETH xff08 以太网 xff09 协议格式 xff1a ARP协议格式 链路层负责相邻设备之间的数据帧传输 xff0c 典型协议有 xff1a ETHH xff08 以太网协议 xff09 xff0c ARP协议 MTU x
  • 以太坊合并升级的全面介绍

    以太坊主网即将通过称为 合并 的升级 从工作量证明转向权益证明共识机制 合并 Merge 是以太坊生态系统一系列主要升级的一部分 此外还有Surge Verge Purge以及Splurge 多次升级的目的是为了提高以太坊的可扩展性和能效
  • 关于以太坊的nonce值

    文章目录 每笔交易nonce值的各个情况 总结 关于Nonce的保管 依赖节点 自行管理nonce 参考代码 nonce在区块链中是一个非常重要的概念 从比特币到以太坊都有nonce的身影 在比特币中 nonce主要用于调整pow挖矿的难度
  • 区块链开发溯源系统 基于以太坊的溯源系统开发

    基于以太坊的溯源系统 实现分级用户 商品溯源等的功能 毕设系统
  • 以太坊学习笔记(一)——免费获得测试ETH

    以太坊除了主网之外 还有 Ropsten Kovan Rinkeby等测试环境可供学习 在浏览器钱包插件MetaMask里有以下几个测试环境可以供我们使用 目前以太坊开发最常用的测试网络是Rinkeby 我们就讲讲如何通过Rinkeby免费
  • 解析 ETH 区块数据交易input

    这里使用了一个开源项目 https github com rvullriede evm abi decoder 在pom中添加依赖即可
  • 以太坊开发文档09 - javascriptApi

    Web3 JavaScript appAPI 为了让您的应用程序能够在以太坊上工作 您可以使用web3 js库web3提供的对象 在底层 它通过RPC调用与本地节点通信 web3 js与任何暴露RPC层的以太坊节点一起工作 web3包含et
  • 区块链自定义节点

    本地自定义节点 1 cmd中 安装好geth后 cmd geth help 检查是否geth是否安装好 然后输入命令geth datadir testNet dev rpc console 自定义本地的节点 2 metaMask 再在met
  • 第01课:以太坊节点部署及基本命令操作

    第01课 以太坊节点部署及基本命令操作 区块链诞生自中本聪的比特币 自 2009 年以来 出现了各种各样的类比特币的基于公有区块链的数字货币 目前各个国家及企业机构都对区块链投入巨大的财力和人力来对区块链技术进行研究 官方文档 https
  • 使用PHP语言实现ETH 及 token转账

    以太坊转账 废话不多说直接上代码 代码下载地址 https download csdn net download u012841825 11021920 github代码 用你们可爱的小手 点一下星星 https github com zc
  • 以太坊的MPT树,以及编码,leveldb存储

    声明 此为使用网上多处资料整理而成 由于很多地方内容相同 已经分不清哪里是原创 一 MPT树 1 Trie树 Trie 又称为字典树或者前缀树 prefix tree 属于查找树的一种 它与平衡二叉树的主要不同点包括 每个节点数据所携带的

随机推荐

  • STorM32三轴云台控制器PID参数调节(1)

    本文是一篇利用STorM32板子控制三轴云台的经验贴 xff0c 内容包括从所有的硬件到位开始到pid参数调节完成中的一些经验 xff0c 完成这一步后 xff0c 就可以拥有一个稳定的云台了 本文是基于 STorM32 BGC32Bit
  • Centos libevent install

    1 下载安装包 xff1a 官网 http libevent org libevent 2 1 8 stable tar gz 2 解压 tar zxvf libevent 2 1 8 stable tar gz 3 进入目录 cd lib
  • windows waveIn 录音

    windows waveIn 录音 编写背景1查找设备2 根据设备名称找到设备3 打开设备4 开始录音5 结束录音 编写背景 windows xp 系统不支持 WASAPI xff0c 选择 waveIn API 1查找设备 获取音频设备数
  • waveIn 录音遇到的问题与解决方案

    问题点 1 录音过程中拔出设备 xff0c 程序死锁 添加缓存的之前需要检查设备是否存在 case WIM DATA if xff08 is device exsit xff09 设备是否存在 xff0c 可以通过获取设备信息来判断 预处理
  • vs2013编译32位的libcurl

    编译 libcurl 下载 CURL源码打开 VS2013 x86 本机工具命令提示cd 进入 curl 源码 winbuild 目录执行命令 xff1a nmake f Makefile vc mode 61 static VC 61 1
  • python两个列表获取交集,并集,差集

    list1 61 1 2 3 4 5 6 list2 61 2 3 4 交集 方法一 xff1a list3 61 new for new in list1 if new in list2 方法二 xff1a list3 61 list s
  • FFMPEG 指令

    ffplay 拉取流 ffplay exe i rtmp address fflags nobuffer ffmpeg commend lines 只推屏幕 dshow 模式 ffmpeg ffmpeg exe f dshow i vide
  • 电子罗盘

    电子罗 种重要的导航工具 xff0c 能实时提供移动物体的航向和姿态 随着半导体工艺的进步和手机操作系统的发展 xff0c 集成了越来越多传感器的智能手机变得功能强大 xff0c 很多手机上都实现了电子罗盘的功能 而基于电子罗盘的应用 xf
  • C++中的.和::和:和->的区别

    在学习C 43 43 的过程中我们经常会用到 和 和 xff1a 和 gt xff0c 在此整理一下这些常用符号的区别 1 A B则A为对象或者结构体 xff1b 2 A gt B则A为指针 xff0c gt 是成员提取 xff0c A g
  • STM32 HAL库函数学习 UART篇

    从今天开始定时更新一下有关STM32 HAL库学习的过程 xff0c 主要是对HAL库函数的所有讲解 本章是关于uart串口的函数 1 HAL UART Init xff08 UART HandleTypeDef husart xff09
  • 常见排序算法性能分析比较(快排,希尔,堆排,归并,插入排序等)

    文章目录 1 各种排序算法实现及其特点1 1 直接插入排序1 2 希尔排序1 3 直接选择排序1 4 堆排序1 5 冒泡排序1 6 快速排序1 7 归并排序1 8 计数排序 2 排序算法复杂度及稳定性分析 1 各种排序算法实现及其特点 1
  • 将visdrone数据集转化为coco格式并在mmdetection上训练,附上转好的json文件

    visdrone是一个无人机的目标检测数据集 xff0c 在很多目标检测的论文中都能看到它的身影 标签从0到11分别为 ignored regions pedestrian people bicycle car van truck tric
  • mmdetection --tools工具简单使用1

    文章目录 demo使用单张图片测试 image demo py视屏推理 video demo py本地摄像头测试 xff1a webcam demo py 测试现有模型 test py单 GPU 测试多 GPU 测试 训练 train py
  • 网络---IP地址和端口

    1 网络分类 根据网络大小 xff1a 局域网 xff0c 城域网 xff0c 广域网 xff08 互联网 61 因特网 更大的广域网 xff09 根据网络的组网方式 xff1a 以太网 xff0c 令牌环网 2 IP地址 计算机网络 IP
  • 网络---协议(TCP/IP五层模型)

    文章目录 1 xff34 xff23 xff30 xff0f xff29 xff30 五层模型1 1 分层1 2 封装1 3 分用 协议 即一种约定 网络通信协议 xff1e 网络通信中的数据的格式约定 协议分层 xff1a 一些组织为了能
  • xml 中的 大于号,小于号

    amp lt lt 小于号 amp gt gt 大于号 amp amp amp 和 amp apos 单引号 amp quot 34 双引号
  • c++调用CSerial 库函数进行串口发送

    毕设做的东西要用到这个 请学弟帮忙收集了下 自己也做个整理 完整实验项目下载 https download csdn net download a897180673 10310065 用到的硬件 1 ch340 土豪金模块 2 arduin
  • 网络---字节序

    字节序 xff1a xff43 xff50 xff55 对内存中数据以字节为单位进行存取的顺序 主机字节序分为 xff1a 大端字节序 xff1a 低地址存高位 小端字节序 xff1a 低地址存低位 地址指内存地址 xff1b 在内存中 x
  • mmdetection ---转onnx模型,Netron可视化网络结构

    详细信息可以看官方文档 xff1a docs en tutorials pytorch2onnx md 这里把命令摘了出来 用法 span class token comment bash span python tools span cl
  • 链路层--->ETH(以太网)协议

    文章目录 ETH xff08 以太网 xff09 协议格式 xff1a ARP协议格式 链路层负责相邻设备之间的数据帧传输 xff0c 典型协议有 xff1a ETHH xff08 以太网协议 xff09 xff0c ARP协议 MTU x