文章目录
- OSI : Open System Interconnect(Reference Model)
- 第七层:应用层(Application)
- 第六层:表示层(Presentation)
- 第五层:会话层(Session)
- 第四层:传输层(Transport)
- 第三层:网络层(Network)
- 第二层:数据链路层(Data Link)
- 第一层:物理层(Physical)
- 数据封装
- 点对点通信
- TCP/IP 模型
- 常见应用层协议
- 常见传输层协议
- 常见网络层协议
- 常见网络接口层协议
- TCP/IP 协议栈与 OSI 模型
OSI : Open System Interconnect(Reference Model)
ISO 于 1984 年创建并发布了 OSI 参考模型,为供应商提供了一套标准,以确保各种类型的网络技术之间更好的兼容性和互操作性。
OSI 参考模型降低了复杂性,标准化了接口,促进了模块化工程,确保了技术的互操作性,加速了发展,简化了教与学。
OSI 模型的每一层都有一组独特的功能。OSI 模型的七层是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。
第七层:应用层(Application)
网络进程到应用程序
- 为应用程序进程提供网络服务(如电子邮件、文件传输和终端仿真)
第六层:表示层(Presentation)
数据表示
- 确保接收系统可读取数据
- 格式数据
- 结构数据
- 协商应用层的数据传输语法
第五层:会话层(Session)
主机之间的沟通
- 建立、管理和终止应用程序之间的会话
第四层:传输层(Transport)
端到端连接
- 处理主机之间的传输问题
- 保证数据传输的可靠性
- 建立、维护和终止虚拟电路
- 通过故障检测和恢复信息流控制提供可靠性
第三层:网络层(Network)
数据交付
- 提供两个主机系统之间的连接和路径选择
- 路由数据包
- 选择传送数据的最佳路径
第二层:数据链路层(Data Link)
访问媒体
- 定义如何格式化数据以进行传输,以及如何控制对网络的访问
第一层:物理层(Physical)
二进制文件传输
- 定义用于激活、维护和停用物理链路的电气、机械、程序和功能规范。
数据封装
封装是数据在网络传输之前被封装在特定协议头中的过程。
点对点通信
TCP/IP 模型
TCP/IP 四层模型是目前被广泛采用的一种模型,由以下 4 层组成:应用层、传输层、网络层、网络接口层(Data Link + Physical)。
- 应用层(Application Layer):相当于 OSI 模型中的应用层,负责处理用户与网络应用程序之间的通信。它包括诸如 HTTP、FTP、SMTP 等协议,用于实现不同类型的网络服务和应用。
- 传输层(Transport Layer):相当于 OSI 模型中的传输层,提供端到端的数据传输服务。在 TCP/IP 模型中,主要有两个协议:TCP(传输控制协议)和 UDP(用户数据报协议),用于确保可靠的数据传输和简单的数据传输。
- 网络层(Internet Layer):相当于 OSI 模型中的网络层,负责数据包的路由和转发。它使用 IP(Internet Protocol)协议来定义数据包的传输路径,并处理不同网络之间的通信。
- 网络接口层(Link Layer):相当于 OSI 模型中的数据链路层和物理层,负责管理网络硬件设备和物理媒介之间的通信。它包括以太网、Wi-Fi、蓝牙等各种物理层和数据链路层协议。
常见应用层协议
- HTTP(HyperText Transfer Protocol):用于在客户端和服务器之间传输超文本数据,通常用于 Web 浏览器和 Web 服务器之间的通信。
- FTP(File Transfer Protocol):用于在客户端和服务器之间传输文件,支持上传和下载文件的功能。
- SMTP(Simple Mail Transfer Protocol):用于在邮件服务器之间传输电子邮件,负责发送邮件。
- POP3(Post Office Protocol version 3):用于从邮件服务器上下载邮件到本地计算机,负责接收邮件。
- IMAP(Internet Message Access Protocol):也是用于接收邮件的协议,与 POP3 类似,但提供了更丰富的功能,如在服务器上管理邮件等。
- DNS(Domain Name System):用于将域名解析为对应的 IP 地址,从而实现域名和 IP 地址之间的映射。
- HTTPS(HyperText Transfer Protocol Secure):是 HTTP 的安全版本,通过 SSL/TLS 加密传输数据,保证通信过程中的安全性。
- SSH(Secure Shell):用于远程登录和执行命令,提供了加密的网络连接,保证了通信的安全性。
- SNMP(Simple Network Management Protocol):用于网络设备之间的管理和监控,可以实现对网络设备的远程配置和监控。
- Telnet:用于远程登录和执行命令,类似于 SSH,但不提供加密功能,通信数据不安全。
常见传输层协议
- TCP(Transmission Control Protocol):提供可靠的、面向连接的数据传输服务,确保数据的可靠性、顺序性和完整性。TCP 适用于对数据传输质量要求较高的场景,如文件传输、网页浏览等。
- UDP(User Datagram Protocol):提供无连接的数据传输服务,不保证数据的可靠性,也不保证数据的顺序性和完整性。UDP 适用于实时性要求较高、对数据传输质量要求不那么严格的场景,如音视频传输、在线游戏等。
常见网络层协议
- IP(Internet Protocol):是互联网中最基本的协议,用于在网络中传输数据包。IP 协议定义了数据包的格式、寻址方式和路由选择等信息,是整个互联网的基础。
- ICMP(Internet Control Message Protocol):用于在 IP 网络中传递控制消息和错误信息。ICMP 通常用于网络设备之间的通信,如路由器和主机之间的通信,以及用于检测网络连通性和故障诊断。
- ARP(Address Resolution Protocol):用于将 IP 地址映射为 MAC 地址(物理地址)。ARP 协议在局域网内部使用,通过发送 ARP 请求获取目标设备的 MAC 地址,从而实现数据包的传输。
- RARP(Reverse Address Resolution Protocol):与 ARP 相反,用于将 MAC 地址映射为 IP 地址。RARP 协议通常用于无盘工作站等设备,可以根据 MAC 地址获取对应的 IP 地址。
- IPv6(Internet Protocol version 6):是 IP 协议的下一代版本,用于解决 IPv4 地址空间不足的问题。IPv6 采用 128 位地址长度,提供了更大的地址空间,支持更多的设备连接到互联网。
常见网络接口层协议
- 以太网协议(Ethernet):是一种常见的局域网技术,使用 MAC 地址进行帧的传输和接收。
- 无线局域网协议(Wi-Fi):用于无线局域网的数据传输,通常基于 IEEE 802.11 标准。
- 点对点协议(P2P):用于建立点对点连接的协议,通常用于拨号连接和虚拟专用网(VPN)等场景。
- 数据链路层交换协议(DLC):用于在数据链路层进行数据交换和管理的协议,如 HDLC、SLIP 等。