III Linux系统编程_ 36 TCPIP协议基础_5 IP地址与路由.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:7 大小:185KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

III Linux系统编程_ 36 TCPIP协议基础_5 IP地址与路由.doc

IIILinux系统编程_36TCPIP协议基础_5IP地址与路由.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第36章TCP/IP协议基础5.IP地址与路由IPv4的IP地址长度为4字节,通常采用点分十进制表示法(dotteddecimalrepresentation)例如0xc0a80002表示为192.168.0.2。Internet被各种路由器和网关设备分隔成很多网段,为了标识不同的网段,需要把32位的IP地址划分成网络号和主机号两部分,网络号相同的各主机位于同一网段,相互间可以直接通信,网络号不同的主机之间通信则需要通过路由器转发。过去曾经提出一种划分网络号和主机号的方案,把所有IP地址分为五类,如下图所示(该图出自HYPERLINK"../拷给小宋/LinuxC编程一站式学习/html-chunk/bi01.html"\l"bibli.tcpip"\o"TCP/IPIllustrated,Volume1:TheProtocols"[TCPIP])。图36.9.IP地址类A类0.0.0.0到127.255.255.255B类128.0.0.0到191.255.255.255C类192.0.0.0到223.255.255.255D类224.0.0.0到239.255.255.255E类240.0.0.0到247.255.255.255一个A类网络可容纳的地址数量最大,一个B类网络的地址数量是65536,一个C类网络的地址数量是256。D类地址用作多播地址,E类地址保留未用。随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址,导致B类地址很快就分配完了,而A类却浪费了大量地址。这种方式对网络的划分是flat的而不是层级结构(hierarchical)的,Internet上的每个路由器都必须掌握所有网络的信息,随着大量C类网络的出现,路由器需要检索的路由表越来越庞大,负担越来越重。针对这种情况提出了新的划分方案,称为CIDR(ClasslessInterdomainRouting)。网络号和主机号的划分需要用一个额外的子网掩码(subnetmask)来表示,而不能由IP地址本身的数值决定,也就是说,网络号和主机号的划分与这个IP地址是A类、B类还是C类无关,因此称为Classless的。这样,多个子网就可以汇总(summarize)成一个Internet上的网络,例如,有8个站点都申请了C类网络,本来网络号是24位的,但是这8个站点通过同一个ISP(Internetserviceprovider)连到Internet上,它们网络号的高21位是相同的,只有低三位不同,这8个站点就可以汇总,在Internet上只需要一个路由表项,数据包通过Internet上的路由器到达ISP,然后在ISP这边再通过次级的路由器选路到某个站点。下面举两个例子:表36.1.划分子网的例子1IP地址140.252.20.688CFC1444子网掩码255.255.255.0FFFFFF00网络号140.252.20.08CFC1400子网地址范围140.252.20.0~140.252.20.255表36.2.划分子网的例子2IP地址140.252.20.688CFC1444子网掩码255.255.255.240FFFFFFF0网络号140.252.20.648CFC1440子网地址范围140.252.20.64~140.252.20.79可见,IP地址与子网掩码做与运算可以得到网络号,主机号从全0到全1就是子网的地址范围。IP地址和子网掩码还有一种更简洁的表示方法,例如140.252.20.68/24,表示IP地址为140.252.20.68,子网掩码的高24位是1,也就是255.255.255.0。如果一个组织内部组建局域网,IP地址只用于局域网内的通信,而不直接连到Internet上,理论上使用任意的IP地址都可以,但是RFC1918规定了用于组建局域网的私有IP地址,这些地址不会出现在Internet上,如下表所示。10.*,前8位是网络号,共16,777,216个地址172.16.*到172.31.*,前12位是网络号,共1,048,576个地址192.168.*,前16位是网络号,共65,536个地址使用私有IP地址的局域网主机虽然没有Internet的IP地址,但也可以通过代理服务器或NAT(网络地址转换)等技术连到Internet上。除了私有IP地址之外,还有几种特殊的IP地址。127.*的IP地址用于本机环回(loopback)测试,通常是127.0.0.1。loopback是系统中一种特殊的网络设备,如果发送数据包的目的地址是环回地址,或者与本机其它网络设备的IP地址相同,则数据包不会发送到网络介质上,而是通过环回设备再发回给上层协议和应用程序,