专栏:JavaEE初阶起飞计划
个人主页:手握风云
目录
一、网络发展史
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协议中,是用于唯一标识一个网络连接或数据流的五个关键信息的组合,主要用于网络设备(如路由器、防火墙、负载均衡器)对数据包进行识别、过滤、转发或追踪:
- 源 IP 地址:发送数据包的设备的 IP 地址,用于标识数据的来源设备。
- 目的 IP 地址:接收数据包的设备的 IP 地址,用于标识数据的目标设备。
- 源端口号:发送方设备上发起通信的进程所使用的端口号,通常在客户端随机分配(动态端口)。
- 目的端口号:接收方设备上对应服务的端口号,用于定位目标设备上的特定服务(如 80 端口对应 HTTP 服务)。
- 传输层协议:数据包所使用的传输层协议,常见的有 TCP(传输控制协议)和 UDP(用户数据报协议)。
5.4. 协议分层
- 分层的作用
网络通信是一个非常复杂的话题,为了解决复杂的问题,网络协议相应地也会非常复杂。我们就可以进行拆分,每个协议负责一个部分。拆分之后,协议就会变多,还得需要分层,约定协议与协议之间的调用关系。
分层之后,每个协议只负责自己的那一部分,因此协议也更简单,更好理解。并且解耦合更加方便,可以灵活地对协议进行替换。
六、TCP/IP分层模型
- 物理层:网络通信中依赖的硬件设施,网线、光纤、天线;
- 数据链路层:负责两个节点之间的通信,通过网线、光纤或者无线信号连接的设备;
- 网络层:负责任意两个节点之间的路径规划;
- 传输层:管理两个节点之间的数据传输,并且只关心传输的起点和终点,不关心传输的过程;
- 应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)。