【计算机网络笔记】ARP协议

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)
Cookie技术
Web缓存/代理服务器技术
传输层服务概述、传输层 vs. 网络层
传输层——多路复用和多路分用
传输层——UDP简介
传输层——可靠数据传输原理之Rdt协议
传输层——可靠数据传输之流水线机制与滑动窗口协议
传输层——TCP特点与段结构
传输层——TCP的可靠数据传输
TCP连接管理(图解三次握手和四次挥手)
传输层——拥塞控制原理与解决方法
TCP的拥塞控制机制
网络层服务与核心功能
网络层服务模型——虚电路网络
网络层服务模型——数据报网络
Internet网络的网络层——IP协议之IP数据报的结构
IP分片
IP编址与有类IP地址
IP子网划分与子网掩码
CIDR与路由聚合
DHCP协议
网络地址转换(NAT)
ICMP(互联网控制报文协议)
IPv6简介
路由算法之链路状态路由算法
路由算法之距离向量路由算法
路由算法之层次路由
数据链路层概述
数据链路层——差错编码
多路访问控制(MAC)协议——随机访问MAC协议


  • 系列文章目录
  • MAC地址
  • ARP: 地址解析协议


MAC地址

32位IPv4地址:

  • 接口的网络层地址
  • 用于标识网络层(第3层)分组,支持分组转发

MAC地址(或称LAN地址,物理地址,以太网地址) :

  • 在数据链路层用于局域网内标识一个帧从哪个接口发出,到达哪个物理相连的其他接口

  • 48位MAC地址(用于大部分LANs),固化在网卡的 ROM中,有时也可以软件设置。e.g.: 1A-2F-BB-76-09-AD

  • 局域网中的每块网卡都有一个唯一的MAC地址

  • MAC地址由IEEE统一管理与分配。任何一个网卡生产厂商需要购买MAC地址空间(前24比特)

  • MAC地址相当于身份证号,无论在哪里都是唯一的;IP地址相当于邮政地址,有归属和层次关系


ARP: 地址解析协议

一个网络接口在网络层有IP地址,在数据链路层有MAC地址。因此在通信过程中就要考虑一个问题:(在同一个LAN内) 如何在已知目的接口的IP地址前提下确定其MAC地址?

为此,LAN中的每个IP结点 (主机、路由器)都会维护一个表,这个表叫做ARP表,这个表会存储某些LAN结点的 IP/MAC地址映射关系< IP地址; MAC地址; TTL>。TTL存活时间设置该映射关系的存在时间(典型值为20min)。这样保证ARP表反映最新的信息。

比如,A想要给同一局域网内的 B发送数据报,但A只知道B的IP地址,这时就要用到ARP协议,大概过程是这样的:

  • A广播ARP查询分组,其 中包含B的IP地址。
    • 目的MAC地址 = FF-FF-FF-FF-FF-FF
    • LAN中所有结点都会接收 ARP查询
  • B接收ARP查询分组,IP 地址匹配成功,向A应答 B的MAC 地址
    • 利用单播帧向A发送应答
  • A在其ARP表中,缓存B的 IP-MAC地址对,直至超时。超时后,再次刷新

显然,ARP是“即插即用”的协议。主机在刚接入网络的时候,ARP表可能是空的,正是在通信过程中不断查询更新MAC地址的。

那如果A和B不在同一个局域网内,这个时候应该怎么做呢?

假设A和B这两个子网通过R路由器进行互连:

在这里插入图片描述

  • 假设A知道B的IP地址(一般由用户定义输入)
  • 假设A知道第一跳路由器R (左)接口IP地址(A主机的默认网关地址就是路由器左侧接口的地址)
  • 假设A知道第一跳路由器R (左)接口MAC地址 (通过ARP协议)

过程:

  • A构造IP数据报,其中源IP地址是A的IP地址,目的IP地址是B的IP地址。进一步封装数据报,构造链路数据帧,其中源MAC地址是A的MAC地址,目的MAC地址是 R(左)接口的MAC地址
  • 路由器左侧的接口收到数据帧以后,提取IP数据报,传递给上层IP协议。一般情况下不会修改源和目的的IP地址。R进一步创建链路层帧,其中源MAC地址是R(右)接口的MAC地址,目 的MAC地址是B的MAC地址
  • B在链路层收到数据帧之后,要完成链路层的功能。之后提取出IP数据报,交给上层的IP协议,再一层一层往上

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

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

相关文章

3D点云目标检测:VoxelNex解读(带源码/未完)

VoxelNext 通用vsVoxelNext一、3D稀疏卷积模块1.1、额外的两次下采样1.2、稀疏体素删减 二、高度压缩三、稀疏池化四、head五、waymo数据集训练六、训练自己的数据集bug修改 通用vsVoxelNext 一、3D稀疏卷积模块 1.1、额外的两次下采样 使用通用的3D sparse conv&#xff0c;…

window关于下载anaconda 2023年以后的版本,jupyter notebook闪退,没有内核的问题

这种问题的解决办法&#xff1a; 下载anaconda较早版本&#xff0c;比如我下载的是&#xff1a;2022年5月的版本。 下载之后&#xff0c;打开jupyter好像也会没有内核和闪退。 下面解决步骤&#xff1a; 1.注意&#xff1a;打开anaconda powershell prompt 2.重点来了&#xf…

【Qt】获取当前系统用户名:9种获取方式

目的 有时&#xff0c;在项目开发中&#xff0c;需要显示或者用到当前系统用户名信息。以下是几种获取系统用户名解决方案&#xff1a; 解决方案 1. 使用QDir::home() #include <QApplication> #include <QDir> #include <QDebug>int main(int argc, cha…

网工笔记(五):HTTP协议

当工作中遇到关于网络7层协议的问题时&#xff0c;时常会出现一个尴尬的局面&#xff0c;开发的同学认为这是网络组的问题&#xff0c;而网工的同学却认为是应用上的问题应该由开发组负责。今天希望通过这篇文章给网络7层做一个简单的说明。 关于七层协议的学习主要就是HTTP。…

【GO】k8s 管理系统项目16[前端部分--项目初始化]-学习记录

学习链接 https://blog.csdn.net/qq_29974229/article/details/129119279?spm1001.2014.3001.5502 nvm use v16.15.0 npm install vue -g npm install -g vue/clivue create k8s-plantform-fe选择 Default cd k8s-plantform-fe npm run servecd ./src mkdir views mkdir r…

如何在Java中创建和管理多线程应用程序,包括线程同步、线程间通信

在Java中创建和管理多线程应用程序涉及多个方面&#xff0c;包括线程的创建、线程同步和线程间通信。下面是一些关于这些主题的详细解释和示例代码&#xff1a; 创建线程&#xff1a; 在Java中有两种方式创建线程&#xff1a;实现Runnable接口或者继承Thread类。 通过实现Runn…

Java-认识异常

本章重点&#xff1a; 1. 异常概念与体系结构 2. 异常的处理方式 3. 异常的处理流程 4. 自定义异常类 1. 异常的概念与体系结构 1.1 异常的概念 在Java中&#xff0c;将程序执行过程中发生的不正常行为称为异常。比如之前写代码时经常遇到的&#xff1a; 1. 算术异常 2. 数组…

Linux CenTOS命令备忘

Linux CenTOS命令备忘 2.关机 shutdown -h now 立刻关机 shutdown -h 5 5分钟后关机poweroff 立刻关机 2.重启 shutdown -r now 立刻重启 shutdown -r 5 5分钟后重启reboot 立刻重启3.帮助 –help命令 shutdown --help&#xff1a;ifconfig --help&#xff1a;查看网卡信息m…

Python网络爬虫练习

爬取历年中国大学排名(前20名)&#xff0c;并随机选取一所高校画图展示其历年总分变化,并计算平均分&#xff0c;在图上展示该平均分直线&#xff1a; 代码如下&#xff1a; import matplotlib.pyplot as plt import pandas as pd import requests import randomdef main(yea…

普乐蛙绵阳科博会一场VR科普航天科学盛宴科普知识

普乐蛙绵阳科普展&#xff1a;一场科学盛宴&#xff0c;点燃孩子探索欲望的火花! 普乐蛙绵阳科普展正在如火如荼地进行中&#xff0c;吸引了无数孩子和家长的热情参与。这场科普盛宴以独特的内外视角&#xff0c;让人们感受到科学的魅力&#xff0c;激发了孩子们对知识的渴望和…

【挑战业余一周拿证】二、在云中计算 - 第 3 节 - Amazon EC2 定价

目录 第 3 节 - Amazon EC2 定价 一、按需 适用场景 二、Savings Plans 适用场景 三、预留实例 三种付款模式 四、Spot 实例 适用场景 五、专用主机 适用场景 关注订阅号 首页&#xff1a;【挑战业余一周拿证】AWS 认证云从业者 - 基础 课程目录&#xff1a;【挑…

机器视觉应用开发

机器视觉应用开发是指利用计算机视觉技术进行图像或视频数据处理和分析&#xff0c;实现自动化、智能化的应用程序开发。下面是机器视觉应用开发的一般步骤和常见任务。 需求分析&#xff1a;明确开发的机器视觉应用的具体需求和目标&#xff0c;例如人脸识别、目标检测、图像分…

【阅读记录】《联邦学习》杨强

第2章 隐私、安全及机器学习 2.3 威胁与安全模型 2.3.1 隐私威胁模型 对机器学习系统的攻击可能在任何阶段发生&#xff0c;包括数据发布、模型训练和模型推理。 模型训练阶段&#xff1a;重构攻击&#xff08;避免使用寻存储显式特征值的模型&#xff0c;SVM KNN等&…

深度学习之循环神经网络

视频链接&#xff1a;6 循环神经网络_哔哩哔哩_bilibili 给神经网络增加记忆能力 对全连接层而言&#xff0c;输入输出的维数固定&#xff0c;因此无法处理序列信息 对卷积层而言&#xff0c;因为卷积核的参数是共享的&#xff0c;所以卷积操作与序列的长度无关。但是因为卷积…

第十八章 控制 XML 元素和属性名称

文章目录 第十八章 控制 XML 元素和属性名称默认 XML 元素和属性名称控制映射为顶级元素的对象的元素或属性的名称 第十八章 控制 XML 元素和属性名称 类和属性名称与 XML 元素和属性的名称之间存在默认对应关系&#xff0c;可以覆盖这些默认值。 类和属性参数 XMLNAMEXMLTY…

人工智能与供应链行业融合:预测算法的通用化与实战化

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 让我们一起深入探索人工智能与供应链的融合&#xff0c;以及预测算法在实际应用中的价值&#xff01;&#x1f50d;&#x1f680; 文章目录 前言供应链预测算法的基本流程统计学习模型与机…

git突然失效:无法提交的问题 无法推送到远程仓库

git配置分为全局配置和局部配置 一般需要设置一个用户名和邮箱&#xff0c;将生成的ssh密钥绑定到远程账户上&#xff0c;拉取代码时会需要输入用户名与密码&#xff0c;输入正确即可。 局部配置为当前项目的配置 但尝试修改没有什么用 下面是一些修改git配置的命令 git conf…

N字形变换 Golang leecode_6

首先还是暴力&#xff0c;先构建一个 numRows 行&#xff0c;1000列的二维数组&#xff0c;然后将字符串 s 变成字符数组按照 N 字形排列&#xff0c;然后再 Z 字形遍历&#xff0c;代码逐过程调试很好看懂。 package mainimport ("fmt" )func convert(s string, nu…

MATLAB算法实战应用案例精讲-【图像处理】图像配准

目录 前言 知识储备 如何选择图像处理软件? OpenCV图像处理基础知识 图像的基本表示方法 像素处理

Mybatis入门(三)

作用域&#xff08;Scope&#xff09;和生命周期 对象生命周期和依赖注入框架 依赖注入框架可以创建线程安全的、基于事务的 SqlSession 和映射器&#xff0c;并将它们直接注入到你的 bean 中&#xff0c;因此可以直接忽略它们的生命周期。 如果对如何通过依赖注入框架使用 M…