8、链路层以太网协议,ARP协议32

news2025/2/4 12:39:58

网络层IP协议描述了通信中的起点到终点,但是数据不是飞过去的,是经过了大量的中间节点转发完成的。

一、以太网协议

1、MAC地址

物理硬件地址,是每一块网卡在出厂时设定的地址,固定且不可修改(早期,现在可以修改但没必要)

48位对端&48位源端MAC地址:描述了相邻的俩个指定物理硬件设备

16位上层协议:描述的是以太网帧中数据所使用的协议,用于数据分用时协议选择

32位数据帧尾:包含了校验和

 2、ARP协议

介于链路层与网络层之间的一个协议,作用就是通过IP地址获取指定设备的mac地址

  1. 广播ARP请求:将目的端MAC地址设置为全1(广播地址),其中包含了自己的IP和MAC地址,以及指定设备的IP地址
  2. 收到ARP请求的主机,会验证目标IP地址是否与自己一致,不一致则丢弃,一致则组织ARP响应填充自己的MAC地址进行回复

3、ARP欺骗攻击

在局域网中有个恶意主机,不断地给局域网每个主机大量进行发送ARP响应,覆盖主机上的ARP映射表中的信息,告诉主机自己是网关,然后给网关发送ARP响应自己是主机。(设置防火墙,局域网中mac白名单)

4、MTU链路层限制最大传输单元:以太网默认是1500

对上层协议的影响:

4.1tcp

MSS——最大数据段大小,他就是根据MTU计算得到,tcp在传输层发送数据时,就是从缓冲区中取出不大于MSS大小的数据封装报头进行传输。(tcp传输数据时,在网络层不会出现数据分片)

MSS = MTU - 最小IP报头 - 最小TCP报头大小

4.2udp

没有MSS的协商,只要数据封装报头后大小小于64k就可以发送,但是在网络层若封装IP报头后大于MTU就会分片,然而一旦数据在网络层进行了数据分片,在对端主机上的网络层就需要进行分片重组(源端传输层交给网络层什么数据,对端网络层就要交给传输层什么数据)

然而一旦传输过程中,某个分片丢失,会导致分片重组失败,则整个报文就会被丢弃(udp不保证可靠传输-丢了就没了)
意味着分片越多,传输风险越大

 

因此tcp通信咱们程序员通常不用多管,但是udp通信时,程序员在应用层最好就要考虑更多要素,就是数据如果较大,就要在应用层,最好分包,分包大小就要考虑MTU,尽可能的减少分片的可能。

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

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

相关文章

当DevOps遇到AI,黑马迎来3.0时代丨IDCF

随着GhatGPT的爆火,人工智能和研发效能,无疑成为了2023的两个最重要的关键词。大规模语言模型LLM和相关应用的快速发展正在对研发团队的工作方式产生深远影响,这几乎象征着新的生产力革命的到来。 那么,作为一名工程师&#xff0…

Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么

目录 Chat GPT是什么 初学者怎么使用Chat GPT 使用Chat GPT需要注意什么 一些简单的prompt示例 Chat GPT是什么 Chat GPT是由OpenAI开发的一种大型语言模型,它基于GPT(Generative Pre-trained Transformer)架构。GPT是一种基于深度学习的…

【Matlab】智能优化算法_遗传算法GA

【Matlab】智能优化算法_遗传算法GA 1.背景介绍2.数学模型3.文件结构4.详细代码及注释4.1 crossover.m4.2 elitism.m4.3 GeneticAlgorithm.m4.4 initialization.m4.5 Main.m4.6 mutation.m4.7 selection.m4.8 Sphere.m 5.运行结果6.参考文献 1.背景介绍 遗传算法(Ge…

(学习笔记)TCP 为什么是三次握手?不是两次、四次?

常规回答:“因为三次握手才能保证双方具有接收和发送的能力” 原因一:避免历史连接 三次握手的首要原因是为了防止旧的重复连接初始化造成混乱。 假设:客户端先发送了SYN(seq90)报文,然后客户端宕机了,而且这个SYN报…

一种电动汽车智能充电及收费云平台管理方案

摘要:对于电动汽车来说,主要是借助电力作为能源,有着多方面的优点。但是也存在着一定的问题,尤其在续航能力上相对较差。因此,在实际工作中要正确利用现代科学技术,让电动汽车实现智能充电。在研究中所涉及…

JavaScript中的let、const和var

在 JavaScript 中,let、const 和 var 是用于声明变量的关键字,在使用时有以下区别: 作用域:let 和 const 声明的变量具有块级作用域,只能在声明它的块中访问。而 var 声明的变量则是函数作用域或全局作用域&#xff0…

MS31001低压 5V DC 电机驱动

MS31001 是一款低压 5V 直流电机驱动芯片,为摄像机、 消费类产品、玩具和其他低压或者电池供电的运动控制类应用 提供了集成的电机驱动解决方案。 MS31001 能提供高达 0.8A 的输出电流。可以工作在 2.0~5.5V 的电源电压上。 MS31001 具有 PWM &#xff08…

NSSCTF随机一题

[GXYCTF 2019]Ping Ping Ping 应该是命令注入的题目,直接先ping一下本地,发现url栏有ip传参变化 接着就是利用命令注入符,尝试注入 它好像真的在ping,执行得特别慢,利用ls,查询到了flag文件 发现空格过…

LeetCode·每日一题·415. 字符串相加·模拟

作者:小迅 链接:https://leetcode.cn/problems/add-strings/solutions/2347085/mo-ni-zhu-shi-chao-ji-xiang-xi-by-xun-ge-fges/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商…

自适应巡航控制系统研究(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 据统计, 我国交通事故造成的伤亡人数每年超过10万人, 其中驾驶员人为原因 (疲劳、酒驾、误操作等) 所致事故逐渐升高.汽车交通…

Python多线程同步编程Event使用方法

一、Event简介 Event是Python多线程同步编程中的一种同步原语,它可以帮助我们协调多个线程的操作,以达到线程间传递信号、同步操作等目的。 Event主要有两种状态:已设置和未设置。当Event被设置时,所有等待该Event的线程都会被唤…

数据结构-Java逆天操作

本文章会对Java线性表的相关知识进行讲解,也会以Java代码示例来进行解释 这里写目录标题 本文章会对Java线性表的相关知识进行讲解,也会以Java代码示例来进行解释对线性表的讲解分析定义可以表示为线性表可以用多种方式来表示和实现,常见的实…

数据结构与算法——什么是单链表,链式存储结构详解

前面详细地介绍了顺序表,本节给大家介绍另外一种线性存储结构——链表。 链表,别名链式存储结构或单链表,用于存储逻辑关系为 "一对一" 的数据。与顺序表不同,链表不限制数据的物理存储状态,换句话说&#…

基于 SpringBoot 的高校宿舍管理系统设计与开发

1.引言 宿舍是大学生学习与生活的主要场所之一,宿舍管理是高校学工管理事务中 尤为重要的一项。随着我国高校招生规模的进一步扩大,学生总体人数的不断增加, 宿舍管理工作变得愈加沉重和琐碎,学生宿舍信息的采集、汇总、统计与分析…

火山引擎A/B测试“广告投放实验”基础能力重构实践 (DataFunTalk渠道)

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 企业在进行营销推广时,广告投放通常是必备环节之一。为了避免投放“乱烧钱”,在大规模投放前,企业和广告优化师都会希望在多种广…

Web3时代来临:你准备好了吗?

如果你正在浏览本文,那么很可能你已经是Web3时代的一部分了,或者至少是将要成为其中的一员。因为Web3时代即将来临,它将彻底改变我们对互联网的认识和使用方式。 那么,什么是Web3时代呢?简单来说,它是指基于…

uniapp微信小程序中使用echarts及修改报错代码

一、下载依赖 1.1、获取mpvue-echarts组件 可以先随便建个文件夹,然后 npm init。运行下面的命令行,下载依赖 npm install echarts mpvue-echarts找到node_modules\mpvue-echarts\下的文件,保留src文件夹,其他删除,复…

Xcode上传App Store Connect流程

一、上传前配置 1、配置好发布证书描述文件(dis) 2、配置好Version和Build的值,不配置上传过程会失败。 二、编译上传 1、菜单栏选择【Product】——【Archive】,开始编译,然后等待编译完成后,Xcode弹出编…

装有系统盘的U盘,在笔记本电脑不显示如何操作

codesys解压文件projectarchive失败 一般情况下,U盘在笔记本上不显示 如果你的笔记本插入U盘后没有显示U盘的图标,可能是由于以下几个原因导致的: 硬件问题:首先,确保U盘与笔记本电脑的USB接口连接良好。你可以尝试将…

7、sentinel使用和源码分析

一、分布式系统遇到的问题 1、服务雪崩效应 在分布式系统中,由于网络原因或自身的原因,服务一般无法保证 100% 可用。如果一个服务出现了问题,调用这个服务就会出现线程阻塞的情况,此时若有大量的请求涌入,就会出现多条线程阻塞等待&#x…