网络层
网络层主要任务
实现网络互连,进而实现数据包在各网络之间的传输。
实现任务,主要解决一下问题
- 网络层向运输层提供怎么样的服务(可靠传输还是不可靠传输)
- 网络层寻址问题
- 路由选择问题
网络层提供的两种服务
虚电路服务
- 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而不是真正建立了一条物理连接。
- 虚电路是建立一条逻辑连接,发送方与接收方不需要预先建立连接。
- 虚电路服务,它不依靠路由技术而是在进行数据分组转发前先在源节点和目的节点间的所有路由器间建立一条虚拟的通信通道,然后再把数据分组从这个虚拟通道中转发到目的节点。
- 采用虚电路这种服务方式的分组则无须添加源和目的主机地址信息,只需要添加报文号、分组号信息和虚电路编号。在分组发送之前,已经搭建好了一条逻辑链路。
数据报服务(现代网络层协议主要使用)
- 当端系统要发送数据时,会为每个分组添加报文号、分组号、目的地址、源地址和校验字段信息,然后作为数据报发送给网络节点(路由器),由通信子网中的节点进行路由选择,当一个报文的所有分组到达了目的主机后,再将各个分组按序号编排起来;
- 网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关。
- 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序。
- 目的端系统收到数据报可能是不按照顺序到达,也有可能出现数据报丢失。网络层于此只需尽最大努力持续交付即可。
尽最大努力交付的好处:
- 由于网络层不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉。
- 如果主机中的进程之间的通信需要是可靠的,那么就由网络的主机中的传输层负责(包括差错处理、流量控制等)。
- 采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
网际协议IP
网际协议IP是TCP/IP体系中两个最主要的协议之一。
与IP协议配套使用的还有三个协议:地址解析协议 ARP、网际控制报文协议 ICMP 和网际组管理协议 IGMP。
IP协议的基本功能
IP 协议是一个无连接的服务,负责在源地址和目的地址之间传送数据报,其主要功能就是把数据报在互连的网络上传送,将数据报在一个个模块间通过路由处理网络地址传送到目的地址。
- 寻址
在不同网络中必须通过ip地址进行寻址。 - 数据报的封装与解封
从传输层过来的数据段需要经过IP协议的重封装,而从数据链路层过来的数据帧就需要进行解封装。在IP网络中封装后形成的是IP数据报,IP封装的目的就是标识此IP数据报发送节点和接受节点的IP地址和控制信息。 - 分段与重组不同网络上的链路可以传输的最大报文大小是不同的,这就是我们通常说的MTU(最大传输单元)。尺寸较大的数据报在MTU值较小的网络链路传输需要将数据报分段依次传输,对应的接收方就需要把这些接收到的拆分的分段组合起来,还原成原来的数据报。
几个特殊的IP地址
- IP地址中的主机号全为0,就成了网络号,代表这个局域网。
- 将IP地址中的主机号全为1,就成为了广播地址,用于给同一个链路中相互连接的所有主机发送数据包。
- 127.0.0.1 ** 它代表设备的本地虚拟接口**, 所以默认被看作是永远不会宕掉的接口。所以通常在安装物理网卡前就可以ping通这个本地回环地址。 一般都会用来检查本地网络协议、基本数据接口等是否正常的。
- 0.0.0.0 标识本机上的所有网卡。相当于本主机。
私有IP地址和公有IP地址
私有IP地址 :在局域网中使用的IP;
公网IP地址 :在互联网中使用的地址。
如果一个组织内部组建局域网,IP 地址只用于局域网内的通信,而不直接连到互联网上, 理论上使用任意的 IP 地址都可以,但是 RFC 1918 规定了用于组建局域网的私有IP地址 :
- 10. *** :前8位是网络号,共16777216个地址, 用于组建大型局域网**;
- 172.16. * 到 172.31. *** :前12位是网络号,共1048576个地址, 用于组建中型局域网**;
- 192.168.* :前16位是网络号,共65536个地址, 用于组建小型局域网;
路由器与路由表
路由器
作用是为 经过路由的每个数据包寻找一条最佳传输路径,并将该数据有效地传送到目的站点。
为完成这项工作,路由器中保存着各种传输路径的相关数据—路由表(Routing Table) ,供路由选择时使用。
路由表可以是由系统管理员固定设置好的(静态路由表),也可以是根据网络系统的运行情况而自动调整的路由表(动态路由表),它是根据路由选择协议提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。
路由表
路由表包含了路由器进行路由选择时所需要的关键信息,这些信息构成了路由表的总体结构。下面将讲述路由表的结构成分.:
(1) 目的网络地址(Dest)
(2) 掩码(Mask)
(3) 下一跳地址(Gw)
(4) 发送的物理端口(interface)
(5) 路由信息的来源(Owner): 表示该路由信息是如何学习到的。路由表可以由管理员手工建立(静态路由表),也可以由路由选择协议(OSPF)自动建立并维护。
(6) 路由优先级(pri): 决定了来自不同路由来源的路由信息的优先权。
(7) 度量值(metric): 度量值用于表示每条可能路由的代价,度量值最小的路由就是最佳路由。
上图即为一条路由信息,其中:172.16.8.0为目的逻辑网络地址或子网地址,255.255.255.0为目的逻辑网络或子网的网络掩码;1.1.1.1为下一跳逻辑地址;fei_0/1.1为学习到这条路由的接口和将要进行数据转发的接口;static为路由器学习到这条路由的方式,本例中本条路由信息是通过手工配置的方式学习到的;1为此路由管理距离;0为此路由的度量值。
特定主机路由
虽然互联网所有的分组转发都是基于目的主机所在的网络,但在大多数情况下都允许有这样的特例,即为特定的目的主机指明一个路由。
采用特定主机路由可使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。
默认路由
是一种路由策略,当路由器在路由表中找不到目标网络的路由条目时,路由器将数据包转发到默认路由指定的下一跳地址。默认路由的主要作用是避免数据包无法到达目的地的错误,提高网络通信的可靠性。在网络结构较为简单或者目的网络频繁变化的情况下,使用默认路由可以简化路由器的配置,减少网络故障的发生。同时,当某些网络路径发生故障时,可以使用默认路由绕过故障点,保证网络通信的畅通。
只要目的网络是其他网络(不是本网络),就一律选择默认路由,把数据报先间接交付路由器 R1,让 R1 再转发给下一个路由器。
路由选择过程
- 当 IP数据包到达路由器,,路由器会先查看目的地址 ;
- 通过判断目的IP,判定目的主机的所在网络是否与自己相连 ;
- 若相连, 则直接发送给目标主机;
- 若不相连,则发送给下一个路由器(这个过程中源IP地址会被替换为路由器的WAN口地址);
- 重复这个过程, 一直到达目的IP(或者TTL为0时被丢弃);
划分子网
在 ARPANET 的早期,IP 地址的设计不够合理:
● IP 地址空间的利用率有时很低。
● 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
● 两级的 IP 地址不够灵活。
早期 IP 地址的设计不合理产生了很多问题,为了解决这些问题 IP 地址中又增加了一个"子网号字段",使两级的IP地址变成了三级的IP地址。
基本思想
- 划分子网纯属一个单位内部的事情,对外部网络透明,单位对外仍然表现为没有划分子网的网络。
- 从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。于是两级 IP 地址变成了三级 IP 地址:网络号、子网号和主机号。
3. 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。
4. 最后就将 IP 数据报直接交付目的主机。
子网掩码
● 子网掩码是一个应用于 TCP/IP 网络的32位二进制值,每节 8 位,必须结合IP地址对应使用。
● 子网掩码 32 位都与 IP 地址 32 位对应,如果某位是网络地址(网络号部分和子网号部分)则对应的位全为“1” ,如果是主机号部分则对应的位全为“0” 。
● 子网掩码(subnet masking)的功能是告知主机或路由设备,地址的哪一部分是网络号,包括子网的网络号部分,哪一部分是主机号部分。
● 子网掩码可以分离出 IP 地址中的网络地址和主机地址,用于判断该 IP 地址是在局域网上,还是在广域网上。
● 子网掩码一般用于将网络进一步划分为若干子网,以避免主机过多而拥堵或过少而 IP 浪费。
使用子网掩码的原因
从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分,因为 IP 地址本身及数据报的首部没有包含任何关于有关子网划分的信息。使用子网掩码 (subnet mask) 可以找出 IP 地址中的子网部分。
地址解析协议ARP与逆地址解析协议RARP
广播
在同一个子网中,计算机 A 要向计算机 B 发送一个数据包,这个数据包会包含接收者的 ** MAC 地址**。当发送时,计算机 A 是通过广播的方式发送的,这时同一个子网中其他的计算机 C、D 也会收到这个数据包的,然后收到这个数据包的计算机,会把数据包的 MAC 地址取出来,与自身的 MAC 地址对比,如果两者相同,则接受这个数据包,否则就丢弃这个数据包,这种发送方式我们称之为广播。 就像我们平时在广场上通过广播的形式呼叫某个人一样,如果这个名字是你,你就理会一下,如果不是你,你就当作听不见。
ARP协议
ARP请求是广播,应答是单播
ARP 协议是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。ARP 协议能够将网络层使用的 IP 地址解析出在数据链路层使用的硬件地址。用于将计算机的网络地址(IP地址)转化为物理地址(MAC地址) 。ARP协议在以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的以太网地址来确定接口的。
- 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址,每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表;
- 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址;
- ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做;
- 从 IP 地址到硬件地址的解析是自动进行的,这种地址解析过程对主机的用户是透明的,不可见的;
- 只要主机或路由器要和本网络上的另一个已知 IP 地址的主机或路由器进行通信,ARP 协议就会自动地将该 IP 地址解析为链路层所需要的硬件地址;
ARP协议工作流程
- 首先,每台主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址的对应关系。
- 当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP 列表中是否存在该 IP 地址对应的 MAC 地址,如果有﹐就直接将数据包发送到这个 MAC 地址;如果没有,就向本局域网发起一个 ARP 请求的广播包,查询此目的主机对应的 MAC 地址。此 ARP 请求数据包里包括源主机的 IP 地址、硬件地址、以及目的主机的 IP 地址。
- 网络中所有的主机收到这个 ARP 请求后,会检查数据包中的目的 IP 是否和自己的 IP 地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的 MAC 地址和 IP 地址添加到自己的 ARP 列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP 响应数据包,告诉对方自己是它需要查找的 MAC 地址;
- 源主机收到这个 ARP 响应数据包后,将得到的目的主机的 IP 地址和MAC地址添加到自己的 ARP 列表中,并利用此信息开始数据的传输。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。
询问对方主机的MAC地址是通过广播的,知道MAC地址后,发送数据也是通过广播的形式就,拿其他主机如何知道是要传送数据还是询问MAC地址呢?
其实在询问 MAC 地址的数据包中,在对方的 MAC 地址这一栏中,填的是一个特殊的 MAC 地址,其他计算机看到这个特殊的 MAC 地址之后,就能知道广播想干嘛了。
为什么不直接使用硬件地址进行通信?
由于全世界存在着各式各样的网络,它们使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此几乎是不可能的事。
IP 编址把这个复杂问题解决了。连接到互联网的主机只需各自拥有一个唯一的 IP 地址,它们之间的通信就像连接在同一个网络上那样简单方便,因为上述的调用 ARP 的复杂过程都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的。
因此,在虚拟的 IP 网络上用 IP 地址进行通信给广大的计算机用户带来了很大的方便。
RARP逆地址解析协议
RARP 请求是广播方式,应答都是单播方式
在计算机网络中,设备通过MAC地址进行通信,而IP地址是用于标识设备在网络中的位置。RARP协议的作用是通过物理地址找到对应的IP地址,使设备能够在网络中相互通信。
网络上的每台设备都会有一个独一无二的硬件地址,通常是由设备厂商分配的 MAC 地址。PC 从网卡上读取 MAC 地址,然后在网络上发送一个 RARP 请求的广播数据包,请求 RARP 服务器回复该 PC 的IP地址。
● RARP 服务器收到了 RARP 请求数据包,为其分配 IP 地址,并将 RARP 回应发送给 PC。
● PC 收到 RARP 回应后,就使用得到的 IP 地址进行通讯。
RARP协议主要用于无盘工作站(diskless workstation)。这种工作站没有自己的硬盘,需要从网络中的服务器上获取操作系统和其他必要的信息。然而,服务器必须知道无盘工作站的IP地址,以便向其发送所需的信息。这时,RARP协议就派上用场了。
英特网控制报文协议ICMP
为了更有效地转发 IP 数据报和提高交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。
ICMP 是互联网的标准协议。
ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。
ICMP 报文作为 IP 数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。
ICMP只能搭配IPv4工作,如果是IPv6,需要使用ICMPv6
ICMP协议的功能
- 确认IP包是否成功到达目标地址。
- 通知在发送过程中 IP 包被丢弃的原因。
ICMP报文格式
- 8 位类型字段用于区分报文类型。它将ICMP报文分为两大类:
● ** 差错报文**:主要用于回应网络错误,比如目标不可到达(类型值为3)和重定向(类型值为5)
● 查询报文:用于查询网络信息,比如ping命令就是使用ICMP报文查看目标是否可到达(类型值为8)的 - 有的类型通过8位代码字段来进一步细分不同的条件:
比如重定向报文使用代码值0表示对网络重定向,代码值1表示对主机重定向 - ICMP报文使用16位校验和字段对整个报文(包括头部和内容部分)进行CRC校验(循环冗余校验),以校验报文是否损坏。
ICMP 差错报告报文种类
-
终点不可达
当路由器发送的数据报不能发送到指定目的地时,或者说当路由器不能够给数据报找到路由或主机不能够交付数据报时,就丢弃这个数据报,然后向发送数据报的源主机设备发回一个终点不可达数据报文。
-
端口不可达
当目标系统收到一个ip数据报的某个服务请求时,如果本地没有此服务,那么会向源头返回ICMP端口不可达信息。
常见的端口不可达有,R1向R3发起一个ftp的传输请求,从R3传输一个文件到R1,由于R3设备没有开启ftp服务的69端口,因此R1在请求R3时会收到R3回复的一个ICMP端口不可达的差错报文。 -
超时
ICMP差错报告报文主要在以下几种情况中,会发送ICMP超时报文:
● 当路由器接收到的数据报的生命周期字段值为0时,路由器会把该数据报丢弃掉,并向源主机发回一个 ICMP 超时报文。
● 当目标主机在规定时间内没有收到所有的数据分片时,会把已经收到的所有数据分片丢弃,并向源主机发回一个 ICMP 超时报文。在超时报文中,代码 0 只能给路由器使用,表示生存周期字段值为 0,代码 1 只能给目的主机使用,它表示在规定的时间内,目的主机没有收到所有的数据分片。 -
参数问题
当路由器或目的主机收到的数据报的首部字段中有的字段的值不正确时,就会丢弃该数据报,并向源点回送参数问题报文。
-
改变路由(重定向)
路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。
ICMP 询问报文有两种
- 回送请求和回答报文
- 时间戳请求和回答报文
ping命令和pathping命令
ping命令
ping (Packet Internet Groper),因特网包探索器,是网络层命令,用于测试网络连接量的程序。ping发送一个ICMP回声请求消息(ICMP Echo Request)给目的地并报告是否收到,所希望的ICMP回声应答(ICMP Echo Reply)。
ping命令通常用来作为网络可用性的检查。ping命令可以对一个网络地址发送测试数据包,看该网络地址是否有响应并统计响应时间,以此测试网络。它是用来检查网络是否通畅或者网络连接速度的命令。
pathping命令
pathping 能跟踪数据包路径。使用ping能够判断网络通还是不通,但是比如请求超时,你就不能判断什么位置出现的网络故障造成的请求超时。使用pathping命令能跟踪数据包的路径,能够查出故障点,并且能够计算路由器转发丢包率和链路丢包率以及延迟,据此能够判断出网络拥塞情况。
网际组管理协议IGMP
IGMP(Internet Group Management Protocol,互联网组管理协议)是负责IPv4组播成员管理的协议,用来在组播接收者和与其直接相邻的组播路由器之间建立和维护组播组成员关系。
IP组播通信的特点是报文从一个源发出,被转发到一组特定的接收者。发送者不关注接收者的位置信息,只是将数据发送到约定的目的组播地址。要使组播报文最终能够到达接收者,需要某种机制使连接接收者网段的组播路由器能够了解到该网段存在哪些组播接收者,同时保证接收者可以加入相应的组播组中。
IGMP就是用来在接收者主机和与其所在网段直接相邻的组播路由器之间建立、维护组播组成员关系的协议。
IGMP有三个版本:IGMPv1、IGMPv2和IGMPv3。
IGMPv1报文
两种类型的报文:
普遍组查询报文(General Query) :查询器向共享网络上所有主机和路由器发送的查询报文,用于了解哪些组播组存在成员。
成员报告报文(Report) :主机向查询器发送的报告报文,用于申请加入某个组播组或者应答查询报文。
路由选择协议
路由信息协议RIP–自治系统内部
RIP路由信息协议(Routinginformation protocol)是根据距离-向量原理设计的内部网络协议。RIP通过距离向量算法来完成路由表的更新。每个路由表项目都有三个关键数据: <目的网络N , 距离d,下一跳路由器X> 。其要点如下:
- 每个路由器维护自己到其它每一个目的网络的距离(跳数)记录
- 以距离最短(跳数最小) 为评价,不是时间最短
- 跳数范围1~15,16就认为不可达(由于距离向量具有可能出现环路,16的限制防止数据报不断在网络上循环,减少网络拥塞的可能性,因此也限制了网络的规模)
- 默认每30秒广播一次RIP 路由更新协议,以动态维护路由表。
- 不支持子网掩码的RIP 广播,即RIP 中每个网络的子网掩码必须相同
RIP报文发送
- RIP 使用 UDP 协议进行路由信息交换。
- RIP1 和 RIP2 使用 UDP
520
端口发送或接收 RIP 报文。
路由更新
- 接收到邻居的路由表后,路由器采用距离向量算法更新自己的路由表。
- 在下一个发送周期,路由器将更新后的路由表再发送给自己的邻居路由器。
- 若网络拓扑结构不变,经过有限次的路由表交换后,所有 RIP 路由器都会获得到达自治系统中所有网络的最短路由。此时称路由协议收敛
开放最短路径优先协议OSPF–AS内部
每台路由器都通过链路状态数据库LSDB(Link State DataBase) 掌握全网的拓扑结构。如图所示,每台路由器都会收集其它路由器发来的LSA,所有的LSA放在一起便组成了链路状态数据库LSDB。LSA是对路由器周围网络拓扑结构的描述,LSDB则是对整个自治系统的网络拓扑结构的描述。路由器将LSDB转换成一张带权的有向图,这张图便是对整个网络拓扑结构的真实反映。在网络拓扑稳定的情况下,各个路由器得到的有向图是完全相同的。
路由器根据最短路径优先(Shortest Path First) 算法计算到达目的网络的路径,而不是根据路由通告来获取路由信息。
OSPF的运行机制
-
通过交互Hello报文形成邻居关系
路由器运行OSPF协议后,会从所有启动OSPF协议的接口上发送Hello报文。如果两台路由器共享一条公共数据链路,并且能够成功协商各自Hello报文中所指定的某些参数,就能形成邻居关系。
-
通过泛洪LSA通告链路状态信息
形成邻接关系的路由器之间可以交互LSA。LSA描述了路由器所有的链路、接口、邻居及链路状态等信息。路由器通过交互这些链路信息来了解整个网络的拓扑信息。由于链路的多样性,OSPF协议定义了多种LSA类型。
-
通过组建LSDB形成带权有向图
通过LSA的泛洪,路由器会把收到的LSA汇总记录在LSDB中。最终,所有路由器都会形成同样的LSDB。LSA是对路由器周围网络拓扑结构的描述,而LSDB则是对整个自治系统的网络拓扑结构的描述,LSDB是LSA的汇总
-
通过SPF算法计算并形成路由
当LSDB同步完成之后,每一台路由器都将以其自身为根,使用SPF算法来计算一个无环路的拓扑图来描述它所知道的到达每一个目的地的最短路径(最小的路径代价)。这个拓扑图就是最短路径树,有了这棵树,路由器就能知道到达自治系统中各个节点的最优路径。
-
维护和更新路由表
根据SPF算法得出最短路径树后,每台路由器将计算得出的最短路径加载到OSPF路由表形成指导数据转发的路由表项,并且实时更新。同时,邻居之间交互Hello报文进行保活,维持邻居关系或邻接关系,并且周期性地重传 LSA。
BGP边界网关协议–AS之间
边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的路径矢量路由协议。
虚拟专用网VPN
VPN,全称为Virtual Private Network,即“虚拟专用网络”,是一种通过公共网络(如互联网)在不安全的网络中建立加密的安全连接的技术。VPN通过建立一个虚拟的、加密的通道,将用户的终端设备与服务器之间的通信隔离起来,保证数据传输的机密性、完整性和可用性。
VPN分类
- 远程访问VPN:用于连接远程用户与企业内部网络之间的安全通信。远程用户可以通过公共网络访问私有网络资源,同时数据传输通过加密和隧道技术保证安全性。
- 网站对网站VPN:也被称为站点对站点VPN,用于连接不同地点的局域网(LAN)或企业网络。它使得多个办事处或分公司的网络能够相互连接,实现数据的安全共享。
- 个人VPN:是指在公共网络上为个人用户提供安全和匿名上网服务的VPN。个人VPN通常通过加密技术保护用户的网上活动,并隐藏用户的真实IP地址,提供更高的隐私保护。
VPN的使用场景
- 提供远程访问:允许远程工作者或出差人员通过公共网络安全地访问公司内部资源,如文件、数据库等。
- 保护隐私:通过加密数据传输和隐藏真实IP地址,保护用户在互联网上的隐私安全,防止个人信息被窃取或监视。
- 绕过地理限制:通过连接到位于其他地理位置的服务器,用户可以绕过地理限制访问受限制的网站、流媒体内容或服务。
工作原理是:
当用户连接到VPN时,VPN客户端会在用户计算机和VPN服务器之间建立一个加密的连接,这个连接被称为VPN隧道。该隧道通过使用加密协议(如OpenVPN、IPSec等)将用户的数据包加密,确保数据在传输过程中的安全性。在VPN隧道中,用户的数据包会被封装在新的数据包中,并在发送到目标服务器之前进行加密。
一旦数据到达VPN服务器,服务器会解密用户的数据包,并将其发送到目标服务器。在返回数据时,VPN服务器再将数据包加密,通过隧道传输给用户。这样,用户和目标服务器之间的通信就能够在公共网络上被保护起来,第三方无法窃听或截取用户的数据。
网络地址转换NAT
- 主要应用在企业网络的边缘设备上
- 对数据包的私有IP地址和公有IP地址进行转换,实现内网到外网的访问
- 实现企业内网的保护,增强企业内网的安全性。因为外网无法直接访问内部设备的私有IP地址
NAT产生背景
- 为了节省IP地址和费用,一般企业内部都是使用私有IP地址
- Internet网路的组成设备,使用的都是公有IP地址
- 企业内网要与internet互通,必须拥有公有IP地址
- 企业内网中的设备,无法使用私有地址与internet互通
NAT工作原理
路由器对数据包进行地址转换,路由器在接收到内部数据包时将内部源IP地址转化为公有IP地址后在进行路由转发。
NAT核心工作表:NAT转换表
NAT类型
静态NAT
NAT表条目是通过手动配置的方式添加进去的
私有IP地址和公有IP地址是 ** 1对1 ** 的关系,不节省公网IP地址
动态NAT
NAT表中的条目是 路由器出炉数据包 时自动形成的
基于NAT地址池 实现私有地址和公有地址之间的转换,比静态NAT更加节省公网IP
NAPT
由于NAT实现是私有IP和NAT的公共IP之间的转换,那么,私有网中同时与公共网进行通信的主机数量就受到NAT的公共IP地址数量的限制。为了克服这种限制,NAT被进一步扩展到在进行IP地址转换的同时进行Port的转换,这就是网络地址端口转换NAPT(Network Address Port Translation)技术。NAPT也被称为“多对一”的NAT,或者叫PAT(Port Address Translations,端口地址转换)、地址超载(address overloading)。
NAPT与NAT的区别在于,NAPT不仅转换IP包中的IP地址,还对IP包中TCP和UDP的Port进行转换。这使得多台私有网主机利用1个NAT公共IP就可以同时和公共网进行通信 。(NAPT多了对TCP和UDP的端口号的转换)