计算机网络(二)| IP协议

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-03
IP协议(Internet Protocol,互联网协议),是TCP/IP协议栈中最核心的协议之一,通过IP地址,保证了联网设备的唯一性,实现了网络通信的面向无连接和不可靠的传输功能。
IP协议的主要作用是在相互连通的网络之间传输IP数据报,最重要的部分是IP寻址、路由选择、数据分段与重组。

我们可以使用wireshark抓包分析一下IP的头部信息。

我们可以将几个常用的头部信息组合起来:

IP地址分为五个类别:分别为A类,B类,C类,D类,E类。

然而,这种划分方案的局限性很明显,大多数都申请的是B类地址,就会导致B类地址很快就分配完了,而A类却浪费了大量地址。
因此引入了一个新的划分方案(CIDR):引入一个子网掩码的概念来区分网络好和主机号,子网掩码本身也是一个32的正整数。子网掩码对应IP地址的网络号全为1,主机号全为0。 将IP地址与子网掩码进行按位与操作,得到的结果就是网络号。

虽然CIDR一定程度上减少了IP地址的浪费,但是IPv4地址只有43亿左右,怎么都是不够用的,因此需要解决方案来解决IPv4枯竭的问题,目前有三种方案。

接下来主要介绍一下NAT技术:

如果一个内部主机唯一占用一个公网IP,这种方式被称为一对一模型。此种方式下,转换上层协议就是不必要的,因为一个公网IP就能唯一对应一个内部主机。显然,这种方式对节约公网IP没有太大意义,主要是为了实现一些特殊的组网需求。比如用户希望隐藏内部主机的真实IP,或者实现两个IP地址重叠网络的通信。

它能够将未注册的IP地址映射到注册IP地址池中的一个地址。不像使用静态NAT那样,你无需静态地配置路由器,使其将每个内部地址映射到一个外部地址,但必须有足够的公有因特网IP地址,让连接到因特网的主机都能够同时发送和接收分组。

这是最常用的NAT类型。NAT重载也是动态NAT,它利用源端口将多个私网ip地址映射到一个公网ip地址(多对一)。那么,它的独特之处何在呢?它也被称为端口地址特换(PAT)。通过使用PAT(NAT重载),只需使用一个公网ip地址,就可将数千名用户连接到因特网。其核心之处就在于利用端口号实现公网和私网的转换。
面对私网内部数量庞大的主机,如果NAT只进行IP地址的简单替换,就会产生一个问题:当有多个内部主机去访问同一个服务器时,从返回的信息不足以区分响应应该转发到哪个内部主机。此时,需要NAT设备根据传输层信息或其他上层协议去区分不同的会话,并且可能要对上层协议的标识进行转换,比如TCP或UDP端口号。这样NAT网关就可以将不同的内部连接访问映射到同一公网IP的不同传输层端口,通过这种方式实现公网IP的复用和解复用。这种方式也被称为端口转换PAT、NAPT或IP伪装,但更多时候直接被称为NAT,因为它是最典型的一种应用模式。