网络层协议与应用(二)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 网络层协议与应用(二)

2.2 ARP协议的介绍

下面来学习ARP协议的相关知识。

1.ARP概述

       在局域网中,交换机通过MAC地址进行通信,要获得目的主机的MAC地址就需要使用ARP协议将目的IP地址解析成目的MAC地址。所以,ARP(Address Resolution Protocol,地址解析协议)的基本功能是负责将一个已知的P地址解析成MAC地址,以便在交换机上通过MAC 地址进行通信。

       如图所示,假设PC1发送数据给PC2需要知道PC2的MAC地址,可是PC1是如何知道 PC2的MAC地址呢?它不可能把全世界的MAC地址全部记录下来,所以当PC1访问PC2之前就要询问PC2的P地址所对应的MAC地址是什么,这时就需要通过ARP请求广播实现。

       (1)如图所示,主机PC1想发送数据给主机PC2,它检查自己的ARP 缓存表,ARP缓存表是主机存储在内存中的一个IP地址和MAC地址一一对应的表。在Windows操作系统中可以使用arp-a命令来显示ARP缓存表。

       Windows10系统中ARP缓存表的格式如下。

       如果要查找的MAC地址不在表中,ARP会发送一个广播,从而找到目的地的MAC 地址。

       经查看PC1的ARP缓存表中没有PC2的MAC地址,这时PC1会初始化ARP请求过程(发送一

个ARP请求广播)用于发现目的地的MAC 地址。

       (2)主机PC1发送ARP请求信息,ARP请求是目的地址为MAC广播地址(FFFF-FF-FF-FF-FF)

的MAC地址广播帧,从而保证所有的设备都能够接收到该请求,在ARP请求信息中包括PC1的P

地址和 MAC 地址。

       (3)交换机收到广播地址后,发现为MAC地址广播,所以将数据帧从除了接收口之外的所有接

口转发出去。各主机接收到数据帧后,进行IP地址的比较,如果目标P地址与自己的IP地址不同,

则会丢弃这个数据包,而只有PC2这台主机会在自己的ARP表中缓存PC1的IP地址和MAC 地址的

对应关系,同时发送一个ARP应答,来告诉PC1自己的MAC地址(这个数据帧是单播)。

       (4)PC1在接收到这个回应的数据帧后,在自己的ARP表中添加PC2的IP地址和MAC 地址的对

应关系。在这个过程中,交换机已经学习到了PC1和PC2的MAC地址,之后传输数据时,PC1和PC2之间使用单播方式。

       其实,路由器像其他网络设备一样收发数据,也保存着一张将P地址映射到MAC 地址的ARP

缓存表。路由器连接不同的网络,而通常的网络只具有本网络内部的IP地址到MAC地址的映射信息,对于其他网络的信息知之甚少。在路由器上会建立与之相连接的所有网络的ARP表,显示将不同网络上的IP地址映射为MAC地址的对应情况。

2.Windows10操作系统主机ARP命令的使用

1)清除ARP缓存

       使用arp-a命令可以查看ARP缓存表,而要清除ARP缓存需要使用arp-d命令,具体操作如

下所示。

       在清除ARP缓存后,再显示ARP缓存会提示没有ARP条目。

2)ARP 绑定

       有些ARP病毒会自动向外发布ARP应答信息,而ARP应答中的IP地址是其他主机的IP地址,MAC地址是假的。当其他主机收到ARP应答后更新ARP表,最终导致网络中主机无法正常通信。

ARP绑定是将IP地址和相应主机的MAC地址进行绑定,是防止ARP攻击的有效方法,进行 ARP

绑定后,主机将不会处理收到的已绑定IP地址的ARP应答。

       使用arp-sip-addressmac-address命令对P地址和MAC地址进行绑定,该操作为临时性的,

重启系统后,绑定失效。

       在Windows10客户端主机上运行arp-s,若提示错误信息“ARP 项添加失败:拒绝访问”,如图所示,可以通过以下方法解决,

       首先运行命令netsh interface ipv4 show neighbors 查看网卡接口序号,如图所示。

        然后运行命令netsh interface ipv4 set neighbors 510.0.0.17824-e9-b3-10-e5-41绑定IP-MAC,其中的“5”是网卡接口序号,该操作可实现永久性绑定。当再次运行arp-a,发现类型已经是“静态”,如图所示。

       静态绑定的ARP条目默认将一直存在,即使系统重启也会存在,但可以使用命令“arp-d”清除;动态学习到的ARP条目有老化时间(默认为120s),在老化时间规定的时间内,没有收到任何该MAC地址主机的数据时就删除该条目。

       可以使用命令arp-d来删除所有ARP映射关系(包括静态绑定的ARP条目),也可以用arp-d[IP]来删除特定条目。

3.Cisco设备的ARP命令

1)查看ARP缓存表

       使用showarp命令显示ARP缓存表,具体操作如下所示。

       其中,Age表示ARP条目存在的时间,“-”表示始终存在。

2)清除ARP 表

       使用cleararp-cache命令清除ARP缓存表。

3) ARP 绑定

       使用arpip-addressmac-addressarpa命令绑定ARP条目,具体操作如下所示。

4.ARP 原理演示

       如图所示,这是一个对等网的环境,PC1和PC2第一次通信,因此在通信双方的ARP缓存中不会有彼此的IP-MAC地址的映射。

具体实验步骤如下。

       (1)用arp-a命令查看PC1和PC2的ARP缓存,具体操作如下所示,

       (2)在PC1上pingPC2的P地址,之后用arp-命令查看ARP缓存信息,具体操作如下所示。

       在PC1的ARP缓存中显示了PC2的IP-MAC地址的对应关系,这是由于在ping命令发送数据之前,PC1先通过ARP请求获得了PC2的MAC地址。

3. ICMP 协议

       作为网络管理员,必须知道网络设备之间的连接状况,因此就需要有一种机制来侦测或通知网络设备之间可能发生的各种各样的情况,这就是ICMP协议的作用。ICMP协议(Internet Control MessageProtocol)的全称是“Internet控制消息协议”,主要用于在IP网络中发送控制消息,提供可能发生在通信环境中的各种问题的反馈。通过这些反馈信息管理员就可以对所发生的问题做出判断,然后采取适当的措施去解决。

3.1 ICMP的主要功能介绍

       ICMP 是一个“错误侦测与回馈机制”,通过IP数据包封装,用来发送错误和控制消息,其目的是使管理员能够掌握网络的连通状况,例如,在图中,当路由器收到一个不能被送到最终目的

地的数据包时,路由器会向源主机发送一个ICMP主机不可达的消息。

       ICMP协议属于网络层协议(也有高于网络层协议的说法),因为传输ICMP信息时,要先封装网

络层的IP报头,再交给数据链路层,即ICMP报文对应IP层的数据,如图所示。

3.2 ICMP的基本使用

       在网络中。ICMP协议的使用是靠各种命令来实现的。下面以ping命令为例,介绍ping命令的使用及返回的信息。

       ping命令的基本格式如下所示。

       其中的[]中的参数为可选参数。

1.ping命令的返回信息

       在检查网络连通性时,ping命令是用得最多的。当我们ping一台主机时,本地计算机发出的就

是一个典型的ICMP数据包,用来测试两台主机是否能够顺利连通。ping命令能够检测两台设备间

的双向连通性,即数据包能够到达对端,并能够返回,如图所示。

1)连通的应答

       如图所示,从返回的信息可知,从源主机向目标主机共发送了4个32字节的包,而目标主机回应了4个32字节的包,包没有丢失,源主机和目标主机之间的连接正常,除此以外,可以根据“时间”来判断当前的联机速度,数值越低,速度越快,在最后两行还有一个总结,如果发现丢包很严重,则可能是线路不好造成的丢包,那就要检查线路或更换网线了;最后一行是“往返行程”时间的最小值,平均值、最大值,它们的单位都是ms(毫秒)。

2)不能建立连接的应答

       如果两台主机之间不能建立连接,那么ICMP也会返回相应的信息,如图所示。

        如图所示,ICMP返回信息为“无法访问目标主机”,说明两台主机之间无法建立连接,可能

是因为没有正确配置网关等参数。由于找不到去往目标主机的“路”,因此显示“无法访问目标主机”。

3)应答为未知主机名

       由于网络中可能存在的问题很多,因此返回的ICMP信息也很多。如图所示,ICMP返回信息为“找不到主机”说明DNS无法进行解析。

4)连接超时的应答

       如图所示,返回信息为“请求超时”,说明在规定的时间内没有收到返回的应答消息。

        如果目标计算机启用了防火墙的相关设置,即使网络正常可能也会返回“请求超时”信息。关于防火墙的知识将在后续课程中介绍。

       在路由器上也广泛使用ICMP协议来检查设备之间的连接及运行情况。如果没有ICMP 协议,那看到的就只是一些单纯的设备的堆叠,至于它们的工作情况则一无所知。所以ICMP协议对于管理网络设备,监控网络状态等都有着非常重要的作用。

2.ping 命令的常用参数

       在Windows操作系统中,默认情况下发送4个ping包,如果在ping命令后面加上参数“一t”,如图所示,系统将会一直不停地ping下去。

-a

       在Windows系统上,在ping命令中加入“-a”参数,可以返回对方主机的主机名,如图所示。

-l

       一般情况下,ping包的大小为32字节,有时为了检测大数据包的通过情况,可以使用参数改变ping包的大小,如图所示,ping包的大小为10000字节。

相关文章
|
12天前
|
负载均衡 网络协议 算法
|
15天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
59 6
|
9天前
|
监控 安全
公司上网监控:Mercury 在网络监控高级逻辑编程中的应用
在数字化办公环境中,公司对员工上网行为的监控至关重要。Mercury 作为一种强大的编程工具,展示了在公司上网监控领域的独特优势。本文介绍了使用 Mercury 实现网络连接监听、数据解析和日志记录的功能,帮助公司确保信息安全和工作效率。
78 51
|
5天前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
RS-485网络中的标准端接与交流电端接应用解析
RS-485,作为一种广泛应用的差分信号传输标准,因其传输距离远、抗干扰能力强、支持多点通讯等优点,在工业自动化、智能建筑、交通运输等领域得到了广泛应用。在构建RS-485网络时,端接技术扮演着至关重要的角色,它直接影响到网络的信号完整性、稳定性和通信质量。
|
3天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
24 3
|
6天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
6天前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
31 5
|
6天前
|
网络虚拟化
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性。本文介绍了这三种协议的原理、特点及区别,并提供了思科和华为设备的命令示例,帮助读者更好地理解和应用这些协议。
20 4
|
14天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
43 13

热门文章

最新文章