看到标题,你不会认为这里说的是路由模拟软件吧?
不啊,说的就是一个台普通终端,而且是单网卡的机器。
也许你会说单网卡的机器做路有器不奇怪,比如类似cisco单臂路由……
但是这里说的就是一台再普通不过的机器,甚至是刚刚安装好的win95。
……
其实是讲ip协议在单机中的基本运行,本文比较片面,因为对ip协议在终端的运行机理没有深刻的理解。
ip协议在电脑上安装后,就变成了你上网的基石,每一步连接,每一步探索,都由ip协议群在幕后安成。
ip协议的安装是要和网络接口(NETWORK INTERFACE)绑定的,也就是说要和网络适配器搭配着安装,比如:MODEM 网卡、 虚拟的网络适配器、 VPN网络适配器、 拨号网络适配器等。
IP协议安装后,会为网络连接创建堆栈,为自己创建一个127.0.0.x的本地回路,自动获取或者等待用户手工设定一个IP地址,向网络公布自己并探索相邻的协议载体,侦听来自网络的数据包,按照IP属性设定的DHCP,DNS,GATEWAY等网络规则通讯。
INTERNET中不同网段无法直接互访,需要借助于路由器包转发功能解决,规则的根据是一个自动或者手工编制路由信息表。
其实在单机内部也是存在包转发过程的,ROUTE命令可以为我们展示一张路由信息表:
C:WINNTsystem32>ROUTE PRINT===============================================================Interface List0x1 ........................... MS TCP Loopback interface0x4000003 ...00 XX XX a8 XX c7 ...... Intel(R) PRO Adapter==============================================================================================================================Active Routes:Network Destination Netmask Gateway Interface Metric0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.111 1127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1192.168.0.0 255.255.255.0 192.168.0.111 192.168.0.111 1192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1192.168.0.255 255.255.255.255 192.168.0.111 192.168.0.111 1224.0.0.0 224.0.0.0 192.168.0.111 192.168.0.111 1255.255.255.255 255.255.255.255 192.168.0.111 192.168.0.111 1Default Gateway: 192.168.0.1===============================================================Persistent Routes:None
这张表告诉我们单机内部IP协议是怎么样维护着不同网络段数据包的转发,也许你会认为电脑pc应该只存在于一个网络段,宏观的看是这样的,这里说的却是从协议内部微观角度查看。
在内环境中,电脑工作相关的网段是:
1: 255.255.255.255 255.255.255.255 192.168.0.111 192.168.0.111 1
面向网络接口的广播,不论你是什么网络段,LAN还是INTERNET,都存在这个网络段。他是这台电脑与身边IP环境通讯的基础。
2: 224.0.0.0 224.0.0.0 192.168.0.111 192.168.0.111 1
多播地址(multicast)同样是探知网络。多播地址利用不同的多播地址所代表的协议或者设备 有针对性的对网络环境进行发现。
3: 192.168.0.255 255.255.255.255 192.168.0.111 192.168.0.111 1
本计算机所在网络的广播地址。他的存在是与同一网段的机器进行通讯的基础。
4: 192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1
本计算机自身IP访问自身IP的环路。这个路由定义了如果这台计算机访问自己的IP不要经过别的网关,直接通过127.0.0.1本地回路IP访问自己。相当于自己是自己的网关。
5: 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 1
IP协议规定的本地回路的固定地址。只要安装了IP协议,就可以用127.X.X.X访问自己。为了数值的统一,都用127.0.0.1代表自己。
7: 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.111 1
这个和一般路由器配置的默认路由是一个含义。代表了面向应用的,所有目标不是多播,广播,本地回路,本地IP的数据包,全部通过指定的网关进行转发访问。
路由表在路由器中的配置有很大学问,很重要的就是表项目的顺序。
一个顺序合理的路由表代表了性能、安全、高效。
本地计算机中的静态路由表,如上面所述的表,也同样采用了选择顺序,从下到上。
本地计算机的环路路由是本地静态路由表的特色,
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1
这个条路由信息可以:
1: 有帮助的。
可以帮助没有真实网络环境的人,测试本地网络应用程序。用得最多的是本机构造IIS、网络程序编制等。
2: 安全的。
比如计算机在启动过程中运行的很多虚拟子程序,服务程序,防火墙,系统进程等,都要访问甚至和连接本机其它程序端口。有了本地回路这种路由,就不用通过网关,很大程度避免了系统信息外漏。
3: 高效的。
减少网络中的流量,并且直接采用本地环路,减少网络质量差的错误等待时间。
用户完全可以自己增加和修改路由表,比如一台电脑和其它电脑连接成为网络。
但是他们的网络ip不在同一个网络段中,可以通过修改静态路由表,达到网络相通。
这里要说的是,有网友问怎么修改静态路由表和不同网段通讯,网上的我见过最多的回答是:
“用 route add xxx.xxx.xxx.xxx mask 255.xxx.xxx.xxx xxx.xxx.xxx.xxx metric x 增加一条静态路由就可以了”
但是实际上要增加两条。
网络协议服务的对象就是多方的,只有一台机器知道一条规则是不够的啊,所以两台或更多机器上面同时增加到对方的静态路由信息,双方都知道怎么连接,才能建立连接。
本文由于我对tcp/ip的理解还很浅薄,有不对的地方,还请高手赐教。
附:
route命令
ROUTE [-f] [-p] [command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]