JavaEE 初阶第十八期:叩开网络世界的大门(上)

专栏:JavaEE初阶起飞计划

个人主页:手握风云

目录

一、网络发展史

[1.1. 独立模式](#1.1. 独立模式)

[1.2. 网络互连](#1.2. 网络互连)

二、网络分类

[2.1. 局域网](#2.1. 局域网)

[2.2. 广域网](#2.2. 广域网)

三、IP地址

[3.1. 概念](#3.1. 概念)

[3.2. 格式](#3.2. 格式)

四、端口号

[4.1. 概念](#4.1. 概念)

[4.2. 格式](#4.2. 格式)

五、协议

[5.1. 概念](#5.1. 概念)

[5.2. 作用](#5.2. 作用)

[5.3. 五元组](#5.3. 五元组)

[5.4. 协议分层](#5.4. 协议分层)

六、TCP/IP分层模型


一、网络发展史

1.1. 独立模式

在互联网诞生之前,早期的计算机系统是独立且封闭的。这些大型主机(Mainframe)通常服务于单一机构,比如大学、政府部门或大型企业。每台计算机都拥有自己的操作系统和处理能力,但它们彼此之间无法直接通信或共享数据。这个阶段的计算模式类似于一个独立的岛屿,信息和资源被严格地限制在各自的系统内部。

这种"独立模式"的特点是:

  • 封闭性强:系统之间缺乏标准化的通信协议,数据传输需要通过物理介质(如磁带或软盘)手动复制和移动。
  • 资源利用率低:每个系统都必须独立拥有所有所需的资源和数据,无法实现资源的集中管理和共享。
  • 沟通受限:不同机构或部门之间的数据交换效率低下,极大地阻碍了合作与信息流通。

然而,正是这种模式的局限性,促使人们思考如何让计算机能够互相连接,从而为后来的网络互连奠定了基础。

1.2. 网络互连

"网络互连"是互联网发展史上最关键的飞跃。它的核心思想是创建一个"网络的网络",让原本孤立的计算机系统能够通过统一的规则互相交流。这一进程始于20世纪60年代末,美国国防部高级研究计划局(ARPA)创建的 ARPANET 是其雏形。

"网络互连"模式的关键转折点是 TCP/IP 协议族的诞生。这套协议就像是不同语言之间的"通用翻译器",它将数据分割成小的数据包,并确保这些数据包能够准确、高效地在不同类型的网络中传输和重组。这使得不同制造商、不同技术的计算机系统能够首次实现无缝连接。

随着越来越多的网络(包括大学、研究机构和后来的商业网络)接入 ARPANET,并采用 TCP/IP 协议,一个跨越地域、开放互联的全球网络逐渐形成。这就是现代互联网的开端。

二、网络分类

2.1. 局域网

局域网(Local Area Network,简称 LAN)是本地、局部组建的私有网络,也称为内网。其内部主机之间能方便地进行网络通信,但未连接的局域网之间无法直接通信。组建方式多样,包括基于网线直连多台主机,或通过集线器、交换机,以及交换机与路由器组合等方式实现连接。

2.2. 广域网

广域网(Wide Area Network,简称 WAN)则是通过路由器将多个局域网连接起来,形成的大范围网络,局域网是广域网的子网。例如,将分布在各地甚至海外的分公司通过专线连接,便构成广域网;全球化的公共型广域网即互联网(公网、外网),是广域网的子集,有时 "广域网" 也泛指互联网。

三、IP地址

3.1. 概念

IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。

3.2. 格式

IP地址本质上一个32位的整数,32位地址分成4个部分,以.分割,通常用"点分十进制"来表示,每个部分都是0~255之间的十进制整数。

四、端口号

4.1. 概念

在网络通信中,IP地址⽤于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。 简单说:端口号用于定位主机中的应用程序,像Chrome浏览器、微信,都需要联网。比如,快递,不光需要确认收货地址,还需要确认收件人的手机号。

4.2. 格式

口号是0~65535范围的数字,在网络通信中,进程可以通过绑定⼀个端口号,来发送及接收网络数据。

五、协议

5.1. 概念

协议,网络协议的简称,网络协议是⽹络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的⼀组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。

5.2. 作用

计算机之间的传输媒介是光信号和电信号。通过"频率"和"强弱"来表示0和1这样的信息。要想传递各种不同的信息,就需要约定好双⽅的数据格式。协议如同网络世界的 "语言",确保不同设备(如计算机、服务器、路由器、手机等)之间能够理解彼此发送的信息,实现有序、可靠的通信。统一了数据格式,合理分配网络资源。

5.3. 五元组

在TCP/IP协议中,是用于唯一标识一个网络连接或数据流的五个关键信息的组合,主要用于网络设备(如路由器、防火墙、负载均衡器)对数据包进行识别、过滤、转发或追踪:

  1. 源 IP 地址:发送数据包的设备的 IP 地址,用于标识数据的来源设备。
  2. 目的 IP 地址:接收数据包的设备的 IP 地址,用于标识数据的目标设备。
  3. 源端口号:发送方设备上发起通信的进程所使用的端口号,通常在客户端随机分配(动态端口)。
  4. 目的端口号:接收方设备上对应服务的端口号,用于定位目标设备上的特定服务(如 80 端口对应 HTTP 服务)。
  5. 传输层协议:数据包所使用的传输层协议,常见的有 TCP(传输控制协议)和 UDP(用户数据报协议)。

5.4. 协议分层

  • 分层的作用

网络通信是一个非常复杂的话题,为了解决复杂的问题,网络协议相应地也会非常复杂。我们就可以进行拆分,每个协议负责一个部分。拆分之后,协议就会变多,还得需要分层,约定协议与协议之间的调用关系。

分层之后,每个协议只负责自己的那一部分,因此协议也更简单,更好理解。并且解耦合更加方便,可以灵活地对协议进行替换。

六、TCP/IP分层模型

  1. 物理层:网络通信中依赖的硬件设施,网线、光纤、天线;
  2. 数据链路层:负责两个节点之间的通信,通过网线、光纤或者无线信号连接的设备;
  3. 网络层:负责任意两个节点之间的路径规划;
  4. 传输层:管理两个节点之间的数据传输,并且只关心传输的起点和终点,不关心传输的过程;
  5. 应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)。