⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc1180.txt

📁 很多RFC的中文文档
💻 TXT
📖 第 1 页 / 共 4 页
字号:
        Ethernet 1                 |  Ethernet 2 
        IP network "development"   |  IP network "accounting" 
                                   | 
                                   | 
                                   |     H      I      J 
                                   |     |      |      | 
                                 --o-----o------o------o-- 
                                  Ethernet 3 
                                  IP network "factory" 
  
                        图7.   3个IP网络组成的internet 
  
    除了计算机D,每一台计算机都有象图1所示的TCP/IP协议栈。计算机D是路由器, 
它和3网络相连所以有3个IP地址和3个物理地址。计算机D有和图3相类似的TCP/IP协 
议栈,只不过它用3个ARP模块和3个以太网驱动程序代替了图2中所示的2 个。请记 
住计算机D只有一个IP模块。 
  
    网络管理员分配了唯一的IP网络号给每一个以太网。但是IP网络号没有在图中表 
示出来,而只给出了网络名字。 
  
    当A发送一个IP包给B时,其过程和上面举的单一网络的例子是一样的。任何处 
于一个IP网络的计算机之间的通信和前面讨论的直接路径选择相同。 
  
    计算机D 和A 通信,他们是直接通信。计算机D和E通信,是直接的。计算机D 
和H通信,是直接的。这是因为每一对都处于同一个IP网络。 
  
    但是,当计算机A和处于路由器另一端的计算机通信时,路径就不是直接的了。A 
必须通过D把IP包传递到下一个IP网络。这种通信是间接的。 
  
    按这种路径走的IP包由IP模块和TCP,UDP,网络应用程序处理。 
  
    如果A 发送一个IP包给E,则源IP地址和源物理地址是A的,目的IP地址是E 的, 
但是因为A的IP模块把IP包传递给D,所以目的物理地址是D的。 

  
                ---------------------------------------- 
                |address            source  destination| 
                ---------------------------------------- 
                |IP header          A       E          | 
                |Ethernet header    A       D          | 
                ---------------------------------------- 
                 表 6.IP包的物理帧中的地址表示 
                          (从A到E(D之前)) 
  
    D的IP模块收到IP包然后向上解析目的IP地址,发现:"这不是我的IP地址,"就 
直接把IP包传递给了E。 
  
  
                ---------------------------------------- 
                |address            source  destination| 
                ---------------------------------------- 
                |IP header          A       E          | 
                |Ethernet header    D       E          | 
                ---------------------------------------- 
                   表 7.  IP包的物理帧中的地址表示 
                            (从A到E(D之后)) 
  
    一言以蔽之,对于直接通信,源IP地址和源物理地址都是发送者的,目的IP 
地址和目的物理地址都是接收者的。对于间接通信,IP地址和物理地址不是这样的 。 
  
    这个例子是简化的。实际的网络是由许多的因素,比如许多的路由器和各种 
各样的物理网络所组成。象例子一样的网络是有可能存在的因为有时网络管理员想 
把一个大的以太网分开为了防止以太网的广播风暴。 
  
5.3. IP模块选路原则 
  
    这一节的梗概只讲如何选路而不讲为什么。现在让我们来看一看IP模块 
的选路原则或者说是算法吧。 
  
    对于一个要发的IP包,从上层进入IP,IP模块必须决定是直接选路还是间接 
选路,然后IP模块要选择一个低层的网络接口。这些选择是通过咨询路由表后 
作出的。 
  
    对于一个进来的IP包,从低层接口进入IP模块,IP模块必须决定是继续转发 
还是把IP包往上层传递。如果IP包继续转发,则它被视为一个要发的IP包。 
  
    当一个进来的IP包到达则它不在同一个网络接口内继续传递。 
  
    这些决定是在IP包被送到低层接口以前作出的,也在ARP表被调用之前。 
  
5.4 IP地址 
  
     网络管理员根据计算机隶属于什么IP网络分配给每一台计算机一个IP地址。 
4字节中的一部分是网络号,其余部分是主机号。对于表1的计算机有IP地址为: 
223.1.2.1,其中网络号为:223.1.2,主机号是1。 
  
     地址的一部分用作网络号,主机号是由4字节地址的上面的比特决定的。 
在这本指南用的例子里的IP地址是类型C,意思是上3比特说明21比特是网络 
号和8比特是主机号。这样就允许有2097152个类型C 的网络,每个网络可以 
有254台主机。 
  
     IP地址空间是由NIC(网络信息中心)管理的。所有连到万维网的的局域 
网都必须使用NIC分配的网络号。如果你建立了你自己的网络且你不准备连上 
因特网,你仍然要从NIC那儿获得你的网络号。如果你坚持用你自己的号,那 
么你冒着混乱的危险,当你连上另一个网时会使一些不可预料的事情发生。 
  
5.5域名 
  
    人们习惯用名字识别计算机,而不是数字。一台名叫"alpha"的计算机可能 
有IP地址:223.1.2.1。对于一些小的网络,这种"名字到IP地址"的信息经常保 
存在每一台计算机的叫"hosts"文件里。对于一些大的网络,这种对应关系保存在 
服务器上当需要时通过网络来访问。这种文件的其中几行可能是这样的: 
  
   223.1.2.1     alpha 
   223.1.2.2     beta 
   223.1.2.3     gamma 
   223.1.2.4     delta 
   223.1.3.2     epsilon 
   223.1.4.2     iota 
  
   IP地址在第一列,计算机名字在第二列。 
  
   大多数情况下,你可以保存同样的"hosts"文件在所有的计算机上。你可能 
注意到了"delta"只有一个条目尽管它有3 个IP地址。因此Delta能够用3个中的 
任意一个IP地址登录,用哪一个是没有关系的。当Delta 收到一个IP包并检查它 
的目的地址,它会认可3个中的任意一个IP地址。 
  
   IP网络同样有自己的名字,如果你有3个IP网络,你的用以存储这些名字的 
"network"文件会是下面的样子: 
  
        223.1.2     development 
        223.1.3     accounting 
        223.1.4     factory 
  
    网络号在第一列,对应的名字在第二列。 
  
    从这个例子中你可能已经发现了计算机"alpha"是网络"development"上的 
1号计算机,beta是2号计算机诸如此类。你同样可以说"alpha"是"developme 
nt.1",beta是 "development.2"诸如此类。 
  
    对用户来说上述的hosts文件就已经足够了,但是网络管理员可能用下面的 
行代表delta: 
  
        223.1.2.4     devnetrouter    delta 
        223.1.3.1     facnetrouter 
        223.1.4.1     accnetrouter 
  
    hosts文件中的这些新3行给出了每一个delta的 IP地址和一个有意义的名。事实 
上第一个IP地址的两个名字:"delta"和"devnetrouter"是同义字。在实践中,"delta" 
代表计算机多种用途的名字,其他三个名字只是在管理IP路由表时会用到。 
  
   这些文件用于网络管理,网络应用程序给出了一个有意义的名字。其实在操纵int 
ernet时他们是不需要的,但是他们给我们带来了方便。 
  
5.6.路由表 
  
   IP模块是怎样知道用哪一个网络接口当发送IP包时?IP模块用从目的IP地址提取 
出来IP网络号作为索引字查询路由表。 
  
   路由表的每一条路线包含在一行中。路由表的第一列是:IP网络号,直接路径选择 
/间接路径选择标记,路由器的IP地址,接口号。每一个IP包传递时都要用到这张表。 
  
   在大多数计算机上路由表可以用"route"命令。路由表的内容是由网络管理员定 
义的,因为是网络管理员分配IP地址给计算机。 
  
5.7.直接路由选择细节 
  
   为了解释这个问题,让我们来看一看路由选择的位置(前面我们已经学过): 
  
                        ---------         --------- 
                        | alpha |         | beta  | 
                        |    1  |         |  1    | 
                        ---------         --------- 
                             |               | 
                     --------o---------------o- 
                      Ethernet 1 
                      IP network "development" 
  
               图8.  Close-up View of One IP Network 
  
   在alpha内的路由表可能是这样的: 
     -------------------------------------------------------------- 
     |network      direct/indirect flag  router   interface number| 
     -------------------------------------------------------------- 
     |development  direct                <blank>  1               | 
     -------------------------------------------------------------- 
                  表 8.  Example Simple Route Table 
  
    这些信息在UNIX系统下可以用"netstar -r"命令得到。在这个简单的网络里,所 
有的计算机有统一的路由表。 
  
    为了讨论,这张表再次打印出来(没有网络号到网络名的对应关系): 
  
          -------------------------------------------------------------- 
         |network      direct/indirect flag  router   interface number| 
         -------------------------------------------------------------- 
          |223.1.2      direct                <blank>  1               | 
          -------------------------------------------------------------- 
                表 9.  Example Simple Route Table with Numbers 
  
5.8.选路步骤 
  
   alpha发送一个IP包给beta,IP包在alpha的IP模块里,目的IP地址是beta或者是 
223.1.2.2。IP模块从IP地址中提取出网络号然后扫描路由表的第一列,在第一个 
条目找到了匹配网络。 
  
    其他信息表明在这个网络的计算机能够直接到达通过接口1,ARP地址转换表 
使我们得到了它的物理地址,然后这个物理帧直接经接口1到达了beta。 
  
    如果应用程序试图发数据到一个不在网络"development"上的IP地址,则IP 
模块不能在路由表中找到匹配条目,IP模块将丢弃这个IP包。一些计算机会提供 
"网络不可到达"的出错信息。 
  
5.9.间接路由选择细节 
  
    现在,让我们来看一看复杂的路由选择步骤。 
 



 
          ---------           ---------           --------- 
          | alpha |           | delta |           |epsilon| 
          |    1  |           |1  2  3|           |   1   | 
          ---------           ---------           --------- 
               |               |  |  |                | 
       --------o---------------o- | -o----------------o-------- 
        Ethernet 1                |     Ethernet 2 
        IP network "Development"  |     IP network "accounting" 
                                  | 
                                  |     -------- 
                                  |     | iota | 
                                  |     |  1   | 
                                  |     -------- 
                                  |        | 
                                --o--------o-------- 
                                    Ethernet 3 
                                    IP network "factory" 
  
             图 9.  Close-up View of Three IP Networks 
  
   在alpha中的路由表是这样的: 
  
 --------------------------------------------------------------------- 
 |network      direct/indirect flag  router          interface number| 
 --------------------------------------------------------------------- 
 |development  direct                <blank>         1               | 
 |accounting   indirect              devnetrouter    1               | 
 |factory      indirect              devnetrouter    1               | 
 --------------------------------------------------------------------- 
                      表 10.  Alpha路由表 
  
   为了讨论路由表,用数字代替名字再把表画一遍: 
  
  -------------------------------------------------------------------- 
  |network      direct/indirect flag  router         interface number| 
  -------------------------------------------------------------------- 
  |223.1.2      direct                <blank>        1               | 
  |223.1.3      indirect              223.1.2.4      1               | 
  |223.1.4      indirect              223.1.2.4      1               | 
  -------------------------------------------------------------------- 
              表11.  Alpha 的用数字表示的路由表 
  
  
        在Alpha的路由表中的路由器是delta连到网络"development"上的IP地址 
  
5.10.间接选路步骤 
  
   Alpha发送一个IP包给epsilon.IP包在alpha的IP模块中,目的IP地址是epsilon 
(223.1.3.2)。IP模块从IP地址中提取出网络部分(223.1.3)然后扫描路由表的第一 
列寻找匹配的网络,在第二个条目中找到它。 
  
    这个条目说明在网络223.1.3上的计算机通过路由器"devnetrouter"到达。Alpha 
的IP模块通过ARP表把devnetrouter的IP地址翻译成物理地址,然后直接通过Alpha 
的接口1把IP包发给devntrouter。IP包仍然包括epsilon的IP地址 
  
    IP包到达delta的网络"development"然后被传到delta的IP模块。目的IP地址被检 
查因为它和delta的任何IP地址都不同,所以delta向前传递这个IP包。 
  
    Delta的IP模块从目的IP地址中提取出网络部分(223.1.3)然后扫描它的路由表寻 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -