已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: /8:55 /12:55 /16:55 使用保留地址的网络只能在内部进行通信,而不能与其他网络互连。因为本网络中的保留地址同样也可能被其他网络使用,如果进行网络互连,那么寻找路由时就会因为地址的不唯一而出现问题。但是这些使用保留地址的网络可以通过将本网络内的保留地址翻译转换成公共地址的方式实现与外部网络的互连。这也是保证网络安全的重要方法之一。 但是有一些宽带运营商尽管也使用了非私有地址分配给用户使用,但是由于路由设置的原因,Internet上的其他用户并不能访问到这些ip。 我们将这两种情况下应用的ip称为内网IP。 如果自己机器上网络接口的ip地址落在上述保留地址的范围内,则可以肯定自己处于内网模式下。 内网IP对Internet的访问必须通过代理的方式,NAT(网络地址转换)技术是基于TCP层面的代理,能够相当好地使用于各种IP服务应用,因此被广泛应用。 之所以说相当好,是因为NAT要求整个服务的连接是从内网向外网主动发起的,而外网的用户无法直接(主动)向内网的服务发起连接请求,除非在NAT的(所有)网关上针对服务的端口作了端口映射。 NAT方式要求最外围的网关至少有一个公网的IP,通过下面的链接内网用户可以获知自己访问Internet时使用的公网IP。 /getip.php 将这个IP与自己机器上网络接口的ip比较,即可知道自己的ip是不是内网IP。即,如果是相同的,则恭喜你,你的ip是公网IP,不同,则是内网IP。 在Win2000和WinNT下面,执行ipconfig: c:ipconfig Windows 2000 IP Configuration Ethernet adapter 本地连接: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 78 Subnet Mask . . . . . . . . . . . : Default Gateway . . . . . . . . . : c: 其中78 就是本机网络接口“本地连接”的ip地址。 和4F有关的补充1 内网的只有本省内的宽带用户可以进 2 在浏览器地址栏打 或者 等一般可以进入猫的设置界面 公网、内网是两种Internet的接入方式。 公网接入方式:上网的计算机得到的IP地址是Inetnet上的非保留地址。公网的计算机和Internet上的其他计算机可随意互相访问。 NAT(Network Address Translator)是网络地址转换,它实现内网的IP地址与公网的地址之间的相互转换,将大量的内网IP地址转换为一个或少量的公网IP地址,减少对公网IP地址的占用。NAT的最典型应用是:在一个局域网内,只需要一台计算机连接上Internet,就可以利用NAT共享Internet连接,使局域网内其他计算机也可以上网。使用NAT协议,局域网内的计算机可以访问Internet上的计算机,但Internet上的计算机无法访问局域网内的计算机。 Windows操作系统的Internet连接共享、sygate、winroute、unix/linux的natd等软件,都是使用NAT协议来共享Internet连接。 所有ISP(Internet服务提供商)提供的内网Internet接入方式,几乎都是基于NAT协议的。究竟为什么内网不能用公网地址访问内网服务器。不是任何设备都存在此问题,拿cisco的设备来说,中低端系列就有问题,而netscreen的防火墙没有这个问题,但是究竟为什么有些设备不支持呢?以下所有内容均针对出口是以太网的情况,对于串口接入,不会出现这种问题。 本地出口地址是,isp对端是(掩码没写,稍后会分别讨论)。 和是内网两台服务器的内网地址,被静态映射到公网上的和. 内网的pc全部被pat到出口上。本地路由器一条缺省路由到isp对端。 我想这个拓扑应该是非常普遍的了,我认为就是因为这个非常普遍的拓扑,造成了很多人所反应的“内网不能通过公网地址访问内网服务器”这个问题。我认为这个问题的关键原因就在于掩码,就是在3层上做文章。 第一节 先来看看一般情况下,这个环境的掩码的规划。假设isp分配一段8地址子网给本地,这样isp路由器接口和本地路由器接口共占用2个,网络地址、广播地址共占用2个,可用的一共4个,掩码是248。对于图示的拓扑,假设本地路由器出口掩码是248(内网pc的pat地址相应的也就是掩码为248),被映射的两个地址掩码也是248,这个最普遍的掩码规划,结果是:服务器、内网pc的pat地址、本地出口地址全部处于同一个网段。我们分析一个包的来龙去脉,来看看到底内网pc通过公网地址可否访问到内网服务器。 假设内网一台pc11发出ping (服务器的公网地址)请求,包源地址11,目的地址,路由器收到这个包后,检查路由表,发现就位于自己的出口网段(假设出口为以太口),所以直接通过arp广播请求的mac地址,问题出现了,谁会应答这个请求呢?没有人,所以,这种情况下(所有公网地址在同网段)当然不会通。不但内网访问服务器不行,服务器之间通过公网地址访问也不会通。 结论一:只要出口地址和服务器映射的公网地址在同网段,就有问题。 第二节 基于上面的讨论,我们知道了只要出口地址和服务器映射的公网地址在同网段,就会发生“无人应答”的必然结果,所以我们这次改变掩码规划,将出口掩码变长,变为252(isp掩码也要相应改变)。在这里首先声明一个要点,就是nat池的地址可以和出口不在同网段,只要isp路由器上有这些地址的路由就可以,下一条是本地路由器,这样本地路由器便可以接受到这些包。 我们再次分析一个包的流程。内网pc11发出ping 请求,包源地址11,目的地址,路由器收到这个包后,检查路由表,这一次,发现不在本地的任何接口,所以走了缺省路由,将包发给了isp对端口,并在本地nat表中生成一条项目,记录内网地址11被转换成公网地址加上端口号(假设端口号是8888),isp接受到的包,目的地址是,源地址变成了,它检查它的路由表,发现路由下一条是,也就是本地路由器,所以又将此包发给本地路由器,经过了一次往返后,本地收到这个包,首先接受nat引擎的过虑,发现正在被静态映射到内网的的主机,所以改变目的地址为,源地址还是,这样就交给了路由引擎,查看路由表,的路由当然有了,通过2层直接发给,至此,去程的包分析完毕。 我们再分析回程的包。服务器收到包后,准备回应给(加端口号),发出reply包,源地址,目的地址:8888,本地路由器收到后,先给路由引擎,发现就是出口地址,问题又来了,包的目的就是出口,而不是经过出口,这时候路由器该怎么办呢?假如是从外向内来的包访问:8888,这时候会先提交个nat引擎,做nat转换。但是这是从内向外发出的包,要先提交给路由引擎,我认为此时,由于收到的包是从内向外的,目的直接就是针对出口来的,而出口并没有开启什么端口,除非为了web管理,或者telnet管理开启80或23端口,所以路由器会丢弃,因为没有得到应答。 结论二:只要出口地址和内网pc的pat地址同网段,同样会有问题 第三节 我们再变更掩码方案,使得内网pc的pat地址和服务器映射地址同网段,但和出口不同网段。假设内网pc的pat地址为(和服务器地址同网段) 我们再次分析一个包,内网pc11发出ping 请求,包源地址11,目的地址,路由器收到这个包后,检查路由表,发现不在本地的任何接口,所以走了缺省路由,将包发给了isp对端口,并在本地nat表中生成一条项目,记录内网地址11被转换成公网地址加上端口号,isp接受到的包,目的地址是,源地址变成了,它检查它的路由表,发现路由下一条是,也就是本地路由器,所以又将此包发给本地路由器,经过了一次往返后,本地收到这个包,首先接受nat引擎的过虑,发现正在被静态映射到内网的的主机,所以改变目的地址为,源地址还是,这样就交给了路由引擎,查看路由表,的路由当然有了,通过2层直接发给,至此,去程的包分析完毕。 我们再分析回程的包。服务器收到包后,准备回应给(加端口号),发出reply包,源地址,目的地址,本地路由器收到后,先给路由引擎,发现不在本地任何端口下,所以走了缺省路由,发给isp,并在nat表中生成一条记录,将转换为,isp接受到包源地址变为,目的地址是,通过检查路由表,发现这个地址的路由下一条应该是,也就是本地路由器,所以包又被发回来了,经过一次往返,本地收到了这个包,首先提交给nat引擎,发现目的地址在nat表中对应着内网pc11,所以将替换成11,源地址不变,还是,然后提交给路由引擎,路由器在2层将包发给11,这时,11这台主机收到了从返回的包,而他一开始ping请求包,就是发给这个公网地址的,所以ping通了! 结论三:内网pc的pat地址和服务器公网地址同网段,同时和出口地址不同网段,这样没有问题。 第四节 本贴的高潮部分已经达到,至此,只剩下一种情况,就是内网pat地址、服务器公网地址、出口地址全部不在同网段。假设出口掩码252,服务器公网地址段掩码248,内网pc的pat地址改为54,这样三种地址都不在同网段。而且isp也必须有服务器公网地址和内网pc的pat地址的路由,下一条是我们再次分析一个包,内网pc11发出ping 请求,包源地址11,目的地址,路由器收到这个包后,检查路由表,发现不在本地的任何接口,所以走了缺省路由,将包发给了isp对端口,并在本地nat表中生成一条项目,记录内网地址11被转换成公网地址54加上端口号,isp接受到的包,目的地址是,源地址变成了54,它检查它的路由表,发现路由下一条是,也就是本地路由器,所以又将此包发给本地路由器,经过了一次往返后,本地收到这个包,首先接受nat引擎的过虑,发现正在被静态映射到内网的的主机,所以改变目的地址为,源地址还是54,这样就交给了路由引擎,查看路由表,的路由当然有了,通过2层直接发给,至此,去程的包分析完毕。 我们再分析回程的包。服务器收到包后,准备回应给54(加端口号),发出reply包,源地址,目的地址54,本地路由器收到后,先给路由引擎,发现54不在本地任何端口下,所以走了缺省路由,发给isp,并在nat表中生成一条记录,将转换为,isp接受到包源地址变为,目的地址是54,通过检查路由表,发现54这个地址的路 由下一条应该是,也就是本地路由器,所以包又被发回来了,经过一次往返,本地收到了这个包,首先提交给nat引擎,发现目的地址54:某个端口,在nat表中对应着内网pc11,所以将54替换成11,源地址不变,还是,然后提交给路由引擎,路由器在2层将包发给11,这时,11这台主机收到了从返回的包,而他一开始ping请求包,就是发给这个公网地址的,所以ping通了! 结论四:三种地址全部不在同网段,没有问题。 综上所述,得到了4个结论: 结论一:只要出口地址和服务器映射的公网地址在同网段,就有问题。 结论二:只要出口地址和内网pc的pat地址同网段,同样会有问题。 结论三:内网pc的pat地址和服务器公网地址同网段,同时和出口地址不同网段,这样没有问题。 结论四:三种地址全部不在同网段,没有问题。 可以简单的发现,前两个是充分条件,只要满足了其中一个,就会出现问题,而现在大多数的接入都符合前两个情况,而几乎没有人“多此一举”的去改变掩码规划,所以造成如此多的普遍现象:内网不能用公网地址访问内网服务器! 出口地址只要不和其他两种地址同网段,就可以保证不出问题。 至此,已经探讨了问题的原因。此过程中我还得到了一个推论和一个待验证的问题。 推论:如果nat池中的公网地址和出口地址不同网段,不管在内网还是公网ping nat池中未参与转换的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 树立安全意识,关爱生命健康的小学主题班会课件
- 5.5.2 简单的三角恒等变换(一)-高一上学期必修一数学课件人教A版
- 护航成长之路拒绝霸凌行为四年级主题班会课件
- 年度供应商考核评价工作启动联系函(3篇)范文
- 电商网站支付安全升级维护公告5篇范文
- 科学预防病毒筑牢健康防线小学四年级主题班会课件
- 2026年合同解除前夕协商函(3篇)
- 某建材供应商预算审批调整商议函4篇
- 对合作伙伴关于工程细节变更的确认通知函(6篇)
- 国家开放大学电大《经济法学》形考任务三模拟试题及答案
- 2025四川成都兴城投资集团有限公司招聘11人笔试参考题库附带答案详解
- 2025年度城市排水及污水处理工程劳务清包工合同
- GB/T 29468-2024洁净室及相关受控环境围护结构夹芯板
- 施工费率合同协议书
- 行贿的检讨书六篇
- 建筑行业职业病危害预防控制规范
- 《江苏省常州市金坛区茅东矿区水泥用石灰岩矿(关停)闭坑地质报告》评审意见书
- YY/T 1740.2-2021医用质谱仪第2部分:基质辅助激光解吸电离飞行时间质谱仪
- 第三课奇才李叔同
- 10以内看图列式
- 高速铁路测量知识课件
评论
0/150
提交评论