实训十一——网络通信原理

补充

如何解决IPv4地址不足的问题?

使用专用的IPv4地址范围(如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)并通过NAT转换与外部网络通信,能有效节约公网IPv4地址。

根据RFC 1918的定义,以下是保留的私有IPv4地址范围:

  1. 10.0.0.0 到 10.255.255.255 (10.0.0.0/8)

  2. 172.16.0.0 到 172.31.255.255 (172.16.0.0/12)

  3. 192.168.0.0 到 192.168.255.255 (192.168.0.0/16)

一、对等网络通信原理

公有------公有,私有------私有

1.电脑A封装数据

  • Sport:10000以上的随机端口(临时借用)
  • Dport:80(假设)
  • SIP:A(已知)
  • DIP:B(局域网:查询或访问)(公网:DNS)
  • SMAC:A(固定在网卡的ROM中)
  • DMAC:R1-1(网关IP地址)(ARP协议)

注:MAC地址仅限局域网内通信,没有办法跨网段,所以目标MAC是R1-1口,因为A和B不在同一个网段,所以A会选择将数据发送给路由器。

而想要找到路由器,就需要路由器的IP地址,这个IP地址就是我们通常所配置的网关,我们根据网关访问路由器,又通过ARP协议找到R1-1口的MAC地址。

2.流程

  1. 电脑A发送数据到交换机,交换机查看自身MAC地址表,发现目标MAC对应2接口(未找到目标MAC就泛洪),就从2接口发出,到达路由器R1的1口
  2. 路由器R1接收到数据,丢弃MAC包,查看IP地址,通过检查自身路由表,发现目标IP需要经过2口,到达路由器R2的1口,所以将数据重新封装MAC包
  3. 重新封装的MAC包中,SMAC是R1-2口,DMAC是R2-1口,因为两口处于同一个网段,所以路由器R1可以通过ARP请求拿到R2-1口的MAC地址,正常通信
  4. R2接收到数据后丢弃MAC包,查看自身路由表,发现目标网段经过R2-2口后,将数据重新封装MAC,SMAC是R2-2口的MAC,DMAC是B的MAC(ARP请求)
  5. R2将重新封装好的数据通过2口传递给交换机S2,S2检查自身MAC地址表,找到2接口对应B的MAC地址后,直接将数据发送给B,B收到消息后应答,原路返回。

3.网关

  • 用于让局域网内所有电脑能够跨网段通信
  • 网关首先是一个路由器,还是默认路由

非对等通信原理

私有------>公网

拓扑图

电脑A和电脑B------交换机------路由器------公网

1.适不适合对等通信网络?

不适合。因为私有IP可重复,私有网段可以访问公网,但公网找不到私有IP

2.NAT功能(网络地址转换)(PAT)

  • NAT是解决IPv4地址不足问题的一项重要技术,通过转换私有IP地址和公网IP地址之间的映射,使得多个设备能够共享一个公网IP地址,实现与互联网的通信
  • 基本工作原理:在数据包从内部网络发送到外部网络(如互联网)时,将私有IP地址转换为公网IP地址

路由器中的NAT表

|---------|------|------|------|-------|
| 真SIP | 真DIP | 改SIP | 改DIP | 端口 |
| 1.3(假设) | 百度 | 公网IP | 百度 | 10001 |
| 1.2(假设) | 百度 | 公网IP | 百度 | 10002 |

注:PAT是端口地址转换,相较于其他的NAT类型更加实用,所以这里只了解PAT技术 ,如果内网多台电脑访问同一目标IP,响应数据可通过端口返回对应客户端。

问题

1.NAT网络是单向的吗?

是。因为私有IP可重复,外网无法正确访问内网中固定的某一台主机。

2.NAT网络一定是单向的吗?

不一定。有网络穿透技术。

(1)网络穿透技术(ssh隧道或Windows的端口映射)(VPN)

条件:对外路由拥有以上功能;对外IP地址,必须是公网IP地址

(2)中转服务器,进入NAT网络(QQ远程协助,花生壳,向日葵)

3.NAT网络中的虚拟机,为什么能访问公网?到底是否可以和局域网通信?

可以访问公网,可以和局域网通信。

(1)虚拟机把真实机当成了NAT网关路由器,所以虚拟机对外访问的时候被包装成了真实机的IP,真实机再访问外网又被包装成了路由器上的公网IP,可以互通。

(2)NAT网络允许多次包装,跟局域网通信也是一样,被包装成了真实机的IP。

相关推荐
Cyber4K16 分钟前
轻轻松松带你进行-负载均衡LVS实战(文章后)
运维·实战·负载均衡·lvs
山烛24 分钟前
小白学HTML,操作HTML网页篇(1)
运维·服务器·前端·python·html
是小pa丫40 分钟前
ubuntu系统在线安装postgres
linux·运维·ubuntu
来自于狂人1 小时前
零信任安全架构:如何在云环境中重构网络边界?
网络·重构·安全架构
ZCQ_dashuaibi1 小时前
HAProxy双机热备,轻松实现负载均衡
运维·服务器·负载均衡
别在内卷了1 小时前
测试学习之——Pytest Day2
服务器·学习·pytest
2301_780789662 小时前
网络劫持对用户隐私安全有何影响?
网络·安全·php
Fantasy丶夜雨笙歌2 小时前
LVS集群技术:构建高性能负载均衡系统
linux·运维·lvs
緈福的街口3 小时前
【leetcode】1422. 分割字符串的最大得分
linux·服务器·leetcode
项目題供诗3 小时前
Hadoop(三)
linux·运维