zoukankan      html  css  js  c++  java
  • TCP/IP详解,卷1:协议--RARP:逆地址解析协议

    引言

    具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取 I P地址。但是无盘机,
    如X终端或无盘工作站,则需要采用其他方法来获得 I P地址。
    网络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家配置的。无盘系统
    的R A R P实现过程是从接口卡上读取唯一的硬件地址,然后发送一份 R A R P请求(一帧在网络
    上广播的数据),请求某个主机响应该无盘系统的 I P地址(在R A R P应答中)。
    在概念上这个过程是很简单的,但是实现起来常常比 A R P要困难

    RARP的分组格式

    R A R P分组的格式与A R P分组基本一致。它们之间主要的差别是 R A R P请求或
    应答的帧类型代码为0 x 8 0 3 5,而且R A R P请求的操作代码为3,应答操作代码为4。
    对应于A R P,R A R P请求以广播方式传送,而R A R P应答一般是单播( u n i c a s t )传送的

    RARP服务器的设计

    虽然R A R P在概念上很简单,但是一个 R A R P服务器的设计与系统相关而且比较复杂。相
    反,提供一个A R P服务器很简单,通常是 T C P / I P在内核中实现的一部分。由于内核知道 I P地
    址和硬件地址,因此当它收到一个询问 I P地址的A R P请求时,只需用相应的硬件地址来提供
    应答就可以了

    作为用户进程的RARP服务器

    R A R P服务器的复杂性在于,服务器一般要为多个主机(网络上所有的无盘系统)提供硬
    件地址到I P地址的映射。该映射包含在一个磁盘文件中(在 U n i x系统中一般位于/ e t c / e t h e r s目
    录中)。由于内核一般不读取和分析磁盘文件,因此 R A R P服务器的功能就由用户进程来提供,
    而不是作为内核的T C P / I P实现的一部分。

    更为复杂的是,R A R P请求是作为一个特殊类型的以太网数据帧来传送的(帧类型字段值
    为0 x 8 0 3 5,)。这说明R A R P服务器必须能够发送和接收这种类型的以太网数据帧

    每个网络有多个RARP服务器
    R A R P服务器实现的一个复杂因素是 R A R P请求是在硬件层上进行广播的
    这意味着它们不经过路由器进行转发。为了让无盘系统在R A R P服务器关机的状态下也能引导,
    通常在一个网络上(例如一根电缆)要提供多个 R A R P服务器。
    当服务器的数目增加时(以提供冗余备份),网络流量也随之增加,因为每个服务器对每
    个R A R P请求都要发送R A R P应答。发送R A R P请求的无盘系统一般采用最先收到的 R A R P应答
    (对于A R P,我们从来没有遇到这种情况,因为只有一台主机发送 A R P应答)。另外,还有一
    种可能发生的情况是每个R A R P服务器同时应答,这样会增加以太网发生冲突的概率

    小结

    R A R P协议是许多无盘系统在引导时用来获取 I P地址的。R A R P分组格式基本上与 A R P分
    组一致。一个R A R P请求在网络上进行广播,它在分组中标明发送端的硬件地址,以请求相应
    I P地址的响应。应答通常是单播传送的。
    R A R P带来的问题包括使用链路层广播,这样就阻止大多数路由器转发 R A R P请求,只返
    回很少信息:只是系统的 I P地址

    虽然R A R P在概念上很简单,但是 R A R P服务器的实现却与系统相关。因此,并不是所有
    的T C P / I P实现都提供R A R P服务器。

  • 相关阅读:
    Ubuntu 16 安装redis客户端
    crontab 参数详解
    PHP模拟登录发送闪存
    Nginx配置端口访问的网站
    Linux 增加对外开放的端口
    Linux 实用指令之查看端口开启情况
    无敌的极路由
    不同的域名可以指向同一个项目
    MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error
    Redis 创建多个端口
  • 原文地址:https://www.cnblogs.com/ygjzs/p/12218999.html
Copyright © 2011-2022 走看看