(考研湖科大教书匠计算机网络)第四章网络层-第九节:虚拟专用网与网络地址转换

news2024/9/24 1:25:43
  • 获取pdf:密码7281
  • 专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航

文章目录

  • 一:虚拟专用网
    • (1)虚拟专用网是什么
    • (2)虚拟专用网如何分配IP地址
    • (3)例子
    • (4)虚拟专用网分类
  • 二:网络地址转换NAT
    • (1)概述
    • (2)例子
    • (3)NAPT

本节对应视频如下

  • 【计算机网络微课堂(有字幕无背景音乐版)】:虚拟专用网与网络地址转换NAT

一:虚拟专用网

(1)虚拟专用网是什么

虚拟专用网:如下图,假设左侧是某机构部门A的局域网(位于北京),右侧是某机构部门B的局域网(位于上海),那么如何让这两个局域网进行通信呢

在这里插入图片描述

一种方法就是利用电信公司的通信线路,但是租金太高。另一种方法是利用公用的因特网,作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网

在这里插入图片描述

(2)虚拟专用网如何分配IP地址

虚拟专用网如何分配IP地址:由于IPv4地址的紧缺,一个机构能够申请到的IPv4地址数量往往远小于本机构所拥有的主机数量。因此,虚拟专用网中的各主机所分配的地址应该是本机构可自由分配的专用地址,而不是需要申请的、在因特网上使用的公有地址。私有地址只能用作本地地址而不能用作全球地址,在因特网中的所有路由器对目的地址是私有地址的IP数据报一律不进行转发

我们可以在因特网数字分配机构IANA官方网站查看IPv4地址空间中特殊地址的分配方案,如下表,其中加粗部分地址块中的地址是无需申请的、可自由分配的专用地址

Address BlockNameRFCAllocation DateTermination DateSourceDestinationForwardableGlobally ReachableReserved-by-Protocol
0.0.0.0/8“This network”[RFC791], Section 3.21981-09N/ATrueFalseFalseFalseTrue
0.0.0.0/32“This host on this network”[RFC1122], Section 3.2.1.31981-09N/ATrueFalseFalseFalseTrue
10.0.0.0/8Private-Use[RFC1918]1996-02N/ATrueTrueTrueFalseFalse
100.64.0.0/10Shared Address Space[RFC6598]2012-04N/ATrueTrueTrueFalseFalse
127.0.0.0/8Loopback[RFC1122], Section 3.2.1.31981-09N/AFalse [1]False [1]False [1]False [1]True
169.254.0.0/16Link Local[RFC3927]2005-05N/ATrueTrueFalseFalseTrue
172.16.0.0/12Private-Use[RFC1918]1996-02N/ATrueTrueTrueFalseFalse
192.0.0.0/24 [2]IETF Protocol Assignments[RFC6890], Section 2.12010-01N/AFalseFalseFalseFalseFalse
192.0.0.0/29IPv4 Service Continuity Prefix[RFC7335]2011-06N/ATrueTrueTrueFalseFalse
192.0.0.8/32IPv4 dummy address[RFC7600]2015-03N/ATrueFalseFalseFalseFalse
192.0.0.9/32Port Control Protocol Anycast[RFC7723]2015-10N/ATrueTrueTrueTrueFalse
192.0.0.10/32Traversal Using Relays around NAT Anycast[RFC8155]2017-02N/ATrueTrueTrueTrueFalse
192.0.0.170/32, 192.0.0.171/32NAT64/DNS64 Discovery[RFC8880][RFC7050], Section 2.22013-02N/AFalseFalseFalseFalseTrue
192.0.2.0/24Documentation (TEST-NET-1)[RFC5737]2010-01N/AFalseFalseFalseFalseFalse
192.31.196.0/24AS112-v4[RFC7535]2014-12N/ATrueTrueTrueTrueFalse
192.52.193.0/24AMT[RFC7450]2014-12N/ATrueTrueTrueTrueFalse
192.88.99.0/24Deprecated (6to4 Relay Anycast)[RFC7526]2001-062015-03
192.168.0.0/16Private-Use[RFC1918]1996-02N/ATrueTrueTrueFalseFalse
192.175.48.0/24Direct Delegation AS112 Service[RFC7534]1996-01N/ATrueTrueTrueTrueFalse
198.18.0.0/15Benchmarking[RFC2544]1999-03N/ATrueTrueTrueFalseFalse
198.51.100.0/24Documentation (TEST-NET-2)[RFC5737]2010-01N/AFalseFalseFalseFalseFalse
203.0.113.0/24Documentation (TEST-NET-3)[RFC5737]2010-01N/AFalseFalseFalseFalseFalse
240.0.0.0/4Reserved[RFC1112], Section 41989-08N/AFalseFalseFalseFalseTrue

(3)例子

如下图,假设我们给部门A分配私有地址网络号为10.1.0.0,给部门B分配私有地址网络号为10.2.0.0,并给各专用网主机分配相应地址。很显然,部分A和B至少需要一个路由器具有合法的全球IP地址,这样它们各自的专用网才能利用公用的因特网进行通信

在这里插入图片描述

假设部门A中的一台主机要给部门B中的另一台主机发送数据

  • 首先它会将待发送数据封装为内部IP数据报,发送给路由器R1,其首部中源地址字段的值为部门A中该主机的IP地址,目的地址字段为部门B中另一台主机的IP地址
  • R1收到该数据报后,发现其目的网络必须通过因特网才能到达,就将该内部IP数据报加密,这样就确保了内部IP数据报的安全,然后重新添加上数据报的首部,封装成为在因特网上才能发送的外部数据报,其首部中源地址字段为路由器R1的全球地址,目的地址字段为路由器R2的全球地址
  • 路由器R2收到该外部IP数据报后,去掉其首部,将其数据部分进行解密,恢复出原来的内部IP数据报,这样就可以从其首部提取出源地址和目的地址。根据目的地址,将该内部IP数据报发送给相应的主机

在这里插入图片描述

(4)虚拟专用网分类

内联网:上例中所展示的同一机构内不同部门的内部网络所构成的虚拟专用网又称为内联网

外联网:有时一个机构的需要有某些外部机构(通常就是合作伙伴)参加进来。这样的就称为外联网

远程接入:在外地工作的员工需要访问公司内部的专用网络时,只要在任何地点接入到因特网,运行驻留在员工PC中的软件,在员工的PC和公司的主机之间建立隧道,即可访问专用网络中的资源。这种称为远程接入

二:网络地址转换NAT

(1)概述

网络地址转换NAT:虽然因特网采用了无分类编址方式来减缓IPv4地址空间耗尽的速度,但由于因特网用户数目的激增,特别是大量小型办公室网络和家庭网络接入因特网的需求不断增加,IPv4地址空间即将面临耗尽的危险仍然没有被解除。1994年提出了一种网络地址转换NAT的方法再次缓解了IPv4地址空间即将耗尽的问题。NAT能使大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源

如下图,图中的专用网络使用私有网络号192.168.0.0.,要想这种使用私有地址的主机与因特网上使用全球IP地址的主机进行通信,需要在专用网络连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址,这样所有使用私有地址的主机和外界通信时,都要在NAT路由器上将其私有地址转化为全球IP地址

在这里插入图片描述

(2)例子

如下图专用网中的一台主机192.168.0.2要给因特网上的一台主机218.75.230.30发送数据

  • 该主机将数据报发送给NAT路由器,数据报首部中源地址字段为该主机的私有地址,目的地址字段为因特网上另一台主机的全球地址

  • NAT路由器从自己的全球IP地址池中为该主机分配一个临时的全球IP地址172.38.1.5,并将IP数据报的源地址修改为改地址,然后将私有地址与全球地址的对应关系记录在NAT转换表中,之后就可以转发该IP数据报了
    在这里插入图片描述

  • 因特网上的这台主机给源主机发回数据报,数据报的源地址和目的地址都是全球IP地址

  • NAT路由器收到该IP数据报后,在NAT转换表中进行查找,发现该数据报的目的地址所对应的私有地址为192.168.0.2,于是就将该数据报的目的地址修改为它,并将其发送给相应主机
    在这里插入图片描述

(3)NAPT

网络地址与端口号转化NAPT:由于绝大多数的网络应用都是使用运输层协议TCP或UDP来传送数据,因此可以利用运输层的端口号和IP地址一起进行转换。这样,用一个全球IP地址就可以使多个拥有本地地址的主机同时和因特网上的主机进行通信。这种将端口号和IP地址一起进行转换的技术叫作网络地址与端口号转换NAPT

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/355335.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JAVA八股文】框架相关

框架相关1. Spring refresh 流程2. Spring bean 生命周期3. Spring bean 循环依赖解决 set 循环依赖的原理4. Spring 事务失效5. Spring MVC 执行流程6. Spring 注解7. SpringBoot 自动配置原理8. Spring 中的设计模式1. Spring refresh 流程 Spring refresh 概述 refresh 是…

深度学习(1)神经网络基础

要学习深度学习,那么首先要熟悉神经网络(Neural Networks,简称NN)的一些基本概念。当然,这里所说的神经网络不是生物学的神经网络,我们将其称之为人工神经网络(Artificial Neural Networks&…

海豚调度2.0.5 星环驱动包踩坑(二)worker服务正常、zk注册正常,心跳时间不更新,也不执行任务,任务一直处于执行中状态

目录背景问题记录20230206 发现服务启动失败20230215 有一台worker不执行作业,其它均正常问题解决问题思考背景 之前分享过海豚调度2.0.5连接星环库使用记录,后来说存储过程又出现了超时的情况,原因是因为调度星环驱动包和生产星环库驱动包不…

ES 异常写入解决流程

问题说明 一天下午,在北京客户现场的同学反馈我们elasticsearch出现的大量的异常,他反馈说他使用多线程写入大量数据到elasticsearch集群时,隔一段时间之后就会出现CircuitBreakingException,多尝试几次后,他就把问题反…

基于微信小程序的微信社团小程序

文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器…

JavaEE|网络原理·上

文章目录一、网络发展史1.独立模式2.网络互联3.局域网(LAN)4.广域网(WAN)局域网组网的方式①基于网线直连②基于集线器(hub)组建③基于交换机(switch)组建④基于交换机和路由器组建二、网络通信基础1.ip地址…

Winform控件开发(14)——NotifyIcon(史上最全)

前言: 先看个气泡提示框的效果: 代码如下: 在一个button中注册click事件,当我们点击button1时,就能显示气泡 private void button1_Click(object sender, EventArgs e){notifyIcon1.Visible = true;notifyIcon1

【论文速递】ICLR2018 - 用于小样本语义分割的条件网络

【论文速递】ICLR2018 - 用于小样本语义分割的条件网络 【论文原文】:CONDITIONAL NETWORKS FOR FEW-SHOT SEMANTIC SEGMENTATION(Workshop track - ICLR 2018) 【作者信息】:Kate Rakelly Evan Shelhamer Trevor Darrell Alexe…

PyTorch - Conv2d 和 MaxPool2d

文章目录Conv2d计算Conv2d 函数解析代码示例MaxPool2d计算函数说明卷积过程动画Transposed convolution animationsTransposed convolution animations参考视频:土堆说 卷积计算 https://www.bilibili.com/video/BV1hE411t7RN 关于 torch.nn 和 torch.nn.function t…

Reverse入门[不断记录]

文章目录前言一、[SWPUCTF 2021 新生赛]re1二、[SWPUCTF 2021 新生赛]re2三、[GFCTF 2021]wordy[花指令]四、[NSSRound#3 Team]jump_by_jump[花指令]五、[NSSRound#3 Team]jump_by_jump_revenge[花指令]前言 心血来潮,想接触点Reverse,感受下Reverse&am…

网络编程(一)

网络编程 文章目录网络编程前置概念1- 字节序高低地址与高低字节高低地址:高低字节字节序大端小端例子代码判断当前机器是大端还是小端为何要有字节序字节序转换函数需要字节序转换的时机例子一例子二2- IP地址转换函数早期(不用管)举例现在与字节序转换函数相比:**…

模块化热更思路

title: 模块化热更思路 categories: Others tags: [热更, 模块化, 分包] date: 2023-02-18 01:04:57 comments: false mathjax: true toc: true 模块化热更 浅浅的记录一下访问破 200w (But, I don’t care about this.) 前篇 只谈思路, 不贴实现代码. 需求 游戏类型属于合集…

Linux(十三)设计模式——单例模式

设计模式——针对典型场景所设计出来的特别的处理方案 单例模式:一个类只能实例化一个对象(所以叫单例) 场景: 1、资源角度:资源在内存中只占有一份 2、数据角度:如果只有一个对象,那么该对象在…

2019蓝桥杯真题质数(填空题) C语言/C++

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5…… 请你计算第 2019 个质数是多少? 运行限制 最大运行时间:1s 最大运行内存: 128M…

Mac下安装Tomcat以及IDEA中的配置

安装brew 打开终端输入以下命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 搜索tomcat版本,输入以下命令: brew search tomcat 安装自己想要的版本,例…

JDK版本区别

1. 泛型 ArrayList listnew ArrayList()------>ArrayList<Integer>listnew ArrayList<Integer>(); 2 自动装箱/拆箱 nt ilist.get(0).parseInt();-------->int ilist.get(0);原始类型与对应的包装类不用显式转换 3 for-each i0;i<a.length;i------------&…

解析从Linux零拷贝深入了解Linux-I/O(上)

本文将从文件传输场景以及零拷贝技术深究 Linux I/O 的发展过程、优化手段以及实际应用。前言 存储器是计算机的核心部件之一&#xff0c;在完全理想的状态下&#xff0c;存储器应该要同时具备以下三种特性&#xff1a; 速度足够快&#xff1a;存储器的存取速度应当快于 CPU …

JWT安全漏洞以及常见攻击方式

前言 随着web应用的日渐复杂化&#xff0c;某些场景下&#xff0c;仅使用Cookie、Session等常见的身份鉴别方式无法满足业务的需要&#xff0c;JWT也就应运而生&#xff0c;JWT可以有效的解决分布式场景下的身份鉴别问题&#xff0c;并且会规避掉一些安全问题&#xff0c;如CO…

python+vue微信小程序的线上服装店系统

服装行业是一个传统的行业。根据当前发展现状,网络信息时代的全面普及,服装行业也在发生着变化,单就服饰这一方面,利用手机购物正在逐步进入人们的生活。传统的购物方式,不仅会耗费大量的人力、时间,有时候还会出错。小程序系统伴随智能手机为我们提供了新的方向。手机线上服装…

JavaEE|套接字编程之UDP数据报

文章目录一、DatagramSocket API构造方法常用方法二、DatagramPacket API构造方法常用方法E1:回显服务器的实现E2:带有业务逻辑的请求发送一、DatagramSocket API 在操作系统中&#xff0c;把socket对象当成了一个文件处理。等价于是文件描述符表上的一项。 普通的文件&#xf…