linux路由内核实现分析(二)---FIB相关数据结构(3)
2013-07-10 12:19
447 查看
fib_node结构
这个结构实际上代表一个路由节点,fn_key是这个路由节点的IP地址或者网络号(对于本地接收路由,它就是代表本地网络设备接口的IP地址,如 172.16.48.2,对于子网单播,它就是子网号,比如172.16.48.0)。对于子网号172.16.48.0,其子网掩码就是 255.255.255.0,该路由项的目的地址长度就是24。而对于本地接收和广播路由,其掩码是255.255.255.255,目的地址长度是 32,同一目的地址长度的路由节点被维护在同一个路由域fn_zone中
struct list_head fn_alias;
//指向fib_alias结构的链表
相同的子网可以共享一个fib_node,fib_alias结构用以标明不同的路由信息,127.10.0.1和127.0.0.1两个A类地址,可以共享一个路由节点(fib_node),但是他们的fib_alias有所不同
一个典型的路由节点示例:
这个路由节点的目的地址长度是24(子网掩码是255.255.255.0),所以它被放到fz_order的值为24的路由域fz_zone中去
struct fib_node { struct hlist_node fn_hash; struct list_head fn_alias; u32 fn_key; };
这个结构实际上代表一个路由节点,fn_key是这个路由节点的IP地址或者网络号(对于本地接收路由,它就是代表本地网络设备接口的IP地址,如 172.16.48.2,对于子网单播,它就是子网号,比如172.16.48.0)。对于子网号172.16.48.0,其子网掩码就是 255.255.255.0,该路由项的目的地址长度就是24。而对于本地接收和广播路由,其掩码是255.255.255.255,目的地址长度是 32,同一目的地址长度的路由节点被维护在同一个路由域fn_zone中
struct list_head fn_alias;
//指向fib_alias结构的链表
相同的子网可以共享一个fib_node,fib_alias结构用以标明不同的路由信息,127.10.0.1和127.0.0.1两个A类地址,可以共享一个路由节点(fib_node),但是他们的fib_alias有所不同
一个典型的路由节点示例:
fn_alias{ fa_info{ .fib_protocol = RTPROT_KERNEL; .fib_nhs = 1; .fib_flags = 0; .fib_prefsrc = 172.16.48.2; struct fib_nh{ .nh_oif = indexof(eth0); .nh_flags = 0; .nh_weight = 1; .nh_scope = RT_SCOPE_HOST; .nh_dev = eth0; } } .fa_tos = 0; .fa_type = RTN_UNICAST; .fa_scope = RT_SCOPE_LINK; .fa_state = 0; } .fn_key = 172.16.48.0; }
这个路由节点的目的地址长度是24(子网掩码是255.255.255.0),所以它被放到fz_order的值为24的路由域fz_zone中去
相关文章推荐
- linux路由内核实现分析(二)---FIB相关数据结构(1)
- linux路由内核实现分析(二)---FIB相关数据结构(2)
- linux路由内核实现分析(二)---FIB相关数据结构
- linux路由内核实现分析(二)---FIB相关数据结构(4)
- linux路由内核实现分析(四)---路由缓存机制(3)
- Linux内核--网络栈实现分析(八)--应用层发送数据(下)
- Linux内核--网络栈实现分析(八)--应用层发送数据(下)
- linux路由内核实现分析(一)----邻居子节点(2)
- linux路由内核实现分析(四)---路由缓存机制(4)
- Linux 路由 学习笔记 之一 相关的数据结构
- linux路由内核实现分析(一)----邻居子节点
- linux路由内核实现分析(三)---路由查找过程
- linux路由内核实现分析(四)---路由缓存机制
- linux路由内核实现分析(三)---路由查找过程
- Linux0.11内核--进程相关数据结构
- linux路由内核实现分析(四)---路由缓存机制(1)
- Linux0.11内核--进程相关数据结构
- Linux2.6内核--VFS层中和进程相关的数据结构
- linux路由内核实现分析(一)----邻居子节点(1)
- linux路由内核实现分析(四)---路由缓存机制(2)