【计算机网络】 ARP协议和DNS协议

文章目录

      • 数据包在传输过程中的变化过程
      • 单播组播和广播
      • ARP协议
      • ARP代理
      • 免费ARP
      • 路由数据转发过程
      • DNS协议

数据包在传输过程中的变化过程

在说ARP和DNS之前,我们需要知道数据包在传输过程的变化过程

在这里插入图片描述

从图片中可以看到,发送方的原数据最开始是在应用层,然后再传输层加上UDP头,再网络层加上IP头,在物理层加上帧头、帧尾和CRC校验,然后接收方会逐层校验拆包,知道在应用层得到原数据

单播组播和广播

在这里插入图片描述

单播就是一对一的,广播就是看目标设备在不在范围内,组播是看目标设备是不是要发送的设备

ARP协议

在这里插入图片描述

地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议,用在双端设备在通讯收发数据之前,如果不知道对端的MAC地址,就可以通过ARP协议来获取

ARP协议是跨数据链路层和网络层的,所以他的上层协议是IP协议

ARP协议实现的过程就是自己设备会发送一个ARP Request的广播,那么当前路由器所连接的所有设备都会收到这个广播,数据包中的目的MAC填0,所有收到这个广播的设别都会看自己的IP是不是这个广播的目IP,如果不是就会将这个包丢弃,如果是就会回一个ARP Reply的单播,然后就可以开始通信了

ARP代理

当发送端广播ARP请求时,本地网络上不会有主机回应(因为IP地址是外网的),此时路由器将会回应该请求,则发送源认为路由器就是目的主机,会将报文全部转发给它,再由路由器转发报文到外网,则该路由器就被称为ARP代理。

免费ARP

在主机开机配置时,会发送一个目的IP地址为自己IP地址的ARP请求报文,该报文称之为免费ARP,作用有两点:

  1. 让主机确认本地网络上是否有与自己IP地址相同的主机,若有,则会返回一个错误报文。
  2. 告诉整个广播域,目前某个IP所对应的MAC地址是什么——这一行为就像是在发宣传单,而宣传单是不需要回应的。若接收主机ARP缓存中本身就有发送源主机IP—MAC对,则会更新,否则,会缓存发送源的IP—MAC对。

路由数据转发过程

在这里插入图片描述

原设备和目的设备不是连接同一个路由器上的,需要通过多个路由器转发才能连接上

每次发送数据的时候源ip是当前设备的ip地址,源mac是最开始设备mac地址,目的ip为最终设备的ip地址,目的mac是下一跳的mac(通过路由表寻找)

DNS协议

域名解析协议,DNS服务器将好记的域名解析成IP地址

**过程:**网络客户端将要访问的域名传到本地DNS服务器,如果缓存里有就直接返回IP地址,如果没有就访问DNS根服务器,发现是.com域,那么本地DNS服务器再访问.com域服务器,发现是.163.com域,那么再次访问.163.com域服务器寻找IP地址。

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

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

相关文章

SpringAOP面向切面编程

文章目录 一. AOP是什么?二. AOP相关概念三. SpringAOP的简单演示四. SpringAOP实现原理 一. AOP是什么? AOP(Aspect Oriented Programming):面向切面编程,它是一种编程思想,是对某一类事情的集…

最经典的解析LSA数据库(第六课)

初步认识OSPF的大致内容(第三课)_IHOPEDREAM的博客-CSDN博客 1 OSPF 工作过程 建立领居表 同步数据库 今天来 说一说数据库概念 计算路由表 2 什么是数据库? 数据库是一个组织化的数据集合,用于存储、管理和检索数据。它是一个可访问的集合&#x…

OpenCV项目实战(1)— 如何去截取视频中的帧

前言:Hello大家好,我是小哥谈。针对一段视频,如何去截取视频中的帧呢?本节课就给大家介绍两种方式,一种方式是按一定间隔来截取视频帧,另一种方式是截取视频的所有帧。希望大家学习之后能够有所收获&#x…

基于springboot实现的rabbitmq消息确认

概述 RabbitMQ的消息确认有两种。 一种是消息发送确认。这种是用来确认生产者将消息发送给交换器,交换器传递给队列的过程中,消息是否成功投递。发送确认分为两步,一是确认是否到达交换器,二是确认是否到达队列。 第二种是消费接…

入门力扣自学笔记277 C++ (题目编号:42)(动态规划)

42. 接雨水 题目: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组…

Redis——Java中的客户端和API

Java客户端 在大多数的业务实现中,我们还是使用编码去操作Redis,对于命令的学习只是知道这些数据库可以做什么操作,以及在后面学习到了Java的API之后知道什么方法对应什么命令即可。 官方推荐的Java的客户端网页链接如下: 爪哇…

强大易用的开源 建站工具Halo

特点 可插拔架构 Halo 采用可插拔架构,功能模块之间耦合度低、灵活性提高。支持用户按需安装、卸载插件,操作便捷。同时提供插件开发接口以确保较高扩展性和可维护性。 ☑ 支持在运行时安装和卸载插件 ☑ 更加方便地集成三方平台 ☑ 统一的可配置设置表…

Pytest系列-fixture的详细使用和结合conftest.py的详细使用(3)

介绍 前面一篇讲了setup、teardown可以实现在执行用例前或结束后加入一些操作,但这种都是针对整个脚本全局生效的。 Fixture是pytest的非常核心功能之一,在不改变被装饰函数的前提下对函数进行功能增强,经常用于自定义测试用例前置和后置工作…

网络原理

网络原理 传输层 UDP 特点 特点:无连接,不可靠,面向数据报,全双工 格式 怎么进行校验呢? 把UDP数据报中的源端口,目的端口,UDP报文长度的每个字节,都依次进行累加 把累加结果&a…

Kafka源码分析之网络通信

1、生产者网络设计 架构设计图 2、生产者消息缓存机制 1、RecordAccumulator 将消息缓存到RecordAccumulator收集器中, 最后判断是否要发送。这个加入消息收集器,首先得从 Deque 里找到自己的目标分区,如果没有就新建一个批量消息 Deque 加进入 2、消…

excel中的引用与查找函数篇1

1、COLUMN(reference):返回与列号对应的数字 2、ROW(reference):返回与行号对应的数字 参数reference表示引用/参考单元格,输入后引用单元格后colimn()和row()会返回这个单元格对应的列号和行号。若参数reference没有引用单元格,…

【APUE】标准I/O库

目录 1、简介 2、FILE对象 3、打开和关闭文件 3.1 fopen 3.2 fclose 4、输入输出流 4.1 fgetc 4.2 fputc 4.3 fgets 4.4 fputs 4.5 fread 4.6 fwrite 4.7 printf 族函数 4.8 scanf 族函数 5、文件指针操作 5.1 fseek 5.2 ftell 5.3 rewind 6、缓冲相关 6.…

软件测试/测试开发丨学会与 AI 对话,高效提升学习效率

点此获取更多相关资料 简介 ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中,沟通本来就是很重要的一门课程,沟通的过程中表达越清晰,给到的信息越多,那么沟通就越顺畅。 和 ChatGPT 沟通也是同样的道理&…

Java“牵手”ebay商品详情数据,ebay商品详情API接口,ebayAPI接口申请指南

天猫平台商品详情接口是开放平台提供的一种API接口,通过调用API接口,开发者可以获取天猫商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片等详细信息 。 获取商品详情接口API是一种用于获取电商平台上商品详情数据的接口,通过…

Java多线程4种拒绝策略

文章目录 一、简介二、AbortPolicy拒绝策略A. 概述B. 拒绝策略实现原理C. 应用场景D. 使用示例 三、CallerRunsPolicy拒绝策略A. 概述B. 拒绝策略实现原理C. 应用场景D. 使用示例 四、DiscardPolicy拒绝策略A. 概述B. 拒绝策略实现原理C. 应用场景D. 使用示例 五、DiscardOldes…

微信小程序AI类目-深度合成-AI问答/AI绘画 互联网信息服务算法备案审核通过教程

近期小程序审核规则变化后,很多使用人类小徐提供的chatGPT系统的会员上传小程序无法通过审核,一直提示需要增加深度合成-AI问答、深度合成-AI绘画类目,该类目需要提供互联网信息服务算法备案并上传资质,一般对企业来说这种务很难实…

ARMv7-A 那些事 - 2.通用寄存器与流水线

By: Ailson Jack Date: 2023.09.10 个人博客:http://www.only2fire.com/ 本文在我博客的地址是:http://www.only2fire.com/archives/154.html,排版更好,便于学习,也可以去我博客逛逛,兴许有你想要的内容呢。…

Visual Studio 2019 简单安装教程

思路 官方页面下载 – 安装Visual Studio Installer – 安装Visual Studio 2019 下载 打开页面:Visual Studio 2019 生成号和发布日期 | Microsoft Learn 点击需要的版本,跳转后会开始下载在线安装包,这里选择第一个Community版本 安装 …

SpringMVC(一)

1.SpringMVC简介 1.1 什么是MVC MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为实体类Bean:专门存储业务逻辑的,如Student、Us…

一篇博客教会您SpringMVC文件上传、下载,多文件上传及工具jrebel的使用

目录 一.文件上传 二.文件下载 三.多文件上传 四,jrebel的介绍 前言: 我们之前已经实现了SpringMVC的增删改查,今天这一篇博客教会您SpringMVC文件上传、下载,多文件上传及工具jrebel的使用,希望这篇博客能够给正在…