【BSD中的arp实现】章节主要探讨了在BSD操作系统中如何实现地址解析协议(ARP),这是一种将IP地址转换为网络接口硬件地址(如以太网地址)的机制。ARP的规范在RFC 826中定义,它对于网络通信至关重要,尤其是在以太网环境下,48位的以太网地址是最常见的硬件地址类型。 在ARP的工作流程中,当主机需要向其他主机发送IP数据时,它首先会在本地的ARP缓存中查找目标主机的硬件地址。如果找到匹配的条目,就会将硬件地址放入以太网帧的头部,然后将数据包放入输出队列等待发送。如果缓存中没有目标主机的硬件地址,ARP会发送一个广播请求,询问目标主机的硬件地址,收到响应后才会继续传输数据。 在Net/3的实现中,ARP与路由表紧密相关。图21-1展示了ARP缓存的结构,包括一个包含所有已知硬件地址信息的双向链表`lli_info_arp`。这个链表由ARP时钟函数每5分钟处理一次,以更新和维护。每个已知硬件地址的IP地址都对应一个路由表节点`rt_entry`,两者之间通过指针相互链接。路由表节点不仅包含硬件地址信息,还通过`rt_gateway`指向一个`sockaddr_dl`结构,用于存储物理地址。如果`sdl_alen`成员为6,表明该结构包含有效的硬件地址。 此外,路由表节点的`rt_ifp`成员指向对应网络设备的`ifnet`结构,这允许系统知道数据包应该通过哪个网络接口发送。对于本地以太网的路由项,其`rt_flags`中的C比特设置表示它是其他路由节点的基础。主机路由节点(标记为H)是在BSD发送数据到其他机器时,通过ARP间接调用路由相关函数生成的。 在描述中,我们看到了三个具有`lli_info_arp`结构的路由表节点,分别对应主机sun、srv4和bsdI的IP地址。而本地以太网的路由项没有对应的`lli_info_arp`,但有一个特殊的路由结点,用于复制形成其他结点。这个结点由`in_ifinit`函数创建,其`rt_flags`中的L比特表示它是一个本地(loopback)接口。 BSD中的ARP实现是一个复杂而精细的系统,它结合了路由表管理和硬件地址解析,确保了网络通信的正确性和效率。这个实现的细节涉及多个数据结构和函数,如`rt_entry`、`ifnet`、`lli_info_arp`和`sockaddr_dl`,它们共同构成了ARP机制的核心。通过深入理解这些概念和交互,我们可以更好地了解网络通信的底层工作原理。
剩余29页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 机械设计螺旋漂烫机sw15可编辑非常好的设计图纸100%好用.zip
- 粉色科幻儿童教学课件教案模板.pptx
- 儿童在绘画素材美术教学课件模板.pptx
- 儿童插画水墨画美术教学课件模板.pptx
- 两个女儿童在树下浅黄小学课件模板.pptx
- 七彩儿童乐园幼儿教学课件模板.pptx
- 卡通儿童及猫素材小学教学课件模板.pptx
- 幼儿园儿童成长手册记录卡模板.pptx
- 知识树素材儿童乐园幼儿教学课件模板.pptx
- 向日葵素材七彩儿童乐园教学课件模板.pptx
- 纸飞机小蜜蜂素材小学儿童教学课件模板.pptx
- lianxi1.asv
- 西门子200smart 恒压供水程序 西门子200smart恒压供水程序,实际的项目,稳定运行多年,三台水泵自动运行 触摸屏是mcgs,包含四个画面监控画面,参数画面,以及报警画面,手动画面,参数画面
- 双机并联自适应阻抗下垂控制仿真 复现一篇核心期刊参考文献(看图) 图一:双机并联整体仿真图 图二:自适应控制模块,有功频率下垂、无功电压下垂以及加入的自适应阻抗下垂控制策略 图三:两台逆变输出的有功功
- 非常详细丰富的代理资源配置
- 永磁同步发电机电磁计算程序,永磁电机设计软件