IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 链路层--->ETH(以太网)协议 -> 正文阅读

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


链路层负责相邻设备之间的数据帧传输,典型协议有: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传输的影响,在应用层进行分包管理,尽量减少分片概率。
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:19:09  更:2022-05-06 11:19:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:25:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码