OSI(Open System Interconnect) 开放式通信系统互连参考模型。 每一层实现各自的功能和协议,并完成与相邻层的接口通信。即每一层扮演固定的角色,互不打扰。
应用层 ⑦
作用
:通过应用程序间的交互来完成特定的网络应用。
定义了应用程序之间的交互规则,通过不同的应用层协议为不同的网络应用提供服务。eg:域名系统DNS,支持万维网应用的Http协议,电子邮件系统采用的SMTP协议等。
表示层 ⑥
作用
:是通信的应用程序能够解释交换数据的含义。
向上为应用层提供服务,向下接受来自会话层的服务。 提供的服务主要包括数据压缩,数据加密以及数据描述,使应用程序不必担心在各台计算机上
表示和存储的内部格式差异。
会话层 ⑤
作用
:负责建立、管理和终止背包式层实体之间的通信会话。
提供了数据交换的定界和同步功能,包括了建立检查点和回复方案的方法。
传输层 ④
作用
:两台主机进程之间的通信提供服务,处理数据包错误、数据包次序、以及其他一些关键传输问题。
传输层向高层屏蔽下层数据通信的细节,因此,它是计算机积极通信体系结构中关键的一层。
主要的传输协议有: TCP 、UDP
网络层 ③
作用
:选择核实后的网络路由和交换节点,确保数据按时成功传送。
两台计算机之间传送数据时,其通信链路往往不止一条,所传输的信息甚至可能经过很多通信子网; 在发送数据时,网络层把传输层产生的报文或用户数据封装分组和包,向下传输数据链路层。在网络层使用的协议是无连接的网际协议(Internet Protocol)和许多路由协议,因此我们通常把这层简称为IP层。
数据链路层 ②
作用
:两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门链路层协议
在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻节点间的链路上传送帧。
-
head 标明数据发送者、接受者、数据类型 eg:MAC地址
-
Data存储了计算机之间交互的数据。
通过控制信息,我们可以知道一个帧的起止比特位置,此外,也能使接收端检测出所到的帧有误差错,如果发现差错,数据链路层能够简单的丢掉这个帧,以避免继续占用网络资源。
链路层参考:https://www.jianshu.com/p/49e6a50ba927https://www.jianshu.com/p/49e6a50ba927
物理层 ①
作用
:实现计算机机制交接点之间比特流的透明传送
确定与传输媒体的接口的一些特性(机械特性、电气特性、功能特性、过程特性),改层主要和硬件有关,与软件关系不大。
1)应用层报文被传送到传输层。
2)传输层收取到报文并附上信息,该首部将被接收端的传输层使用。
应用层报文和传输层首部信息一道构成了传输层报文段。附加的信息可以包括:允许接收端传输层向上向适当的应用程以及差错的检测位信息。该信息让接收端能够判断报文中的比特是否在途中已被改变。
3)传输层则向网络层传递该报文段,网络层增加了如源和目的端系统地址等网络层首部信息,生成了网络层数据报。
5)网络层数据报接下来被传递给链路层,在数据链路层包添加发送端的MAC地址和接收端的MAC地址后被封装成为数据帧。
6)在物理层数据帧被封装成比特流,之后通过传输介质传送到端对端再一步步解开封装,获取到传送的数据。
TCP/IP
: 指能够在多个不提供网络间隔实现信息传输的协议簇。
TCP
传输控制协议:一种面向连接、可靠的、基于字节流的传输层通信协议。
IP
网际协议: 用于封装交换谁网络的协议。
TCP/IP 协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇; 只有因为在TCP协议和IP协议最具有代表性
P/IP协议簇分为5/4层体系:
五层包括:应用层、传输层、网络层、数据链路层 和 物理层。
四层包括:应用层、传输层、网络层(网际互联层)、网络接口层。
应用层
: = 会话层 + 表示层 + 应用层(OSI) 传输层
:为上层实体提供源端对端主机的通信功能。 主要有:TCP 、UDP 网络层
:负责为分组网络中的不同主机提供通信服务,并通过选择合适的路由将数据传递到目标主机。 在发送数据时,网络层把传输层产生的报文段或用户数据封装成分组或包进行传送。 数据链路层
:在两个相邻节点传输数据时,将网络层交下来的IP数据报组装成帧,在两个相邻节点之间的链路上传送帧。 物理层
:保谁可以在各个物理媒介上进行传输,为谁的传输提供可靠的环境。
区分OSI和TCP/IP
相同点:
1)都采用了层次结构
2)能够提供面向连接和无连接两种通信服务机制
区别: 1)OSI使用7层, TCP/IP是四/五层 2)TCP/IP参考模型没有对网络接口层进行细分,只有一些概念性的描述; OSI参考模型对服务和协议做了明确的区分。 3)OSI参考模型虽然网络划分为7层,但实现起来比较困难。 TCP/IP参考模型作为一种简化的分层结构是可以的。 4)TCP/IP协议去掉报备表是层和会话层的原因在于会话层和不表示层、应用层都是在应用程序内部实现的, 最终产出的是一个应用数据包,而应用程序之间是几乎无法实现代码的抽象共享的, 这也是OSI设想中的程序维度的分层是无法实现的。
数据传输的过程参考 https://www.bilibili.com/video/BV1ca411t7eT/?spm_id_from=333.337.search-card.all.click&vd_source=ee8daf579e50fc456ffdc199f8c75819
本文由 mdnice 多平台发布