的方法来传送它到客户端 。
假如使用"蛋"并且我们在主机上有许多接口,使用"yiaddr"(你的IP地址)字段指出发送包
到哪个网络(网络/接口) 。
[UDP校验和]
6.4服务器/网关接收BOOTREPLY(引导应答)
[UDP校验和]假如"yiaddr"(你的[客户端的]IP地址)指向我们的一个网络,使用上述"蛋"方
法来将它转发到客户端 。
确认将它传送到"BOOTP客户端"UDP目的端口 。
6.5客户端接收
不要忘记为我自己的IP地址(假如我知道)处理ARP请求 。[UDP校验和]
客户端应该丢弃以下进入的包:不是定位到引导端口的IP/UDP;不是BOOTREPLY(引
导应答);
不匹配我的IP地址(假如我知道)或我的硬件地址;不匹配我的事务ID 。
否则我们就收到一个成功的应答 。假如我以前不知道的话,"yiaddr"包含我的IP地址 。
"file"是TFTP"读请求"的文件名 。服务器地址在"siaddr"中 。假如"giaddr"(网关地址)非0,
那么包应该先转发到那里,然后到达服务器 。
7 通过网关引导
这部分协议是可选的并要求许多网关和服务器配合的额外的代码,但它答应跨越网关引导 。
这主要在网关是无盘机器时有用 。
带盘网关(例如,一个做为网关的UNIX机器)可能运行它们自己的BOOTP/TFTP服务器 。
侦听BOOTREQUEST(引导请求)广播的网关可能确定转发还是适当地再广播这些请求 。
例如,做为配置表格的一部分,网关可以有一个接收任意BOOTREQUEST(引导请求)广
播的其它网络或主机的列表 。
即使考虑有一个"hops"字段,简单全部再广播请求仍是一个差的方法,因为广播循环几乎肯
定会发生 。
转发可以立即开始,或等"secs"(客户端尝试的秒数)字段超过某个阀值 。
假如一个网关确定转发请求,它应该查看"giaddr"(网关IP地址)字段 。
假如是0,它就在这个字段中加入自己的IP地址(在接收的网络中) 。
也可以使用"hops"字段来可选控制包可以转发多远 。每次转发应该增加跳数 。
例如,假如跳数超过"3",包应该被丢弃 。
[UDP校验和]
这里我们推荐在网关中增加这个非凡的转发功能 。
但不总是这样子的 。
在网上存在一些"BOOTP转发代理"引导客户端,这些代理可以适当地转发 。
这样这些服务可以和网关在一起,也可以不在一起 。
当转发代理不和网关在一起时,代理可以通过在接收的引导请求中"giaddr"字段加上接口的广
播地址节省一些工作 。
这样应答就可以使用普通的网关来转发,而不包含转发代理 。
当然劣势是你失去了使用"蛋"非广播方式来发送应答的能力,导致在客户端网上的每个主机
的额外的花费 。
8 样例BOOTP服务器数据库
做为一个建议,我们提供一个BOOTP服务器查询可以使用的样例文本文件数据库 。
数据库有两个节,使用第一列使用一个百分符的行做为定界符 。
第一个节包含一个"默认目录",和从通用名称到目录/路径的映射 。
这个节中第一个通用名称是当引用请求包含空"file"字符串是你使用的"默认文件" 。
第二节映射硬件地址类型/地址到IP地址 。可选的,你可以使用一个特定IP地址的通用名称
来忽略默认通用名称 。
一个"后缀"项目也是可选的;假如提供,可以访问任意客户端特定的通用名称对应的"路径名
称"加上"后缀" 。
假如那个文件没有找到,就尝试简单的"路径名称" 。
这个"后缀"选项答应轻而易举建立整套用户通用(配置) 。
下面显示通用格式;一个或多个空格或TAB来定界字段;后面的空字段被省略;空行和以"#"
- 版本2 邮局协议
- 远程用户拨号认证系统 RADIUS记帐协议
- RADIUS计费对于支持隧道协议的修正
- 4 OSI IS-IS 域内路由协议
- 边界网关协议 BGP-4的路由刷新功能
- IOTP Internet开放贸易协议HTTP 补充
- 实时传输协议管理信息库
- HTTP 超文本传输协议状态管理的应用
- 网络文件系统协议
- 约定房产归属的离婚协议有效吗
