TCP/IP分层
|
|
重点:
- ICMP(Internet Control Message Protocol)和IGMP(Internet Group Message Protocol)是IP协议的附属协议。其中,ICMP是ping和traceroute工具的基础。
- ARP(Address Resolution Protocol)和RARP(Reverse Address Resolution Protocol)是某些网络(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。ARP主要用来获取物理地址。
- IP(Internet Protocol)是TCP/IP协议族中最核心的协议。所有的ICMP、IGMP、TCP和UDP数据都已IP数据报格式传输。
- ICMP报文分为两种类型: 1. 查询报文 2. 差错报文。
ICMP
类型 | 代码 | 描述 | 查询 | 差错 | 处理方法 |
---|---|---|---|---|---|
0 | 0 | 回显应答(ping) | * | 用户进程 | |
3 | 目的不可达 | ||||
0 | 网络不可达 | * | 无路由到达主机 | ||
1 | 主机不可达 | * | 无路由到达主机 | ||
2 | 协议不可达 | * | 连接被拒绝 | ||
3 | 端口不可达 | * | 连接被拒绝 | ||
4 | 需要进行分片但设置了不分片比特 | * | 无路由到达主机 | ||
5 | 源站选路失败 | * | 无路由到达主机 | ||
6 | 目的网络不认识 | * | 无路由到达主机 | ||
7 | 目的主机不认识 | * | 无路由到达主机 | ||
8 | 源主机被隔离(作废不用) | * | 无路由到达主机 | ||
9 | 目的网络被强制禁止 | * | 无路由到达主机 | ||
10 | 目的主机被强制禁止 | * | 无路由到达主机 | ||
11 | 由于服务类型TOS,网络不可达 | * | 无路由到达主机 | ||
12 | 由于服务类型TOS,主机不可达 | * | 无路由到达主机 | ||
13 | 由于过滤,通信被强制禁止 | * | 忽略 | ||
14 | 主机越权 | * | 忽略 | ||
15 | 优先权中止生效 | * | 忽略 | ||
4 | 0 | 源端被关闭(基本流控制) | * | TCP由内核处理,UDP则忽略 | |
5 | 重定向 | * | |||
0 | 对网络重定向 | * | 内核更新路由表 | ||
1 | 对主机重定向 | * | 内核更新路由表 | ||
2 | 对服务类型和网络重定向 | * | 内核更新路由表 | ||
3 | 对服务类型和主机重定向 | * | 内核更新路由表 | ||
8 | 0 | 请求回显(ping) | * | ||
9 | 0 | 路由器通告 | * | 用户进程 | |
10 | 0 | 路由器请求 | * | 用户进程 | |
11 | 超时 | ||||
0 | 传输期间生存时间为0(traceroute) | * | 用户进程 | ||
1 | 在数据报组装期间生存时间为0 | * | 用户进程 | ||
12 | 参数问题 | ||||
0 | 坏的IP首部(包括各种差错) | * | 协议不可用 | ||
1 | 缺少必需的选项 | * | 协议不可用 | ||
13 | 0 | 时间戳请求 | * | 内核产生应答 | |
14 | 0 | 时间戳应答 | * | 用户进程 | |
15 | 0 | 信息请求(作废不用) | * | ||
16 | 0 | 信息应答(作废不用) | * | ||
17 | 0 | 地址掩码请求 | * | 内核产生应答 | |
18 | 0 | 地址掩码应答 | * | 用户进程 |
ICMP规则:
- ICMP差错报文必须包括生成该差错报文的数据报IP首部(包含任何选项),还必须包括跟在该IP首部后面的前8个字节(该数据为UDP或TCP协议的源端口号和目的端口号)。这样就可以告知源应用程序,目标应用程序不可达。
TCP状态
|
|
TIME_WAIT状态需要等待2MSL(Maximum Segment Lifetime)。原因: 防止消息丢失。如果对方超时未收到ACK消息的话,会再次发送FIN消息。
当出现大量TIME_WAIT状态时的解决方案:
|
|
当出现大量CLOSE_WAIT状态时的解决方案: 程序问题,检查源码
参考