精华内容
下载资源
问答
  • 在使用华为云ECS服务器时候,发现无法ping通公网IP地址,原因可能是安全组没有添加ICMP协议规则。 什么是ICMP协议 ICMP协议详解 ICMP协议是一个网络层协议。 一个新搭建好网络,往往需要先进行一个简单测试...

    1、原因

    安全组没有添加ICMP协议规则。

    2、什么是ICMP协议

    ICMP协议详解

    ICMP协议是一个网络层协议。
    一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。
    所以我们就需要一种协议来完成这样的功能–ICMP协议。

    ICMP协议的功能

    1. 确认IP包是否成功到达目标地址
    2. 通知在发送过程中IP包被丢弃的原因

    3、解决

    登录华为云 -> 控制台 -> 云服务器ECS -> 安全组
    找到对应安全组规则,添加ICMP的入方向规则
    在这里插入图片描述

    展开全文
  • ICMP 协议在之前网络层的介绍中,我们知道 IP 提供一种无连接的、尽力而为的服务。这就意味着无法进行流量...虽然说 ICMP 协议将 IP 协议封装在内部,所以大多数人将 ICMP传输层的协议,但实际上 ICMP 是 IP ...

    ICMP 协议

    在之前网络层的介绍中,我们知道 IP 提供一种无连接的、尽力而为的服务。这就意味着无法进行流量控制与差错控制。因此在 IP 数据报的传输过程中,出现各种的错误是在所难免的,为了通知源主机 IP 数据报传输过程中遇到的问题,因此设计了因特网控制报文协议(ICMP)。

    虽然说 ICMP 协议将 IP 协议封装在内部,所以大多数人将 ICMP 视为传输层的协议,但实际上 ICMP 是 IP 协议的重要组成部分,所以将其放在网络层更为合适。

    ICMP 的报文一般有两种,查询报文和查询报文

    查询报文:例如我们在使用 ping 命令,子网掩码查询,时间戳查询等情况时,都会发送查询报文。

    差错报文:而差错报文是在当对应的路由器或者终端设备收到查询报文后,产生了一系列问题。把出现的问题,回复给发起者的报文就是差错报文。

    但考虑到整体网络资源的占用上,在如下情况下,是不会产生差错报文的:

    1. 差错报文不会产生差错报文 - 防止 ICMP 无限产生和传送差错报文
    2. 目的地址是广播或多播的 IP 数据包
    3. 链路层广播的数据包
    4. 不是 IP 分片的第一片 - IP 是尽力而为,自然不需要可靠性
    5. 源地址不是某个主机的数据包

    ICMP 类型

    由于 ICMP 本身就是为了弥补 IP 协议不可靠的特性,起到排错目的,所以它的 Header 并不复杂。

    f0fc7c04b2336e6b39f9507b00feba86.png

    正如图中所示的,对于 ICMP Header 来说,比较重要的就是 Type (8 bit)和 Code (8 bit) 字段,用来表示各种错误的情况。

    其中完整的介绍可以参考这篇 wiki,下面就介绍上常用的部分。

    9a798b6fda13570b568c01eaf73cc623.png

    下面我们抓个包,来看一下。

    Ping 命令测试网络连通性

    这里在主机上 Ping 下百度,通过 Wireshark 抓到的数据包如下:

    71fb5ae0923a7189242ec376f417dd0f.png

    先看一下 Echo Request 包,对应 Type 为8,Code 为0:

    71fb5ae0923a7189242ec376f417dd0f.png

    Echo Reply 包 - Type 为 0,Code 为 0:

    da54b741ff442db1294a7d5d01c358c8.png

    Traceroute 测试网络连通性

    在 IP 协议中,为了防止出现环路而设置了 TTL 字段。该字段也在 traceroute 中起到了很大的作用,通过设置 TTL 的数值,来获取数据报的传递过程。

    TTL:当 IP 数据包进行传送时,每经过一个路由器,TTL 指就会减一,当 TTL = 0 时,该 IP 数据报会被丢弃。

    下面就来了解下 Traceroute 的通信过程,用到的拓扑如下:

    b493b77d68bb4cff3300c01bded1d092.png

    当主机收到目的主机的 IP 后,会给目的主机发送一个 TTL = 1 的 UDP 数据包。

    9b172b936ec00a5c72f22d557d063579.png

    而经过第一个路由器后,TTL - 1 变成 0.这时路由器会把数据报丢弃,然后把丢弃的数据包的 IP 头部封装起来,回复主机一个差错报文。如下:

    96b035308bfeed15b0a3cf389dd11313.png

    这个过程主机会发三次,也就是说会产生 3 个 TTL =1 的 UDP,如下

    9d8d3569925f903e470b58a6e6da8b81.png

    接着会在再次发送 3 个 TTL = 2 的 UDP 报文,如下

    6205ac4ac95cfba24a603921c1ba542e.png

    第二个路由器,会再次向主机发送一个差错报文,如下:

    49425485429f0cf7b93d980085ee93d9.png

    这里需要注意的是:由于第二台路由器已经相当于是目的地,所以将数据包拆到传输层,但由于传输层上的端口标识了应用层的应用,而在该路由器上不在该应用,进而回复了端口不可达的报文。

    由于图中只经过 2 个路由器,所以截止发送到 TTL = 2

    fbe13a3cff36f9fd3cb28de741b85a1d.png

    并且我们可以从 TTL = 2 的回复差错报文看出,只有两个差错报文。其中有个差错报文出现了丢失,并且没有给主机回复差错报文丢失的情况

    展开全文
  • ICMP 协议在之前网络层的介绍中,我们知道 IP 提供一种无连接的、尽力而为的服务。这就意味着无法进行流量...虽然说 ICMP 协议将 IP 协议封装在内部,所以大多数人将 ICMP传输层的协议,但实际上 ICMP 是 IP ...

    ICMP 协议

    在之前网络层的介绍中,我们知道 IP 提供一种无连接的、尽力而为的服务。这就意味着无法进行流量控制与差错控制。因此在 IP 数据报的传输过程中,出现各种的错误是在所难免的,为了通知源主机 IP 数据报传输过程中遇到的问题,因此设计了因特网控制报文协议(ICMP)。

    虽然说 ICMP 协议将 IP 协议封装在内部,所以大多数人将 ICMP 视为传输层的协议,但实际上 ICMP 是 IP 协议的重要组成部分,所以将其放在网络层更为合适。

    ICMP 的报文一般有两种,查询报文和查询报文

    查询报文:例如我们在使用 ping 命令,子网掩码查询,时间戳查询等情况时,都会发送查询报文。

    差错报文:而差错报文是在当对应的路由器或者终端设备收到查询报文后,产生了一系列问题。把出现的问题,回复给发起者的报文就是差错报文。

    但考虑到整体网络资源的占用上,在如下情况下,是不会产生差错报文的:

    1. 差错报文不会产生差错报文 - 防止 ICMP 无限产生和传送差错报文
    2. 目的地址是广播或多播的 IP 数据包
    3. 链路层广播的数据包
    4. 不是 IP 分片的第一片 - IP 是尽力而为,自然不需要可靠性
    5. 源地址不是某个主机的数据包

    ICMP 类型

    由于 ICMP 本身就是为了弥补 IP 协议不可靠的特性,起到排错目的,所以它的 Header 并不复杂。

    df8ce21a5e64ee426467617603692b0f.png

    正如图中所示的,对于 ICMP Header 来说,比较重要的就是 Type (8 bit)和 Code (8 bit) 字段,用来表示各种错误的情况。

    其中完整的介绍可以参考这篇 wiki,下面就介绍上常用的部分。

    125aac2673a282307d57c11794753f13.png

    下面我们抓个包,来看一下。

    Ping 命令测试网络连通性

    这里在主机上 Ping 下百度,通过 Wireshark 抓到的数据包如下:

    614df291378c322a9759237273ee47cc.png

    先看一下 Echo Request 包,对应 Type 为8,Code 为0:

    c154e05467084d63499c11d9ab941637.png

    Echo Reply 包 - Type 为 0,Code 为 0:

    262b6d902cb101a2ada9e0af6b6fdb4e.png

    Traceroute 测试网络连通性

    在 IP 协议中,为了防止出现环路而设置了 TTL 字段。该字段也在 traceroute 中起到了很大的作用,通过设置 TTL 的数值,来获取数据报的传递过程。

    TTL:当 IP 数据包进行传送时,每经过一个路由器,TTL 指就会减一,当 TTL = 0 时,该 IP 数据报会被丢弃。

    下面就来了解下 Traceroute 的通信过程,用到的拓扑如下:

    114a9063a2cdacd0b6717fd7e65cfc68.png

    当主机收到目的主机的 IP 后,会给目的主机发送一个 TTL = 1 的 UDP 数据包。

    22cc116b05ce47061a39d952a5442241.png

    而经过第一个路由器后,TTL - 1 变成 0.这时路由器会把数据报丢弃,然后把丢弃的数据包的 IP 头部封装起来,回复主机一个差错报文。如下:

    1a04a5ed292e4e8f4f175ff010d87686.png

    这个过程主机会发三次,也就是说会产生 3 个 TTL =1 的 UDP,如下

    b0937ff8e80361c63647dc78210d5e6f.png

    接着会在再次发送 3 个 TTL = 2 的 UDP 报文,如下

    285f7c279dd262ae683645be65b5201b.png

    第二个路由器,会再次向主机发送一个差错报文,如下:

    599d05769c6b522b1b802f833cf57b41.png

    这里需要注意的:由于第二台路由器已经相当于是目的地,所以将数据包拆到传输层,但由于传输层上的端口标识了应用层的应用,而在该路由器上不在该应用,进而回复了端口不可达的报文。

    由于图中只经过 2 个路由器,所以截止发送到 TTL = 2

    8c35f2fd83098c505a10c99ec8a9f28e.png

    并且我们可以从 TTL = 2 的回复差错报文看出,只有两个差错报文。其中有个差错报文出现了丢失,并且没有给主机回复差错报文丢失的情况

    展开全文
  • 文章目录UDP协议UDP是用户数据...ARP协议ARP全称Address Resolution Protocol,中文译地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。ARP工作原理如下:ICMP协议ICMP是“Interne...

    UDP协议

    UDP是用户数据报协议(User Datagram Protocol,UDP)的简称,其主要作用是将网络数据流量压缩成数据报形式,提供面向事务的简单信息传送服务。

    UDP协议提供的是面向无连接的、不可靠的数据报投递服务。

    当使用UDP协议传输信息流时,用户应用程序必须负责解决数据报丢失、重复、排序,差错确认等问题。

    此协议的最主要的用途是NFS服务器和小文件传输协议(TFTP)。


    ARP协议

    ARP全称Address Resolution Protocol,中文译为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。

    ARP协议用于将网络中的IP地址解析为目的硬件地址(MAC地址),以保证通信的顺利进行。

    在硬件层次上进行的数据帧交换必须有正确的接口地址(即硬件地址),但TCP/IP只能识别32bit的IP地址,知道主机的IP地址并不能让内核(如以太网驱动程序)发送一帧数据给主机,内核必须知道目的端的硬件地址才能发送数据,ARP的功能是在32bit的IP地址和采用不同网络技术的硬件地址之间提供动态映射。从逻辑Internet地址到对应的物理硬件地址需要进行翻译,这就是ARP的功能。

    ARP的工作原理如下:

    首先,每台主机都会在自己的ARP高速缓冲区(ARP Cache)中建立一个ARP列表,以表示IP地址和MAC地址的对应关系。

    当源主机需要将一个数据包发送到目的主机时,会首先检查ARP列表中是否存在该IP地址对应的MAC地址。

    如果有,直接使用此MAC地址;如果没有,主机先将目的主机的IP地址与自己的子网掩码进行“与”操作,以判定目的主机与自己是否位于同一网段内。

    假如目的主机与自己在同一网段内,向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址;如果目的主机在一个远程网络上,会通过路由器等路由设备转发此ARP请求到远程网络中广播。

    此ARP请求数据包中包括源主机的IP地址、硬件地址、以及目的主机的IP地址。

    源主机和目的主机在一个网络内的情况下:网络中所有的主机收到ARP请求后,会检查数据包中的目的主机IP和自己的IP地址是否一致。如果不相同就不回应,但是该主机仍然会检查自己的ARP高速缓存,如果此请求的源IP地址已经在高速缓存中,可以用ARP请求帧中的发送端硬件地址对高速缓存中相应的内容进行更新;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个ARP响应数据包,告诉它需要查找的MAC地址。

    如果源主机和目的主机不在同一个网络内,ARP请求将由路由器转发至其他网络。如果能找到目的主机,将路由器的MAC地址当作目的主机的网络地址发给源主机,以后源主机和目的主机之间的信息交换都要经过此路由器,这个路由器就被称作ARP代理;如果没有找到目的主机,在ARP高速缓存中会产生一条不完整的表项记录下来。

    源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。

    ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。

    这个高速缓存存放了最近Internet地址到硬件地址之间的映射记录。

    高速缓存中每一项都有一个默认的生成时间,起始时间从被创建时开始计算。

    在Windows操作系统中,可以在命令提示符窗口中使用ARP命令来查看ARP缓存表,具体操作方法如下:


    01 显示ARP缓存表信息 在命令提示符窗口中输入命令“arp -a”。按【Enter】键,即可显示本地电脑中的在这里插入图片描述
    02 捆绑IP地址与MAC地址 还可使用ARP命令将自己的IP地址与MAC地址捆绑起来,以避免局域网中的其他电脑使用自己的IP地址,执行命令“arp/s 192.168.1.10148-5B-39-E9-DE-9E”,前者为IP地址,后者为MAC地址。若无法执行此命令,需要以管理员身份运行命令提示符。要想解除IP地址与MAC地址的绑定,只需执行命令“arp-d 192.168.1.154”,如下图所示。

    在这里插入图片描述


    ICMP协议

    ICMP是“InternetControlMessageProtocol”(Internet控制消息协议)的缩写。

    它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。

    控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

    这些控制消息虽然并不传输用户数据,但对用户数据的传递起着至关重要的作用。

    PING是最常用的基于ICMP的服务。

    ICMP消息在以下几种情况下发送:
    (1)当数据报不能到达目的地;
    (2)当网关已经失去缓存功能;
    (3)当网关能够引导主机在更短路由上发送。

    从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让操作者能够检测网络的连线状况,也能确保连线的准确性,其功能如下:
    (1)侦测远端主机是否存在;
    (2)建立及维护路由资料;
    (3)重导资料传送路径;
    (4)资料流量控制。

    展开全文
  • ICMP 协议在之前网络层的介绍中,我们知道 IP 提供一种无连接的、尽力而为的服务。这就意味着无法进行流量...虽然说 ICMP 协议将 IP 协议封装在内部,所以大多数人将 ICMP传输层的协议,但实际上 ICMP 是 IP ...
  • ICMP 协议在之前网络层的介绍中,我们知道 IP 提供一种无连接的、尽力而为的服务。这就意味着无法进行流量...虽然说 ICMP 协议将 IP 协议封装在内部,所以大多数人将 ICMP传输层的协议,但实际上 ICMP 是 IP ...
  • 网络层协议---ICMP协议

    千次阅读 2018-05-29 23:29:12
    在上篇博客中讲过,IP协议提供的是不可靠无连接数据传输服务,它具有传输数据到达目的主机能力,但并不保证数据被准确送达,那么需要保证数据送达工作应该由其他模块来完成。其中一个重要模块就是ICMP...
  • 5.2网际协议IP:ARP和ICMP

    2020-04-27 17:45:52
    ARP协议为IP协议提供服务,IP协议为ICMP提供协议,ICMP为IGMP协议提供服务。 ARP协议(地址解析协议)作用 解析目标主机MAC地址。通过IP地址向本网段发送目标MAC地址全F广播包,然后解析目标地址MAC地址。并...
  • ICMP装在IP数据包中,但是不是传输层协议(该层的协议为应用进程提供端到端的通信服务)也不是网络层协议(网络层提供路由和寻址的功能),算2.5层 需要注意的是,路由器由于拥塞丢包的行为不会生成ICMP me
  • IP协议以及ICMP、Ping

    千次阅读 2018-08-24 11:39:13
    IP协议是TCP/IP协议的动力,它·上层协议提供不可靠、无状态、无链接的服务。 无状态是指通信双方传输数据状态不同步,因此所有IP数据报发送、传输和接受都是相互独立、没有上下文关系。这意味着它无法...
  • [网络层] ICMP协议以及ping命令

    千次阅读 2018-05-28 19:12:08
    我们知道,IP协议提供的是尽力而为的服务。 IP协议的优点是简单,但缺少差错控制和查询机制。IP分组一旦发出去,是否到达主机,以及在传输过程中出现哪些错误,源主机是不知道。在这种情况下,如果出现一些问题...
  • IP层提供的服务是通过IP层对数据包封装与拆封来实现 IP数据包格式分为报头区和数据区两大部分,其中报头区是为了正确传输高层数据而加各种控制信息,数据区包括高层协议需要传输数据。 版本: 占4位,指...
  • TCP/IP协议族是一个四层协议系统,从下往上分别是:数据链路层网络层传输层应用层每一层完成不同功能,且通过若干协议来实现,上层协议使用下层协议提供的服务。TCP/IP协议族体系结构及主要协议数据链路层数据链路...
  • 整理资料《计算机网络》第7版&老师ppt大家发现了,我尽可能多复习那些我有可能做得对题目,有些根本没印象自动放弃。...并且能够高层协议提供flow-controlled 服务。1、先捋清楚UDP和IP...
  • ICMP为什么没有用端口

    千次阅读 2015-01-29 19:53:12
    由于IP层协议是一种点对点的协议,而非端对端的协议,它提供无连接的数据报服务,没有端口的概念。
  • ICMP&&PING

    2019-09-20 20:38:48
    ICMP ...ICMP是一个管理性协议,并且也是一个IP信息服务的提供者。它的信息是被作为IP数据报来传送的。 2.ICMP包具有2个特性:  能主机提供有关网络故障的信息。  被封装在IP数据报内。 ...
  • IP ICMP ARP

    2019-03-08 12:15:24
    IP协议是将多个包交换网络连接起来,它在源地址和目的地址之间传送一种称之数据包东西,它还提供对数据大小重新组装功能,以适应不同网络对包大小要求。 IP不提供可靠传输服务,它不提供端到端或(路由...
  • 我们知道TCP是传输层协议,用于应用层提供服务,通过端口号可以唯一标识一个应用。 1 什么是TCP? TCP是面向连接的,提供端到端可靠性服务的传输层协议。 面向连接: 面向连接中通信中,会在在两个...
  • 网络层协议

    万次阅读 2019-05-11 14:20:51
    ARP协议为IP协议提供服务,IP协议为ICMP协议提供服务,ICMP协议为IGMP协 议提供服务。 ARP协议:将IP地址通过广播,目标Mac地址是FF-FF-FF…解析目标IP地址Mac 地址。(局域网中)通过arp -a可以查看Mac地址。 ...
  • IP报头包含的协议

    2012-03-30 14:32:00
    ICMP是一个管理性协议,并且也是一个IP信息服务的提供者。它的信息是被作为IP数据报来传送的。 ICMP包具有如下特性: 能主机提供有关网络故障的信息。 被封装在IP数据报内。 下面是与ICMP相关的一些常见事件...
  • 1.在TCP/IP 体系结构中,直接 ICMP 提供服务的协议ICMP解析:应用层: (典型设备:应用程序,如FTP,SMTP ,HTTP)DHCP(Dynamic Host Configuration Protocol)动态主机分配协议,使用 UDP 协议工作,主要有两个用途...
  • 练习10.22

    2018-10-22 22:18:40
    2 在 TCP/IP 体系结构中,直接 ICMP 提供服务的协议是 。 正确答案: B PPP IP UDP TCP 3 数据链路两端的设备是 () 。 正确答案: C DTE DCE DTE或DCE DTE和DCE 4 下面哪个选项正确创建socket连接? 正确答案: B ...
  • Linux 网络协议的概述

    千次阅读 2015-06-11 21:25:42
    网络层协议 网络层协议主要包括 IP、ICMP(网络控制报文协议)、ARP(地址解析协议) IP协议协议被设计成互联分组交换通信网,以形成一个...数据报文分段IP主要目的是数据输入/输出网络提供基本算法,
  • 网际层协议:IP协议

    2020-02-04 21:22:21
    网际层协议:IP ...它是计算机网络相互连接进行通信而设计的协议。 IP协议的服务: IP提供不可靠的,无连接的数据传送服务。不可靠指它不能保证IP数据报能成功到达目的地。IP仅提供最好的传输服务...
  • 网络资料

    2020-06-16 20:14:13
    2.在 TCP/IP 体系结构中,直接 ICMP 提供服务的协议是 ? ICMP协议: ICMP是IP层的一个组成部分,ICMP报文是在IP数据报内部被传输的,用于在IP主机、路由器之间传递控制消息。控制消息是指网络不通、主机是否可达...
  • 该项目目标是提供一个本机工具,用于跨多个协议(例如TCP,UDP,HTTP,HTTPS和跨多个平台)带宽,连接/秒,数据包/秒,延迟,丢失和抖动综合网络性能测量。例如Windows,Linux和其他Unix系统。 Ethr从现有...
  • 从其浏览器中输入http://www.baidu.com,直到baidu网站首页显示在其浏览器中,请你分析在此过程中,按照TCP/IP 参考模型,从应用层到网络接口层都用到了哪些协议,每个协议所起...如果 DHCP 服务器客户端提供了一..
  • 最全搭建自己SOCKS代理服务器

    千次阅读 2020-10-16 17:19:41
    这个协议从概念上来讲是介于应用层和传输层之间 “中介层(shim-layer)”,因而不提供如传递 ICMP 信息之类网络层网关服务。在编写网络爬虫时候,我们平常所接触使用到代理IP都是HTTP或者HTTPS代理,很少...
  • 在云平台中,存在两台虚机提供http服务,现在需要使用keepalived形成集群,并通过一个浮动IP访问keepalivedVIP来访问两台...4、安全组除了原来TCP/ICMP/UDP之外,还需要放通vrrp协议,便于交互vrrp报文 5、两台虚.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 427
精华内容 170
关键字:

为icmp提供服务的协议