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地址。但对源主机所采用的端口号,则转换为不同的新的端口号,从而完成映射与转发。

相关推荐
orion572 天前
Missing Semester Class1:course overview and introduction of shell
linux
用户120487221612 天前
Linux驱动编译与加载
linux·嵌入式
用户805533698032 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698032 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房3 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia4 天前
linux curl命令详解_curl详解
linux
扛枪的书生4 天前
Linux 网络管理器用法速查
linux
顺风尿一寸4 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode4 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫4 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux