《netstat -r功能实现.doc》由会员分享,可在线阅读,更多相关《netstat -r功能实现.doc(5页珍藏版)》请在金锄头文库上搜索。
1、当前的路由:destination目的网段mask子网掩码interface到达该目的地的本路由器的出口ipgateway下一跳路由器入口的ip,路由器通过interface和gateway定义一调到下一个路由器的链路,通常情况下,interface和gateway是同一网段的metric跳数,该条路由记录的质量,一般情况下,如果有多条到达相同目的地的路由记录,路由器会采用metric值小的那条路由第一条缺省路由:意思就是说,当一个数据包的目的网段不在你的路由记录中,那么,你的路由器该把那个数据包发送到哪里!缺省路由的网关是由你的连接上的defaultgateway决定的该路由记录的意思是:当
2、我接收到一个数据包的目的网段不在我的路由记录中,我会将该数据包通过192.168.123.88这个接口发送到192.168.123.254这个地址,这个地址是下一个路由器的一个接口,这样这个数据包就可以交付给下一个路由器处理,与我无关。该路由记录的线路质量1第二条缺省路由:该路由记录的意思是:当我接收到一个数据包的目的网段不在我的路由记录中,我会将该数据包通过192.168.123.68这个接口发送到192.168.123.254这个地址,这个地址是下一个路由器的一个接口,这样这个数据包就可以交付给下一个路由器处理,与我无关。该路由记录的线路质量1第三条本地环路:127.0.0.0这个网段内所
3、有地址都指向自己机器,如果收到这样一个数据,应该发向哪里该路由记录的线路质量1第四条直联网段的路由记录:当路由器收到发往直联网段的数据包时该如何处理,这种情况,路由记录的interface和gateway是同一个。当我接收到一个数据包的目的网段是192.168.123.0时,我会将该数据包通过192.168.123.68这个接口直接发送出去,因为这个端口直接连接着192.168.123.0这个网段,该路由记录的线路质量1第五条直联网段的路由记录当我接收到一个数据包的目的网段是192.168.123.0时,我会将该数据包通过192.168.123.88这个接口直接发送出去,因为这个端口直接连接着
4、192.168.123.0这个网段,该路由记录的线路质量1第六条本地主机路由:当路由器收到发送给自己的数据包时将如何处理当我接收到一个数据包的目的网段是192.168.123.68时,我会将该数据包收下,因为这个数据包时发送给我自己的,该路由记录的线路质量1第七条本地主机路由:当路由器收到发送给自己的数据包时将如何处理当我接收到一个数据包的目的网段是192.168.123.88时,我会将该数据包收下,因为这个数据包时发送给我自己的,该路由记录的线路质量1第八条本地广播路由:当路由器收到发送给直联网段的本地广播时如何处理当我接收到广播数据包的目的网段是192.168.123.255时,我会将该数
5、据从192.168.123.68接口以广播的形势发送出去,该路由记录的线路质量1第九条本地广播路由:当路由器收到发送给直联网段的本地广播时如何处理当我接收到广播数据包的目的网段是192.168.123.255时,我会将该数据从192.168.123.88接口以广播的形势发送出去,该路由记录的线路质量1第十条组播路由:当路由器收到一个组播数据包时该如何处理当我接收到组播数据包时,我会将该数据从192.168.123.68接口以组播的形势发送出去,该路由记录的线路质量1第十一条组播路由:当路由器收到一个组播数据包时该如何处理当我接收到组播数据包时,我会将该数据从192.168.123.88接口以组
6、播的形势发送出去,该路由记录的线路质量1第十二条广播路由:当路由器收到一个绝对广播时该如何处理当我接收到绝对广播数据包时,将该数据包丢弃掉C:route printIPv4 Route Table=Interface List0x1 . MS TCP Loopback interface0x10003 .00 03 ff 25 88 8c . Intel 21140-Based PCI Fast Ethernet Adapter(Generic)=Active Routes:Network Destination Netmask Gateway Interface Metric0.0.0.0
7、0.0.0.0 172.16.11.1 172.16.11.30 20127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1172.16.11.0 255.255.255.0 172.16.11.30 172.16.11.30 20172.16.11.30 255.255.255.255 127.0.0.1 127.0.0.1 20172.16.255.255 255.255.255.255 172.16.11.30 172.16.11.30 20224.0.0.0 240.0.0.0 172.16.11.30 172.16.11.30 20255.255.255.
8、255 255.255.255.255 172.16.11.30 172.16.11.30 1Default Gateway: 172.16.11.1=Persistent Routes:None路由表中每一个路由表项(或路由)都由五个字段组成:网络目标地址(Network Destination):代表某个可能的目的地址,它是一个IP地址或子网,即表示IP数据包被转发到何处的地址。掩码(Netmask):一个用于将某数据包中的IP地址中的目标地址字段与上面可能的网络地址匹配起来的位模式。网关(Gateway):下一跳的IP地址,数据包必须被转发到此,才能到达特定的目的网络。接口(Interf
9、ace):到达下一跳的接口,这个接口必须用于将数据包进行转发,以达到特定的目的网络。跳数(metric):表示到达目的的过程中经过了多少跳数(路由器数),即路由的成本。示例一:目标主机在本地子网上假设这个服务器(172.16.11.30)要将数据包发往同一子网内的另一台主机(IP地址为172.16.11.80)。那么这个数据包的源地址为172.16.11.30,目标地址为172.16.11.80。1. Windows首先依次从路由表中取出每一个路由,并将数据包的目标地址(172.16.11.80)与选中路由的掩码执行逻辑“与”运算。下面展示结果,这里,路由表中的每一个路由是通过其网络目的地址确
10、定的:Route Netmask 172.16.11.80 AND Netmask0.0.0.0 0.0.0.0 0.0.0.0127.0.0.0 255.0.0.0 172.0.0.0172.16.11.0 255.255.255.0 172.16.11.0172.16.11.30 255.255.255.255 172.16.11.80172.16.255.255 255.255.255.255 172.16.11.80224.0.0.0 224.0.0.0 160.0.0.0255.255.255.255 255.255.255.255 172.16.11.802. 对每一个路由来说,这
11、个“与”运算的结果要与路由的网络目标地址比较,二者的匹配意味着这条路由可用于将数据包转发到其目标地址。如果发现不只有一个匹配,Windows就会选用拥有最长匹配的路由(即1的位数最高的路由)。如果这并没有产生唯一的路由,Windows就任意地选用一个作为路由。从上面的列表中,这个“与”运算的结果导致了两个匹配(路由1和3),因此Windows选择了拥有最长匹配的路由,即第三行的那个。其结果是Windows知道了使用哪个路由将数据包传送到目的地。下面是匹配路由在服务器的路由表中表示方式:Network Destination Netmask Gateway Interface Metric172
12、.16.11.0 255.255.255.0 172.16.11.30 172.16.11.30 203. Windows现在要使用下面的算法来决定下一步做什么:a) 如果路由的网关字段与服务器上的一个网络接口的地址相匹配(或者如果网关是空的话),那么Windows就会用在路由中指定的接口将数据包直接发送到目标地址。b) 如果路由的网关字段并不与服务器上网络接口的任意地址相匹配,Windows将会把数据包转发给路由中的网关字段的地址。很明显,这里符合条件a,路由的网关字段(172.16.11.30)即为分配给服务器单个网卡的地址。Windows因此会作出决定认为目标地址位于本地子网上,这也就是说Windows不需要将数据包发送到任何路由器,而是直接发送给其目的地址。在此例中,Windows使用服务器的172.16.11.30的网络接口,简单地将数据包发送给172.16.11.80,接收主机得到了数据包。示例二:目标主机在远程子网上现在,让我们继续同样的过程,不过这次我们假定服务器想把数据包发往一个不同子网上的一台主机(IP地址为172.16.10.200)。换句话说,数据包的源地址为172.16.11.30,目标地址为172.16.10.200。下面我们看一下Windows是如何利用路由表决定选择哪条路由的:网管网bitsCN_com1. Wi