分层模型的主要目的是让不同厂商的网络能够相互操作。
OSI共七层,上三层指定了应用程序如何互相通信、与用户交流,下四层指定了如何进行端到端的数据传输。
OSI各层的功能:
应用层
用户与计算机交流的场所。
例:上网时,浏览器访问应用层。应用让应用程序能够将信息沿协议栈乡下传输,充当应用程序与下一层之间的接口。
注意:浏览器、FTP等不是应用层的,应用层只是充当"中间人"
表示层
本质上讲是个转换器,提供编码和转换功能。(转成ASCII)
向应用层提供数据,格式化标准数据。数据压缩、解压、加密、解密等。
会话层
负责在表示层实体之间建立、管理和终止会话,协调通信。
基本功能:将不同应用程序的数据分离。
提供3种模式:单工、半双工、全双工
(集线器是半双工,CSMA/CD解决半双工的冲突)
传输层
将来自上层应用的数据分段,并重组为数据流。提供端到端的数据传输服务。
TCP、UDP都运行在此,TCP可靠、面向连接,UDP不可靠、无连接。
1.流量控制
数据完整性由传输层确保,流量控制能避免 发送方让接收方的主机缓冲区溢出。缓冲区溢出可能会导致数据丢失。
可靠的数据传输协议要实现:
1).收到数据段后,向发送方确认
2).重传所有未得到确认的数据段
3).数据段到达后,按序排列
4).确保数据流量<处理能力,避免拥塞、过载和数据丢失
2.面向连接的通信
传数据前,先建立面向连接的会话(三次握手),然后传输数据,传完后,呼叫终止,拆除虚电路.
三次握手:
第一次:建立连接时,A发送SYN包(SYN=j)到B,等待确认
第二次:B收到SYN包,确认A的SYN(ACK=j+1),同时发一个SYN包(SYN=k),即SYN+ACK包
第三次:A收到B的SYN+ACK包,向B发ACK(ACK=k+1),包发完,A和B就TCP连接成功。
三次握手完成
在传输过程中,接收端可能会收到大量数据报,数据量超过了自己的处理能力,这时,它会把这些数据放入缓冲区。
有流量控制在,接收端会给发送方一个信号,告诉它等会再传,忙不过来了。接收方此时停止传输,当收到"继续"的信号时,再发。
如果服务具有如下特征,则为面向连接:
1).建立虚电路(三次握手等)
2).使用排序技术
3).使用确认
4).使用流量控制
网络层
管理设备编址、跟踪设备在网络中的位置,并且最佳的数据传输路径,所以网络层必须在不同网络中的设备间传输数据。路由器在网络层,交换机不是。
网络层,分组有2种:数据和路由更新。
数据分组:在互联网络种传输用户数据。
路由更新分组:包含与有关互联网络种所有路由器连接的网络的更新信息。数据链路层
提供数据的物理传输,处理错误通知、网络拓扑和流量控制。
此层用帧。物理层
发送和接收比特。
比特的取值为0或1-----------------------------------------分割线-----------------------------------------
封装数据的顺序:
数据、数据段、分组、帧、比特
分别对应:
(上三层、传输层、网络层、数据链路层、物理层)