Stanford CS 144 Note 11 - ICMP service model

ICMP - Internet Control Message Protocol

什么时候用到ICMP 

为了让network layer运行,我们需要

1. The Internet Protocol(IP)

- The IP diagram

- Hop-by-hop delivery from end to end

2. Routing Tables

- Algorithms to populate router forwarding tables

3. ICMP - Internet Control Message Protocol

- Communicates network layer information between end host and routers

- reports error conditions

- Helps us diagnose problems

ICMP - 性质

ICMP - 原理

当router无法将packet正确地forward到destination B

它就会从router向source送回message,表示出现了error

IPMC - 结构

把原先的IP packet 中的header(包含了从A到B的 SRC和DEST),和data的前八位取出,加上type和code两个section,以此得到从router发回A的新IP packet中的data部分

(Type和Code两个section包含了对这个error的定义,例如Type 3 + Code 0 = destination network unreachable)

这个新packet的header中,IP src变成了router,IP dst变成了A

Ping命令是如何使用ICMP的

 A 发送一个data部分为echo request的IP packet到B

B 发送一个data部分为echo reply的IP packet到A

Traceroute命令是如何使用ICMP的

A发送一个UDP message,但是在IP header中,它的TTL(time to live)=1,因此当这个packet到达第一个router的时候,TTL decrement变成0,那么这个router需要向A送回一个报告错误为TTL expired的ICMP datagram。那么它的IP header中的src是第一个router,dst是A。当A收到这个信息的时候,就可以得到第一个router的名称。

第二个router就通过发送一个TTL = 2的UDP信息

这个UDP message中的port number是错误的,因此到达B的时候,B会发送会一条报告错误为destination port unreachable的ICMP信息,则trace过程结束

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值