执行 ping 操作的时候都发生了什么?

(网易游戏一面的问题,没答上来...)

不考虑域名解析、ARP 广播、路由转发、各种校验的简化版
ping 192.168.0.4  ---->  构建 ICMP 包  ---->  构建 IP 分组  ---->  解析硬件地址封装成帧  ---->    物理层发送

接收方就是反过来拆包的过程。

完整流程如下:

  1. 如果是 ping 域名,首先需要通过 DNS 服务拿到对方的 IP。
  2. 主机构建一个 ICMP 格式的数据包,由 ICMP 协议将这个数据包(有效负荷)连同目的 IP 地址一起交给 IP 协议。
  3. IP 协议构建一个分组(本机 IP + 控制信息 + 目的 IP),控制信息至少包含了 01h 的协议字段,这样当此分组到达目的方时,这些内容就会告诉目的主机应该将这个有效负荷交付给哪个协议来处理,本例中就是 ICMP。
  4. 如果目的 IP 不跟自己在同一个网段,则需要通过路由转发,先通过路由信息得到网关 IP。如果在同一网段则没有此步骤。
  5. 如果之前与目的 IP (或网关 IP)通信过,应该在 ARP 缓存表中能查到对应的 MAC 地址。如果没有,就需要通过 ARP 广播来获取 MAC 地址了。把 IP 地址解析为 MAC 地址后,此分组就可被传送到数据链路层以组建成帧。
  6. 数据链路层将控制信息封装到此分组上,创建成帧。在这个帧中,附加有目的 MAC 地址和源 MAC 地址,以及以太网类型字段(用来指明应用于帧数据字段的协议)。在帧的尾部是 FCS(帧校验序列)字段,这个部分装载了 CRC(循环冗余校验)的计算结果。
  7. 把帧交付给物理层,物理层会以一次一比特的方式将帧发送到物理介质。
  8. 这时,此冲突域中的每台设备都会接收这些比特,并将它重新组建成帧。每个设备都会对接收到的内容进行 CRC 运算,并与帧中 FCS 字段的内容进行比对。如果值不匹配,接收到的帧将被丢弃。如果匹配,接着将检查目的 MAC 地址与自己的是否匹配。如果匹配,则接下来查看以太网类型字段,以获悉完成数据后续处理的网络层协议。
  9. 将分组从帧中取出,并将其他部分丢弃。然后,分组被递交给以太网类型字段中列出的协议(本例是 IP 协议)。
  10. IP 协议接收这个分组,并检查它的 IP 的地址。如果这是一个路由器(网关),跳到 11。如果这就是目的主机,跳到下一步 12。
  11. 由于分组的目的 IP 地址与此接收路由器上的各个地址均不匹配,路由器会在其路由表中查找目的 IP 的地址,(在此路由表中需要包含目的子网的相关表项,否则路由器会立即将收到的分组丢弃,并同时向发送方回送一个携带有目标网络不可达信息的 ICMP 报文。),并按照路由规则被交换到指定的输出接口的缓冲区内。接着重复 5 ~ 11 步骤。
  12. 分组的目的 IP 与此主机 IP 地址匹配,检查分组的协议字段,了解分组有效负荷的交付对象。此有效负荷将被递交给 ICMP,后者知道这是一个回应请求数据。ICMP 将负责应答这个请求,它首先立即丢弃这个接收到的分组然后产生一个新的有效负荷作为回应应答数据

之后的流程就和上面一样了~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • 网络层提供的两种服务 在计算机网络领域,网络层应该向运输层提供怎样的服务(面向连接还是无连接)曾引起了长期的争论,...
    srtianxia阅读 3,924评论 0 12
  • 第二章 物理层 频分复用:频分复用的用户在同样的时间占用不同的带宽资源(频率带宽) 时分复用:时分复用的用户在不同...
    PramaWells阅读 3,553评论 1 3
  • 五、因特网的路由选择协议 1.有关路由选择协议的几个基本概念 Ⅰ、理想的路由算法 路由表中的路由是怎样得出的呢?核...
    dmmy大印阅读 1,909评论 0 4
  • 今天对于我来说是意义非凡的一天,初二谈的男朋友,刻骨铭心,分分合合,拉拉扯扯,到今天,终于,彻底,放下了。 八年...
    沉伏阅读 200评论 0 1
  • 夜色浓重,天上无半点星辰,寂静衬出的神秘与阴暗随着沁人凉意渗入骨髓。 一行人踏着细细密密的脚步,由远及近。 你走在...
    小鳄鱼008阅读 512评论 0 0