13-网络篇-局域网与外网通信

1.局域网的主机如何和外网通信

比如我们电脑是在局域网内,如何能让它与外网服务器通信。

首先我们要明确一个概念,2个IP必须都是外网IP才能相互建立起外网通信。

比如电脑的IP是192.168.0.3

服务器的IP是 213.18.2.4

在这里,我们可以用NAT路由器来完成通信过程,

NAT路由器有一个全球IP地址,如:172.38.1.5

步骤:

(1)电脑发包给NAT路由器

(2)NAT路由器将源地址192.168.0.3转化成172.38.1.5,并发包给服务器213.18.2.4

(3)服务器响应将响应包发给NAT路由器172.38.1.5

(4)NAT路由器将包转发给电脑。

2.上面是路由器网络内一个电脑与服务器通信,假如多个主机呢

加入端口号才能对新旧IP形成映射关系。

NAPT说明

比如主机A:192.168.1.100:8888

主机B:192.168.1.101:8888

当他们都发包给NAT路由器时,映射如下:

192.168.1.100:8888 <---> 172.38.1.5:4001

192.168.1.101:8888 <---> 172.38.1.5:4002

NAT路由器把内网中不同的源IP地址都转换为相同的全球IP地址。但对源主机所采用的端口号,则转换为不同的新的端口号,从而完成映射与转发。

相关推荐
明灯L12 分钟前
《深度剖析 Linux 权限管理:从基础到进阶,解锁系统安全密钥》
linux·运维·全网最全权限管理·小白0基础
是覆盖对于变化40 分钟前
ubuntu22.04 进入不了系统设置
linux·ubuntu
应以大橘为重1 小时前
interrupt子系统中的数据结构
linux·数据结构·驱动开发
kfepiza1 小时前
硬盘分区格式方案之 MBR(Master Boot Record)主引导记录详解 笔记250407
linux·windows·笔记
mzak1 小时前
已经安装了pip,出现pip command not found【解决方法】
linux·pip·python3
南风与鱼1 小时前
Linux 线程池
linux·线程池
Mazy.v2 小时前
Linux图形化界面
linux·运维·数据库
Linux技术芯2 小时前
#Linux内存管理# 在ARM32系统中,页表是如何映射的?在ARM64系统中,页表又是如何映射的?
linux
小王努力学编程2 小时前
【Linux网络编程】UDP Echo Server的实现
linux·运维·服务器·网络·c++·学习·udp
想睡hhh2 小时前
Leetcode12 13——罗马数字与整数之间的转换
linux·运维·服务器