标签:
RARP逆地址解析协议
系统引导的时候, 需要知道本机的IP地址,对于有盘系统,直接从磁盘中读取即可,对于无盘系统,需要通过RARP过程知道IP地址。
RARP过程
从接口卡上面读取唯一的硬件地址,然后发送RARP请求,请求某个主机响应该无盘系统的IP地址。
RARP分组格式
大致与ARP类似,不同点:1.帧类型代码为0x8035。2.请求时操作代码为3,应答时操作代码为4。
ICMP:Internet控制报文协议
ICMP属于IP层的一种协议。作用是传递差错报文以及其他需要注意的信息。
ICMP类型的IP数据报格式
IP首部(20字节) |
ICMP报文 |
其中ICMP报文的格式如下:
8位类型 |
8位代码 |
16位校验和 |
(不同类型和不同类型代码的内容) |
ICMP报文的类型以及代码有多种,具体可以分为查询报文与差错报文两个大类。
ICMP地址掩码请求与应答
ICMP地址掩码请求用于无盘系统在引导过程中获取自己的子网掩码。
其请求与应答报文格式如下:
类型(17or18) |
代码(0) |
检验和 |
标识符 |
序列号 |
|
32位子网掩码 |
标识符和序列号字段由发送端任意选择设定,这些值在应答中将被返回,这样,发送端就可以把应答与请求相匹配。
ICMP时间戳请求与应答
ICMP时间戳请求允许系统向另外一个系统查询当前的时间,返回值是自午夜开始的毫秒数。
ICMP端口不可达差错
UDP数据报的规则之一是,如果收到一份UDP数据报而且目的端口与响应的进程不相符,那么UDP就会返回一个ICMP不可达报文。
其一般格式如下:
类型(0) |
代码(0~15) |
检验和 |
未用(全0) |
||
IP首部(包括选项)+原始IP数据报中数据的前8个字节 |
之所以返回前八个字节,是因为TCP和UDP的前八个字节是源端口和目的端口。
IP首部中包含了协议字段,使得ICMP知道如何解释后面的8个字节。
Ping程序
Ping程序的目的是测试另一台主机是否可达,如果不能达,那么久不能Telnet或者FTP到那台主机。
Ping程序是使用ICMP报文来实现的。
Ping程序的方式是发送一份ICMP回显请求报告给主机,并且等待返回ICMP回显应答数据报。
ICMP回显请求和回显应答报文格式:
类型(0或者8) |
代码(0) |
检验和 |
标识符 |
序列号 |
|
选项数据 |
标识符字段是发送进程的ID号,序列号从0开始,每发送一次新的回显请求就增加1.
Ping程序写法
局域网(LAN)中:ping 主机名;ping IP地址
广域网(WAN)中:ping 网址
通过Ping程序可以得到往返的时间以及丢包率等信息。
IP记录路由选项
Ping程序-R选项,可以提供记录路由的功能。这属于IP首部中 选项 字段的一个功能。由于IP首部最大值是60字节,首部固定项是20字节,所以选项字段的大小最大为40字节。
在记录路由时,前三个字节用于确定选项的类型,那么就只有37个字节可以用于存放路由地址,IP地址是4个字节,因而最多只能存放9个路由地址。
IP时间戳选项
与记录路由选项类似
在原来三个字节的后面还有两个字节OF和FL
OF用于确定是否装满
FL表示装的内容
标签:
原文地址:http://www.cnblogs.com/sslblog/p/5654452.html