OSI网络七层模型(下)

简介: OSI网络七层模型(下)

正文


四、数据的封装过程


在OSI参考模型中,当一台主机需要传送用户的数据(DATA)时,数据首先通过应用层的接口进入应用层。在应用层,用户的数据被加上应用层的报头(AH),形成应用层协议数据单元,然后通过应用层与表示层的接口数据单元,递交到表示层。表示层并不“关心”应用层的数据格式,而是把整个应用层递交的数据报看成是一个整体进行封装,即加上表示层的报头(PH),然后递交到会话层。 同样,会话层、传输层、网络层、数据链路层也都要分别给上层递交下来的数据加上自己的报头。它们是会话层报头(SH)、传输层报头(TH)、网络层报头(NH)和数据链路层报头(DH)。其中,数据链路层还要给网络层递交的数据加上数据链路层报尾(DT)形成最终的一帧数据。当一帧数据通过物理层传送到目标主机的物理层时,该主机的物理层把它递交到数据链路层。数据链路层负责去掉数据帧的帧头部DH和尾部DT(同时还进行数据校验)。如果数据没有出错,则递交到网络层。同样,网络层、传输层、会话层、表示层、应用层也要做类似的工作。最终,原始数据被递交到目标主机的具体应用程序中。


五、OSI参考模型与TCP/IP模型对比


层次结构

OSI参考模型与TCP/IP模型都采用了分层体系结构,将庞大而复杂的问题转化为着干个较小且易于处理的子问题。不同的是OSl参考模型划分7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP参考模型最多划分了5个层次,分别是物理层,数据链路层、网络层、传输层和应用层将OSI参考模型中的高三层合并为一层统称应用层。有些情况甚至只有三个或四个层次。在层次结构上,相同之处:都采用了分层体系结构;不同之处:TCP/IP参考模型比OSI参考模型更简化。


层次关系

OSI参考模型与TCP/IP模型各自层与层之间关系相似。在OSI参考模型中规定数据为协议数据单元(PDU),通常在该层的PDU前面增加一个字母的前缀,标识为哪一层数据。如会话层通过传送会话层协议数据单元(SPDU)和对等的会话层进行通信。相应的有应用层协议数据单元(APNJ)、表示层协议数据单元(PPDU)、段(Segment)、数据包(Packet)、帧(Frame)、比特流(Bit)。在网络通信中,通过传输层的PDU到对方的对等层,以实现通信。从逻辑上讲,对等层间的通信,是两个设备的同一层直接通信。而物理上,每一层都只与自己相邻的上下两层直接通信,下层通过服务访问点为上一层提供服务。当接受数据时,数据是自下而上传输;当发送数据时,数据则是自上向下传输的。在这一点上TCP/IP参考模型与OSI参考模型是一致的。只是TCP/IP参考模型相比OSI参考模型少了会话层协议数据单元(SPDU)和表示层协议数据单元(PPDU)。在层次间关系上,相同之处:都是对等的层间通信;不同之处:TCP/IP参考模型比OSI参考模型层次更清晰简练。


功能

在功能上,大致相同,在两个模型中,传输层及以上的各层都是为了通信的进程提供点到点、与网络无关的传输服务;TCP/IP参考模型比OSI参考模型有更好的网络管理功能。


六、OSI参考模型的优点


1、分工合作,责任明确

性质相似的工作划分在同一层,性质相异的工作则划分到不同层。如此一来,每一层所负责的工作范围,都区分得很清楚,彼此不会重叠。万一出了问题,很容易判断是哪一层没做好,就应该先改善该层的工作,不至于无从着手。


2、对等交谈

对等是指所处的层级相同,对等交谈意指同一层找同一层谈,例如:第3层找第3层谈、第4层找第4层谈...依此类推。所以某一方的第N层只与对方的第N层交谈,是否收到、解读自己所送出的信息即可,完全不必关心对方的第N-1层或第N+1层会如何做,因为那是由一方的第N-1层与第N+1层来处理。 其实,双方以对等身份交谈是常用的规则,这样的最大好处是简化了各层所负责的事情。因此,通信协议是对等个体通信时的一切约定。


3、逐层处理,层层负责

既然层次分得很清楚,处理事情时当然应该按部就班,逐层处理,决不允许越过上一层,或是越过下一层。因此,第N层收到数据后,一定先把数据进行处理,才会将数据向上传送给第N+1层,如果收到第N+1层传下来的数据,也是处理无误后才向下传给第N-1层。任何一层收到数据时,都可以相信上一层或下一层已经做完它们该做的事,层级的多少还要考虑效率与实际操作的难易,并非层数越多越好。

相关文章
|
9月前
|
C++
基于Reactor模型的高性能网络库之地址篇
这段代码定义了一个 InetAddress 类,是 C++ 网络编程中用于封装 IPv4 地址和端口的常见做法。该类的主要作用是方便地表示和操作一个网络地址(IP + 端口)
370 58
|
9月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
288 2
|
9月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
239 1
|
9月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
11月前
|
域名解析 网络协议 安全
计算机网络TCP/IP四层模型
本文介绍了TCP/IP模型的四层结构及其与OSI模型的对比。网络接口层负责物理网络接口,处理MAC地址和帧传输;网络层管理IP地址和路由选择,确保数据包准确送达;传输层提供端到端通信,支持可靠(TCP)或不可靠(UDP)传输;应用层直接面向用户,提供如HTTP、FTP等服务。此外,还详细描述了数据封装与解封装过程,以及两模型在层次划分上的差异。
2217 13
|
11月前
|
网络协议 中间件 网络安全
计算机网络OSI七层模型
OSI模型分为七层,各层功能明确:物理层传输比特流,数据链路层负责帧传输,网络层处理数据包路由,传输层确保端到端可靠传输,会话层管理会话,表示层负责数据格式转换与加密,应用层提供网络服务。数据在传输中经过封装与解封装过程。OSI模型优点包括标准化、模块化和互操作性,但也存在复杂性高、效率较低及实用性不足的问题,在实际中TCP/IP模型更常用。
1494 10
|
机器学习/深度学习 移动开发 测试技术
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
617 1
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
|
6月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
7月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
466 2
|
9月前
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
407 60

热门文章

最新文章