目录
[③TCP/IP五层 / 四层模型](#③TCP/IP五层 / 四层模型)
1、IP地址
IP地址是给网络中设备分配的唯一标识,用于定位主机的网络地址。分 IPv4 (32位)和 IPv6 (128位),如:

2、端口号
端口号是16位整数(取值范围 0~65535),可以标识主机中发送数据、接收数据的进程,用于定位主机中的进程。
- IP地址:定位网络中的主机
- 端口号:定位主机中的应用程序
- 两者结合:唯一标识网络中的一个通信端点
问题:网络通信是基于二进制 0/1 来传输数据,但网络传输的数据类型有很多种如:文本、图片、视频,那么如何告诉对方发送的数据是什么样的呢?
这时候就出现了协议,通过约定双方的数据格式来达成通信
3、协议
协议,网络协议 的简称,是指计算机网络中不同设备之间为了实现通信而共同遵循的一套规则和约定。它规定了数据在网络中如何被格式化、传输、接收和处理,只有遵守这个约定,计算机之间才能相互通信交流。
协议最终体现为在网络上传输的数据包的格式。
TCP/IP协议的五元组
- 源 IP:标识源主机
- 源端口号:标识源主机中该次通信发送数据的进程
- 目的 IP:标识目的主机
- 目的端口号:标识目的主机中该次通信接收数据的进程
- 协议号:标识发送进程和接收教程双方约定的数据格式

4、协议的分层
协议的分层是指把复杂的网络通信划分为若干个相对独立的层次,每层都有明确的功能,并通过层间接口向上一层提供服务,同时向下一层请求服务。
①分层的作用
- 降低复杂度:将复杂的网络通信划分为多个相对独立的层次,每层只关注自身功能
- 提高了兼容性和互操作性:各层通过标准化接口通信,只要遵守相同协议可互相协作
- 便于维护和更新:修改或升级某一层协议不会影响其他层,有利于系统的扩展和优化
②OSI七层模型
将网络从逻辑上分为了七层,是一种框架性的设计方法,主要功能是帮助不同类型的主机实现数据传输
| 分层名称 | 功能 |
|---|---|
| 应用层 | 直接为应用程序提供网络服务,如HTTP、FTP等 |
| 表示层 | 负责数据的加密、解密、格式转换等 |
| 会话层 | 负责建立、管理和终止通信 |
| 传输层 | 管理两个节点之间的数据传输(TCP、UDP) |
| 网络层 | 地址管理和路由选择 |
| 数据链路层 | 互联设备之间传送和识别数据帧 |
| 物理层 | 线缆、接口等物理介质 |
③TCP/IP五层 / 四层模型

物理层考虑比较少,所以有时候也称为四层模型
④网络设备所在分层
- 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容,也就是 TCP / IP 五层模型的下四层
- 对于一台路由器,它实现了从网络层到物理层,即下三层
- 对于一台交换机,它实现了从数据链路层到物理层,即下两层
- 对于集线器,它只实现了物理层
这里所说的是传统上的路由器和交换机,也称为二层交换机
5、封装和分用
①封装(发送方)
封装是指数据从上到下通过网络各层时,每一层会在数据前面(或后面)加上本层的协议头(或尾),使数据形成该层的协议数据单元。
②分用(接收方)
分用是封装的逆过程。当数据从下到上通过各层时,每一层都会剥去对应层的协议头,提取出真正的数据部分,并格局头部信息将数据交付给上层的正确协议或应用。
注意:
- 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)
- 封装的每一层都加上了一个数据首部,首部中包含了首部的长,载荷的长,上层协议是什么等
6、两台主机之间的网络通信流程
两台主机之间的网络通信流程,本质上是数据从应用层逐层封装------>通过网络传输------>对端逐层解封装------>交给应用程序 的过程。
以发送消息(hello)为例,简化通信过程,只考虑发送端和接收端:
7、请求和响应
获取一个网络资源,一般涉及到两次网络数据传输

8、客户端和服务器
客户端是指在网络通信中主动发起请求的一方,向服务器请求资源、服务等
服务器是指在网络通信中被动等待处理请求的一方,负责提供资源
一个服务器可以同时处理多个服务端发起的请求



