zoukankan      html  css  js  c++  java
  • 0708

    RARP逆地址解析协议

    系统引导的时候, 需要知道本机的IP地址,对于有盘系统,直接从磁盘中读取即可,对于无盘系统,需要通过RARP过程知道IP地址。

    RARP过程

    从接口卡上面读取唯一的硬件地址,然后发送RARP请求,请求某个主机响应该无盘系统的IP地址。

    RARP分组格式

    大致与ARP类似,不同点:1.帧类型代码为0x80352.请求时操作代码为3,应答时操作代码为4

    ICMPInternet控制报文协议

    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个字节

    之所以返回前八个字节,是因为TCPUDP的前八个字节是源端口和目的端口。

    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时间戳选项

    与记录路由选项类似

    在原来三个字节的后面还有两个字节OFFL

    OF用于确定是否装满

    FL表示装的内容

  • 相关阅读:
    我的博客园的博客开通啦
    设置cookie
    JavaScript自动提示
    补码
    vim快捷键
    JavaScript获取URL参数
    Linux根目录下子目录的功能
    JavaScript分页栏链接转变算法
    可输可选可自动提示,还可增加一个!
    VS2008启动调试,出现“ 已经找到网站 正在等待回应”
  • 原文地址:https://www.cnblogs.com/sslblog/p/5654452.html
Copyright © 2011-2022 走看看