您现在的位置:首页 --> 查看专题: 穿透
在许多情况下,我们希望把内部的服务暴露到外网来使用,比如说:
1、在公司内网开发程序,要和微信联调;
2、想要随时随地登录家里的树莓派,使用上面的服务
在这些情况下,我们就会很迫切的希望有一个内网穿透服务,帮我们把内部的端口,暴露到外网来。
我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了。
那这种问题有什么好办法解决呢?
NAT是在传输层及以上做的,传输层最主要的2个协议是TCP和UDP。对于TCP和UDP而言,每个包都有很基本的4个要素:src ip、src port、dst ip、dst port。 根据在做NAT的时候是否保留src ip和src port,可以把NAT分为这么三种: Cone: 将src ip映射到一个固定的IP,并且将src port映射到一个固定的Port,无论dst ip和dst port是什么。 Single IP address, symmetric:将src ip映射到一个固定的IP,将src port映射到一个随机的port,但是保证对于相同的(dst ip,dst port), src port始终相同。(否则双方没法通话啊,回来的包回给哪个端口呢?) Multiple IP address, symmetric:与上面类似,但是src ip可能会有多个。
[ 共3篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [102] Go Reflect 性能
- [14] 我的git笔记
- [14] 基于HTTP缓存轻松实现客户端应用的离线支持
- [13] 公钥私钥加密解密数字证书数字签名详解
- [13] osx平台上lol英雄联盟launcher启
- [13] 在JavaScript中什么时候使用==是正
- [12] 正态分布的前世今生(一)
- [11] Joomla反序列化漏洞的查漏补缺
- [11] Linux内存中的Cache真的能被回收么?
- [10] iTerm2 (Mac Terminal)
赞助商广告