通过上一篇 IP协议 我们知道 目标IP=目标网络 + 目标主机
🙋 也就是说 必须知道 接收方的接收方的 MAC地址 => 没有MAC地址无法封装 MAC帧
在网络层,我们可以知道目标主机的 IP 地址, 但是 我们不知道对方的MAC地址 。
在同一个网段,需要通过目标IP,得知对方的MAC地址
----ARP协议(地址解析协议)(今天的主角登场)
ARP协议是将IPv4地址映射到物理MAC地址的一种协议。当主机需要与其他主机进行通信时,它会发送一个ARP请求广播来查询目标主机的MAC地址。目标主机在收到ARP请求后,会发送一个ARP响应包含自己的MAC地址。然后,请求主机会将映射关系保存在本地ARP缓存表中,以便以后的通信。
📕 ARP 报文格式
⚙ ARP工作过程
1. 先广播: MAC在局域网中发送(所有主机都收到消息)
2. 确认对象 再 1V1 发送。
结论:1 . 任何主机之前向目标主机发起果ARP请求,珠峰了,未来会收到对应的ARP应答
2. 任何一台主机,也可能别别人发起ARP请求,局域网中任何一台主机收到ARP的时候,可能是一个请求,也可能是一个应答。-->APR协议中一定有相应的标志来区别
📕 模拟ARP
ARP(Address Resolution Protocol)是一种用于在IP网络中将IP地址映射到MAC地址的协议。它用于解决在发送数据包时,需要知道目标设备的MAC地址的问题。下面是模拟ARP的基本过程:
1. 检查目标IP地址是否与本地网络的IP地址在同一子网中。如果不在同一子网中,则查找默认网关的MAC地址。
2. 检查ARP缓存中是否有目标IP地址的条目。ARP缓存是一个存储IP地址和对应MAC地址的本地缓存表。
3. 如果ARP缓存中没有目标IP地址的条目,则发送一个ARP请求广播。这个广播包含本机的MAC地址、IP地址以及要查询的目标IP地址。
4. 目标主机接收到ARP请求广播后,检查自己的IP地址是否与请求中的目标IP地址匹配。如果匹配,则向发送方回复一个ARP响应包,包含自己的MAC地址。
5. 发送方接收到ARP响应包后,将目标IP地址和对应的MAC地址添加到ARP缓存中,并使用该MAC地址发送数据包到目标主机。
6. 如果在一定时间内没有收到ARP响应包,则认为ARP请求失败。
需要注意的是,ARP协议是基于广播的,因此所有在同一广播域内的主机都能接收到ARP请求和响应。
注意:
❓ 1. ARP看起来是至少进行一个请求,一个应答,是每次发送数据都要这样吗?
🙋 arp请求成功后,请求方会暂时把 IP : MAC地址的映射关系会被暂时保存下来,所以请求数可以小于应答数。
❓ 2. 是不是只会在目标最终的子网中进行ARP,其他地点会不会发生ARP呢?
🙋 会。 ARP过程会在网络中随时发生。
🔪ARP欺骗
(可以去 密码学初知 看看一些小知识喔)
ARP欺骗(Address Resolution Protocol spoofing)是一种网络攻击技术,攻击者通过发送伪造的ARP响应来欺骗目标主机,使其将网络流量发送到攻击者指定的MAC地址。这样攻击者就可以截取、篡改或监视网络通信。
为了理解ARP欺骗,我们先来了解一下ARP协议。A。
而ARP欺骗则是利用了ARP协议的这个过程。攻击者发送伪造的ARP响应来欺骗目标主机,将自己的MAC地址伪装成网关或其他合法主机的MAC地址。这样目标主机就会将网络流量发送到攻击者指定的MAC地址,攻击者可以对通信进行监听、修改或丢弃。
为了防止ARP欺骗,可以采取以下措施:
1. 使用静态ARP表:将重要主机的IP地址和MAC地址手动添加到静态ARP表中,可以防止攻击者通过伪造ARP响应来欺骗主机。
2. 使用ARP防火墙:一些网络设备和防火墙提供了ARP防护功能,可以检测并阻止伪造的ARP响应。
3. 网络流量监测与分析:通过监测网络流量和分析ARP请求与响应的情况,可以检测到潜在的ARP欺骗攻击。
4. 使用网络入侵检测系统(IDS):IDS可以检测到异常的ARP活动,如大量ARP响应或不同IP地址对应同一MAC地址等,以便及时发现和阻止ARP欺骗攻击。
☁ 区域的域名解析服务
域名解析服务是将域名转换为对应的IP地址的过程。在互联网中,每个设备都需要一个唯一的IP地址才能进行通信。而域名解析服务就是帮助用户将易记的域名映射到对应的IP地址上,使得用户可以通过域名来访问特定的网站或服务。
区域的域名解析服务是指在特定的地理区域内提供域名解析服务的服务器。这些服务器通常位于不同的地理位置,并且根据用户的地理位置来选择最近的服务器进行域名解析,从而提高解析速度和准确性。
区域的域名解析服务通常由多个服务器组成,并且这些服务器之间会相互同步,以确保解析结果的一致性。当用户发送域名解析请求时,该请求会被路由到最近的解析服务器,服务器会查询域名系统(DNS)来获取相应的IP地址,并将解析结果返回给用户。
区域的域名解析服务有以下几个优势:
1. 低延迟:区域的域名解析服务可以将用户的请求定向到最近的服务器,减少了网络延迟,提高了网站的响应速度。
2. 高可靠性:区域的域名解析服务通常具有冗余的服务器架构和负载均衡机制,即使某个服务器出现故障,仍能保持服务的可用性。
3. 安全性:区域的域名解析服务可以提供安全的解析服务,包括检测和阻止恶意的网络流量、防止域名劫持等。
4. 灵活性:区域的域名解析服务可以根据业务需求进行定制化配置,包括设置不同的解析规则、添加自定义记录等。
📕 NAT技术
NAT(Network Address Translation)是一种网络技术,用于在互联网协议(IP)网络中转换IP地址。它允许多个设备共享单个公共IP地址,从而节约了IP地址资源。当内部网络中的设备要访问互联网时,NAT会将内部IP地址转换为公共IP地址,以便与外部网络通信。
NAT有三种主要类型:静态NAT、动态NAT和PAT(Port Address Translation)。
1. 静态NAT:在静态NAT中,将一个内部IP地址映射到一个固定的公共IP地址。这种映射是一对一的,所以每个内部地址都对应一个唯一的公共地址。
2. 动态NAT:在动态NAT中,内部IP地址会根据需要自动映射到可用的公共IP地址。这种映射是一对一的,但是对于每个会话或连接,会分配一个临时的公共地址。
3. PAT(Port Address Translation):PAT是一种特殊的动态NAT,它使用端口号来区分不同的连接。PAT将多个内部IP地址映射到单个公共IP地址,并使用不同的端口号来标识每个连接。
NAT技术提供了以下几个优点:
- 节省了IP地址资源,因为多个设备可以共享同一个公共IP地址。
- 增强了网络安全性,因为内部设备的IP地址对外部网络是隐藏的。
- 简化了网络配置,因为内部设备可以使用非唯一的私有IP地址。
面试开放性问题:
❓ 在浏览器输入url会发生什么?
在浏览器中输入URL后,以下步骤会依次发生:
解析URL:浏览器会解析URL,包括协议、主机名、路径等信息,确定要访问的服务器和资源。
建立TCP连接:浏览器会与服务器建立TCP连接,通过网络传输数据。这个过程涉及到三次握手来确保连接的可靠性。
服务器请求处理:浏览器向服务器发送HTTP请求,请求特定的资源。服务器接收到请求后,会进行相应的处理,并返回相应的数据。
数据渲染:在浏览器接收到服务器返回的数据包之前,它就已经开始显示页面了。浏览器根据自身的渲染机制对接收到的数据进行渲染,即将数据转换为可视化的页面。
静态文件请求:在页面渲染过程中,如果发现还有其他的静态文件需要加载,如样式文件、图片、JavaScript文件等,浏览器会重新发送请求获取这些文件。有些静态文件可以缓存到浏览器中,以提高页面加载速度。部分网站也会使用第三方CDN来托管静态文件,以提供更快的访问速度。
页面呈现和交互:渲染后的数据经过布局和样式的处理后,会在浏览器中呈现出来,并且可以与页面上的脚本进行交互,如点击按钮、填写表单等操作。
综上所述,当在浏览器中输入URL后,浏览器会解析URL,建立TCP连接,发送请求并接收服务器返回的数据,然后对数据进行渲染并呈现在页面中。同时,浏览器还会处理其他的静态文件请求,并与页面上的脚本进行交互。