CSDN博客

img collide

The Neighbor Table

发表于2004/10/2 10:18:00  1137人阅读

        邻居表包含了与本节点直接物理相连的节点的信息。邻居表中的条目并不是永存的,并且并不一定包含所有直接相连的邻居节点的信息,因为它只是包含与本节点交换过信息的邻居节点的信息。邻居表中的条目是另一种表,包含了通往此邻居节点的地址,协议,所使用的设备以及一些统计信息。
        struct neigh_table *neigh_tables: 此全局变量是一个指向neighbor table所组成的链表的指针。每一个neighbor table包含一系列的函数和数据以及具体邻居的信息组成的一个hash table。neighbor table是一个比较低级的表,它包含了数据适当的传输时间,队列的大小,指向设备的指针以及指向设备操作函数的指针。
        Neighbor Table: 这个结构包含了邻居节点的信息和pneigh data。同一种类型的连接(如通过同一块网卡)的邻居节点都在同一张表里。
            struct neigh_table *next: 指向链表中的下一个table。
            struct neigh_parms parms:包含数据发送时间,队列大小,统计信息,这个变量同时也是此种队列的头部。
            struct neigh_parms *parms_list:指针。
            struct neighbour *hash_buckets[]:与此表关联的邻居的hash table。
            struct pneigh_entry *phash_buckets[]:包含指向设备的指针和key的结构的hash table。
            其它的字段,包括timer 信息,函数指针,locks和统计信息。
        Neighbor Data(struct neighbour):这个结构包含特定的一个邻居节点的信息。
            struct device *dev-连接到这个邻居节点所使用的设备。
            __u8 nud_state-状态信息位,它的值可以是incomplete, reachable, stale等等。也包含不变的一些信息和arp 使用情况。
            struct hh_cache *hh-pointer to cached hardware header for transmissions to this neighbor。
            struct sk_buff_head arp_queue-指向此邻居的所有ARP packets。
            其它的字段,包括链表指针,函数指针,统计信息等等。

        



阅读全文
0 0

相关文章推荐

img
取 消
img