我喜欢用很简单的话来概括:
natp是内部机器通过路由器也就是网关向外部发送网络请求时,路由器记住内部机器的ip和端口,同时跟真正发送数据的外网端口绑定,产生一个临时映射表,当收到外网数据以后通过这个映射表将数据转发给内部机器。nat的多种映射类型以后再说。
upnp和nat-pmp差不多,就是在路由器和内部机器提供一个中间服务,内部机器请求upnp将其使用到的端口跟某个外网端口绑定,这样当路由器收到外网请求时先去upnp里查找是否此外网端口已经被upnp映射,如果被映射则将数据转发到内部机器对应的端口。
napt是路由器肯定带的功能 ,其产生的nat映射表有多种类型,但都 有时效 ,也就是超过一段时间原来的nat映射就无效,然后新建新的nat映射。 nat映射必须先由内部机器向外部网络发起请求才会产生。
upnp是把映射关系长期保存下来, 外部机器可以主动向内部机器请求网络连接。 所以首先要路由器开启upnp功能(一般由用户去路由器设置里手动开启upnp) ,然后内部机器的程序要自己实现upnp客户端功能:主动查找upnp服务,主动增加映射、删除映射等。
客户端无法控制natp的映射,可以主动控制upnp映射。
从我目前对go-ethereum源码中p2p的研究来看,以太坊只做了upnpt和nat-pmp的端口映射,而且实现是调用了第三方开源库,但是没有做NATP udp打洞。
比特币源码还没看,不过应该也没有做udp打洞穿越NAT
问题描述:
我的机器是WIN2K个人版的 旁边的机器是SEVER版本的
我想用它的IIS给内部网络提供网站 所有都是内部访问的
但是别人都知道我的IP地址了,而且我机器上的IP又做些其他服务,所以不可能更换到他的机器上。
我想问一下如何我机器一启动就自动影射80端口到对方机器呢???????
解析:
在服务器(windows server版本)设置,具体步骤如下:
在Windows 2000 Server上,从管理工具中进入“路由和远程访问”(Routing and Remote Access)服务,在服务器上鼠标右击,-》“配置并启用路由和远程访问” 2、点“下一步” 3、选“Inter连接服务器”,让内网主机可以通过这台服务器访问Inter(最好先配置好NAT共享,让内网主机可以正常上网,不然的话,配好端口映射后再来配置NAT共享就有点麻烦了,弄的不好NAT还共享不了。) 4、选“设置有网络地址转换(NAT)路由协议的路由器”,不要选“设置Inter连接共享(ICS)”(ICS与NAT的区别在于使用的容易程度上,为了启用ICS,只需要选择一个复选框就可以了,而为了启用NAT,则需要更多的配置任务,此外,ICS用于小型网络上的原因还在于:针对内部主机,它需要有一个固定的IP地址范围;针对与外部网络的通信,它被限制在单个公共IP地址上;它只允许单个内部网络接口。) 5、先在此说一下我的网络情况:Inter连接1922002003(也是个内部地址,没办法,铁通的网络不太好,网速不快,价钱又贵,我的命真苦啊)宿舍内连接19216801(宿舍里连有局域网,共4台电脑,其中一台上装了Sambar 51b5做的Web服务器,Web端口是80,待会就从外网(用19220020055来替代)来访问这个19216802:80上的网页)这台NAT主机上开通了IIS50,端口是80,用端口映射的办法把8081端口映射到内部主机19216802的80端口上。 6、在“路由和远程访问服务器安装向导”中选“Inter连接”(就是连向Inter的那个连接),点“下一步”。 7、选“完成” 到此为止,NAT共享设置也就完成了,内部的主机也能上网了。内部主机的网络设置如下: IP地址范围是91216802~1921680254,子网掩码为2552552550,网关为19216801,DNS为ISP给的地址,我们的是21198xxxxxx
二、利用NAT来映射端口 1、添加NAT协议。右击“常规”,-》“新路由选择协议” 2、在“新路由选择协议”中选择“网络地址转换(NAT)”,点击“确定” 3、这样在“IP路由选择”中就多了一项“网络地址转换(NAT)” 4、右击“网络地址转换(NAT)”,添加“新接口” 5、在“网络地址转换(NAT)的新接口”中选择“Inter连接”(也就是连向Inter的那个连接,可不要选错咯) 6、在“网络地址转换-Inter连接属性”中选中“公用接口连接到Inter”,复选“转换TCP/UDP头(推荐)” 7、在“地址池“选项表里添加你需要提供端口重定向的起始地址与结束地址(也就是你要拿出来搞端口映射的所有IP地址,一般情况下我们就一个IP地址,所以可以不用“地址池”不同之处后面再讲。 8、在“特殊端口“选项表里提供了你需要定向的数据连接协议(是TCP还是UDP协议,如Web和FTP就是TCP协议的),选准后“添加” 9、“添加特殊端口”,这里就是设置端口映射的核心了,把NAT主机的哪个端口映射到内网主机的哪个端口就在这里设置,由于设有“地址池”,所以可以在“公网地址”中添上“地址池”中的任一地址,这里添的是“1922002003”,也就是我的地址,如果你在前面没有设置“地址池”,那么在这个选项页中“在此地址池项”为灰色不可选,你只能选“在此接口”,也就是你只有一个公网IP地址,这比较适合只有一个IP的朋友,可以不用“地址池”,何必做多余的设置呢?假如有问题的话,还不是自找麻烦。“传入端口”就是别人从网外访问有公网IP的NAT服务器的端口,这里设的为8080。“专用地址和传出地址”就是内部主机的IP地址和提供特殊服务的端口,这里是把1922002003上的8080端口映射到19216802上的80端口。 这就是TCP协议端口的重定向,至于UDP的定向页差不多,下图就是添加端口映射后的情况。端口映射是NAT的一种,功能是把在公网的地址转翻译成私有地址, 采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网。
交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。
具体的 *** 作方式如下:
0/0/0为镜像(观测)端口
[SwitchA] port monitor ethernet 1/0为被镜像端口;0/设置端口1/0/。
[SwitchA] port mirroring ethernet 1/0为被镜像端口;0/0/15
也可以通过两个不同的端口。
[SwitchA] port monitor ethernet 1/0/15
2,被镜像端口为E1/15和E1/,设置端口1/0 ingress ethernet 1/15;0/0/0/设置端口1/15
2,对输入和输出的分别镜像
1;0/,对其输入输出都进行镜像;0,分别使用E1/15为端口镜像的观测端口设置E1/14对输入和输出进行镜像假设交换机镜像端口为E1/0/0Ǘ0/0/15
[SwitchA] port mirroring gigabitethernet 1/15和E2/0 egress ethernet 1/0/。
[SwitchA] port mirroring gigabitethernet 1/0/0 both ethernet 1/就是NAT地址转换,在路由器上设置一个内网网段(19216810),然后映射到一个公有地址池上(1258915323),服务器上只配内网网址,开80和168端口,就行了
具体步骤看看手册吧什么是端口映射
在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念。服务器可以向外提供多种服务,比如,一台服务器可以同时是WEB服务器,也可以是FTP服务器,同时,它也可以是邮件服务器。为什么一台服务器可以同时提供那么多的服务呢?其中一个很主要的方面,就是各种服务采用不同的端口分别提供不同的服务,比如:WEB采用80端口,FTP采用21端口等。这样,通过不同端口,计算机与外界进行互不干扰的通信。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。端口映射:内网的一台电脑要上因特网,就需要端口映射。端口映射分为动态和静态动态端口映射:内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给新浪网,新浪网收到数据后做出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。动态端口映射其实也就是NAT网关的工作方式。静态端口映射: 就是在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。就可以让公网主动访问内网的一个电脑
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)