【windows|010】OSI七层模型和TCP/IP五层模型详解

🍁博主简介

🏅云计算领域优质创作者

🏅2022年CSDN新星计划python赛道第一名

🏅2022年CSDN原力计划优质作者

🏅阿里云ACE认证高级工程师

🏅阿里云开发者社区专家博主

💊交流社区CSDN云计算交流社区欢迎您的加入!

目录

1、OSI七层模型

1.1 各层位置及功能

1.2 七层模型注意事项

2、TCP/IP五层模型

2.1 各层功能及协议简述

3、TCP和UDP比较

4、数据封装和解封装

4.1 数据封装过程

4.2 数据解封装过程


OSI模型,即开放式系统互连(Open System Interconnection)模型,是由国际标准化组织(ISO)在1984年提出的一种网络互连参考模型。该模型定义了网络互连的七层框架,为各种计算机互连构成网络提供了标准框架。

1、OSI七层模型

1.1 各层位置及功能

1、物理层

  • 地位:OSI模型中的最低层,是整个OSI协议的基础。

  • 功能:负责为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。具体任务包括比特流的传输、同步、差错检测等。

2、数据链路层

  • 位置:位于物理层和网络层之间。

  • 功能:定义了在单个链路上如何传输数据,包括数据链路的建立、维护和拆除,帧的封装与解封,差错控制等。

3、网络层

  • 位置:位于传输层和数据链路层之间。

  • 功能:将数据设法从源端经过若干个中间节点传送到另一端,向传输层提供最基本的端到端的数据传送服务。网络层的主要任务是路由选择和拥塞控制。

4、传输层

  • 功能:涉及到两个节点之间的数据传输,向上层提供可靠的数据传输服务。传输层的服务一般要经历传输连接建立阶段,数据传输阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程。

5、会话层

  • 位置:位于传输层之上。

  • 功能:负责建立、管理和终止会话,以及同步不同设备上的应用程序之间的对话。

6、表示层

  • 功能:将设备的固有数据格式转换为网络标准传输格式,确保不同系统之间的互操作性。此外,表示层还负责数据的加密和解密,提供数据的安全性和保密性。

7、应用层

  • 地位:OSI模型的最顶层。

  • 功能:直接为应用进程提供服务,如文件传输、电子邮件远程登录和远端接口调用等协议。应用层是用户与网络之间的接口,用户通过应用层来访问网络提供的服务。

1.2 七层模型注意事项

  • 上三层是为用户提供服务的,下四层负责实际数据传输

  • 下四层的传输单位:

位置单位
传输层数据段(报文)(数据拆分)
网络层数据包(报文分组)
数据链路层数据帧
物理层比特(位)
  • 越是上层的设备越智能,可以识别所有当前层以下的数据,越贴近用户;越是下层的设备越傻瓜,越贴近硬件

  • 数据发送时,数据从上层向下层传输; 数据接收时,数据从下层向上层传输

  • 数据不能跨层传递,每层之间通过逻辑的接口传递

  • 物理层负责实际数据传递,其它层只是逻辑对应

  • OSI模型只是理论模型,不能对应实际协议或硬件。

真正的互联网用的是TCP/IP模型,TCP模型是依赖于OSI模型诞生的,没有OSI模型就没有TCP/IP模型

2、TCP/IP五层模型

TCP/IP五层模型使得网络通信更加灵活、可靠和可管理。每一层都通过特定的协议和机制来实现其功能,并通过接口与相邻层次进行交互。这种层次结构的设计使得网络通信更加清晰和易于理解,同时也为网络设备的开发和维护提供了便利

2.1 各层功能及协议简述

1、应用层

  • 功能:应用层是网络通信的最高层,它定义了应用程序和网络之间的接口。在这一层,用户可以直接与应用程序进行交互。

  • 协议:常见的应用层协议有HTTP(用于Web浏览)、FTP(用于文件传输)、SMTP(用于电子邮件发送)等。

  • 作用:应用层负责处理网络应用相关的细节,如电子邮件的发送和接收、文件的上传和下载等。

2、传输层

  • 功能:传输层负责在源主机和目标主机之间建立数据传输通道,提供可靠的数据传输服务。

  • 协议:主要的传输层协议有TCP(传输控制协议)和UDP(用户数据报协议)。TCP提供可靠、面向连接的数据传输服务,而UDP则提供无连接、不可靠的数据传输服务。

  • 作用:传输层确保数据的正确传输顺序和可靠性,以及处理数据的分段和重新组装。

3、网络层

  • 功能:网络层负责在网络上寻址和路由数据包,定义数据在网络中的传输路径。

  • 协议:主要的网络层协议是IP(互联网协议),它定义了数据包的格式和地址方式,使得不同应用类型的数据在Internet上通畅地传输。

  • 作用:网络层通过IP地址来标识网络中的设备,并通过路由算法选择最佳的数据传输路径。

4、数据链路层

  • 功能:数据链路层负责在物理网络上传输数据帧,包括数据的分段和重新组装,以及物理介质的访问控制。

  • 协议:常见的数据链路层协议有以太网协议(Ethernet)等。

  • 作用:数据链路层将数据封装成帧,并在物理介质上传输这些帧。同时,它还负责处理帧的同步、差错控制和流量控制等问题。

5、物理层

  • 功能:物理层是网络通信的最底层,它负责在物理介质上传输比特流。

  • 协议:物理层定义了物理连接的特性,如电压、频率、电缆规格、集线器、中继器、网卡等。

  • 作用:物理层为数据链路层提供传输数据的通路,确保比特流能够在物理介质上正确传输。

3、TCP和UDP比较

TCP(传输控制协议)和UDP(用户数据报协议)是网络通信中两种常用的传输层协议,它们各自具有不同的特点和适用场景。

通过下方图解想必是非常生动形象的展示tdp和udp的区别了吧!

可靠性

  • TCP提供可靠的数据传输服务。它通过序列号、确认机制和重传机制来确保数据的完整性和有序性。如果数据在传输过程中出现丢失或错误,TCP会自动重传丢失的数据,保证数据的可靠传输。

  • UDP则不提供可靠的数据传输服务。它无连接、不保证可靠交付,因此主机不维持复杂的连接状态。UDP发送数据之后不会确认是否到达,也不会重传丢失的数据。因此,UDP更适用于一些对可靠性要求相对较低的应用场景,如音频和视频传输。

速度

  • 由于TCP需要确保数据的可靠传输,它需要额外的控制信息来维护连接状态和数据的传输控制。这使得TCP相对UDP更加复杂,在传输效率上稍低一些。

  • UDP没有连接建立和断开的开销,只需要很少的控制信息,因此传输速度较快。UDP适用于一些实时性要求较高的应用,如在线游戏和实时视频传输。

连接性

  • TCP是面向连接的协议。在数据发送和接收前,必须先建立连接,建立连接后才能发送数据。这种连接性使得TCP能够保证数据传输的可靠性。

  • UDP是无连接的协议。它可以直接发送数据,不需要先建立连接。这使得UDP的开销较小,并且发送数据的实时性较高。但缺点是无法保证数据传输的可靠性。

数据包大小

  • TCP在传输数据时,将数据分割成较小的数据块,并根据网络状况调整数据块的大小。这使得TCP可以适应不同网络环境下的数据传输。

  • UDP的数据包大小没有限制,它可以发送任何大小的数据。但在实际使用中,通常会将数据包大小限制在网络传输的最大MTU(最大传输单元)以内。

应用场景

  • TCP适用于需要可靠传输的场景,如文件传输、电子邮件发送等。在这些场景中,数据的完整性和有序性至关重要。

  • UDP适用于对实时性要求较高、对可靠性要求相对较低的场景,如在线游戏、实时视频传输等。在这些场景中,数据的传输速度更为重要,而数据的丢失或错误可能不会对应用产生严重影响。

TCP和UDP在可靠性、速度、连接性和数据包大小等方面存在差异。选择使用哪种协议要根据具体的应用场景和需求来决定。

4、数据封装和解封装

数据封装和解封装是网络通信中两个关键的过程,它们确保了数据能够在不同的网络层次之间正确、有效地传输。以下是按照TCP/IP五层模型进行数据封装和解封装的过程说明:

4.1 数据封装过程

应用层

  • 原始数据(如文本、图片等)首先被转换为应用层可以理解的格式,如HTTP请求或SMTP邮件。

  • 应用层添加自己的报头信息,如端口号、协议类型等。

传输层

  • 在TCP协议中,应用层数据被分割成较小的数据段(segments)。

  • 每个数据段都被添加上TCP头部,包含源端口、目标端口、序列号、确认号等信息。

  • UDP协议则直接添加UDP头部,包括源端口、目标端口和长度信息,不进行数据分割。

网络层

  • 传输层的数据段或UDP数据包被封装上IP头部,形成IP数据包(packets)。

  • IP头部包含源IP地址、目标IP地址、TTL(生存时间)等信息。

数据链路层

  • IP数据包被封装上数据链路层头部(如以太网头部),形成数据帧(frames)。

  • 数据链路层头部包含源MAC地址、目标MAC地址等信息。

物理层

  • 数据帧在物理层被转换为比特流(bit streams),并通过物理介质(如光纤、电缆等)进行传输。

4.2 数据解封装过程

物理层

  • 接收端从物理介质上接收到比特流,并将其转换为数据帧。

数据链路层

  • 接收端检查数据帧的MAC地址,如果与自己的MAC地址匹配,则去掉MAC头部,继续处理;否则,丢弃该数据帧。

网络层

  • 接收端检查IP数据包的IP地址,如果与自己的IP地址匹配,则去掉IP头部,继续处理;否则,根据路由表进行转发或丢弃。

传输层

  • 如果是TCP协议,接收端根据TCP头部中的序列号、确认号等信息进行数据的重组和排序,确保数据的完整性和有序性。

  • 如果是UDP协议,接收端直接去掉UDP头部,将数据传递给应用层。

应用层

  • 接收端根据应用层协议解析数据,还原为原始数据格式,如HTTP响应、SMTP邮件等。

通过数据封装和解封装的过程,数据能够在不同的网络层次之间正确、有效地传输,确保了网络通信的可靠性和高效性。

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹏linux

感谢老板,老板大气

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值