文章目录
- 1. 认识 协议
- 2. 了解 网络协议
- 2.1 引入 协议分层
- 2.2 OSI 七层模型 与 TCP/IP 四层模型
- 3. 网络传输 流程!!!
- 3.1 网络传输流程图
- 3.2 关于报头
- 3.3 实例解释 传输过程(封装与解包)
- 4. 网络中的地址管理
- 4.1 认识 ip地址
- 4.2 认识 mac 地址
- 4.3 ip地址 与 mac地址 的区别?
1. 认识 协议
协议可以被看作是一种约定
计算机间通过多种方式进行互相传输,以 光、电信号 等为传输媒介进行传输,想要传递各种不同的信息, 就需要约定好双方的数据格式(如编码方式、数据结构、协议规范等)。
2. 了解 网络协议
网络协议可以被看作是一种约定,它定义了参与通信的设备应该如何进行通信以及如何解释接收到的数据。
2.1 引入 协议分层
为什么要有 协议分层?
比如:我们要设计一个简单的文件传输应用程序,可以通过网络将文件从一台计算机传输到另一台计算机。将这些工作作为一个模块进行完成是很复杂的。可以通过分层进行:
从上面的例子,可以总结出 协议分层的好处:
- 模块化设计:将整个通信系统分解为多个独立的层次,每个层次负责特定的功能和任务。这种模块化设计使得网络结构更加清晰,易于管理和维护。
- 提高可扩展性:如果需要新增功能或改进某一层的协议,可以在不影响其他层次的情况下进行修改。这样可以灵活地扩展系统的功能和性能。
2.2 OSI 七层模型 与 TCP/IP 四层模型
OSI(开放系统互连)七层模型 和 TCP/IP 四(五)层模型 是计算机网络领域中常用的两种网络协议模型,它们分别用于描述和规范网络通信中不同层次的功能和协议。
我们要知道:
- 这两种模型都是 在逻辑上对网络通信进行划分和定义的。它们并不代表实际的硬件设备或软件实现,而是提供了一种框架和指导原则,帮助理解和组织网络通信的过程。
- 无论是OSI七层模型还是TCP/IP四层模型,都是为了简化和规范网络通信的复杂性,实现互操作性和通用性。
OSI 七层模型
层级 | 名称 | 功能 |
---|---|---|
7 | 应用层 | 提供用户接口、网络服务和应用程序支持 |
6 | 表示层 | 数据格式化、加密和压缩 |
5 | 会话层 | 管理用户会话和建立连接 |
4 | 传输层 | 提供端到端的数据传输和可靠性 |
3 | 网络层 | 路由选择和逻辑寻址 |
2 | 数据链路层 | 帧同步、物理地址寻址和错误检测 |
1 | 物理层 | 数据传输介质和比特流动控制 |
TCP / IP 五层模型
TCP/IP五层模型 | 功能 |
---|---|
应用层(Application Layer) | 提供应用程序间的通信服务,定义应用层协议(如HTTP、FTP) |
传输层(Transport Layer) | 负责端到端的数据传输和连接管理,提供可靠的数据传输(如TCP、UDP) |
网络层(Network Layer) | 处理数据包的路由和转发,实现不同网络之间的通信,提供IP协议支持 |
数据链路层(Data Link Layer) | 管理物理设备之间的数据传输,处理帧的封装和解封装,提供MAC地址支持 |
物理层(Physical Layer) | 管理物理介质的传输方式和电气特性,提供比特流的传输 |
TCP/IP是 一组协议的代名词,它由多个协议组成,形成了 TCP/IP协议簇。这些协议共同工作,提供了互联网上数据通信的基础。
TCP/IP协议簇包括以下主要协议(了解):
- IP(Internet Protocol):负责网络层的功能,定义了在互联网上传输数据的基本单位,即IP数据包。
- TCP(Transmission Control Protocol):负责传输层的功能,提供可靠的、面向连接的数据传输服务,确保数据的完整性和可靠性。
- UDP(User Datagram Protocol):也是传输层的协议,与TCP相比更加简单,不提供可靠性保证,适用于对传输速度较高要求的应用。
- HTTP(Hypertext Transfer Protocol):应用层的协议,用于在Web浏览器和Web服务器之间传输超文本数据,是万维网的基础协议。
- FTP(File Transfer Protocol):应用层的协议,用于在客户端和服务器之间进行文件传输。
- DNS(Domain Name System):应用层的协议,用于将域名转换为对应的IP地址,实现域名解析功能。
除了以上列举的协议外,TCP/IP协议簇还包括其他许多协议,如SMTP(邮件传输协议)、POP3(邮局协议)、ICMP(Internet控制消息协议)等,它们共同构成了互联网上数据通信的基础架构。
PS:
由于大多情况下不考虑物理层,所以一般我们称其为 TCP/IP四层协议。
3. 网络传输 流程!!!
3.1 网络传输流程图
我们知道:
同一个局域网的两台主机可以进行通信。
-
下图是同一个局域网的两台主机可以进行通信。
-
逻辑上 我们认为: 同一层次的协议之间可以直接进行传输。
例如: -
而对于 实际的数据传输过程 :需要进行 封装和解包(报头)的操作,以便在不同的网络层次之间传递数据。
-
关于报头。我们有:
- 每层都有自己的协议定制方案
- 每层协议都有自己的协议报头
- 从上到下 交付数据时,要添加/ 报头
3.2 关于报头
从上面我们知道了,实际的数据传输过程,需要有添加报头以及解包的操作,那么
报头是什么?
- 报头通常指 :计算机网络通信中 数据包的首部分;网络通信中数据被分割成 称为数据包的小块进行传输,每个数据包都包含 用于控制和管理传输的信息,即报头。
- 报头包含了一些 重要字段 :如源地址 与 目的地址、以及一些控制信息(如数据包优先级、序列号、校验等)。
- 通过 解析报头中的数据信息 ,网络设备可以正确地将数据包发送到目标地址,并在网络传输过程中进行适当的控制与管理。
3.3 实例解释 传输过程(封装与解包)
- 这里对这一过程(封装 与 解包)进行解释:
- 我们以 TCP / IP 四层模型为例:
简单对上图进行解释:主机A向主机B发送信息“你好”
- 首先从上至下经过四个层,依次添加报头,即封装的过程
- 后由主机B接收,从下向上层进行解包,即解包的过程
- 可以保证每层的报头一致,即协议一致
4. 网络中的地址管理
4.1 认识 ip地址
- IP地址是指互联网协议地址,用于识别网络上的设备。它是一个在网络上唯一标识一个设备的地址。
- IP协议有两个版本: IPv4和IPv6;
- 其中 IPv4地址 由32位二进制数表示,通常以点分十进制 的形式显示,如
192.168.1.1
; - 而 IPv6地址 地址由128位二进制数表示,通常以冒号分隔的八组十六进制数 显示。
- 其中 IPv4地址 由32位二进制数表示,通常以点分十进制 的形式显示,如
- IP地址的作用是在网络中唯一标识设备的位置,使数据能够正确地路由到目标设备所在的网络。
4.2 认识 mac 地址
- MAC地址 通常由 48位二进制数 表示,通常以十六进制表示,例如00:1A:2B:3C:4D:5E。
- MAC地址 的作用是在局域网内唯一标识一个设备,(对于一张网卡,其mac地址是唯一的、虚拟机中的mac地址并非真实的mac地址、可能发生冲突)
- MAC地址 用来识别数据链路层中相连的节点。
4.3 ip地址 与 mac地址 的区别?
-
IP地址是基于地理区域划分的逻辑地址,用于在网络中识别和定位设备。即使同一台硬件设备在不同地方,它们被分配的IP地址也会因所处网络环境的不同而变化。IP地址的变化类似于人类居住地的变化,需要根据所在网络环境重新分配。
-
MAC地址是硬件设备固定的物理地址,与设备的网卡硬件关联,并且通常在制造时就确定下来,不会因设备所处的网络环境而改变。无论设备在何处,只要是同一台硬件设备,其MAC地址都是唯一且不会改变。MAC地址的稳定性类似于人类的身份证号码,与个体设备紧密相关且唯一不变。