数据包转发过程

2024-01-20 11:32
文章标签 数据 过程 包转发

本文主要是介绍数据包转发过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 数据包转发过程
    • 中间网络数据传输
    • 接收方数据解封装
    • 地址解析协议(ARP)
      • ARP是什么呢?
      • ARP原理

数据包转发过程

中间网络数据传输

封装好的完整数据,将会在网络中被传递

接收方数据解封装

封装不一定按照顺序一层一层下来,可能应用层直接到网络层等

地址解析协议(ARP)

从网络分层上看,我们知道二层网络中,使用 MAC 地址进行传输,MAC 地址做为数据链路层的设备标识符。

三层网络中,使用 IP 地址进行传输,IP 地址做为网络层的设备标识符。

域名通过 DNS 解析成 IP 地址,有了 IP 地址就可以在网络上找到目的地。

IP 地址通过 ARP ,获得 MAC 地址,有了 MAC 地址才能在物理网络上传输数据。

ARP是什么呢?

ARP(Address Resolution Protocol)地址解析协议,根据已知的IP地址解析获得其对应的MAC地址。主机通过 ARP 查询到 MAC 地址后,将在 ARP 缓存表中增加映射表项,即 IP 地址和 MAC 地址的映射表项。

ARP原理

ARP 是通过 ARP 请求ARP 响应报文确定 MAC 地址的。

假如主机 A 向同一网段上的主机 B 发送数据。主机 A 的 IP 地址为 10.0.0.1 ,主机 B 的 IP 地址为 10.0.0.2 ,主机 C 的 IP 地址为 10.0.0.3 。它们都不知道对方的 MAC 地址。ARP 地址解析过程如下:

  • 主机 A 首先查看自己的 ARP 表(即 ARP 缓存表),确定是否有主机 B 的 IP 地址对应表项。如果有,则直接使用表项中的 MAC 地址进行封装,封装成帧后发送给主机 B 。

  • 如果主机 A 的 ARP 表没有对应的表项,就发送一个广播帧,源 IP 和源 MAC 地址是主机 A ,目的 IP 地址是主机 B ,目的 MAC 地址是广播 MAC 地址,即 FFFF-FFFF-FFFF 。这就是 ARP 请求报文

  1. ARP 请求是广播报文,同一个网段的所有主机都能收到。只有主机 B 发现报文中的目的 IP 地址是自己,于是主机 B 发送响应报文给主机 A ,源 MAC 地址和源 IP 地址是主机 B ,目的 MAC 地址和目的 IP 地址是主机 A ,这个报文就叫 ARP 响应报文。同时,主机 B 的 ARP 表记录主机 A 的映射关系,即主机 A 的 IP 地址和 MAC 地址的对应关系。

  2. 主机 C 也收到了 ARP 请求报文,但目的 IP 地址不是自己,所以不会进行响应。于是主机 C 添加主机 A 的映射关系到 ARP 表,并丢弃 ARP 请求报文。

  3. 主机 A 收到 ARP 响应报文后,添加主机 B 的映射关系,同时用主机 B 的 MAC 地址做为目的地址封装成帧,并发送给主机 B 。

主机发送报文时,首先会查看它的 ARP 表,目的是为了确定是否是已知的设备 MAC 地址。如果有,就直接使用;如果没有,就发起 ARP 请求获取。不过,缓存是有一定期限的。ARP 表项在老化时间( aging time )内是有效的,如果老化时间内未被使用,表项就会被删除。

ARP 表项分为动态 ARP 表项静态 ARP 表项

  • 动态 ARP 表项由 ARP 动态获取,因此在网络通信中,无需事先知道 MAC 地址,只要有 IP 地址即可。如果老化时间内未被使用,表项就会被自动删除。
  • 静态 ARP 表项是手工配置,不会老化。静态 ARP 表项的优先级高于动态 ARP 表项,可以将相应的动态 ARP 表项覆盖。

arp -a查看当前网卡MAC地址

arp -d *(管理员运行)清除所有地址缓存

由于要触发arp解析MAC地址,有时候ping的第一个包延迟会远大于其他的包

其他还有代理ARP、免费ARP、RARP等

这篇关于数据包转发过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/625876

相关文章

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss