2021-01-21
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-01-21相关的知识,希望对你有一定的参考价值。
参考技术A 摘要人脸聚类最近吸引了越来越多的研究兴趣,以利用网络上的大量人脸图像。图卷积网络(GCN)由于其强大的表示能力而实现了最先进的性能。然而,现有的基于 GCN 的方法主要根据特征空间中的 kNN 关系构建人脸图,这可能导致连接不同类别的两个人脸的大量噪声边缘。当消息通过这些噪声边缘时,面部特征将被污染,从而降低 GCN 的性能。在本文中,提出了一种名为 Ada-NETS 的新算法,通过为 GCN 构建干净的图来聚类人脸。在 Ada-NETS 中,每个人脸都被转换到一个新的结构空间,通过考虑相邻图像的人脸特征来获得鲁棒的特征。然后,提出了一种自适应邻居发现策略来确定连接到每个人脸图像的适当数量的边。它显着减少了噪声边缘,同时保持了良好的边缘,从而为 GCN 构建具有干净而丰富边缘的图形来聚类人脸。在多个公共聚类数据集上的实验表明,Ada-NETS 显着优于当前最先进的方法,证明了其优越性和泛化性。
1.引言
近年来,网络上的图像数量迅速增加,其中很大一部分是以人为中心的照片。在几乎没有人为参与的情况下理解和管理这些照片是一项艰巨的任务,例如将来自某个人的照片关联在一起。面对这些需求的一个基本问题是人脸聚类(Manning et al., 2008)。
近年来,人脸聚类得到了彻底的研究。使用图卷积网络获得了显着的性能改进(Wang 等人,2019b;Yang 等人,2019;2020;Guo 等人,2020;Shen 等人,2021)由于其强大的特征传播能力.代表性的 DA-Net (Guo et al., 2020) 和 STAR-FC (Shen et al., 2021) 使用 GCN 通过顶点或边分类任务来学习增强的特征嵌入,以辅助聚类。
然而,限制现有基于 GCN 的人脸聚类算法能力的主要问题是人脸图中存在噪声边缘。如图1(b)所示,噪声边缘是指不同类别的两个面之间的连接。与 Citeseer、Cora 和 Pubmed 等以显式链接关系作为边的常见图形数据集不同(Kipf & Welling, 2017),人脸图像不包含明确的结构信息,而仅包含从经过训练的 CNN 模型中提取的深层特征。因此,人脸图像被视为顶点,人脸图像之间的边缘通常在构建图时基于 kNN (Cover & Hart, 1967) 关系构建:每个人脸作为一个探针,通过以下方式检索其 k 个最近邻居深度特征(Wang 等人,2019b;Yang 等人,2019;2020;Guo 等人,2020;Shen 等人,2021)。 kNN 关系并不总是可靠的,因为深度特征不够准确。因此,噪声边缘与 kNN 一起被引入到图中。噪声边缘问题在人脸聚类中很常见,但很少受到研究关注。例如,(Yang et al., 2020; Shen et al., 2021) 中使用的图在测试中包含约 38.23% 的噪声边缘。噪声边缘会在顶点之间传播噪声信息,在聚合时会损害它们的特征,从而导致性能下降。在图 1 (b) 中,三角形顶点 v1 与三个不同类别的顶点相连,它会被图中传递的消息污染。因此,基于 GCN 的链接预测无法有效解决相关工作中的噪声边缘问题(Wang 等人,2019b;Yang 等人,2020;Shen 等人,2021)。
图 1:基于 GCN 的人脸聚类中的噪声边缘问题。图中不同的形状代表不同的类别。 (a) 要聚类的人脸图像。 (b) 在基于 na ̈ıve kNN 构建图时引入了噪声边缘。 (c) 通过特征距离连接边缘可能会导致噪声边缘。 (d) 现有的“一刀切”的解决方案对每个顶点使用固定数量的邻居会引入许多噪声边缘。
如图 1 (c) (d) 所示,去除人脸图中的噪声边缘的挑战是双重的。首先,深度特征的表示能力在现实世界的数据中是有限的。仅根据深度特征很难判断两个顶点是否属于同一类,因此连接不同类的两个顶点不可避免地会带来噪声边缘。其次,在构建图时很难确定每个顶点连接多少条边:连接的边太少会导致图中的信息聚合不足。连接的边太多会增加噪声边的数量,并且顶点特征会被错误连接的顶点污染。虽然 Clusformer (Nguyen et al., 2021) 和 GAT (Velickovic et al., 2018) 试图通过注意力机制减少噪声边缘的影响,但各个顶点之间的连接非常复杂,因此很难找到注意力权重学习的常见模式(Yang et al., 2020)。
为了克服这些严峻的挑战,每个顶点周围的特征都被考虑在内,因为它们可以提供更多信息。具体来说,当考虑附近的其他顶点时,可以改进每个顶点特征表示。这有利于解决图 1 (c) 中的表示挑战。然后,一个顶点与其他顶点之间的边数可以从它周围的特征模式中学习,而不是为所有顶点手动设计参数。这种学习方法可以有效地减少噪声边缘的连接,这对于解决图 1 (d) 中的第二个挑战至关重要。基于上述思想,提出了一种新的聚类算法,称为结构空间中的自适应邻居发现(Ada-NETS),用于处理聚类中的噪声边缘问题。在 Ada-NETS 中,首先提出了一个结构空间,其中顶点在感知数据分布后,可以通过编码更多的纹理信息来获得鲁棒的特征。然后,仔细设计候选邻居质量标准以指导构建噪声较小但丰富的边缘,以及可学习的自适应滤波器来学习该标准。通过这种方式,自适应地发现每个顶点的邻居,以构建具有干净和丰富边缘的图。最后,GCN 将此图作为输入来聚类人脸。
本文的主要贡献总结如下:
• 据我们所知,这是第一篇在人脸图像上为 GCN 构建图时解决噪声边缘问题的论文。同时,本文阐述了其成因、重大影响、现有解决方案的弱点以及解决该问题的挑战。
• 所提出的 Ada-NETS 可以缓解在人脸图像上构建图形时的噪声边缘问题,从而极大地改进 GCN 以提高聚类性能。
• Ada-NETS 在聚类任务上取得了最先进的性能,在人脸、人物和衣服数据集上大大超过了之前的表现。
2 相关工作
FaceClustering 人脸聚类任务软化人脸大规模样本和复杂数据分布,因此引起了特别的研究关注。经典的无监督方法速度很慢,并且由于其简单的分布假设无法实现良好的性能,例如 K-Means 中的凸形数据(Lloyd,1982)和 DBSCAN 中相似的数据密度(Ester et al.,1996))。近年来,基于 GCN 的监督方法被证明对人脸聚类有效且高效。 L-GCN (Wang et al., 2019b) 部署了一个 GCN 用于子图的链接预测。 DS-GCN (Yang et al., 2019) 和 VE-GCN (Yang et al., 2020) 都提出了基于大 kNN 图的两阶段 GCN 聚类。 DA-Net (Guo et al., 2020) 通过基于密度的图利用非本地上下文信息进行聚类。 Clusformer (Nguyen et al., 2021) 将人脸与变压器进行聚类。 STAR-FC (Shen et al., 2021) 开发了一种结构保留的采样策略来训练边缘分类 GCN。这些成就展示了 GCN 在表示和聚类方面的强大功能。然而,现有方法大多基于kNN构建人脸图,其中包含大量噪声边缘。在构建这些图时,仅根据并不总是准确的深度特征来获得顶点之间的相似度,并且每个顶点的边数是固定的或由相似度阈值确定。
Graph Convolutional Networks GCN 被提出来处理非欧几里得数据,并在学习图模式方面展示了它们的能力。它最初用于转导式半监督学习 (Kipf & Welling, 2017),并由学习特征聚合原理的 GraphSAGE (Hamilton et al., 2017) 扩展到归纳任务。为了进一步扩展 GCN 的表示能力,可学习的边权重被引入到图注意网络 (GAT) 中的图聚合中 (Velickovic et al., 2018)。除了人脸聚类,GCN 还用于许多任务,例如基于骨架的动作识别 (Yan et al., 2018)、知识图谱 (Schlichtkrull et al., 2018) 和推荐系统 (Ying et al., 2018) .然而,这些方法是在结构数据上提出的,其中明确给出了边缘。如果图形是由大量噪声边缘构成的,则 GCN 在人脸图像数据集上可能表现不佳。
图 2:Ada-NETS 的框架。 (一世)。将特征转换到结构空间以获得更好的相似度度量。 (二)。每个顶点的邻居由自适应滤波器发现。 (三)。使用 (II) 发现的邻居关系构建图,GCN 模型使用该图对顶点对进行分类。最终的聚类结果是使用来自 GCN 的嵌入来链接具有高相似性的顶点对获得的。
3 方法论
人脸聚类旨在将一组人脸样本进行分组,使一个组中的样本属于一个身份,不同组中的任意两个样本属于不同的身份。给定一组特征向量 V = v1,v2,...,vi,...,vN | vi ∈ RD 由经过训练的 CNN 模型从人脸图像中提取,聚类任务为每个向量 vi 分配一个组标签。 N是样本总数,D是每个特征的维度。提出了如图 2 所示的 Ada-NETS 算法,通过处理人脸图中的噪声边缘来对人脸进行聚类。首先,将特征转换为提出的结构空间以获得准确的相似度度量。然后使用自适应邻居发现策略为每个顶点查找邻居。根据发现结果,构建一个具有干净和丰富边缘的图作为 GCN 的输入图,用于最终聚类。
3.1 结构空间
噪声边缘问题会导致顶点特征的污染,降低基于 GCN 的聚类的性能。仅仅根据它们的深度特征很难确定两个顶点是否属于同一类,因为不同类的两个顶点也可以具有很高的相似性,从而引入噪声边缘。不幸的是,据我们所知,几乎所有现有方法(Wang 等人,2019b;Yang 等人,2020;Guo 等人,2020;Shen 等人,2021)仅基于成对余弦构建图使用深度特征的顶点之间的相似性。实际上,可以通过考虑结构信息来改进相似度度量,即数据集图像之间的邻域关系。基于这一思想,提出了结构空间的概念来应对这一挑战。在结构空间中,特征可以通过感知数据分布来编码更多的纹理信息,从而更加稳健(Zhang et al., 2020)。一个转换函数 φ 被部署来将一个特征 vi 转换为结构空间,记为 vis:
vis = φ(vi|V),∀i ∈ 1,2,··· ,N。 (1)
如图2(I)所示,在结构空间的帮助下,对于一个顶点vi,它与其他顶点的相似度通过以下步骤计算:首先,通过近似最近邻(Approximate Nearest-neighbour)获得vi的kNN( ANN) 算法基于 vi 与其他顶点之间的余弦相似度,记为 N (vi, k) = vi1 , vi2 , ···, vik 。其次,通过核方法 (Shawe-Taylor & Cristianini, 2004) 进行激励,我们不是直接求解 φ 的形式,而是通过以下方式定义 vi 与其在结构空间中的每个候选者的相似性
κv,v =vs,vs iij iij
(2) 其中 η 加权余弦相似度 scos v ,v = vi·vij 和 Jaccard 相似度
(1−η)sJacv,v +ηscosv,v , ∀j∈1,2,···,k, i ij i ij
i ij ∥vi∥∥vij ∥
sJac v , v 受到基于公共邻居的度量的启发(Zhong et al., 2017)。和
我
上面的定义, κ v , v 测量 v 和 v 在结构空间中的相似性。
iij i ij 3.2 自适应邻居发现
现有方法通过深度特征(Wang 等人,2019b;Yang 等人,2020;Shen 等人,2021)或使用固定的相似度阈值(Guo 等人,2020)从朴素的 kNN 关系中连接边缘。这些方法都是一刀切的解决方案,超参数对性能有很大影响。为了解决这个问题,提出了自适应邻居发现模块来学习每个顶点周围的特征模式,如图2(II)所示。
对于顶点vi,其大小为j的候选邻居是基于深度特征相似度的j个最近邻居顶点,其中j = 1, 2,····,k。它的邻居是指一个特定大小的候选邻居,满足如下所述的某些特定标准。 vi 与其所有邻居之间的边被构造。
3.2.1 候选邻居质量标准
受顶点置信度估计方法 (Yang et al., 2020) 的启发,设计了一种启发式标准来评估每个探测顶点的候选邻居的质量。好邻居应该是干净的,即大多数邻居应该与探测顶点具有相同的类标签,这样在构建图时就不会大量包含噪声边缘。邻居也应该是丰富的,这样消息才能在图中完全传递。为了满足这两个原则,在信息检索中根据Fβ-score(Rijsbergen,1979)提出了标准。与视觉语法类似(Nguyen et al., 2021),所有候选邻居都按照与序列中探测顶点的相似度排序。给定由顶点 vi 探测到的大小为 j 的候选邻居,其质量标准 Q (j) 定义为:
其中 P rj 和 Rcj 是前 j 个候选邻居相对于 vi 的标签的精度和召回率。 β 是权重平衡精度和召回率。较高的 Q 值表示更好的候选邻居质量。
3.2.2 自适应滤波器
使用上述标准,koff 被定义为要选择的邻居数量的启发式真实值:
3.3 用于人脸聚类的 ADA-NETS
为了有效解决人脸聚类中的噪声边缘问题,Ada-NETS 首先利用所提出的结构空间和自适应邻居发现来构建具有干净和丰富边缘的图。然后使用 GCN 模型完成该图中的聚类,如图 2(III)所示。使用上述结构空间中的相似度度量和自适应邻居发现方法,顶点vi的发现邻居表示为N s(vi, k):
其中 Ind 表示按 κ v , v 降序排列的 v 的索引。基于这些邻居关系,如果其中任何一个是另一个已发现的邻居,则通过链接两个顶点之间的边来生成无向图 G (F, A)。 F = [v1 , v2 , ··· , vN ]T 为顶点特征矩阵,A 为邻接矩阵:
通过构建的图 G(F,A),使用 GCN 模型来学习两个顶点是否属于同一类。一个 GCN 层定义为:
其中 A ̃ = A + I, I ∈ RN ×N 是单位矩阵,D ̃ 是对角度矩阵 D ̃ ii = Nj=1 A ̃ i,j , Fl 和 Wl 分别是输入特征矩阵和第 l 层的权重矩阵,和
σ(·) 是一个激活函数。本文使用了两个 GCN 层,然后是一个具有 PReLU (He et al., 2015) 激活和一个归一化的 FC 层。对于一批随机采样的顶点 Bv,训练损失定义为铰链损失的变体版本(Rosasco et al., 2004):
其中 yvi,vj 是批次 Bv 中两个顶点 vi 和 vj 的 GCN 输出特征 v′i 和 v′j 的余弦相似度,[·]+ = max(0,·),∥li = lj∥ 是正对的数量,即vi的ground-truth标签li和vj的ground-truth标签lj相同; β1 和 β2 是正负损失的边际,λ 是平衡这两个损失的权重。
在推理过程中,将测试数据的整个图输入到 GCN 中,得到所有顶点的增强特征 F′ = [v′1, v′2, ···, v′N ]T ∈ RN×D′,其中 D′是每个新特征的维度。
当顶点对的相似度分数大于预定义的阈值 θ 时,它们将被链接。最后,聚类是通过使用联合查找算法传递合并所有链接来完成的,即无等待并行算法(Anderson & Woll,1991)。
4 项实验
4.1 评估指标、数据集和实验设置
Signal-Noise Rate (SNR) 和 Q-value 用于直接评估图构建的质量,其中 SNR 是图中正确边数与噪声边数之比。 BCubed F-score FB (Bagga & Baldwin, 1998; Amigo ́ et al., 2009) 和 Pairwise F-score FP (Shi et al., 2018) 用于评估最终的聚类性能。
实验中使用了三个数据集:MS-Celeb-1M (Guo et al., 2016; Deng et al., 2019) 是一个大规模的人脸数据集,经过数据清洗后包含 86K 身份的约 580 万张人脸图像。为了公平比较,我们遵循与 VE-GCN (Yang et al., 2019) 相同的协议和特征,将数据集按身份平均分为十部分,并将第 0 部分作为训练集,将第 1 部分到第 9 部分作为训练集测试集。除了人脸数据,Ada-NETS 还被评估为在聚类其他对象方面的潜力。服装数据集 DeepFashion (Liu et al., 2016) 使用与 VE-GCN (Yang et al., 2020) 相同的子集、分割设置和特征,其中有 3,997 个类别的 25,752 张图像用于训练,26,960 张图像用于测试的 3,984 个类别。 MSMT17 (Wei et al., 2018) 是目前最大的 ReID 数据集。它的图像是在不同的天气、光照条件和时间段下从 15 个摄像机捕获的,这对聚类具有挑战性。有 1,041 个人的 32,621 张图像用于训练,3,060 个人的 93,820 张图像用于测试。特征是从在训练集上训练的模型中获得的(He et al., 2020)。
学习率最初是 0.01 用于训练自适应滤波器,0.1 用于训练具有余弦退火的 GCN。对于 Huberloss,δ=1,β1 =0.9,β2 =1.0,对于 Hingleloss,λ=1,对于 Q 值,β=0.5。使用动量为 0.9 且权重衰减为 1e-5 的 SGD 优化器。 k 在 MS-Celeb-1M、DeepFashion 和 MSMT17 上设置为 80、5、40。实验是使用 PyTorch (Paszke et al., 2019) 和 DGL (Wang et al., 2019a) 进行的。
4.2 方法比较
在具有不同数量未标记图像的 MS-Celeb-1M 数据集上评估人脸聚类性能。比较方法包括经典的聚类方法 K-Means (Lloyd, 1982)、HAC (Sibson, 1973)、DBSCAN (Ester et al., 1996) 和基于图的方法 L-GCN (Wang et al., 2019b)、DS -GCN (Yang et al., 2019)、VE-GCN (Yang et al., 2020)、DA-Net (Guo et al., 2020)、Clusformer (Nguyen et al., 2021) 和 STAR-FC (Shen等人,2021)。在本节中,为了进一步增强 GCN 的聚类性能,在训练图中添加了一些噪声。表 1 中的结果表明,所提出的 Ada-NETS 在所有测试中都达到了最佳性能(θ = 0.96),在 584K 未标记数据上的 BCubed F-score 比 STAR-FC 高 1.19%,达到 91.40%。随着未标记图像数量的增加,所提出的 Ada-NETS 保持了优越的性能,揭示了图构建在大规模聚类中的重要性。
为了进一步评估我们的方法在非人脸聚类任务中的泛化能力,还对 DeepFashion 和 MSMT17 进行了比较。如表 2 所示,Ada-NETS 在衣服和人物聚类任务中取得了最佳性能。与 STAR-FC 相比,衣服聚类的 Pairwise F-score 为 37.07%,达到了惊人的 39.30%,人物聚类的 Pairwise F-score 为 58.80%,达到了 64.05%。
4.3 消融研究
结构空间和自适应邻居发现的研究 表 3 评估了结构空间和自适应邻居发现的贡献。将构建图的 SNR 与 BCubed 和 Pairwise F 分数进行比较。可以观察到,结构空间和自适应邻居发现都有助于性能提升,其中自适应邻居发现贡献更大。使用这两个组件,图的 SNR 大大提高了 13.38 倍,聚类性能也大大提高。图 4 中的每一行显示了以第一张图像作为探针的发现结果,按结构空间中的相似性排序。带有蓝色圆圈的图像与探针具有相同的身份。它们都成功地在结构空间中获得了比代表不同身份的红色三角形更大的相似性。在自适应滤波器的帮助下,黄色垂直线之后的图像被过滤掉,保持干净和丰富的邻居。如果没有自适应滤波器,带有红色三角形的图像将与其探头连接,导致探头污染。
质量标准研究 根据等式3,该标准包含一个超参数β。较小的 β 更强调精确度,更大的 β 更强调召回。我们选择三个最常用的值 β ∈ 0.5, 1.0, 2.0 来研究它如何影响邻居发现和聚类。表 4 显示了 Ada-NETS 在原始(表示为 Ori.)和结构空间(表示为 Str.)中不同 β 下的性能。 Qbefore 和 Qafter 是大小为 k 和 koff 的候选邻居的 Q 值。 FP和FB是koff下对应的聚类性能。可以观察到,在所有情况下,Qafter 与 Qbefore 相比都有明显的提高。对于相同的β,结构空间比原始空间的改进更明显。如上所述,较高的 Q 值表示更好的候选邻居质量,例如,更多的噪声边缘将被消除(干净)或更多正确的边缘将在图中保留(丰富)。因此,结构空间中的聚类性能也如预期的那样高于原始空间。此外,β = 0.5 在两个空间中均实现了最佳聚类性能,而在结构空间中的敏感度要低得多,达到 95.51% Pairwise F-score 和 94.93% BCubed F-score。这表明了特征表示在结构空间中的鲁棒性。
学习头自适应过滤器
建议使用自适应过滤器从候选邻居中选择邻居。与直接在自适应滤波器中回归 koff 的估计方法(称为 Ekreg)相比,还研究了其他一些估计方法: Ekcls 将 koff 估计表示为 k-
分类任务; EQseq 直接回归所有 j 的 Q 值; EQparam 用二次曲线拟合关于 j 的 Q 值,并估计该曲线的参数。表 5 中的结果表明,估计 koff 的 Ekreg 和 Ekcls 获得的性能明显高于估计 koff 的 EQseq 和 EQparam
估计 Q 值。与 Ekcls 相比,Ekreg 取得了接近的结果,但需要学习的参数更少。 GAT 也通过注意力机制进行了比较以消除噪声边缘,但由于复杂的特征模式而没有获得有竞争力的结果(Yang et al., 2020)。
对 k 的敏感性研究 图 5 (a) 显示了具有 k 方差的聚类性能。 “kNN”表示直接选择最近的k个邻居来构建图,就像现有方法(Yang et al., 2020; Shen et al., 2021)一样,“Structure kNN”表示在N(v)的结构空间中选择kNN , 256)。尽管在结构空间中有所帮助,但两种 kNN 方法都对 k 敏感,因为当 k 增加时会包含更多的噪声边缘。然而,所提出的 Ada-NETS 可以相对稳定地获得良好的性能,表明我们的方法可以有效地提供干净和丰富的邻居来为 GCNs 构建图。
图嵌入的研究 在 Ada-NETS 中,GCN 模块用于生成分布更紧凑的特征,因此更适合聚类。十亿个随机选择的对的 ROC 曲线如图 5 (b) 所示。观察到原始特征嵌入 (OFE) 获得了最差的 ROC 性能,而所提出的 GCN 输出的图嵌入 (GE) 得到了大幅增强。在自适应邻居发现(GE + AND)的帮助下,输出特征更具辨别力。当发现应用在结构空间(GE + AND + SS)时,GCN 可以输出最具区分性的特征。通过 PCA (Pearson, 1901) 对 10 个随机选择的身份进行降维后嵌入的分布如图 5 (c) 所示。可以观察到,在图 5(b)中,一种特征嵌入的 ROC 性能越好,它的嵌入对于某个身份就越紧凑。有了更好的特征嵌入,聚类可以重新开始。这些“GE + AND + SS”的判别图嵌入被用作Ada-NETS的输入,以获得最终的聚类结果进行增强(θ = 0.99)。在表 6 中,将 MS-Celeb-1M 上的聚类结果与使用原始特征嵌入的聚类结果进行了比较。据观察,图嵌入进一步将 Ada-NETS 从最先进的水平提高到了显着的 93.74% 的 Pairwise F-score,在 584K 未标记数据上再次实现了近 1% 的改进。
5 结论
本文提出了一种新的 Ada-NETS 算法来处理在基于 GCN 的人脸聚类中构建图时的噪声边缘问题。在 Ada-NETS 中,首先将特征转换为结构空间以提高相似度度量的准确性。然后使用自适应邻居发现方法在启发式质量标准的指导下自适应地为所有样本寻找邻居。基于发现的邻居关系,构建具有干净和丰富边缘的图作为 GCN 的输入,以获得人脸、衣服和人物聚类任务的最新技术。
ICMP:Internet控制报文协议
ICMP:Internet控制报文协议。
是IP层的组成部分,传递差错报文或其他信息。
ICMP报文被封装在IP数据报内部:
详细格式例如以下所看到的:
个字段含义例如以下:
- 8位类型。表示该ICMP报文的含义。如目的不可达、超时、请求回显等。
- 8为代码。
进一步描写叙述该ICMP报文。ICMP报文的类型由类型字段和代码字段共同决定。
- 16位检验和。和IP首部检验和的算法同样。
我们常常使用的ping程序就是基于ICMP报文进行的传输。pingclient发送一个ICMP回显请求报文,server收到此报文后返回一个ICMP回显应答报文作为应答。client和server都是在内核层发送和接受该报文的,而不是通过用户进程。
回显请求和回显应答报文格式例如以下:
类型0 + 代码0 = 回显应答
类型8 + 代码0 = 回显请求
ICMP回显请求和回显应答报文多出了几个特有的字段:
- 标识符。表示发送进程的ID号。
- 序号。
从0開始,每发送一个新的回显请求就加1.
- 选项数据。实际载荷,比如保存发送时间。接收端用当前时间减去发送时间就能计算出往返时间。
以下是抓包的结果:
client一共向server发送了4个回显请求。TTL字段是在IP首部中的。因为ICMP属于IP层协议,而IP层又是不可靠、无连接、尽力而为式的传输,所以ping偶尔会出现传输出错的情况。
參考:
《TCP/IP具体解释》第6章、第7章。
以上是关于2021-01-21的主要内容,如果未能解决你的问题,请参考以下文章