完整教程:【Java】网络编程(5)

1. 再谈 IP

1.1 协议格式

版本:以 IPv4 和 IPv6 为主。

首部长度:IP 协议的报头是可变长的。

服务类型:IP 协议许可切换工作状态,具体有,最小延时、最大吞吐量、最高可靠性和最小成本。四者选其一。

总长度:IP 数据报报头加载荷的长度。长度为 16 位,大约 64 KB。IP 协议内置了拆包和组包功能。

标识、标志、偏移:三者共同用于维护 IP 协议拆包和组包的逻辑。标识为被拆散的包做相同的标记,用于组包。标志位用于提示当前是否拆包,以及当前包是否为最后一个。偏移描述了素材的先后顺序。

生存时间:IP 数据报能够在网络上传输的最大时间。IP 素材报每经过一个路由器的转发,TTL 的值相应减一,减到零则会被丢弃。如下图,TTL 原本为 64,经过 11 次转发到达服务器。

协议:IP 协议将数据报分用时,载荷被提交上层传输层协议,该字段就用于标识载荷使用的是哪种传输层协议。

源 IP 和目的 IP: 32 位的二进制数,为了便于阅读,也采用点分十进制表示,用三个点号将数据分为四部分,每部分 8 位,再转换为十进制。就是IP 协议的核心,因为 IP 协议的作用就是在复杂的网络中规划路线。IP 地址本质上

32 位 IP 地址可以表示 43 亿左右的数字,但现在整个世界的互联网设备数量远超这个数目。为了解决这个问题,引入 NAT 机制。

1.2 NAT 机制

网络设备分为公网设备和私网设备。公网设备拥有全球唯一的公网 IP,由国际互联网地址分配机构统一分配,能被互联网上任意设备直接访问。如互联网公司的服务器,运营商带有公网 IP 的路由器等。

私网设备仅拥有私网 IP,仅在同一局域网中唯一,无法直接被公网访问。私网 IP 使用预留的地址段,以 10. 或 172.16. - 172.31. 或 192.168. 开头。私网设备间可直接通信。私网设备访问公网需通过运营商路由器的 NAT 工艺,将私网 IP 映射到公网 IP。这在一定程度上保护了私有设备,避免其暴露在公网环境中。

NAT 技术主要在做地址映射的工作。当带有私网 IP 的数据报经过运营商的公网路由器时,NAT 将私网 IP 替换为路由器的公网 IP,从而与公网中的服务器进行通信。IP 映射的同时,路由器会记录每一条映射关系,该映射关系通过端口号区分不同主机(由于映射后信息的源 IP 相同,服务器返回响应时的目的 IP 也相同,此时通过记录端口号来做区分)。通过这样的技术,很多局域网设备共用一个公网 IP,也达到了节省 IP 资源的目的。

一种稀缺资源,某些无法获取公网 IP 的企业或个人,也可以依据一些技术让私网设备对外服务。这样的技巧主要有内网穿透和 VPN。就是多数对外提供服务的服务器是公网设备,如淘宝的服务器,但公网 IP 也

融入了目标局域网,可访问目标局域网的所有资源。就是这些科技并不与 NAT 冲突,也并没有绕过 NAT,只是通过一些其他公网设备将私网设备间接暴露。内网穿透就是将私网服务器与一个公网中转服务器建立连接,中转服务器会将请求转发到私网服务器。VPN 也是类似的原理,也是需一个持有公网 IP 的 VPN 网关服务器,私网设备与该服务器握手后,后续请求会被加密传输至该服务器,该服务器再将请求转发至目标局域网。此时私网设备像

1.3 IPv6

绰绰有余的。就是NAT 机制是目前解决 IP 资源稀缺的主力方案,但公网 IP 也总有耗尽的一天。此时,IPv6 就是一个终极解决方案。IPv4 使用 4 字节作为 IP 地址,而 IPv6 使用 16 字节作为 IP 地址,那就相当于是 43 亿的四次方,这样无论未来有多少网络设备,这个数字都

目前世界的 IPv6 覆盖率非常低,因为其并不能提升任何上网体验。但中国的 IPv6 覆盖率非常高,这与国家战略有关(美国全权操控 IPv4,容易被限制)。虽然目前中国很多网站都支持了 IPv6,但并不是真正开启了它的效果。现在我们依然在使用 IPv4,但做好准备可以确保美国不会在 IP 卡我们。

1.4 网段划分

对于私网 IP 来说,它的格式也是有一定限制的,这与网段相关。

一般情况下,IP 地址的前二十四位表示网络号,后八位表示主机号。同一个局域网中,网络号必须相同,主机号必须不同。两个相邻的局域网,网络号必须不同,主机号无限制。

如下图所示,这是家中组网的简单模型。相邻的局域网网络号是不同的,路由器起到的就是将局域网相互连接的作用。

局域网中,不能将主机号设为 0,形如 192.168.100.0 这样的地址表示的是整个局域网,不能表示某个主机。也不能将主机号全设为 1,形如 192.168.100.255 这样的地址表示广播地址,它会给处于同一个局域网中的全部设备发送数据包。比如电视投屏就是在向广播地址发送数据包,以查找哪些设备可以投屏。

127. 开头的 IP 用于本机环回测试,无论本机的真实 IP 是多少,它都允许代表。

连接不同网络的出入口。就是另外,大家习惯将主机号为 1 的 IP 作为网关 IP。所谓网关就

1.5 路由选择

通过路由选择是一个探索式的问路过程。网络环境是非常复杂的,路由器无法储存全部的网络信息,但它能够记录附近的网络情况,也就是与其相邻的网段。

当数据到达路由器,路由器就通过路由表进行匹配。要是刚好匹配到路由表中记录的 IP,就直接通过对应的网口转发过去。若是没有匹配到,路由器则会按照路由表上 “下一跳” 指向的上级路由器进行进一步路由。

探索式的。就是所谓探索式就是指,路由器通过 “路由协议” 动态地学习周围网络的拓扑结构,逐步构建出路由表,这个 “学习过程”

实时探索。就是而真正进行数据转发时,路径已经提前在路由表上规划好了,转发过程本身是按表走,不


2. 再谈以太网

数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范。通信媒介包括双绞线电缆、同轴电缆、光纤、电波以及红外线等介质。

根据传输介质的不同,素材链路层中定义了不同的协议,如以太网、WLAN、PPP(Point to Point Protocol,点对点协议)等。数据链路也可以被视为网络传输中的最小单位。其实,仔细观察连通全世界的互联网就可以发现,它也不外乎是由众多这样的数据链路组成的,因此又可以称互联网为 “数据链路的集合”。

3. DNS

互联网上的每一台设备都有一个 IP 地址,但人类很难记住这些数字串。DNS 应运而生。它允许大家使用容易记忆的域名来访问网站。当我们在浏览器中输入一个域名时,计算机会向 DNS 服务器发起查询,DNS 服务器负责将这个域名 “翻译” 成对应的 IP 地址,随后您的浏览器才能通过这个 IP 地址找到并打开目标网站。

一个完整的域名解析过程是从右向左的。

如 www.sogou.com.

注意末尾有一个不起眼的点,这个 . 代表根域,即所有域名的起点。通常根域会被省略,操作系统会自动补全。

.com 所在的位置被称为顶级域。com 是 commercial ‘商业’ 该词的缩写,表示该网站为营利利用。相应地,.org 被用于非营利组织,.edu 被用于教育机构。

sogou 所在的位置被称为二级域,表示独特的品牌标识。

www 是一个历史遗留的主机名,用于指定提供 Web 服务的计算机。在互联网的早期,一台服务器通常只提供一种服务,www. 标识的主机专门提供网页浏览服务,mail. 标识的主机专门提供邮件服务。现在,这个主机标识通常能够省略。

全球只有 13 个 DNS 根服务器,如果所有查询都涌向这13个地方,网络会很拥堵且脆弱。为此,有下面两个缓解方式:

1. 访问过的域名对应的 IP 会被缓存在本地,无需每次都触发 DNS 请求。

2. 在世界各地搭建镜像服务器。镜像服务器是根服务器的完整副本,并与其保持数据同步。

posted on 2025-10-27 16:39  wgwyanfs  阅读(1)  评论(0)    收藏  举报

导航