前端面经-锐捷资料开发工程师

标题

前端面经-锐捷资料开发工程师

一、ARP(地址解析协议)

1、概念

根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源

2、原理

2.1、工作过程

主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;
当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:
第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。

2.2、工作要素:ARP缓存

ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址–>MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。每一个以太网或令牌环网络适配器都有自己单独的表。当地址解析协议被询问一个已知IP地址节点的MAC地址时,先在ARP缓存中查看,若存在,就直接返回与之对应的MAC地址,若不存在,才发送ARP请求向局域网查询。
为使广播量最小,ARP维护IP地址到MAC地址映射的缓存以便将来使用。ARP缓存可以包含动态和静态项目。动态项目随时间推移自动添加和删除。每个动态ARP缓存项的潜在生命周期是10分钟。新加到缓存中的项目带有时间戳,如果某个项目添加后2分钟内没有再使用,则此项目过期并从ARP缓存中删除;如果某个项目已在使用,则又收到2分钟的生命周期;如果某个项目始终在使用,则会另外收到2分钟的生命周期,一直到10分钟的最长生命周期。静态项目一直保留在缓存中,直到重新启动计算机为止。

2.3、工作媒介:报文

前端面经-锐捷资料开发工程师

3、应用

3.1、ARP命令

ARP缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的MAC地址。ARP命令用于查询本机ARP缓存中IP地址–>MAC地址的对应关系、添加或删除静态对应关系等。如果在没有参数的情况下使用,ARP命令将显示帮助信息。
arp -a Ip
如果有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相关的ARP缓存项目。
arp -s Ip 物理地址
可以向ARP缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。
arp -d Ip
使用该命令能够人工删除一个静态项目。

3.2、ARP欺骗

ARP地址转换表是依赖于计算机中高速缓冲存储器动态更新的,而高速缓冲存储器的更新是受到更新周期的限制的,只保存最近使用的地址的映射关系表项,这使得攻击者有了可乘之机,可以在高速缓冲存储器更新表项之前修改地址转换表,实现攻击。ARP请求为广播形式发送的,网络上的主机可以自主发送ARP应答消息,并且当其他主机收到应答报文时不会检测该报文的真实性就将其记录在本地的MAC地址转换表,这样攻击者就可以向目标主机发送伪ARP应答报文,从而篡改本地的MAC地址表。 [5] ARP欺骗可以导致目标计算机与网关通信失败,更会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。

防御措施

  • 不要把网络安全信任关系建立在IP基础上或MAC基础上(RARP同样存在欺骗的问题),理想的关系应该建立在IP+MAC基础上
  • 设置静态的MAC–>IP对应表,不要让主机刷新设定好的转换表。
  • 若感染ARP病毒,可以通过清空ARP缓存、指定ARP对应关系、添加路由信息、使用防病毒软件等方式解决

4、对比

4.1、RARP(反向地址转换协议)

地址解析协议是根据IP地址获取物理地址的协议,而反向地址转换协议(RARP)是局域网的物理机器从网关服务器的ARP表或者缓存上根据MAC地址请求IP地址的协议,其功能与地址解析协议相反。与ARP相比,RARP的工作流程也相反。首先是查询主机向网路送出一个RARP Request广播封包,向别的主机查询自己的IP地址。这时候网络上的RARP服务器就会将发送端的IP地址用RARP Reply封包回应给查询者,这样查询主机就获得自己的IP地址了

4.2、代理ARP

地址解析协议工作在一个网段中,而代理ARP(Proxy ARP,也被称作混杂ARP(Promiscuous ARP)工作在不同的网段间,其一般被像路由器这样的设备使用,用来代替处于另一个网段的主机回答本网段主机的ARP请求

4.3、NDP

在IPv6中,地址解析协议的功能将由NDP(邻居发现协议,Neighbor Discovery Protocol)实现,它使用一系列IPv6控制信息报文(ICMPv6)来实现相邻节点(同一链路上的节点)的交互管理,并在一个子网中保持网络层地址和数据链路层地址之间的映射。邻居发现协议中定义了5种类型的信息:路由器宣告、路由器请求、路由重定向、邻居请求和邻居宣告。与ARP相比,NDP可以实现路由器发现、前缀发现、参数发现、地址自动配置、地址解析(代替ARP和RARP)、下一跳确定、邻居不可达检测、重复地址检测、重定向等更多功能。

NDP与ARP的区别

  • IPv4中地址解析协议是独立的协议,负责IP地址到MAC地址的转换,对不同的数据链路层协议要定义不同的地址解析协议。IPv6中NDP包含了ARP的功能,且运行于因特网控制信息协议ICMPv6上,更具有一般性,包括更多的内容,而且适用于各种数据链路层协议;
  • 地址解析协议以及ICMPv4路由器发现和ICMPv4重定向报文基于广播,而NDP的邻居发现报文基于高效的组播和单播

二、DHCP

DHCP

1、概述

1.1 DHCP是什么

DHCP(动态主机配置协议)是一个局域网的网络协议。
DHCP Server配置好地址池,Client登陆的时候就能自动获取到IP、掩码、DNS等。

1.2 DHCP细节

  • DHCP服务端使用UDP:67;客户端使用UDP:68。
  • DHCP运行分为四个基本过程:
    • 请求IP租约
    • 提供IP租约
    • 选择IP租约
    • 确认IP租约
  • DHCP服务端使用UDP:67;客户端使用UDP:68。
  • DHCP中涉及到中继的问题,都是把广播帧拆分成多个单播帧进行发送。

2、DHCP报文详情

2.1 DHCP的八种报文

前端面经-锐捷资料开发工程师

2.2 DHCP 报文格式

前端面经-锐捷资料开发工程师

3、DHCP工作流程

3.1 租约四步曲

前端面经-锐捷资料开发工程师

  1. 发现,客户端广播发送DHCP DISCOVER报文给同网段的设备(DHCP服务器、DHCP中继)。报文中携带了客户端MAC(chaddr)、需请求参数列表选项(Option55)、广播标志位(flags)等。

  2. 提供,与客户端同网段的DHCP服务器会接受其发出的DHCP DISCOVER报文,然后DHCP服务器会从地址池(全局/接口,看具体配置)中选择一个可用的IP地址,然后通过DHCP OFFER报文发送给客户端。

    补充:关于租期,DHCP服务器会拿客户端期望租期与指定租期作比较,选较小的作为实际租期。

  3. 选择,通常客户端只接受第一个DHCP OFFER报文,然后广播发送DHCP REQUEST报文,报文中包含了DHCP服务器标识符(Option54)、客户端IP地址(Option50)

  4. 确认,DHCP服务器收到客户端发送的DHCP REQUEST报文,会回复一个携带相关配置信息的DHCP ACK报文给客户端。

在有DHCP中继的情况下,DHCP的广播报文会被转换成多个单播报文发送给相应的设备,因为三层网络隔离广播域。

3.2 重用旧地址

前端面经-锐捷资料开发工程师

  1. 选择,客户端发送DHCP REQUEST,报文中的Option50字段填入曾使用过的地址。
  2. 确认,如果DHCP服务器在MAC地址表中查找到租约记录,则发送DHCP ACK告知可继续使用该IP地址,否则沉默,直至客户端再发送DHCP DISCOVER报文请求新的IP地址。

3.3 更新租约期

前端面经-锐捷资料开发工程师

  1. 租约期到达50%时,单播DHCP REQUEST报文,请求续约,若得到响应则成功续约。
  2. 租约期到达87.5%时,仍未得到回应,则广播DHCP REQUEST报文,请求新的地址。

4、应用

通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

三、DNS

1、概述

将主机域名转换为ip地址,属于应用层协议,使用UDP传输。

2、过程

总结: 浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,*域名服务器缓存,主域名服务器缓存。
一、主机向本地域名服务器的查询一般都是采用递归查询。
二、本地域名服务器向根域名服务器的查询的迭代查询。
1)当用户输入域名时,浏览器先检查自己的缓存中是否 这个域名映射的ip地址,有解析结束。
2)若没命中,则检查操作系统缓存(如Windows的hosts)中有没有解析过的结果,有解析结束。
3)若无命中,则请求本地域名服务器解析( LDNS)。
4)若LDNS没有命中就直接跳到根域名服务器请求解析。根域名服务器返回给LDNS一个 主域名服务器地址。
5) 此时LDNS再发送请求给上一步返回的gTLD( 通用*域), 接受请求的gTLD查找并返回这个域名对应的Name Server的地址
6) Name Server根据映射关系表找到目标ip,返回给LDNS
7) LDNS缓存这个域名和对应的ip, 把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中,域名解析过程至此结束

上一篇:全局地址池和接口地址池


下一篇:DHCP服务器工作介绍及搭建