IP寻址基础

来源:百度文库 编辑:神马文学网 时间:2024/04/29 00:07:21
某台主机发送IP数据包给予其处于同一本地IP子网的另一台主机时,它只要直接把IP数据包发到本地网络上,然后对方能收到。
当处于不同IP子网间的主机需要通信时,主机会把IP数据包发送给一个称为“缺省网关(Default Gateway)”的路由器上,然后由
这台路由器把IP数据包送到目的地。“缺省网关”是TCP/IP的一个配置参数,它是处于本地网络上的某个路由器接口的IP地址
或某台计算机中的某一块网卡的IP地址。
对于缺省网关,在实际应用中多使用两种解决方案:一种是通过 路由器,直接与某一网络(或网段)相连的路由器端口IP地址便
是该网络(或网段)的缺省网关;另一种是通过一些代理服务器软件,如CCProxy、WinRoute、WinGate、Windows 2000/XP/2003的
ICS(Internet连接共享)等,一般需要在安装代理服务器软件的计算机上同时安装工两块网卡,其中一块网卡与外网(如Internet)相
连,另一块网卡与局域网相连,则与局域网相连的这块网卡的IP便是该局域网计算机的缺省网关。
路由器转发IP数据包时,它只是根据IP数据包目标IP地址的网络部分选择合适的接口发送出数据包,路由器还要判断接口所连
接的是否是目标子网,如果是,路由器就直接把数据通过接口发送到网络上,譬如主机A发送主机B的数据包到达路由器时,路
由器发现它的E1接口直接连接着目标网路,于是它将数据通过E1端口直接转发给主机B);否则,路由器会选择下一跳路由器来
传输数据,这样一跳一跳地传输,IP数据包最终将被送到目的主机。
路由器给人的感觉是一种复杂的网络设备,实际上从宏观的角度来看,路由器主要实现两种基本功能:
交换和转发功能:将数据从路由器的进入接口穿过路由器在送到外出接口。
路由功能:即寻址功能,学习和维护路由选择表,决定正确的转发路径。
寻址由路由路由选择算法来实现,为了判定最佳路径,路由选择算法维护着一个包含路由信息的路由选择表,路由选择表可以
将目标网路和下一跳(Next Hop)的关系告诉路由器。当路由器向目的地转发数据包时,它就是通过这张路由选择表来确定所要使
用的输出接口,为了能够路由数据包,路由器需要知道以下信息:目标地址和下一跳地址。

在上图中,假设主机A需要和主机B通信,具体传输的过程如下。
1)主机A先将数据发送给它的默认网关(路由器A,RtA)。
主机A发送的数据帧的格式:
目标MAC地址
源MAC地址
目标IP地址
源IP地址
数据段
RtA的E0的MAC地址
主机A的MAC地址
192.168.3.1
192.168.2.1
数据
在主机A发送的数据帧中,以路由器A的E1端口的MAC地址为目标MAC地址,而且目标IP地址依然为主机B的IP地址。
2)路由器收到的主机A的数据后,查询自己的路由表,它发现E0端口可以到达主机B所在的网络(192.168.3.1)。
路由器A的路由信息表:
网络号 出口
192.168.1.0 E1
192.168.2.0 E0
192.168.3.0 E1
192.168.4.0 E1
192.168.5.0 E1
3)路由器A重写数据包的帧头信息,将目标MAC地址改为路由器B(RtB)的E1的端口的MAC地址,同时修改源MAC地址,然后将
数据包从自己的E1口发送出去。
路由器A发送的数据帧的格式:
目标MAC地址
源MAC地址
目标IP地址
源IP地址
数据段
RtB的E1口的MAC地址
RtA的E1口的MAC地址
192.168.3.1
192.168.2.1
数据
4)数据被送到路由器B后,路由器B按照相同的方法把它送给路由器C。
路由器B的路由信息表:
网络号
出口
192.168.1.0
E0
192.168.2.0
E1
192.168.3.0
E2
192.168.4.0
E1
192.168.5.0
E2
5)路由器C发现192.168.3.0网络直接连接在它的E0口上,于是它将数据包发往E0,在E0上采用ARP来查询192.168.3.1的MAC地址,
最后将数据包发往目的主机。
代理ARP
如果网络上所有的系统都配置成目的地址均在本地网段,那么路由器将扮演远程代理的角色。

1)主机A(IP地址为192.16.1.2/24)试图与主机B(IP地址为192.168.2.2/24)进行通信,但是它不知道主机B的MAC地址,由于主机A
(IP为192.16.1.2/24)被配置为目的地址在本地网段,所以主机A直接发出ARP请求(实际上运行代理ARP的路由器就充当默认网
关的角色)。
2)路由器回答来自主机A的ARP请求,它使用自己的MAC地址回答主机A。于是主机A将数据包发送给路由器,路由器再将数据
包发送给路由器,路由器再将数据包转发到正确的目的主机B。
代理ARP可以简化主机的管理,不过却增加了网络的通信量,并且在路由器上需要较大的ARP缓存,因为在每个不在本网的IP
地址的IP被创建一个映射表项。在使用代理ARP的主机看来,世界就像一个没有路由器的大型物理网络。
_xyz