OSI七层
1、应用层:为用户提供服务接口,如http之类
2、表示层:数据处理(编码,加密解密)
3、会话层:管理(建立、维护、重连)应用程序之间的会话
4、传输层:提供端到端的数据传输服务,常见的有TCP协议
5、网络层:路由和寻址,处理数据包的游走路径
6、数据链路层:负责在直接相连的节点之间提供可靠的数据传输(报文数据块进行帧封装与解封;错误检查等)
7、物理层:处理物理介质和信号之间的传输,光纤之类。
每一层负责一个具体的模块,上一层的实现需要下一层提供接口。提高了灵活性和可替换性,能够使得大问题化小。但OSI七层模型,层数太多,复杂,不实用,且有重复的内容,所以更简洁更具备实用性的TCP/IP四层模型被广泛应用了。
TCP/IP四层模型
1、应用层:在传输层之上,提供了用户访问网络的接口,负责两个终端之间的通信和数据交换,定义了信息交换的格式,包括多种通信协议。应用层不用去关心数据是如何传输的。
基于TCP的:HTTP(超文本传输),SMTP(简单邮件发送协议),IMAP(邮件接收协议),SSH(安全的网络传输协议),FTP(文件传输协议)等。
基于UDP的:DNS(域名解析系统),RTP(real-time 实时传输协议)
2、传输层:给终端的两个进程之间的通信提供通用的数据传输服务。使用端口号对进程标识。
TCP | UDP | |
连接 | 面向连接(通信前要先建立连接) | 无连接 |
可靠性 | 可靠的,通过序号、确认、重传机制实现 | 不可靠,数据包可能丢包、重复或乱序 |
数据量 | 数据量大 | 小 |
延迟和实时 | 较大延迟 | 实时性较高 |
适用场景 | 需要可靠的数据传输 | 实时性较高,音视频传输 |
3、网络层:负责为数据包提供逻辑寻址和路由选择,实现跨网络的数据传输。
常见协议:IP(网际协议),ARP(地址解析协议),NAT(网络地址转换协议),ICMP(互联网控制报文协议),RIP(路由信息协议)等。
4、网络接口层:数据链路层和物理层的结合,数据链路层实现两个相邻节点之间的数据帧传输,每一帧包括数据和必要的控制信息。物理层实现了相邻计算机节点之间比特流的透明传输。