OSI 模型和 TCP/IP 模型异同比较

本文解析TCP/IP五层模型,对比OSI模型,阐述去除非应用层的原因,并详细描述数据在各层间的传输过程。重点在于应用层到物理层的数据封装和协议关系。

TCP/IP 五层参考模型

五层体系的协议结构是综合了 OSI 和 TCP/IP 优点的一种协议,包括应用层、传输层、网络层、数据链路层和物理层。其中应用层对应 OSI 的上三层,下四层和 OSI 相同。五层协议的体系结构只是为介绍网络原理而设计的,实际应用还是 TCP/IP 四层体系结构。

OSI 模型和 TCP/IP 模型异同比较

相同点

① OSI 参考模型与 TCP/IP 参考模型都采用了层次结构。

② 都能够提供面向连接和无连接两种通信服务机制。

不同点

① OSI 采用的七层模型; TCP/IP 是四层结构。

② TCP/IP 参考模型没有对网络接口层进行细分,只是一些概念性的描述; OSI 参考模型对服务和协议做了明确的区分。

③ OSI 先有模型,后有协议规范,适合于描述各种网络;TCP/IP 是先有协议集然后建立模型,不适用于非 TCP/IP 网络。

④ TCP/IP 一开始就提出面向连接和无连接服务,而 OSI 一开始只强调面向连接服务,直到很晚才开始制定无连接的服务标准。

⑤ OSI 参考模型虽然被看好,但将网络划分为七层,实现起来较困难;相反,TCP/IP 参考模型虽然有许多不尽人意的地方,但作为一种简化的分层结构还是比较成功的。

OSI 和 TCP/IP 协议之间的对应关系

在这里插入图片描述

为什么 TCP/IP 去除了表示层和会话层

OSI 参考模型在提出时,他们的理想是非常好的,但实际上,由于会话层、表示层、应用层都是在应用程序内部实现的,最终产出的是一个应用数据包,而应用程序之间是几乎无法实现代码的抽象共享的,这也就造成 OSI 设想中的应用程序维度的分层是无法实现的,例如,我们几乎不会认为数据的压缩、加密算法算是一种协议,而会话的概念则更为抽象,难以用协议来进行描述,所以在后来的 TCP/IP 协议框架的设计中,便将表示层和会话层与应用层整合在一起,让整个过程更为清晰明了。
总结:会话层,表示层和应用层都是在应用程序内部实现的,应用程序之间无法实现代码的抽象共享,因此应用程序维度无法实现分层。

数据如何在各层之间传输【数据的封装过程】

在发送主机端,一个应用层报文被传送到运输层。在最简单的情况下,运输层收取到报文并附上附加信息,该首部将被接收端的运输层使用。应用层报文和运输层首部信息一道构成了运输层报文段。附加的信息可能包括:允许接收端运输层向上向适当的应用程序交付报文的信息以及差错检测位信息。该信息让接收端能够判断报文中的比特是否在途中已被改变。运输层则向网络层传递该报文段,网络层增加了如源和目的端系统地址等网络层首部信息,生成了网络层数据报。该数据报接下来被传递给链路层,在数据链路层数据包添加发送端 MAC 地址和接收端 MAC 地址后被封装成数据帧,在物理层数据帧被封装成比特流,之后通过传输介质传送到对端。
总结:应用层报文——>传输层报文段(加首部-差错检测信息)——>IP数据报(加源地址和目的地址)——>MAC帧(加发送端MAC地址和接收端MAC地址)——>比特流。

作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/networks-interview-highlights/egwtu1/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/networks-interview-highlights/egvq8m/
来源:力扣(LeetCode)

OSI模型TCP/IP协议栈是网络通信的基础框架,两者在结构功能上有一定的相似性,但也存在显著区别。以下是详细的结构功能说明,并结合图解帮助理解。 ### OSI模型结构与功能 OSI(Open Systems Interconnection)模型是一个理论上的网络通信框架,分为七,每一都有明确的功能: 1. **物理(Physical Layer)**:负责在物理媒介上传输原始的比特流。定义了电气、机械、功能规程特性,如电缆、集线器等设备在此工作。 2. **数据链路(Data Link Layer)**:提供物理地址(MAC地址)寻址,数据成帧,差错检测,流量控制等功能。交换机工作在此。 3. **网络(Network Layer)**:负责逻辑寻址路由选择,确保数据包从源主机传送到目标主机。IP协议在此实现,路由器工作在此[^2]。 4. **传输(Transport Layer)**:提供端到端的通信服务,包括可靠的数据传输(TCP不可靠的数据传输(UDP),实现流量控制差错控制。 5. **会话(Session Layer)**:管理不同主机之间的会话建立、管理终止,提供同步机制。 6. **表示(Presentation Layer)**:负责数据的格式转换、加密解密、压缩解压,确保应用能够理解数据。 7. **应用(Application Layer)**:直接面向用户,提供文件传输、电子邮件、网络管理等服务。 ### TCP/IP协议栈结构与功能 TCP/IP协议栈是一个实际应用的网络模型,分为四(有时也分为五,将物理单独列出),其结构与OSI模型相比更简洁: 1. **网络接口(Network Interface Layer)**:对应OSI的物理数据链路,负责物理传输数据帧的封装与解封装。 2. **网络(Internet Layer)**:对应OSI的网络,主要协议为IP,负责逻辑寻址路由选择[^2]。 3. **传输(Transport Layer)**:与OSI的传输类似,提供端到端通信,主要协议为TCPUDP。 4. **应用(Application Layer)**:整合了OSI的应用、表示会话的功能,直接为用户提供服务,如HTTP、FTP、SMTP等协议在此。 ### 图解说明 为了更直观地展示OSI模型TCP/IP协议栈的结构对比,可以参考以下图示: ``` OSI Model TCP/IP Stack +----------------+ +----------------+ | Application | | Application | +----------------+ +----------------+ | Presentation | +----------------+ | Session | +----------------+ +----------------+ | Transport | | Transport | +----------------+ +----------------+ | Network | | Internet | +----------------+ +----------------+ | Data Link | | Network | +----------------+ | Interface | | Physical | +----------------+ +----------------+ ``` ### 数据传输过程 在数据从发送端传送到接收端的过程中,数据会从应用向下传递,每一都会添加自己的头部信息(封装),到达接收端后,数据会从物理向上传递,每一去除头部信息(解封装),最终还原为原始数据。 例如,发送端的数据封装过程如下: 1. 应用生成数据。 2. 传输添加TCP或UDP头部,形成段(Segment)。 3. 网络添加IP头部,形成包(Packet)。 4. 数据链路添加MAC头部尾部,形成帧(Frame)。 5. 物理将帧转换为比特流进行传输。 接收端的解封装过程则是相反的步骤。 ### 路由与交换机制 在OSI模型中,路由器工作在网络,负责根据IP地址进行路由选择;交换机工作在数据链路,负责根据MAC地址进行数据转发。此外,ARP缓存表用于将IP地址映射到对应的MAC地址,确保数据能够在局域网中正确传输[^4]。 ### 总结 OSI模型提供了一个理论上的框架,而TCP/IP协议栈则是实际应用中的标准。理解两者之间的异同有助于更好地掌握网络通信的原理实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值