Skip to content

请求携带的IP和路由的关系

发出去的请求都会携带ip,而请求都会经过路由。ip又分为ipv4和ipv6,路由分配又涉及到NAT和DHCP,他们之间有什么样的关系呢?

ipv4运用NAT而ipv6不用

IPv4使用NAT(网络地址转换)而IPv6不常用NAT的原因主要与这两种协议的设计理念和互联网发展的历史背景有关。

IPv4与NAT的关系

  1. 地址空间有限

    • IPv4地址长度为32位,总共能提供大约43亿个唯一地址。随着互联网的迅速发展,这个数量很快变得不够用,导致IP地址资源紧张。
  2. 节约公共IP地址

    • 为了缓解IPv4地址短缺的问题,NAT被广泛采用。它允许多个设备共享一个或少数几个公共IPv4地址访问互联网。内部网络中的设备使用私有IP地址(如192.168.x.x, 10.x.x.x等),只有当数据包需要发送到外部网络时,才会通过NAT设备将这些私有地址转换成一个或多个公共IPv4地址。
  3. 安全性考虑

    • NAT作为一种附加的安全层,隐藏了内部网络结构,因为外部网络无法直接看到内部网络的真实IP地址,这在一定程度上增加了攻击者的难度。

IPv6不需要NAT的原因

  1. 充足的地址空间

    • IPv6地址长度为128位,提供了极其庞大的地址空间,理论上可以为地球上的每一粒沙子分配一个唯一的IP地址。因此,不再存在IPv4那样的地址短缺问题,每个设备都可以拥有自己的全球唯一IPv6地址,无需共享。
  2. 端到端连接性

    • IPv6的设计初衷是恢复互联网最初的“端到端”原则,即任何两台联网设备之间都能够直接通信。NAT破坏了这种端到端的透明性,因为它改变了数据包的源地址信息。IPv6通过提供足够的地址空间来支持这一设计目标。
  3. 简化网络管理

    • 没有NAT意味着更简单的网络配置和维护,减少了由于地址转换带来的复杂性和潜在错误点。同时,这也使得一些应用和服务(例如VoIP、P2P文件共享)更容易实现,因为它们不再需要处理复杂的NAT穿越问题。
  4. 内置安全机制

    • 虽然IPv6没有依赖NAT作为额外的安全屏障,但它引入了其他安全特性,比如IPsec(Internet Protocol Security),这是一种可以在传输层保护数据完整性和保密性的标准。此外,IPv6还支持更强的身份验证和加密方法。

总之,IPv4中使用NAT主要是为了应对地址资源不足的问题,而在IPv6中,由于其巨大的地址空间和其他改进特性,NAT不再是必要的。IPv6旨在提供更好的性能、更高的安全性和更加简洁的网络架构,从而更好地适应未来互联网的发展需求。

请求都会自带ip,为什么有时候还需要DHCP分配

这里误以为DHCP是为外来请求分配ip的,实则不然

我们需要区分两种情况:内部网络中的设备获取IP地址外部到来的请求自带IP地址

内部网络中的设备获取IP地址

  1. 动态分配的重要性

    • 在一个局域网(LAN)中,设备连接到网络时并不自带有效的内部IP地址。它们需要一个机制来获得可以在该网络内使用的IP地址。这就是DHCP(动态主机配置协议)的作用。
    • DHCP服务器为连接到网络的新设备提供临时的IP地址、子网掩码、默认网关以及DNS服务器等必要的网络配置信息。这样,设备就能立即开始与网络内的其他设备或互联网进行通信。
  2. 简化管理

    • 使用DHCP可以大大简化网络管理员的工作,因为不需要手动为每个新设备配置静态IP地址。此外,DHCP还可以回收不再使用的IP地址,确保地址池的有效利用。
  3. 灵活性

    • 对于移动设备来说,每次连接到不同的网络时都能自动获取合适的IP地址,而无需用户干预。这极大地提高了用户体验和网络接入的效率。

外部到来的请求自带IP地址

  1. 全球唯一的IPv4/IPv6地址

    • 当来自互联网的请求到达您的网络时,这些请求确实会带有源IP地址。对于IPv4,这个地址通常是公共IP地址;对于IPv6,它可能是全球唯一的IPv6地址。
    • 这些请求的目标是您网络中的某个特定服务或设备,例如Web服务器、邮件服务器等。路由器根据目标IP地址将请求转发给正确的内部设备。
  2. NAT(网络地址转换)

    • 在IPv4环境中,由于私有IP地址空间有限,通常会使用NAT技术。这意味着多个内部设备共享一个公共IP地址。当外部请求到达时,路由器通过NAT表将请求映射到相应的内部私有IP地址
    • 对于IPv6,由于其巨大的地址空间,理论上每个设备都可以拥有全球唯一的IPv6地址,从而减少了对NAT的需求。因此,在纯IPv6环境中,外部请求可以直接到达指定的内部IPv6地址。

对比下NAT和DHCP

定义

  1. NAT(网络地址转换)
    • 功能:NAT主要用于将一个或多个内部私有IP地址映射到一个或少数几个公共IP地址,以便这些设备可以通过互联网进行通信。
    • 目的:解决IPv4地址短缺问题,并提供一定程度的安全性(通过隐藏内部网络结构)。此外,在IPv6环境中,NAT的使用减少,因为每个设备都可以拥有全球唯一的IPv6地址。
  2. DHCP(动态主机配置协议)
    • 功能:DHCP用于自动分配IP地址和其他网络配置参数(如子网掩码、默认网关、DNS服务器等)给网络中的设备。
    • 目的:简化网络管理和配置过程,使得设备能够快速、方便地接入网络,而无需手动设置IP地址。

工作方式

  1. NAT的工作方式
    • **NAT通常由路由器执行,它会在数据包进出网络时修改源或目标IP地址。**例如,当内部设备发起对外部网络的请求时,NAT会用路由器的公共IP地址替换原始的私有IP地址;当响应返回时,NAT再将公共IP地址转换回原始的私有IP地址。
  2. DHCP的工作方式
    • DHCP是一个客户端-服务器协议,当设备连接到网络时,它会发送一个广播请求,寻找可用的DHCP服务器。服务器回应并提供一个IP地址租约以及必要的配置信息。设备接受这个配置后就可以开始使用分配的IP地址进行通信

区别

  • 作用范围NAT主要用于处理内外网之间的通信,特别是对于IPv4环境下的私有IP地址和公共IP地址之间的转换;而DHCP则专注于内部网络中设备的自动配置
  • 安全性:NAT提供了某种程度上的安全屏障,因为它隐藏了内部网络的真实结构;而DHCP本身并不提供额外的安全特性,其主要目的是简化配置。
  • 依赖关系:NAT可以独立运作,不需要依赖DHCP;然而,许多网络环境中,DHCP经常与NAT一起使用,以确保所有内部设备都能正确配置并访问互联网。

DHCP与NAT的协作

  1. 自动分配私有IP地址
    • 在大多数情况下,内部网络使用的是私有IP地址范围(如192.168.x.x, 10.x.x.x等)。DHCP服务器会自动为连接到网络的新设备分配这些私有IP地址,并提供必要的网络配置信息(如子网掩码、默认网关、DNS服务器等)。
  2. 简化NAT配置
    • 当所有内部设备都通过DHCP获得了正确的私有IP地址和默认网关(通常是路由器的内部接口),NAT过程就变得更加简单。路由器作为NAT设备,只需要管理从内部私有IP地址到外部公共IP地址的转换。
  3. 集中化管理
    • 使用DHCP可以确保所有设备都能正确配置,从而减少了手动配置错误的可能性。这对于NAT来说非常重要,因为如果设备没有正确配置,默认网关设置不正确,那么NAT将无法正常工作。

没了NAT+DHCP分配,ipv6咋来的

ipv4通常依赖NAT+DHCP(路由器包含这俩);而ipv6则是设备自己生成,并通过路由器提供的前缀信息完成。

PS:你发的请求都得经过路由器。

  • IPv4 的地址生成和互联网访问通常依赖于 NAT + DHCP,其中DHCP分配私有IP地址,NAT处理私有IP地址与公共IP地址之间的转换。
  • IPv6 的地址则是由 设备自己生成,并通过路由器提供的网络前缀信息完成。设备生成的全球唯一IPv6地址直接用于通信,经过路由器转发而不需进行地址转换。

PS:路由器支持ipv6代表你的ipv6地址的请求能发出去,而不是说你用的路由器的地址。

使用WIFI和流量,路由谁来担任呢?

  • 连接家庭Wi-Fi:路由器或网关是家庭网络的核心设备,负责管理内部网络并作为默认网关处理进出本地网络的数据包转发。
  • 使用移动数据流量:当您使用移动数据时,是由移动网络运营商提供的服务来管理和路由您的互联网通信,其核心网络设备承担了类似家庭Wi-Fi中路由器/网关的功能。

VPN怎么建立信息通道呢?

这里我们不展开,就说个大概。

  • 发起请求连接

一般来说,都会有个支持VPN的客户端应用程序,客户端会向预先配置好服务器发送的一个连接请求。

  • 认证与授权

服务器接收到请求后进行一系列的认证。认证成功后协商和建立用于加密通信的安全参数。

  • 安全关联建立

通过一些技术建立安全关联(IKE/IKEv2协商,SSL/TLS握手)

  • 建立传输层连接

使用TCP或者UDP(实时性更高)

  • 数据隧道化
    • 封装与解封:一旦建立了安全的连接,所有通过该连接传输的数据都将被封装在一个特殊的“隧道”内。
    • 加密与解密:在整个通信过程中,发送方会对数据进行加密处理,接收方则负责解密,确保即使数据在网络上传输时被截获也无法轻易解读内容。

校园网IP为什么和子网掩码AND运算后为固定值?

这里有个误区:我之前误以为连接团队网络发送的请求的IP,NAT转换后具体是什么IP由团队路由器决定。实际上并不是这样。

核心结论

公网IP出口的归属与路由器的NAT功能无关,而是由更高层网络架构(如运营商或学校的公网IP分配策略)决定。

对于校园网来说,学校可能从运营商处获得一个公网IP段。不论是团队WIFI还是校园网出口都会经过这个公网IP段,所以与子网掩码AND运算后结果是相同的。

Q:那我们自己的路由器有什么作用呢?

  • 对内:管理内网IP分配和子网划分(如 192.168.1.0/24)。
  • 对外:依赖学校核心网络提供的公网IP资源。

同时这里又涉及到另一个概念:校园网的核心路由器

  • 只有核心路由器才是管理公网IP段,以及NAT与路由所有子网私有IP转换为公网IP的路由器。

我们实验室的普通路由器没法绕过核心路由器,只能:

  • 进行实验室设备分配私有IP管理内网通信
  • 为实验室设备自动分配IP地址

关键点:

  • 实验室路由器是校园网的“下游设备”,它的WAN口需要连接到校园网提供的端口(例如墙上的网口)。
  • 实验室路由器的公网出口仍受核心路由器控制:无论实验室路由器如何配置,最终访问互联网的流量必须通过核心路由器的公网IP。