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

相关推荐
毒爪的小新5 分钟前
Open WebUI 从零到一:打造属于你的私人ChatGPT
linux·ai·语言模型·chatgpt·openwebui
keyipatience9 分钟前
命名管道:跨进程通信的终极指南
linux·运维·服务器
c238569 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
凡人叶枫11 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
RisunJan12 小时前
Linux命令-pgrep (通过进程名查找进程 ID)
linux·运维
信创工程师-小杨12 小时前
Linux内网环境如何解决依赖的问题
linux·运维·服务器
设计师小聂!12 小时前
宝塔 Linux 面板保姆级教程
linux·mysql·开源·运维开发
不吃土豆的马铃薯13 小时前
C++ 高性能网络缓冲区 Buffer 源码解析
linux·服务器·开发语言·网络·c++
java知路13 小时前
linux yum 下载docker安装包及依赖安装包,并离线安装
linux·运维·docker
fanged13 小时前
设备树学习2--一个DTBO实验
linux·嵌入式开发