IIILinux系統编程_36TCP/IP协议基础_5IP地址与路由.docVIP

  • 1
  • 0
  • 约3.67千字
  • 约 7页
  • 2016-12-06 发布于重庆
  • 举报

IIILinux系統编程_36TCP/IP协议基础_5IP地址与路由.doc

IIILinux系統编程_36TCP/IP协议基础_5IP地址与路由

第?36?章?TCP/IP协议基础 5.?IP地址与路由 IPv4的IP地址长度为4字节,通常采用点分十进制表示法(dotted decimal representation)例如0xc0a80002表示为192.168.0.2。Internet被各种路由器和网关设备分隔成很多网段,为了标识不同的网段,需要把32位的IP地址划分成网络号和主机号两部分,网络号相同的各主机位于同一网段,相互间可以直接通信,网络号不同的主机之间通信则需要通过路由器转发。 过去曾经提出一种划分网络号和主机号的方案,把所有IP地址分为五类,如下图所示(该图出自[TCPIP])。 图?36.9.?IP地址类 A类?0.0.0.0到127.255.255.255 B类?128.0.0.0到191.255.255.255 C类?192.0.0.0到223.255.255.255 D类?224.0.0.0到239.255.255.255 E类?240.0.0.0到247.255.255.255 一个A类网络可容纳的地址数量最大,一个B类网络的地址数量是65536,一个C类网络的地址数量是256。D类地址用作多播地址,E类地址保留未用。 随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址,导致B类地址很快就分配完了,而A类却浪费了大量地址。这种方式对网络的划分是flat的而不是层级结构(hierarchical)的,Internet上的每个路由器都必须掌握所有网络的信息,随着大量C类网络的出现,路由器需要检索的路由表越来越庞大,负担越来越重。 针对这种情况提出了新的划分方案,称为CIDR(Classless Interdomain Routing)。网络号和主机号的划分需要用一个额外的子网掩码(subnet mask)来表示,而不能由IP地址本身的数值决定,也就是说,网络号和主机号的划分与这个IP地址是A类、B类还是C类无关,因此称为Classless的。这样,多个子网就可以汇总(summarize)成一个Internet上的网络,例如,有8个站点都申请了C类网络,本来网络号是24位的,但是这8个站点通过同一个ISP(Internet service provider)连到Internet上,它们网络号的高21位是相同的,只有低三位不同,这8个站点就可以汇总,在Internet上只需要一个路由表项,数据包通过Internet上的路由器到达ISP,然后在ISP这边再通过次级的路由器选路到某个站点。 下面举两个例子: 表?36.1.?划分子网的例子1 IP地址 140.252.20.68 8C FC 14 44 子网掩码 255.255.255.0 FF FF FF 00 网络号 140.252.20.0 8C FC 14 00 子网地址范围 140.252.20.0~140.252.20.255 ? IP地址 140.252.20.68 8C FC 14 44 子网掩码 255.255.255.240 FF FF FF F0 网络号 140.252.20.64 8C FC 14 40 子网地址范围 140.252.20.64~140.252.20.79 ? [TCPIP])。 图?36.10.?loopback设备 还有一些不能用作主机IP地址的特殊地址: 目的地址为255.255.255.255,表示本网络内部广播,路由器不转发这样的广播数据包。 主机号全为0的地址只表示网络而不能表示某个主机,如192.168.10.0(假设子网掩码为255.255.255.0)。 目的地址的主机号为全1,表示广播至某个网络的所有主机,例如目的地址192.168.10.255表示广播至192.168.10.0网络(假设子网掩码为255.255.255.0)。 下面介绍路由的过程,首先正式定义几个名词: 路由(名词) 数据包从源地址到目的地址所经过的路径,由一系列路由节点组成。 路由(动词) 某个路由节点为数据报选择投递方向的选路过程。 路由节点 一个具有路由能力的主机或路由器,它维护一张路由表,通过查询路由表来决定向哪个接口发送数据包。 接口 路由节点与某个网络相连的网卡接口。 路由表 由很多路由条目组成,每个条目都指明去往某个网络的数据包应该经由哪个接口发送,其中最后一条是缺省路由条目。 路由条目 路由表中的一行,每个条目主要由目的网络地址、子网掩码、下一跳地址、发送接口四部分组成,如果要发送的数据包的目的网络地址匹配路由表中的某一行,就按规定的接口发送到下一跳地址。 缺省路由条目 路由表中的最后一行,主要由下一跳地址和发送接口两部分组成,当目的地址与路由表中其它行都不匹配时,就按缺省路由条

文档评论(0)

1亿VIP精品文档

相关文档