作者:匙 转自黑基bbs原创精华版
( k: T1 m& c- [3 m# c版权归黑客基地所有,转载请注明出处
- T, p( l! U. C' g7 E . m+ J- T5 ~4 L1 F: c3 J3 {1 I看到标题, 你不会认为这里说的是路由模拟软件吧?4 Q0 X* L$ z9 A. c7 L 不啊,说的就是一个台普通终端。 而且是单网卡的机器。
也许你会说单网卡的机器做路有器不奇怪,8 V# G. Y- V( ~$ W0 S/ O, q( r 比如类似cisco单臂路由……
但是这里说的就是一台再普通不过的机器, 甚至是刚刚安装好的win95。
# C2 G! x1 V& Y/ v" ?( Z…… 其实是讲ip协议在单机中的基本运行,6 W, z2 l4 R( L, _1 a4 P( [- L 本文比较片面,) |5 ]; w7 b) l$ a 因为对ip协议在终端的运行机理没有深刻的理解。
ip协议在电脑上安装后, 就变成了你上网的基石, 每一步连接,8 C2 H, q" G8 R' Q6 h 每一步探索,5 M% q& f9 z. w6 c; k: | w, _ 都由ip协议群在幕后安成。
1 u3 S0 Z4 J9 \+ P! iip协议的安装是要和网络接口(NETWORK INTERFACE)绑定的, 也就是说要和网络适配器搭配着安装。 比如:MODEM 网卡、 虚拟的网络适配器、 VPN网络适配器、 拨号网络适配器、 等。
1 s: D3 ?5 p- q; zIP协议安装后, 会为网络连接创建堆栈,/ Y* d, Y9 c' y/ x( p 为自己创建一个127.0.0.x的本地回路, 自动获取或者等待用户手工设定一个IP地址,1 R( v+ J1 i ^; N/ e3 _' U/ } 向网络公布自己并探索相邻的协议载体, 侦听来自网络的数据包, 按照IP属性设定的DHCP,DNS,GATEWAY等网络规则通讯。
0 K) s( }8 \0 Y) DINTERNET中不同网段无法直接互访,! L, D( }4 }/ g1 K: C 需要借助于路由器包转发功能解决,8 {$ j u+ F+ P. Z! E3 ^ 规则的根据是一个自动或者手工编制路由信息表。
其实在单机内部也是存在包转发过程的, ROUTE命令可以为我们展示一张路由信息表:
8 h- i$ v: J) H" G. U0 K. C" }4 `C:\WINNT\system32>ROUTE PRINT =========================================================================== Interface List 0x1 ........................... MS TCP Loopback interface0 u8 f) o: `+ T% \$ G1 d6 l 0x4000003 ...00 XX XX a8 XX c7 ...... Intel(R) PRO Adapter; w4 s4 c. v) V5 ? ===========================================================================/ x3 \9 O* Z+ x* f, u =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.111 1/ [% K ^' E3 \( E r" Y2 o+ x 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.0.0 255.255.255.0 192.168.0.111 192.168.0.111 1# \$ q+ M1 q8 y ?" _: s' Q 192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1 192.168.0.255 255.255.255.255 192.168.0.111 192.168.0.111 1 224.0.0.0 224.0.0.0 192.168.0.111 192.168.0.111 1 255.255.255.255 255.255.255.255 192.168.0.111 192.168.0.111 1 Default Gateway: 192.168.0.1 =========================================================================== Persistent Routes: None
: u! p. Z# Y9 A0 Q8 G" C/ [这张表告诉我们单机内部IP协议是怎么样维护着不同网络段数据包的转发,
# F+ J8 l- g0 v# t也许你会认为电脑pc应该只存在于一个网络段, 宏观的看是这样的,. X+ p9 O, M$ o# C/ _( t 这里说的却是从协议内部微观角度查看。
7 T* s5 z0 }; i* f; a在内环境中,# v/ w; b8 G( Z9 I4 F: t0 \; B 电脑工作相关的网段是:
1: 255.255.255.255 255.255.255.255 192.168.0.111 192.168.0.111 1. E, k# n. Y2 Z, i 面向网络接口的广播,不论你是什么网络段,LAN还是INTERNET,都存在这个网络段。他是这台电脑与身边IP
( i: y$ l$ a" B( K e9 q环境通讯的基础。
: u" x9 o/ r: y3 ` U v4 C2: 224.0.0.0 224.0.0.0 192.168.0.111 192.168.0.111 1$ U% J+ x5 a3 N* { 多播地址(multicast)同样是探知网络。多播地址利用不同的多播地址所代表的协议或者设备 有针对性的对网
$ |0 R2 J* R: O3 v- _络环境进行发现。
3: 192.168.0.255 255.255.255.255 192.168.0.111 192.168.0.111 1 本计算机所在网络的广播地址。他的存在是与同一网段的机器进行通讯的基础。
6 ]2 A+ ?- u6 G# x4: 192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1 6 W* M# F$ x/ c+ ` 本计算机自身IP访问自身IP的环路。这个路由定义了如果这台计算机访问自己的IP不要经过别的网关,直接通
过127.0.0.1本地回路IP访问自己。相当于自己是自己的网关。
2 A7 P6 T% x! ^7 c- ?% j2 C- d5: 192.168.0.0 255.255.255.0 192.168.0.111 192.168.0.111 1 本计算机所在的网络地址,代表了一个网段。
6: 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 10 h9 _0 S& Q" E# ~7 N' I3 N, x IP协议规定的本地回路的固定地址。只要安装了IP协议,就可以用127.X.X.X访问自己。为了数值的统一,都
}. Y) t) Z4 l+ R) j; B: `用127.0.0.1代表自己。
7: 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.111 13 C' D4 k$ m; v2 S$ X 这个和一般路由器配置的默认路由是一个含义。代表了面向应用的,所有目标不是多播,广播,本地回路,本
& f& \1 w9 }+ ]地IP的数据包,全部通过指定的网关进行转发访问。
1 Q# `* ]9 H' U5 d2 n$ s 路由表在路由器中的配置有很大学问, 很重要的就是表项目的顺序。; d7 l. k& Q1 I 一个顺序合理的路由表代表了性能、安全、高效。
! j4 h) C# ^3 G! Z) h本地计算机中的静态路由表, 如上面所述的表, 也同样采用了选择顺序,+ N" l. }) }1 P* ]; N- G$ h8 u 从下到上。
本地计算机的环路路由是本地静态路由表的特色,& l2 {* Q; i" A1 d6 J 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 15 m% l: ^& i2 E. W; _ 192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1 这个条路由信息可以:8 D! K" |& p! O: \5 z' b 1: 有帮助的。) G+ L3 o. n4 a9 H$ H 可以帮助没有真实网络环境的人,测试本地网络应用程序。用得最多的是本机构造IIS、网络程序编制等。5 }( D ]/ e/ ^* o 2: 安全的。 , ]& j# x+ n: [2 n& p 比如计算机在启动过程中运行的很多虚拟子程序,服务程序,防火墙,系统进程等,都要访问甚至和连接本机
其它程序端口。有了本地回路这种路由,就不用通过网关,很大程度避免了系统信息外漏。 3: 高效的。 减少网络中的流量,并且直接采用本地环路,减少网络质量差的错误等待时间。
4 k1 J. g) ^( B& d# `/ f: E用户完全可以自己增加和修改路由表,( x8 B' p8 j$ T2 e6 a7 c7 b 比如一台电脑和其它电脑连接成为网络。' U/ F2 o1 z( A; r/ B, K5 N 但是他们的网络ip不在同一个网络段中,. P& C0 e# P+ ~& }( @) G 可以通过修改静态路由表, 达到网络相通。
这里要说的是, 有网友问怎么修改静态路由表和不同网段通讯,7 i: V: Q# o- x 网上的我见过最多的回答是:; a9 z( F: C- _+ f2 ] “用 route add xxx.xxx.xxx.xxx mask 255.xxx.xxx.xxx xxx.xxx.xxx.xxx metric x 增加一条静态路由就可
以了”1 [# l* k! q6 K5 C# y3 a 但是实际上要增加两条。" \6 M0 b5 O" E2 P& S+ O, M+ N4 h 网络协议服务的对象就是多方的, 只有一台机器知道一条规则是不够的啊,) d2 m% o: a( o m+ p 所以两台或更多机器上面同时增加到对方的静态路由信息,& V: I( x: V0 m3 i6 Y" }* K4 u* X 双方都知道怎么连接,+ Z1 F& a* `1 P 才能建立连接。
* Q) t; R9 G2 I+ d& c; ?6 s: F本文由于我对tcp/ip的理解还很浅薄,6 Z$ h( T* I. x5 L0 B" K2 S# j" _ 有不对的地方, 还请高手赐教。
7 ^- y N% _6 D2 G7 a4 c附:5 h+ ?+ k7 Z& t( ~; x, ` route命令3 E g+ n( P `; P5 L ROUTE [-f] [-p] [command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |