计算机网络学习20250528

地址解析协议ARP

实现IP地址和Mac地址的转换
ARP工作原理:
每台主机或路由器都有一个ARP表,表项:<IP地址,Mac地址,TTL>(TTL一般为20分钟)
主机产生ARP查询分组,包含源目的IP地址和源Mac地址,目的Mac地址FF-FF-FF-FF-FF-FF(mac广播地址),该查询分组广播给子网内的所有主机,路由器接口处的网卡,并向上交给ARP模块,
每个主机或路由器的ARP模块检查自己的IP地址是否与ARP查询分组中的目的IP地址一致,相匹配的主机或路由器在标准帧中返回ARP响应分组,包含所查询的Mac地址,主机根据ARP响应分组更新自己的ARP表

以太网帧结构

前同步码(8字节)时钟同步
目的Mac地址(6字节)
源Mac地址(6字节)
类型(2字节):指示数据部分送给哪个网络层协议,eg:0x0800-ip,0x0806-ARP
数据:46-1500字节,不足46字节时,会填充至最小值
crc(4字节)

IPV4

首部(4bit):版本号,IPV4 0100,IPV6 0110
首部长度(4bit):20字节固定+可选
服务类型(8bit):区别不同类型的数据报
数据报长度(16bit):首部+数据
标识,标志,片偏移:IPV4分片时使用
寿命TTL:每经过一个路由器,TTL-1,TTL减为零时丢弃
协议:IP数据报到达目的终端时,协议字段指示数据部分交付给哪个传输层协议,TCP-6,UDP-17
首部校验和:只检验首部的比特错误
选项:允许首部扩展
源和目的IP地址:IPv4 32位地址

IP数据报分片
不同链路层协议的MTU不同,以太网1500字节,FDDI 4352字节,PPP 296字节,大的IP数据报到较小的MTU链路上,需要进行分片,重新组装在端系统完成

  • 标识号ID:同一IP数据报的片具有相同的ID,确认是否属于同一数据报
  • 偏移offset:指示片在初始数据报中的位置,以8字节为单位,确认是否确认
  • 标志flag:标识是否为最后一个分片,值为0时表示是最后一个分片,确认是否收完
  • 接收端对于不完整的数据报会丢弃
  • IPV4通过分片实现对不同链路层MTU的适配,实现不同网络的互连,但分片会增加路由器和终端的复杂性
  • IPV6改进:如果路由器收到的数据报尺寸大于MTU,则丢弃,返回报告,由终端重新决定IP

DHCP:动态主机配置协议,主机频繁的加入和离开网络

IPV6

引入原因:

IPV4 32位地址耗尽=》IPV6 128位地址
固定首部长度易于快速处理和转发
实现QOS

IPV6数据报格式:固定40字节首部字段+数据字段

首部字段
版本:0100(IPV6)
流量类型 流标签:标识不同类型的流,分配不同的优先级,实现QOS
有效载荷长度:数据字段长度
下一个首部:标识数据字段交付给哪个上层协议,
跳限制:每经一台路由器减一,减为0时丢弃
源IP地址,目的IP地址:128位

IPV6与IPV4的区别

  1. 扩大的地址容量
  2. 简化高效的40字节首部
  3. 流标签与优先级:实现QOS
  4. 取消分片:当路由器 收到数据报太大不能转发时,丢弃,返回分组太大ICMP报文,发送方重新发送较小分组
  5. 取消首部检验:快速处理IP数据报

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

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

相关文章

【Rust】Rust获取命令行参数以及IO操作

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

微服务中引入公共拦截器

本文使用的微服务版本为springcloudAlbaba :2021.0.4.0 微服务工程&#xff0c;一般公共的东西都放入一个工程&#xff0c;别的微服务都会引入这个工程&#xff0c;比如common-service,那么就可以在这个工程编写一个拦截器&#xff1a;&#xff0c;比如&#xff1a; public cla…

Linux SLES 系统的/var/log/下的常见文件及其作用

在 SUSE Linux Enterprise Server&#xff08;SLES&#xff09; 系统中&#xff0c;/var/log/ 目录是系统日志的集中地&#xff0c;存储了各种服务、内核、系统消息的日志。以下是一些在 /var/log/ 下常见的日志文件及其功能&#xff1a; &#x1f4c2; 常见日志文件及功能 文…

oracle goldengate同步SQL server到SQL server的实时数据同步

参考文档 https://docs.oracle.com/en/middleware/goldengate/core/19.1/oggmp/oracle-goldengate-classic-sql-server.html#GUID-948C5BEE-E7A0-4CE2-BE09-F83145677D18 https://docs.oracle.com/en/middleware/goldengate/core/21.3/ggcab/other-programs-and-settings-sql-…

语音转文字工具

平时工作和学习比较忙&#xff0c;可能没时间听讲座&#xff0c;只能看回放&#xff0c;回访也很长&#xff0c;这时&#xff0c;我们可以借助语言转文字&#xff0c;通过阅读文字快速了解讲座的重点&#xff0c;今天给大家分享一个本人经常用的语言转文字工具&#xff0c;改工…

硬件实时时钟(RTC)

硬件实时时钟&#xff08;RTC&#xff09;详解 硬件实时时钟&#xff08;Real-Time Clock&#xff0c;RTC&#xff09;是计算机主板上的一个独立计时芯片&#xff0c;用于在系统关机后持续记录时间。它不依赖操作系统&#xff0c;由纽扣电池&#xff08;如CR2032&#xff09;供…

pycharm debug的时候无法debug到指定的位置就停住不动了

报错大致是这样的&#xff0c;但是直接run没有问题&#xff0c;debug就停住不动了 Traceback (most recent call last): File "/home/mapengsen/.pycharm_helpers/pydev/_pydevd_bundle/pydevd_comm.py", line 467, in start_client s.connect((host, port)) Timeou…

Python6.1打卡(day33)

DAY 33 MLP神经网络的训练 知识点回顾&#xff1a; 1.PyTorch和cuda的安装 2.查看显卡信息的命令行命令&#xff08;cmd中使用&#xff09; 3.cuda的检查 4.简单神经网络的流程 1.数据预处理&#xff08;归一化、转换成张量&#xff09; 2.模型的定义 …

NodeJS全栈开发面试题讲解——P11消息队列(MQ)

✅ 11.1 为什么要用消息队列&#xff1f;在哪些场景下最适合&#xff1f; ✅ 作用&#xff1a; 削峰填谷&#xff1a;缓解高并发压力&#xff0c;异步处理任务&#xff08;如秒杀下单 → MQ → 异步扣库存&#xff09; 解耦服务&#xff1a;上下游解耦&#xff08;如下单服务…

mysql执行sql语句报错事务锁住

报错情况 1205 - Lock wait timeout exceeded; try restarting transaction先找出长时间运行的事务 SELECT * FROM information_schema.INNODB_TRX ORDER BY trx_started ASC;终止长时间运行的事务 KILL [PROCESS_ID];

C#集合循环删除某些行

你想要在遍历集合&#xff08;例如List&#xff09;的同时删除某些元素时&#xff0c;直接在循环中删除元素可能会导致问题&#xff0c;因为这可能会改变集合的大小和导致索引问题&#xff1b; 可以用for循环的倒序来删除&#xff1b; 如果要删除满足特定条件的所有元素&…

裂缝仪在线监测装置:工程安全领域的“实时守卫者”

在基础设施运维领域&#xff0c;裂缝扩展是威胁建筑结构安全的核心隐患之一。传统人工巡检方式存在效率低、时效性差、数据主观性强等局限&#xff0c;而裂缝仪在线监测装置通过技术迭代&#xff0c;实现了对结构裂缝的自动化、持续性追踪&#xff0c;为工程安全评估提供科学依…

Multisim14使用教程详尽版--(2025最新版)

一、Multisim14前言 1.1、主流电路仿真软件 1. Multisim:NI开发的SPICE标准仿真工具,支持模拟/数字电路混合仿真,内置丰富的元件库和虚拟仪器(示波器、频谱仪等),适合教学和竞赛设计。官网:艾默生旗下测试和测量系统 - NI。 2. LTspice XVII:ADI旗下免费高性能SPICE仿…

深度学习篇---人脸识别中的face-recognition库和深度学习

深度学习方法和使用 Python 的face_recognition库进行人脸识别在技术原理、实现方式和应用场景上有显著区别&#xff0c;以下从多个维度对比分析&#xff1a; 一、技术原理 1. 深度学习方法 核心逻辑&#xff1a;基于神经网络&#xff08;如卷积神经网络 CNN&#xff09;构建…

Go语言中的数据类型转换

Go 语言中只有强制类型转换&#xff0c;没有隐式类型转换。 1. 数值类型之间的相互转换 1.1. 整型和整型之间的转换 package main import "fmt"func main() {var a int8 20var b int16 40fmt.Println(int16(a) b)// 60 }1.2. 浮点型和浮点型之间的转换 packag…

行为型:中介者模式

目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 5、注意事项 1、核心思想 目的&#xff1a;通过引入一个中介对象来封装一组对象之间的交互&#xff0c;解决对象间过度耦合、频繁交互的问题。不管是对象引用维护还是消息的转发&am…

node_modules\node-sass: Command failed.报错了

node_modules\node-sass: Command failed.错误解决 第一步&#xff1a;删掉:目录中划红线的配置文件 删掉项目中的node_modules第二步&#xff1a;用admin权限执行&#xff0c;重新配置npm和yarn npm config set registry https://registry.npm.taobao.org --global npm con…

STM32 ADC工作原理与配置详解

文章目录 ADCADC简介逐次逼近型ADCADC框图ADC框图的工作流程&#xff08;以规则组为例&#xff09;1. 输入通道选择与信号接入2. 触发转换&#xff1a;软件或硬件触发3. 采样保持与量化编码4. 转换结果处理与存储5. 状态标志与中断6. 参考电压与时钟驱动7. 辅助功能&#xff1a…

1、Pytorch介绍与安装

1、Pytorch介绍 PyTorch 是由 Facebook AI Research (FAIR) 团队开发并维护的一款开源深度学习框架&#xff0c;于 2016 年首次发布。它因其直观的设计、卓越的灵活性以及强大的动态计算图功能&#xff0c;迅速在学术界和工业界获得了广泛认可&#xff0c;成为当前深度学习研究…

RedisTemplate查询不到redis中的数据问题(序列化)

RedisTemplate查询不到redis中的数据问题(序列化) 一.问题描述 存入Redis中的值取出来却为null,问题根本原因就是RedisTemplate和StringRedisTemplate的序列化问题、代码示例&#xff1a; SpringBootTest class Redis02SpringbootApplicationTests {Autowiredprivate RedisTe…