DHCP、ARP、FTP、DNS、VRRP、STP、报文交互流程

目录

一、DHCP

1、DHCP终结

1、DHCP discover

2、DHCP offer

3、DHCP request

4、DHCP ack

5、DHCP request

6、DHCP 续租

2、DHCP终结

二、ARP

1、ARP类型

动态ARP

静态ARP

 ARP代理

ARP代理的分类:路由式代理、VLAN内的ARP代理、VLAN间的ARP代理。

6.1 路由式代理

6.2 VLAN内ARP代理

6.3 VLAN间ARP代理

6.3.1 聚合vlan

6.3.2 VLAN间ARP代理

免费ARP

三、FTP

四、DNS

DNS查询分类:

2.DNS缓存

3.DNS工作流程

五、VRRP

六、STP


一、DHCP

1、DHCP终结

报文交互过程

1、DHCP discover

发现阶段:此时STA还没有IP地址,会以0.0.0.0作为自身的IP,向255.255.255.255这个IP发送dhcp discover广播报文,同二层所有的主机都会收到这个广播报文,但是只有DHCP服务器才会响应;

2、DHCP offer

提供阶段:DHCP服务器收到discover报文以后,会在服务器的地址池中查找一个未使用的IP,通过DHCP offer报文将IP以及租约信息、服务器地址、掩码等信息发送给STA。

如果网络中存在多个DHCP服务器,此时终端会收到多个DHCP offer报文,STA会将收到的第一个DHCP offer报文作为自己IP地址。

3、DHCP request

选择阶段:STA会以广播的形式,将自己使用的IP信息广播出去,宣告自己使用这台服务器提供的IP;

4、DHCP ack

确认阶段:被使用IP的服务器,会单播回复一个ACK,确认该IP可使用。其他DHCP服务器会回收之前分配的地址

5、DHCP request

重新登录:STA离线后,再次接入网络,会发送DHCP request报文,继续使用上次分配的地址,如果该IP未被其他STA使用,则服务器回复一个ACK,继续使用该IP;否则,STA必须重新发起DHCP discover报文。

6、DHCP 续租

STA在DHCP租期达到50%时,会发送DHCP request请求更新租期:

        如果收到了DHCP ack,标识续租成功;

        如果收到了DHCP nak,表示续租失败,服务器不可用;

STA在DHCP租期达到87.5%时,会再次发送DHCP request

        如果收到了DHCP ack,标识续租成功;

        如果收到了DHCP nak,表示续租失败,服务器不可用,当租期达到100%后,该服务器所有地址被回收,无法使用。

报文类型

用途

DHCP discover

客户端广播查找可用服务器

DHCP offer

服务器响应DHCP discover报文,分配相应配置参数

DHCP request

客户端请求配置参数、请求配置确认、续租约

DHCP ack

服务器确认DHCP request报文

DHCP decline

客户端发现地址被使用时,通知服务器

DHCP release

客户端释放地址时通知服务器的报文

DHCP inform

客户端已有IP地址,请求更详细配置参数

DHCP nak

服务器告诉客户端地址请求不正确或租期已过期

2、DHCP终结

二、ARP

地址解析协议:将已知IP地址解析为MAC地址的协议

1、ARP类型

动态ARP

适用于网络结构负载,网络规模大,通信实时性要求高的网络

动态ARP表项由ARP协议通过ARP报文自动生成维护,可以被老化(300s),可以被静态ARP替换,可以被新的ARP报文更新。

①、每台设备都会维护自己的arp表,其绑定了IP和MAC地址一一映射关系,二层通信依赖于mac地址即可抓发。

②、ARP请求是广播的,回复是单播的.

③、ARP的作用是已知对方的IP地址,请求对方的MAC地址。

静态ARP

由管理员手动添加,绑定IP和MAC的对应关系。静态ARP不会老化,不会被覆盖

使用场景:

①、将重要服务器的IP与mac进行绑定,保护重要设备不会被攻击

②、禁止某个IP访问网络时,可以将该IP与一个不存在的mac进行绑定

 ARP代理

ARP代理的分类:路由式代理、VLAN内的ARP代理、VLAN间的ARP代理。
6.1 路由式代理

pc11和pc22在同一个网段,但是是使用路由器连接,那么,pc11在获取pc22的MAC地址时, 需要广播ARP,那么路由器会隔离广播域,就会导致PC11无法获取到PC22的MAC地址,也就无法通信。

ARP代理,在路由器的0/0/0口上配置ARP代理,那么路由器就可以将ARP报文转发出去。

1),ARP代理的原理:(模拟pc11 ping pc22)

a,当路由器的0接口开启了ARP代理,那么他就会接受pc11的ARP request

b,然后根据pc11的arp request 的 目的IP,路由器会查询IP路由表

c,根据目的IP找到对应的出接口,再次封装ARP request,传递这个报文。

只不过再次封装后的arp request中,源ip和源mac已经变成了路由器1接口的IP和mac,不在是pc11的IP和mac

d,如果其他接口也有设备,不会从其他接口转发ARP request,只是从目的IP的接口出去。

所以ARP代理,相当于就是寻找MAC地址的动作,交由路由器的目的IP出接口完成

e,路由器转发完成ARP request之后,目的主机回复reply给路由器,由路由器代理接收

f,路由器接收到ARP reply之后,学习mac地址。

g,路由器学习mac地址以后,需要回应源主机的arp request,返回rap reply

h,路由器回复的arp reply 里面的报文解析:

源mac:路由器开启arp代理接口的mac地址(不是目的主机的mac地址)

源IP:目的主机的IP

目的mac:源主机的mac

目的IP:源主机的IP

并将reply回复给pc11,pc11学习mac地址。

但pc11学习搭配pc22的mac地址,不是pc22的地址,而是路由器0接口的地址。

6.2 VLAN内ARP代理
interface vlanif10
ip add 192.168.1.3
arp-proxy inner-sub-vlan-proxy enable  //开启vlan间arp代理

拓扑

需求

场景:
pc1与pc2之间开启单向端口隔离,现在不允许破环单向端口隔离,实现pc1和pc2之间的通信

解答:

1,在交换机上场景vlanif 接口,配置同网段的地址,并在该地址下创建开启vlan间代理即可,开启
vlan间代理以后,pc2在发送arp request时,vlanif10收到以后,会重新封装arp,此时源ip为vlanif10,
源mac为vlanif10的mac地址。
2,vlanif10收到pc1的arp reply以后,会学习pc1的mac地址,并重新封装arp reply,将结果返回pc2.

3,至此pc1与pc2之间arp表象都有对方的数据,pc1与pc2间的所有的业务数据,同样也是通过arp代理进行转发

6.3 VLAN间ARP代理
6.3.1 聚合vlan

两台主机的IP地址在同一网段中,但是不在同一个vlan中,通过聚合这个两个不同的vlan,达到两个主间之间跨vlan,但是两个vlan又可以使用同一个网关的目的,通过此方式来节省IP的方式为聚合vlan。

拓扑

命令:

vlan batch 10 20 30//进入vlan30
vlan 30
aggregate-vlan        //将vlan30作为聚合vlan(超级vlan)
access-vlan 10 20     //vlan成员10 20//进入vlanif30
interface vlanif30
ip add 192.168.1.254 24

配置完成后,pc和交换机之间数据可通,pc间数据不同,原因是pc之间处于相同的网段,不会触发路由功能。

6.3.2 VLAN间ARP代理

用于解决聚合vlan的子vlan之间的互通的问题。

命令:

interface vlanif 30
arp-proxy inter-sub-vlan-proxy enable  // 开启vlan间代理

至此,pc之间即使处在不同vlan,他们也可以实现通信。

免费ARP

设备主动使用自己的IP地址作为目的IP地址发送ARP请求,此种方式称免费ARP

  1. 作用
    • IP地址冲突检测:当设备接口的协议状态变为Up时,设备主动对外发送免费ARP报文。正常情况下不会收到ARP应答,如果收到,则表明本网络中存在与自身IP地址重复的地址。如果检测到IP地址冲突,设备会周期性的广播发送免费ARP应答报文,直到冲突解除。

    • 用于通告一个新的MAC地址:发送方更换了网卡,MAC地址变化了,为了能够在动态ARP表项老化前通告网络中其他设备,发送方可以发送一个免费ARP。

    • 在VRRP备份组中用来通告主备发生变换:发生主备变换后,MASTER设备会广播发送一个免费ARP报文来通告发生了主备变换。

三、FTP

HCIA-DHCP,FTP,Telnet_被java抛弃的网工的博客-CSDN博客

四、DNS

域名解析协议:将域名解析成IP地址

DNS查询分类:

1、迭代查询

2、递归查询

3、反向查询

2.DNS缓存

(1) 当DNS服务器处理递归查询时,可能需要发送几个查询才能找到最终答案

(2) DNS服务器充当解析程序时,可以缓存在此过程中接收到的所有信息;每条记录都包含称为生存时间(TTL)的信息。TTL记录反映了DNS记录在缓存中保留的时间,如果客户端查询命中了服务器的缓存,服务器返回的TTL则是当前TTL的剩余时间。

(3) 当权威服务器响应一个不存的查询记录时,会返回一个负的TTL值,表示该项记录不存在

3.DNS工作流程

(1) 客户端向本地DNS服务器(递归解析服务器) 发出解析www.xinrui.com域名的请求

(2) 本地dns服务器查看缓存,是否有缓存过www.xinrui.com域名,如果有直接返回给客户端;如果没有执行下一步

(3) 本地dns服务器向根域名服务器发送请求,查询com顶级域的nameserver 地址

(4) 拿到com域名的IP后,再向com nameserver发送请求,获取xinrui域名的nameserver地址

(5) 继续请求 xinrui 的nameserver,获取 www 域名的地址,最终得到了www.xinrui.com 的 IP,本地 dns 服务器把这个结果缓存起来,以供下次查询快速返回

(6) 本地dns服务器把结果返回给客户端

五、VRRP

VRRP专题-CSDN博客(原创博文)

六、STP

STP选举过程中,都是依赖于BPDU报文。

STP协议-CSDN博客(原创博文)

HCIA-RSTP,MSTP-CSDN博客(原创博文)

信锐-STP专题-CSDN博客(原创博文)

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

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

相关文章

【Hadoop】分布式文件系统 HDFS

目录 一、介绍二、HDFS设计原理2.1 HDFS 架构2.2 数据复制复制的实现原理 三、HDFS的特点四、图解HDFS存储原理1. 写过程2. 读过程3. HDFS故障类型和其检测方法故障类型和其检测方法读写故障的处理DataNode 故障处理副本布局策略 一、介绍 HDFS (Hadoop Distribute…

electron调用dll问题总汇

通过一天的调试安装,electron调用dll成功,先列出当前的环境:node版本: 18.12.0,32位的(因为dll为32位的) VS2019 python node-gyp 1、首先要查看报错原因,通常在某一行会有提示,常…

C#常见的设计模式-行为型模式

前言 行为型模式是面向对象设计中的一类设计模式,它关注对象之间的通信和相互作用,以实现特定的行为或功能。在C#中,有许多常见的行为型模式,下面将对其中10种行为型模式进行介绍,并给出相应的代码示例。 目录 前言1.…

什么是网络爬虫技术?它的重要用途有哪些?

网络爬虫(Web Crawler)是一种自动化的网页浏览程序,能够根据一定的规则和算法,从互联网上抓取和收集数据。网络爬虫技术是随着互联网的发展而逐渐成熟的一种技术,它在搜索引擎、数据挖掘、信息处理等领域发挥着越来越重…

线性分组码的奇偶校验矩阵均匀性分析

回顾信道编解码知识,我们知道信道编码要求编码具有检纠错能力,作为FEC(forward error correction)前向纠错编码的一类,线性分组码表示校验位与信息位的关系能够线性表示。 在这篇文章中,并不是要讨论信道编…

【古月居《ros入门21讲》学习笔记】09_订阅者Subscriber的编程实现

目录 说明: 1. 话题模型 图示 说明 2. 实现过程(C) 创建订阅者代码(C) 配置发布者代码编译规则 编译并运行 编译 运行 3. 实现过程(Python) 创建订阅者代码(Python&…

MYSQL索引使用注意事项

索引使用注意事项: 1.索引列运算 不要在索引列上进行运算操作,否则索引将失效; 2.字符串不加引号 字符串类型使用时,不加引号,否则索引将失效; 3.模糊查询 如果仅仅是尾部模糊匹配,索引将不会失…

WSL中安装的Pycharm如何在Windows的开始菜单中新建图标?或WSL中的Pycharm经常花屏

WSL中安装的Pycharm如何在Windows的开始菜单中新建图标?或WSL中的Pycharm经常花屏 ⚙️1.软件环境⚙️🔍2.问题描述🔍🐡3.解决方法🐡🤔4.结果预览🤔 ⚙️1.软件环境⚙️ Windows10 教育版64位 W…

【云栖 2023】姜伟华:Hologres Serverless 之路——揭秘弹性计算组

云布道师 本文根据 2023 云栖大会演讲实录整理而成,演讲信息如下: 演讲人:姜伟华 | 阿里云计算平台事业部资深技术专家、阿里云实时数仓 Hologres 研发负责人 演讲主题:Hologres Serverless 之路——揭秘弹性计算组 实时化成为…

牛客算法心得——abb(dp)

大家好,我是晴天学长,传智杯的题,我准备写一个题解,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .abb leafee 最近爱上了 abb 型语句,比如“叠词词”、…

【物联网与大数据应用】Hadoop数据处理

Hadoop是目前最成熟的大数据处理技术。Hadoop利用分而治之的思想为大数据提供了一整套解决方案,如分布式文件系统HDFS、分布式计算框架MapReduce、NoSQL数据库HBase、数据仓库工具Hive等。 Hadoop的两个核心解决了数据存储问题(HDFS分布式文件系统&#…

【Java学习笔记】75 - 算法优化入门 - 马踏棋盘问题

一、意义 1.算法是程序的灵魂,为什么有些程序可以在海量数据计算时,依然保持高速计算? 2.拿老韩实际工作经历来说,在Unix下开发服务器程序,功能是要支持上千万人同时在线,在上线前, 做内测,一…

常用服务注册中心与发现(Eurake、zookeeper、Nacos)笔记(一)基础概念

基础概念 注册中心 在服务治理框架中,通常都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机与端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按照服务名分类组织服务清单,服务…

OpenGL之Mesa3D编译for Ubuntu20.04(三十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

vue3中的Fragment、Teleport、Suspense新组件

Fragment组件 在Vue2中: 组件必须有一个根标签 在Vue3中: 组件可以没有根标签, 内部会将多个标签包含在一个Fragment虚拟元素中 好处: 减少标签层级, 减小内存占用 <template><div style"font-size: 14px;"><p> 组件可以没有根标签</p&g…

大数据技术之数据安全与网络安全——CMS靶场(文章管理系统)实训

大数据技术之数据安全与网络安全——CMS靶场(文章管理系统)实训 在当今数字化时代&#xff0c;大数据技术的迅猛发展带来了前所未有的数据增长&#xff0c;同时也催生了对数据安全和网络安全的更为迫切的需求。本篇博客将聚焦于大数据技术背景下的数据安全与网络安全&#xff…

Cascader 级联选择器动态加载数据的回显

如果后端没有只返回第三级的id,而是同时把第三级的名字一起返回了&#xff0c;那么就可以通过下面的方法来实现 1.在级联选择器里面加上这句代码 placeholder"请选择" 2.注册一个字符串 pleasett:"" 3.赋值 如过后端返回的有第三级的选项名 直接进行赋…

解密Kafka主题的分区策略:提升实时数据处理的关键

目录 一、Kafka主题的分区策略概述1.1 什么是Kafka主题的分区策略&#xff1f;1.2 为什么分区策略重要&#xff1f; 二、Kafka默认分区策略2.1 Round-Robin分区策略 三、自定义分区策略3.1 编写自定义分区器3.2 最佳实践&#xff1a;如何选择分区策略 四、分区策略的性能考量4.…

【JS Promise, Promise.all 与 async/await用法详解】

目录 PromisePromise基本使用Promise可进行连续回调Promise回调可接受入参1.工作原理 async/await总结参考文档&#xff1a; 异步 let a 0setTimeout(() > {a 1}, 1000)console.log(a) // 0此时这个延迟就成为异步执行的了&#xff0c;a值还没有变1就被使用输出&#xff0…

element table滚动到底部加载数据(vue3)

效果图 使用插件el-table-infinite-scroll npm install --save el-table-infinite-scroll局部导入 <template><div class"projectTableClass"><el-table v-el-table-infinite-scroll"load"></el-table></div> </temp…