文章目录
一、分层思想
将复杂的流程分解为几个功能相对单一的子过程。
作用
- 使整个流程更加清晰:每个子过程专注于单一功能,减少了系统的复杂性,使整体逻辑更易于理解。
- 更容易发现问题并针对性解决问题:各个子过程独立工作,可以快速定位和修复特定层次的问题,而不会影响其他部分。
二、OSI参考模型(开放系统互连模型)
简介
国际标准化组织(ISO)于1984年颁布了开放系统互联(OSI)参考模型。这个模型将网络通信过程划分为七个独立但相互协作的层次,每一层都有特定的功能和协议。
七层模型
- 应用层(Application Layer):为应用程序提供网络服务接口。
- 表示层(Presentation Layer):负责数据的格式化、加密和压缩。
- 会话层(Session Layer):管理和控制会话之间的通信。
- 传输层(Transport Layer):提供端到端的数据传输服务,确保数据完整性和可靠性。
- 网络层(Network Layer):负责路径选择和逻辑地址寻址,实现数据包的路由和转发。
- 数据链路层(Data Link Layer):建立逻辑连接,进行物理地址寻址和差错校验。
- 物理层(Physical Layer):负责物理介质上的数据传输和接收。
各层功能
层级 | 功能 |
---|---|
应用层 | 提供网络服务与最终用户接口 |
表示层 | 数据的表示、安全、压缩 |
会话层 | 建立、管理和终止会话 |
传输层 | 定义传输数据的协议、端口号及流量控制和差错校验 |
网络层 | 逻辑地址寻址和路径选择,实现网络间的连接 |
数据链路层 | 建立逻辑连接、硬件地址寻址和差错校验 |
物理层 | 建立、维护和断开物理连接 |
三、TCP/IP协议族
简介
TCP/IP协议族(TCP/IP Protocol Suite)是互联网及许多其他网络的基础。它由多个协议组成,主要包括传输控制协议(TCP)和互联网协议(IP),用于规范网络通信。
五层模型
- 应用层(Application Layer):处理应用程序的网络需求,提供通信服务。
- 传输层(Transport Layer):提供端到端的通信服务,确保数据可靠传输。
- 网络层(Network Layer):负责数据包的路由和转发。
- 链路层(Link Layer):处理物理网络介质上的数据帧传输。
- 物理层(Physical Layer):负责物理介质上的数据传输和接收。
结构与功能
应用层
- 功能:提供应用程序之间的通信服务,处理特定应用程序的网络需求。
- 常见协议:
- HTTP/HTTPS(超文本传输协议/安全超文本传输协议):用于网页浏览。
- FTP(文件传输协议):用于文件传输。
- SMTP(简单邮件传输协议):用于电子邮件发送。
- DNS(域名系统):将域名解析为IP地址。
传输层
- 功能:提供端到端的通信服务,确保数据可靠传输或快速传输。
- 常见协议:
- TCP(传输控制协议):提供可靠、面向连接的传输服务,确保数据包按序到达且无丢失。
- UDP(用户数据报协议):提供不可靠、无连接的传输服务,适用于对速度要求高于可靠性的应用,如视频流。
网络层
- 功能:负责数据包的路由和转发,确定路径以便数据从源地址到达目的地址。
- 常见协议:
- IP(互联网协议):负责数据包的寻址和路由,分为IPv4和IPv6。
- ICMP(互联网控制报文协议):用于网络诊断和错误报告,如ping命令。
- ARP(地址解析协议):将IP地址解析为MAC地址。
- RARP(反向地址解析协议):将MAC地址解析为IP地址。
链路层
- 功能:处理物理网络介质上的数据帧传输,负责数据帧的发送和接收。
- 常见协议:
- Ethernet(以太网):用于局域网的数据传输标准。
- PPP(点对点协议):用于通过电话线、光纤或卫星等物理媒体传输数据。
各层的协议
层级 | 协议 |
---|---|
应用层 | HTTP, FTP, TFTP, SMTP, SNMP, DNS |
传输层 | TCP, UDP |
网络层 | ICMP, IGMP, IP, ARP, RARP |
链路层/物理层 | 由底层网络定义的协议 |
PDU(协议数据单元)
- 传输层:数据段
- 网络层:数据包
- 链路层:数据帧
- 物理层:比特流(如电信号、光信号、无线信号等)
各层对应的设备
- 应用层:计算机(5层都有)
- 传输层:防火墙(4层的功能)
- 网络层:路由器(3层的功能)
- 数据链路层:交换机(2层的功能)
- 物理层:网卡(1层的功能)
四、数据封装与解封装过程
封装过程
-
数据从应用层生成,通过传输层、网络层、链路层逐层封装,添加各层协议头信息。
装头部—TCP/UDP头部–IP头部–MAC头部–数据出去
-
应用层:添加应用层协议头,包含特定应用程序的数据。
-
传输层:添加传输层协议头(如TCP/UDP),包含端口信息和控制信息。
-
网络层:添加网络层协议头(如IP),包含源IP地址和目的IP地址。
-
链路层:添加链路层协议头,包含源MAC地址和目的MAC地址。
解封装过程
-
数据到达目的地设备后,逐层解封装,从链路层到应用层,恢复原始数据。
拆头部—TCP/UDP头部–IP头部–MAC头部–数据进来
-
链路层:去除链路层协议头。
-
网络层:去除网络层协议头。
-
传输层:去除传输层协议头。
-
应用层:最终数据传递给应用程序。
五、层间通讯过程
各层功能
- 应用层:处理应用程序之间的通信。
- 传输层:提供可靠的数据传输服务。
- 网络层:负责数据包的路由和寻址。
- 数据链路层:管理数据帧的传输和接收。
- 物理层:负责实际的物理信号传输。
注:图片来源于网络,侵删。