《Internet地址扩展技术.ppt》由会员分享,可在线阅读,更多相关《Internet地址扩展技术.ppt(34页珍藏版)》请在三一办公上搜索。
1、1,第8章 Internet地址扩展技术,要求:1.了解透明路由器、代理ARP解决网络地址复用的思想2.掌握子网编址技术3.掌握子网选路算法的步骤4.掌握超网编址技术和CIDR5.掌握网络地址转换NAT的原理与应用,要解决的问题:1.IP地址不足,特别是B类地址不足 2.网络数目增长过快造成路由表急剧膨胀 主要解决方案:1.子网编址 2.超网编址和CIDR 3.NAT,2,8.1 减少网络数目的技术,如何减少网络数目?多个物理网络共享一个网络地址,1.透明路由器(透明网关,TG)问题:一个A类网可以容纳224-2(约1600万)台主机,如何充分利用A类地址?解答:把局域网引入A类网,A类网(W
2、AN),TG,TG:有一个WAN地址报文投递:先投递给TG,再由TG投递给LAN外面看,是一台一般的主机内部看,是连接WAN与LAN的网关,“透明”是TG的外部视图“网关”是TG的内部视图,3,透明网关的实现技术,局域网:无IP前缀IP地址:四个字节的含义重新解释格 式:广域网网络前缀+p+u+i,p:PSN(packet switch node)上的接口号i:PSN编号 u:局域网上的主机编号,问题:主机5的地址是多少?,4,2.代理ARP(promiscuous ARP,ARP Hack)把一个IP网络前缀映射到两个物理网络上。通过ARP代理技术把一个隐藏网络连接到一个主网络上。,一个网络
3、地址由两个物理网络共享R给出它的物理地址,回答每个网络对其它网络上的主机的ARP请求,数据报到达时正确地路由它们,5,3.子网编址(Subnet Addressing,Subnet Routing,Subnetting)IP地址不足的原因:主机号浪费严重,而网络号又严重缺乏解决思路:从IP地址的主机部分“借”位,并把它们用在网络部分IP地址主机号进一步划分为:子网号+主机号,IP地址,网络号,主机号,主机号,子网号,6,8.2 子网编址技术,可以让一个网络号跨越多个物理网络虽然这个网络号中可以包含多个物理网络,但是互联网的其余部分都只能看到这个“大网”,7,1.子网编址模式和子网掩码 引入子网
4、划分后,IP地址格式有了新的含义:网络号+主机号-互联网部分+本地部分,IP地址,互联网部分,物理网络,主机部分,外部网络号,内部网络号,互联网部分,本地部分,8,问题:如何指示网络部分?解决:使用子网掩码。每一个使用子网的网点都选择一个32位的位模式。若位模式中的某位为1,则对应IP地址中的某位为网络地址中的一位,否则为主机号中的一位。子网掩码:32位,1:网络;0:主机,1111 1111 1111 1111 1111 1111,0000 0000,网络号主机号4掩码,9,Route_IP_Datagram(datagram,routing_table)从数据报中提取出目的IP地址D;if
5、(D的前缀匹配某直接相连的网络地址)then 通过该网络把该数据报发送到目的站else for(路由表中的每一项)do N=D逐比特与子网掩码相“与”if(N等于表项中的网络地址字段)then 将本数据报发往表项中下一跳地址所指定的路由器 endforloopif(没有找到匹配的表项)then 宣布选路出错,2.子网选路 路由表:(网络地址,子网掩码,下一跳)统一的选路算法,10,说明 全“0”掩码,对应默认路由 全“1”掩码,对应特定主机路由,netstat-r 显示的路由表:Active Routes:Network Destination Netmask Gateway Interfac
6、e Metric 0.0.0.0 0.0.0.0 25.20.244.1 25.20.244.2 10 25.20.244.0 255.255.255.128 25.20.244.2 10 25.20.244.2 255.255.255.255 127.0.0.1 127.0.0.1 10 25.255.255.255 255.255.255.255 25.20.244.2 10 127.0.0.0 255.0.0.0 127.0.0.1 1 224.0.0.0 240.0.0.0 25.20.244.2 10255.255.255.255 25.20.244.2 1,0.0.0.0 25.2
7、0.244.1 25.20.244.2 10,25.20.244.2 255.255.255.255 127.0.0.1 10,11,3.子网划分举例 例1:等长子网划分 假设已分配C类网,且已确定需要4个子网,每个子网最多25台机器,表1 C类子网划分表(RFC 950),RFC950规定:不允许使用全0或全1的子网(RFC1812 取消了该限制),关键:确定子网位数,12,划分方法:使用3位子网号,掩码,第4字节:001 00000010 00000011 00000100 00000101 00000110 00000,子网号:,级差:32,分出6个子网,任选其中的4个使用,如选:,子网
8、1:网络号,可分配IP范围,子网2:网络号,可分配IP范围,子网3:网络号,可分配IP范围,子网4:网络号,可分IP范围,13,例2.变长子网划分(VLSM:Variable Length Subnet Mask)假设已给C类网址,设计符合下列要求的子网划分方案:4个网络,每个最多26台主机 3个网络,每个最多10台主机 4个点到点串行链路 划分方法:采用不等长子网掩码。先按最多主机数选择符合要求的子网位,然后对子网再继续划分。,网络,一级子网,二级子网,三级子网,14,表1 C类子网划分表(RFC 950),RFC950规定不能使用全0或全1的子网号 RFC1812取消了该限制,4.说明,表
9、2 C类子网划分表(RFC 1812),15,匿名的点到点网络 无编号网络,副作用:不能直接对这些网络接口进行测试和管理,16,8.3 超网编址和CIDR,1、解决思路:集合多个小的,变成一个大的(与子网编址正好相反)方法:分配一块连续的C类地址来代替B类地址 块的大小是2的幂次,一、问题的起因 问题:若某单位有800台主机,分配一个C类地址不够,分配一个B类地址浪费过大或得不到B类地址,怎么办?解决:分配4个C类地址 问题:如何看待这4个C类地址?若作为4个普通的C类网,则路由表的表项增大,二、超网编址方法和CIDR,问题:在路由表中如何表示这些网络,以避免路由表的膨胀?,17,2.无类型域
10、间选路CIDR(Classless Inter-Domain Routing)解决:把一块相邻的C类地址压缩成一个表项(网络地址,合计)块中最小的网络地址 网络号数比如:信息工程学院16个C类网号 到 表示为(,16),3、CIDR表示方式 无 类 型:抛弃了A、B、C类地址的概念 表示方式:CIDR规定(RFC15171520):把所有IP地址统一看待,不分类别,用两个值来说明一个地址块:最低地址和32比特的掩码 例:信息工程学院 11001010 11000100 00110000 00000000 11001010 11000100 00111111 11111111 则表示为:(,)简
11、写为:(IP前缀表示法),18,引入CIDR时的路由表示例 例:河南省教育网主干的路由表片断,19,1.路由聚类技术 把不同的路由根据前缀聚集成一个路由,这是CIDR的一项重要技术 为支持聚类,还按地理位置分配一定范围的地址,如:欧洲:194195(首字节)北美:198199 中南美:200201 太平洋地区:2022032.分类地址时路由表的查找 Hash方法,把路由表组织成Hash表 考虑到子网路由和特定主机路由,同一哈希值的表项按降序组织3.CIDR时查找路由表的问题 若仍然采用Hash方法,则可能要尝试各种可能的前缀,效率低下,三、CIDR和路由表查找,20,根据唯一前缀原则把路由表组
12、织成一棵二叉树 问题:使用二叉树仅为每个路由存储唯一前缀,而没有覆盖路由的整个网络部分 为保证正确选路,外部节点必须完全匹配(需在外部节点增加网络地址和地址掩码)问题:若包含了子网路由和特定主机路由,则内节点也有可能标识了路由 此时的策略如何?最长匹配选路策略:相关内节点也包含地址/掩码对,并按最长匹配选路,4.CIDR时路由表结构:二叉树,21,唯一前缀,00,0100,0101,011,1010,10110,10111,,,例:假如目标地址是:10111011 10100000 00000000 00000001 若仅查二叉树,则出现错误!,22,问题:上述路由表的表项前21位都相同,若把
13、这21位也体现在树上,则信息冗余!,最长匹配选路策略:相关内节点也包含地址/掩码对,并按最长匹配选路,23,改进 方法一:PATRICIA树,允许每个节点指定一个值,测试连续跳过的比特数 方法二:层压缩二叉树,去掉二叉树中沿任意路径都可跳过的一层或多层,24,8.4 网络地址转换(NAT:Network Address Translation),作 用1、解决IP地址不足,多台内部机器共享一个外部IP地址2、出于安全考虑,隐藏内部IP地址,25,一、不予分配的IP地址(保留地址,RFC1918),说明:1.使用保留地址可加强网络安全 2.使用保留地址的设备要接入Internet,必须使用某种地
14、址转换技术,1个A类网号 16个B类网号256个C类网号 1个B类网号,26,二、NAT,1、NAT工作原理 修改分组源地址(出去的分组)或目的地址(进入的分组)如何创建NAT转换表(1)手工初始化:管理员手工配置(2)外发的数据报:发送数据报时建立(3)传入名字查找:外部主机解析域名时建立,27,Cisco2621(config)#interface fastethernet0/0Cisco2621(config-if)#ip nat insideCisco2621(config-if)#exitCisco2621(config)#interface fastethernet0/1Cisco
15、2621(config-if)#ip nat outsideCisco2621(config-if)#exitCisco2621(config)#ip nat inside source static 192.168.0.2 13000Cisco2621(config)#ip nat inside source static 192.168.0.3 13001.,一对一转换,每个内部IP地址对应唯一一个固定的外部IP地址 问题:没有节省IP地址,2、静态NAT,28,3、动态NAT 多对多转换:将一组内部IP地址映射到一组外部IP地址(通常较少)。映射关系动态建立。,问题:每台机器仍是一个外部
16、IP地址。当同时要求外联的机器超过外部IP地址个数时,则不能满足需求,(前6行同静态配置)Cisco2621(config)#ip nat pool dynpool netmaskCisco2621(config)#ip nat inside source list 1 pool dynpool overloadCisco2621(config)#access-list 1 permit,外部地址池,命名dynpool,内部地址表,内外映射。overload表示外部地址数少于内部地址数,29,4、PAT(端口地址转换)(也称NAPT:Network Address Port Translati
17、on)解决多个机器共享一个外部IP地址的问题 想法:利用连接信息中源端口可能不同,问题:碰巧源端口也相同,怎么办?解决办法:在转换源地址的同时,也转换源端口,内部源端口1070 130.214.99.200 端口 1070 内部源端口2050 130.214.99.200 端口 2050,说明:理论上,一个外部IP地址可同时对应内部6万多个连接,源端口1070 130.214.99.200 端口 3056 源端口1070 130.214.99.200 端口 3057,30,例:内部发出:(192.168.0.5:23023,128.10.19.20:80)(192.168.0.1:386,12
18、8.10.19.20:80)转换之后:(130.214.99.254:14003,128.10.19.20:80)(130.214.99.254:14010,128.10.19.20:80),(前6行同静态配置)Cisco2621(config)#ip nat inside source list 1 int fastetnernet 0/1 overloadCisco2621(config)#access-list 1 permit,31,连接表格式:源IP、目的IP、转换地址、源端口、目的端口、转换端口、协议、源FIN、目的FIN、定时器值 例:128.10.19.20 21023 80
19、14003 TCP OFF OFF 2:00,连接表中FIN标志有两个,因为TCP连接有两个方向。如果是正常关闭,则每个方向都被关闭,所以需要记录每个方向。当两个标志都被设置时,整个连接结束。,32,使用PAT时的问题:数据中包含源IP、端口 比如:FTP PORT命令:FTP客户端告诉服务器返回的IP地址和端口号(数据连接)FTP PORT 10,0,0,2,4,19含义:告诉服务器返回的端口号是4*256+19=1043假设:发送该命令时客户端使用的端口是1042,PAT转换后的端口是6123,则连接表项:,源地址 目的地址 NAT地址 源端口 目的端口10.0.0.2 207.244.1
20、15.178 192.138.149.1 1042 21NAT端口 协议 源FIN 目的FIN 定时器6123 TCP OFF OFF 2:00,假设NAT路由器把1043端口转化为6177=24*256+33则命令变为:FTP PORT 192,138,149,1,24,33,增加连接表项:10.0.0.2 192.138.149.1 1043 20 6177 TCP OFF OFF 2:00,33,三、说明 NAT是静态NAT、动态NAT、PAT的统称 静态NAT和动态NAT可结合使用 对不能转换的协议,NAT将不能正常工作 代理基于NAT而工作,但代理要涉及到具体的服务,关注整个数据流 Windows、Linux、多数路由器都支持NAT,34,Windows下配置NAT路由器控制面板 管理工具 路由和远程访问 操作 配置并启用路由和远程访问 Internet连接服务器 设置有NAT路由协议的路由器,DOS下:netshnetsh routingnetsh routing ipnetsh routing ip natnetsh routing ip nat,