相信吗?你的电脑就是一台路由器!

2010-08-28 10:45:15来源:西部e网作者:

  看到标题,你不会认为这里说的是路由模拟软件吧?

  不啊,说的就是一个台普通终端,而且是单网卡的机器。

  也许你会说单网卡的机器做路有器不奇怪,比如类似cisco单臂路由……

  但是这里说的就是一台再普通不过的机器,甚至是刚刚安装好的win95。

  ……

  其实是讲ip协议在单机中的基本运行,本文比较片面,因为对ip协议在终端的运行机理没有深刻的理解。

   ip协议在电脑上安装后,就变成了你上网的基石,每一步连接,每一步探索,都由ip协议群在幕后安成。

  ip协议的安装是要和网络接口(NETWORK INTERFACE)绑定的,也就是说要和网络适配器搭配着安装,比如:MODEM 网卡、 虚拟的网络适配器、 VPN网络适配器、 拨号网络适配器等。

  IP协议安装后,会为网络连接创建堆栈,为自己创建一个127.0.0.x的本地回路,自动获取或者等待用户手工设定一个IP地址,向网络公布自己并探索相邻的协议载体,侦听来自网络的数据包,按照IP属性设定的DHCP,DNS,GATEWAY等网络规则通讯。

  INTERNET中不同网段无法直接互访,需要借助于路由器包转发功能解决,规则的根据是一个自动或者手工编制路由信息表。

  其实在单机内部也是存在包转发过程的,ROUTE命令可以为我们展示一张路由信息表:

C:\WINNT\system32>ROUTE PRINT
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x4000003 ...00 XX XX a8 XX c7 ...... Intel(R) PRO Adapter
===========================================================================
===========================================================================
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
        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
    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

  这张表告诉我们单机内部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]

关键词:组网