文件名称:选路结构-ax88772c,usb2.0转网口,市场上最具性价比的方案
文件大小:55.88MB
文件格式:PDF
更新时间:2024-07-30 05:02:57
TCP IP详解 全三卷
18.6 选路结构 访问内核路由信息的关键之处是: 1) r t a l l o c函数,用于查找通往目的地的路由; 2) r o u t e结构,它的值由r t a l l o c函数填写; 3) r o u t e结构所指向的r t e n t r y结构。 图1 8 - 8给出了U D P和T C P (参见第2 2章)中使用的协议控制块 ( P C B ),其中包含一个r o u t e 结构,见图1 8 - 2 3。 图18-23 r o u t e 结构 r o _ d s t被定义成一个一般的插口地址结构,但对于 I n t e r n e t协议而言,它就是一个 s o c k a d d r _ i n结构。注意,对这种结构类型的绝大多数引用都是一个指针,而 r o _ d s t是该 结构的一个实例而非指针。 这里,我们有必要回顾一下图 8 - 2 4。从该图可以得知,每次发送 I P数据报时,这些路由是 如何使用的。 • 如果调用者传递了一个 r o u t e结构的指针,那么就使用该结构。否则,就要用一个局部 r o u t e结构,其值设置为 0 (设置r o _ r t为空指针 )。U D P和T C P把指向它们的 P C B中 r o u t e结构的指针传递给i p _ o u t p u t。 • 如果r o u t e结构指向一个r t e n t r y结构(r o _ r t指针为非空 ),同时所引用的接口仍然有 效;而且如果r o u t e结构中的目的地址与 I P数据报中的目的地址相等,那么该路由就被 使用。否则,目的主机的 I P地址将会设置在插口地址结构 s o _ d s t中,并且调用 r t a l l o c来查找一条通向该目的主机的路由。在 T C P链接中,数据报的目的地址始终是 路由的目的地址,不会发生变化,但是 U D P应用可以通过s e n d t o每次都把数据报发送 到不同的目的地。 • 如果r t a l l o c返回的r o _ r t是个空指针,则表明找不到路由,并且 i p _ o u t p u t返回一 第18章 R a d i x树路由表计计463 下载