- 博客(7)
- 收藏
- 关注
转载 NS2中DSR协议路由出错代码分析
链路出错时,处理流程0)、首先是调用xmitFailed()。 首先生成 tellid,fromid,toid;分别代表err数据包通知的源节点,me,和me的下一跳。 然后处理这个无法发送的数据包(调用undeliverablePkt) 同时也处理sendbuffer中包含该错误链路的数据包(也是调用undeliverablePkt) 最后生成
2011-12-12 11:06:08 554
原创 Linux 内核路由发现过程
简单来讲fn_hash_lookup这个函数通过在一张路由表(struct fib_table)中,根据查询路由的目的IP地址(key)在其路由哈希表(struct fn_hash)中找到一个路由域(struct fn_zone),并在路由域中匹配到一个key相等的路由节点(struct fib_node),取其路由别名(struct fib_alias)和路由信息(struct fib_info
2011-12-11 20:04:10 1336
原创 Linux 内核路由发现过程
路由查找 //这个函数负责从fib_table中查找fn_key相匹配的fib_node,然后找到相应的fib_info,//将结果存放在fib_result结构中 //传入参数fz_divisor是linux kernel 2.6的变化,在2.4.x中是直接传入key的,而flp参数里面包含了数据包的全部地址信息,传入之后再用目的地址来计算key.static int
2011-12-11 19:52:56 153
转载 经典路由协议DSR在NS2中的数据发送流程分析
中英文对照:Packet:数据包(分组) 1.recv(Packet* packet, Handler*)接收到一个数据包后,根据它的类型对它进行不同的处理, 如果有有效地SR(source route)头部, 判断目的ip地址是否是就是本节点的ip地址, 如果是,则用handlePacket
2011-12-08 20:28:25 670
转载 经典源路由协议DSR在NS2中的源码分析
(1) 产生路由请求当源节点需要与某目的节点进行通信时,它首先在本节点维护的路由缓存中查找是否有到达该目的节点的路由。若路由缓存中已包含了到达该目的节点的有效路由,则立即使用此路由发送数据分组,否则它将向所有邻居广播RREQ(Route Request)分组,以启动一个路由发现过程来找到一条到达该目的节点的可用路由。 由handlePktWithoutSR(SRPacket& p, b
2011-12-08 20:26:34 1539
转载 Linux TCP/IP协议栈路由部分详解
通过在一张路由表(struct fib_table)中,根据查询路由的目的IP地址(key)在其路由哈希表(struct fn_hash)中找到一个路由域(struct fn_zone),并在路由域中匹配到一个key相等的路由节点(struct fib_node),取其路由别名(struct fib_alias)和路由信息(struct fib_info),生成一个路由查询结果(struct fi
2011-12-02 11:23:07 1232
转载 ARP协议详解以及ARP欺骗
结构e t h e r _ h e a d e r定义了以太网帧首部;结构a r p h d r定义了其后的5个字段,其信息用于在任何类型的介质上传送A R P请求和回答; e t h e r _ a r p结构除了包含a r p h d r结构外,还包含源主机和目的主机的地址。定义常量#define EPT_IP 0x0800 /* type: IP */#defi
2011-12-01 11:10:07 795
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人