概述
计算机的OSI分为7层,但是目前用的最多的是5层模型,这5层从上到下依次是应用层、传输层、网络层、数据链路层、物理层。下一层永远为上一层提供 服务。
应用层
提供用户与主机的接口,具体来说包括:
功能:1.邮件服务功能 2.文件传输功能 3.访问与控制
协议:FTP SMTP POP3 HTTP等
传输层
负责主机间进程的通信,具体来说:
1.提供端到端的可靠传输服务 2.提供端到端的流量控制、差错控制、服务质量保证等
协议:TCP UDP
传输单位:报文段(TCP) 用户数据报(UDP)
网络层
将传输层传下来的数据报封装成分组,选择合适的路由,传输到目的主机,具体来说
1.组包和拆包 2.路由选择 3.拥塞控制
协议:IP ICMP IGMP ARP RARP
对应物理设备:路由器
传输单位:数据报
数据链路层
将网络层传来的数据报组装成帧。具体来说:
1.数据链路的建立和拆除 2.帧定界和帧同步 3.差错检测
协议:PPP HDLC
对应物理设备:交换机 网桥
传输单位:帧(frame)
物理层
透明的传输比特
对应设备:集线器 中继器
传输单位:比特
总结
应用层是用户与用户之间的对应
传输层是主机之间的进程的对应
网络层是主机与主机之间的对应
举例
QQ好友之间的发送消息,主要流程是客户端A发出一个消息,在应用层,会在消息前加上头,表示这个消息是来自原QQ程序
传输层:应用层传下来的数据,传输层负责主机中进程之间的通信,当然QQ消息使用的是TCP实现可靠的连接,所以将应用层传下的消息作为数据段, 在他的前面加上TCP相关的头
网络层:网络层主要服务于传输层,接收到传输层传来的报文段之后,封装成分组,并进行路由选择和拥塞控制等 所以要在报文段之前加上对方的IP地址等信息,保证数据能够传到目的主机
数据链路层:数据链路层主要是将来自于网络层的数据封装成帧,所以要在数据报的开始和结尾处加上帧头和帧尾,并进行差错检测
物理层:物理层主要是将数据帧转换成比特,在物理线路上进行透明传输。
整个过程如下图所示: