局域网和广域网
局域网 (LAN)
局域网,即 Local Area Network,简称 LAN。它是本地、局部组建的一种网络,局域网内部的主机能够方便地进行网络通信,又称为内网。局域网和局域网在没有连接的情况下是无法通信的。
局域网的组建方式:
- 基于网线直连
- 基于集线器组建
- 基于交换机组建
- 基于交换机和路由器组建
广域网 (WAN)
广域网,即 Wide Area Network,简称 WAN。它是通过路由器,将多个局域网连接起来,在物理上形成很大范围的网络,就形成了广域网。广域网内部的局域网都属于子网。
需要注意的是: 广域网和局域网之间没有明确的界限,例如一个城市的网络对于一个家庭就是广域网,但对于一个国家来说就是局域网了。
网络通信基础
IP 地址
概念
IP 地址主要用于识别主机、其他网络设备的网络地址。简单来说,IP 地址就是用于定位主机的网络地址。
格式
IP 地址是一个 32 位的二进制数,通常被划分为 4 个 "8 位二进制"(也就是 4 个字节),一般用点分十进制来表示,即 IPv4,例如:a.b.c.d
。a
、b
、c
、d
的范围都是 0~255 的十进制整数。
IPv4 的范围大概在 42 亿左右,IPv6 大概可提供 340 亿亿亿个 IP 地址。
端口号
概念
在网络通信中,IP 地址可以识别主机在网络中的地址,而端口号可以识别主机发送数据和接收数据的进程。简单来说,端口号用来定位主机的进程。
格式
端口号是 0~65535 范围内的数字,在网络通信的过程中,进程可通过绑定端口号来发送和接收数据。
原则上一台主机上的端口号在不同网络程序之间不能冲突。
1~1024 为知名端口号,一般被一些比较有名的程序占用,例如 HTTP 的 80 端口,HTTPS 的 443 端口。
协议
概念
协议,即网络协议,网络协议是网络通信经过的每个网络设备都必须遵守的一组约定、规则。最终体现为在网络上传输的数据包的形式。
作用
规定好发送时如何去组织数据,接收时如何去解析数据。
五元组
- 源 IP 地址: 标识源主机
- 源端口号: 标识源主机在该通信中发送数据的进程
- 目标 IP 地址: 标识目标主机
- 目标端口号: 标识目标主机在该通信中接收数据的进程
- 协议: 标识发送进程和接收进程双方约定好的数据格式
协议分层
分层的作用
目的是为了让不同的层专注于自己的数据处理方式,只需为上层提供 API,按下次要求提供数据即可。
OSI 七层模型
OSI:即 Open System Interconnection,开放系统互连
- OSI 七层网络模型是一个逻辑上的定义和规范:把网络从逻辑上分为了 7 层。
- OSI 七层模型是一种框架性的设计方法,其最主要的功能就是帮助不同类型的主机实现数据传输。
OSI 七层模型划分为以下七层:

TCP/IP 五层(四层)模型
TCP/IP 是一组协议的名称,它还包含许多协议,组成的 TCP/IP 协议簇。
- 应用层: 和用户打交道,接收和展示用户需要的数据
- 传输层: 完成端到端的传输准备,也就是确定收发主机的 IP 地址和端口号
- 网络层: 规划出端到端的网络路径,路径中也可能包含其他网络设备
- 数据链路层: 完成点到点的传输,即在每个网络设备之间进行传输
- 物理层: 把真实的 BIT 数据流转换成光电信号,在传输介质中传输
封装和分用
- 封装是在发送方进行的对数据的处理。
- 分用是在接收方进行的对数据的处理。
以 TCP/IP 五层协议为例:
发送方
- 应用层: 由应用程序实现对发送数据的组织和协议的确定,调用系统 API 将组织好的消息体移交给下一层。(用户自定义协议)
- 传输层: 为消息体加上 TCP 头,记录源端口号和目标端口号,然后移交给下一层。(TCP、UDP 协议等)
- 网络层: 规划出端到端的路径,并为消息体添加 IP 头,确定源 IP 地址和目标 IP 地址,然后移交给下一层(IP 协议)
- 数据链路层: 为消息体增加帧头和帧尾,帧头储存源 MAC 地址和目标 MAC 地址,帧尾储存校验和,然后把消息体以二进制的形式移交给物理层。(以太网协议)
- 物理层: 把具体的数据(报文)转换成光电信号,通过传输介质传输。(以太网协议)
接收方
- 物理层: 接收到光电信号后,根据以太网协议解析成二进制 BIT 数据流,然后移交给上一层。
- 数据链路层: 根据以太网协议解析出帧头,载荷,帧尾,根据帧尾的检验和确认数据正确后将载荷移交给上一层。
- 网络层: 根据 IP 协议解析出 iP 头,并将载荷移交给上一层。
- 传输层: 根据 TPC 协议解析出报文件,将载荷移交给上一层。
- 应用层: 按照应用程序的协议解析出消息体,然后展示出来。