网络层协议与应用(二)

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 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字节。

相关文章
|
1月前
|
人工智能 运维 物联网
AI在蜂窝网络中的应用前景
AI在蜂窝网络中的应用前景
50 3
|
12天前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
37 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
27天前
|
存储 监控 物联网
计算机网络的应用
计算机网络已深入现代生活的多个方面,包括通信与交流(电子邮件、即时通讯、社交媒体)、媒体与娱乐(在线媒体、在线游戏)、商务与经济(电子商务、远程办公)、教育与学习(在线教育平台)、物联网与智能家居、远程服务(远程医疗、智能交通系统)及数据存储与处理(云计算、数据共享与分析)。这些应用极大地方便了人们的生活,促进了社会的发展。
49 2
计算机网络的应用
|
1月前
|
机器学习/深度学习 运维 安全
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
金融交易网络与蛋白质结构的共同特点是它们无法通过简单的欧几里得空间模型来准确描述,而是需要复杂的图结构来捕捉实体间的交互模式。传统深度学习方法在处理这类数据时效果不佳,图神经网络(GNNs)因此成为解决此类问题的关键技术。GNNs通过消息传递机制,能有效提取图结构中的深层特征,适用于欺诈检测和蛋白质功能预测等复杂网络建模任务。
67 2
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
|
19天前
|
存储 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
|
26天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
53 11
|
26天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
51 8
|
24天前
|
网络协议 物联网 数据处理
C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势
本文探讨了C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势。文章详细讲解了使用C语言实现网络通信程序的基本步骤,包括TCP和UDP通信程序的实现,并讨论了关键技术、优化方法及未来发展趋势,旨在帮助读者掌握C语言在网络通信中的应用技巧。
35 2
|
25天前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
53 3
|
27天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新