内容正文:
计算机网络技术基础
LOREM IPSUM DOLOR
TCP/IP协议簇
第四章
章节导读
不同的厂家生产的计算机运行的操作系统可能完全不同,却因为有了TCP/IP协议簇而能够进行相互通信。TCP/IP协议簇包含很多协议,其中最核心的3个协议是网际协议(internet protocol,IP)、传输控制协议(transmission control protocol,TCP)和用户数据报协议(user datagram protocol,UDP)。
本章就来介绍这3个较核心的协议,以及地址解析协议(address resolution protocol,ARP)和网际控制报文协议(internet control message protocol,ICMP)。
3
学
习
目
标
掌握IP数据报的格式。
掌握IPv4地址的结构和分类。
掌握TCP传输连接的建立和释放过程。
理解子网掩码的概念,掌握子网划分的方法。
理解地址解析协议ARP和网际控制报文协议ICMP的工作原理和应用。
了解IPv6地址的结构和特点。
掌握UDP的概念、特点、端口号分配和数据报格式。
掌握TCP的概念、特点、端口号分配和数据报格式。
掌握TCP传输连接的建立和释放过程。
4
4.1 网际协议IP
4.1.5 网际控制报文协议
ICMP概述
1
ICMP属于网络层协议,允许主机或路由器报告差错情况和提供有关异常情况的报告。当传送IP数据报发生错误,比如主机不可达,路由不可达等,ICMP将会把错误信息封包,然后传送回给主机,给主机一个处理错误的机会。
通过之前的学习了解到IP协议并不是一个可靠的协议,它不保证数据被送达。那么,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是网际控制报文协议(Internet Control Message Protocol,ICMP)。
4.1 网际协议IP
ICMP报文通常被网际层或更高层协议(TCP或UDP)所使用,但它并不是高层协议。通常将ICMP报文作为IP数据报的数据,并为其加上IP首部组成IP数据报,如图4-14所示。因此,ICMP报文是在IP数据报内部传输的。
图4-14 ICMP封装在IP数据报内部
4.1 网际协议IP
ICMP报文的种类
2
ICMP报文大致分为两类:一种是查询报文,一种是差错报文。
查询报文:是成对出现的,它帮助主机或网络管理员从一个路由器或另一个主机得到特定的信息,主要有以下几种用途:Ping查询、子网掩码查询和时间戳查询。
差错报文:用于报告路由器或主机在处理一个IP数据报时可能遇到的一些问题。差错报文产生在数据传送发生错误的时候。
4.1 网际协议IP
尽管在大多数情况下,数据的传送错误应该给出ICMP报文。但是在如下几种特殊情况下,是不产生ICMP差错报文的:
(1)ICMP差错报文不会产生ICMP差错报文(ICMP查询报文却可能产生);
(2)目的地址是广播地址或多播地址的IP数据报不产生ICMP差错报文;
(3)作为链路层广播的数据报不产生ICMP差错报文;
(4)不是IP分片的第一片的不发送ICMP差错报文;
(5)源地址不是单个主机的数据报(零地址、环回地址、广播地址或多播地址)不产生ICMP差错报文。
4.1 网际协议IP
ICMP的应用举例
3
Ping是TCP/IP网络中一个最简单而又非常有用的ICMP应用程序,常用于验证两个主机之间的连通性。
1) ping
ping在不同的实现中语法格式不同,在Windows操作系统下的应用格式为:
ping [可选参数] target_name
其中,target_name是目的主机的名字或其IP地址。
4.1 网际协议IP
表4-9 ping命令的常用可选参数及其含义
可选参数 含 义
-t 连续ping指定的主机,直到中断
-a 将地址解析为主机名
-n count 定义用来测试所发出的测试包的个数,缺省值为4
-l size 定义所发送缓冲区的数据包的大小,在默认的情况下windows的ping发送的数据包大小为32 byte
-w timeout 等待每次回复的超时时间,单位为毫秒(ms),默认值为1 000
-4 强制使用IPv4版本
-6 强制使用IPv6版本
ping命令中的常用可选参数及其含义如表4-9所示。
4.1 网际协议IP
当使用ping命令时,实际上是当前主机发送一个ICMP回送请求报文;如果目的主机能接收到这个请求报文并且愿意作出回应,则发送一个回送回答的ICMP报文;当这个回应报文能顺利抵达当前主机时,就完成了一个ping的动作。
例如,在IP地址为192.168.1.19的主机上测试与