基本概念
- IP 地址
- 端口号
- 协议
- 协议分层
- 封装
- 分用
- 客户端
- 服务器
- 请求和响应
- 两台主机之间的网络通信流程
IP 地址
- 概念:IP 地址主要是用于唯一标识网络主机、其他网络设备(如路由器)的网络地址。简单来说,IP地址用来唯一定位主机。
- 格式:对于 IPV4 来说,一共有32个比特位,一般用点分十进制来表示,如 192.168.1.0;对于IPV6来说,一共有128个比特位
- 特色的IP地址,127.0.0.1 用于环回测试
端口号
- 概念:用于定位主机上的一个进程
- 格式:0~65535 范围的数字
协议
-
协议最终在网络上体现的是数据包传输的格式
-
作用:用于网络数据之间的传输
-
知名的网络协议:
- 22 端口:ssh协议
- 21 端口:ftp协议
- 23 端口:telnet协议
- 80 端口:HTTP协议
- 433 端口:HTTPS协议
协议分层
什么是协议分层
将要实现不同功能的部分进行分层, 下层为上层提供服务, 上层调用下层提供服务的接口, 来实现数据之间的传输。
分层的作用
- 符合高内聚, 低耦合的编程思想
- 每一层进行了封装, 每一层都不需要知道另外一层具体的实现细节,只需要知道如何调用接口即可,这样方便程序的开发,程序出现了问题,容易排查问题出现在哪里。
- 分层方便各层之间的更新迭代,影响范围只是在要更新的那一层中
OSI 七层模型
- 7 应用层, 针对特定应用的协议
- 6 表示层, 设备固有数据格式和网络数据格式之间的转换
- 5 会话层, 通信管理, 负责建立和断开连接, 管理传输层以下的分层
- 4 传输层, 管理两点之间的数据传输, 负责可靠传输
- 3 网络层, 地址管理和路由选择
- 2 数据链路层, 互连设备之间传输和识别数据帧
- 1 物理层, 以高低电压表示 01 的数据
TCP/IP 五层协议
- 应用层: 负责程序之间的沟通
- 传输层: 负责两个主机之间的数据传输
- 网络层: 负责地址管理和路由选择
- 数据链路层: 负责数据帧之间的识别和传输
- 物理层: 负责光/电信号之间的传输
封装
- 应用层数据通过网络协议层时, 经过每一层协议都需要加上一个数据首部, 这就是所谓的封装
- 首部信息中一般包含了一些类似于首部有多长, 有效载荷有多长等
分用
- 数据封装层帧后, 通过传输介质传输到对应的目的主机后, 每次协议都需要再剥夺每一层对应的首部, 依据首部信息, 将该层的有效载荷交付给上层协议进行相应的处理.
客户端
- 客户端可以请求服务提供的数据或者执行特定的任务, 并展现结果给用户
服务器
- 服务器是一个 powerful 的计算机系统或应用系统, 它提供数据、资源或者服务给网络中的其他计算机系统,这些计算机系统统称为客户端。服务器通常具备强大的处理能力、大量存储设备和丰富的网络通信功能。
请求和响应
客户端向服务器发送请求,服务器给客户端响应
两台主机之间的网络通信流程
- 建立连接
- 发送请求
- 服务器响应
- 关闭连接
- 重复上述过程