“NAT映射”和“打洞机制”

上篇文章讲了路由器寻路过程,今天说说“NAT映射”和“打洞机制”。

一,NAT映射

参考文章:https://www.cnblogs.com/penghuwan/p/7753022.html

要描述NAT, 要先讲讲私有地址和全局地址。我们说现在要从主机A给主机B发送消息,需要依赖的是主机A和主机B的端口号与IP地址。但是我们平常在电脑上

我们ipconfig出来都是私有IP地址,为什么会出现私有IP呢?就是因为IP地址不够用了,给你一台PC就分配一个公有IP地址太浪费了,而私有IP是不能直接在网络上进行通信的,你可以把私有IP看做是门牌号,假设你的门牌号是11号,但是北京有11号,上海也有11号,所以如果你直接说你是11号,快递员怎么可能知道你到底在呢!所以我们如果想在网络上进行通信,是需要将私有IP转为公网IP,那么谁来做这个工作呢?NAT映射表

NAT映射表存在在路由器里面,实现的是私有IP与公有IP之间的转换;实际上可能是你家一台路由器拥有一个公网IP,而所有连在这台路由器上的所有设备都共享一个公网IP。那么问题又来了,既然共享一个公网IP,那接受回来的数据又怎么知道到底应该是哪一台设备接受呢?我们说过了在网络上唯一表示一个进程需要的是IP地址+端口号,既然IP地址一样,我们就对端口号做文章就可以了,就如下图(同理我们也可以对A1,A2,A3进行拓展,这样IP地址就够用了)
在这里插入图片描述

二,打洞机制

比如说我用QQ给妈妈发个消息,实际上并不是我的主机和妈妈的主机直接通讯,我们之间要通过腾讯的服务器来帮助我们通讯,我的主机并不知道妈妈主机的IP以及端口号,妈妈主机也不知道我的。但是假如说我和妈妈现在要进行视频通话,如果中间再隔个腾讯服务器,就很难达到即时通讯的目标,所以腾讯借助公网IP就会帮我的主机和妈妈的主机打个洞来提高提高数据传输的效率。

有个问题是为什么是腾讯帮助打洞?这是因为路由器的保护机制:对于陌生IP第一次发送过来的数据包,路由器会进行屏蔽或丢弃,这是为了防止网络的恶意攻击。

打洞机制我认为可以这样:没有打洞机制前,就相当于腾讯是接线员,它知道我的电话也知道妈妈的电话,我和妈妈之间通讯需要打电话先给接线员,再有接线员转接才可以;但是打洞机制就相当于接线员把我的电话和妈妈的电话发给彼此,这样我们就可以直接联络了。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值