OSI与TCP/IP各层结构和功能,及TCP和UDP协议的区别和应用
一、OSI的七层协议与TCP/IP体系结构
如下图可见,是OSI七层协议体系与TCP/IP的体系结构,实际上,TCP/IP的体系结构是四层,如图b。但是一般在学习计算机网络的原理时往往会采取折中的方法,综合OSI与TCP/IP的优点,就会采用五层协议的体系结构,如图c:
注: 五层协议体系结构只是为了介绍网络原理设计的,实际应用的还是TCP/IP四层体系结构。
二、各层协议和功能
1、OSI模型各层功能:
应用层: 针对特定应用的协议,为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录等协议。
表示层: 将来自下一层的数据转换为上层能够处理的格式。负责数据转换、格式化、文本压缩等。
会话层: 负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理。
传输层: 管理两个节点之间的数据传输。
网络层: 地址管理和路由选择。
数据链路层: 互联设备之间传送和识别帧。
物理层: 以二进制形式在在物理媒体上传输数据。
TCP和UDP协议的区别:
TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。
UDP的优点: 快,比TCP稍安全 UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击…… UDP的缺点: 不可靠,不稳定 因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包
TCP和UDP协议的应用:
什么时候应该使用TCP: 当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。 在日常生活中,常见使用TCP协议的应用如下: 浏览器,用的HTTP FlashFXP,用的FTP Outlook,用的POP、SMTP Putty,用的Telnet、SSH QQ文件传输 …………
什么时候应该使用UDP: 当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。 比如,日常生活中,常见使用UDP协议的应用如下: QQ语音 QQ视频 TFTP ……
相关文章
- ajax原理图及应用
- 【PHP面向对象(OOP)编程入门教程】10.__set(),__get(),__isset(),__unset()四个方法的应用
- spring: 在Spring应用中使用JDBC(使用profiles选择数据源/使用基于JDBC驱动的数据源)
- 喜报!阿里云首个通过应用多活“先进级”能力评估
- 【BSP视频教程】BSP视频教程第24期:应用实战,设计一款属于自己的Modbus RTU主从协议栈(2022-10-03)
- http协议和web应用有状态和无状态浅析
- SAP UI5 应用如何采取 JavaScript 代码调用 OData API 读取满足过滤条件的业务数据($filter 操作)试读版
- 如何处理CloudFoundry应用部署时遇到的254错误
- Atitit webdav的使用与配置总结attilax总结 目录 1. 支持的协议2 1.1. http File unc2 2. 应用场景2 2.1. 远程文件管理实现功能 文件建立
- 自开发Web应用和SAP Customer Data Cloud Identity服务的集成
- SAP UI5 应用开发教程之三十五 - 如何把本地开发的 SAP UI5 应用部署到 ABAP 服务器上试读版
- 如何查找UI5应用对应在ABAP Netweaver服务器上的BSP应用名称
- C++:C++编程语言学习之函数/结构体和类的简介、案例应用之详细攻略
- AI:人工智能领域具体应用场景案例介绍之以领域划分(CV领域/DS领域/NLP领域/金融领域/爬虫领域)、以项目划分(AI推荐/AI推断/AI法律咨询/AI挖掘)目录来理解技术交互流程
- Python语言学习:Python语言学习之容器(列表&元组&字典&集合)简介、特点/意义/经验总结及容器魔法方法(定义可变&不可变容器的协议)的简介、案例应用之详细攻略
- Py之wordcloud:wordcloud词云图的简介、安装、使用方法、案例应用详细攻略
- 【华为云技术分享】A-Tune:基于AI的自优化能力,让应用发挥极致性能
- QT应用编程: windows下使用UDT传输协议_创建工程示例(高速数据传输)
- 第二十四讲:神州路由器OSPF虚链路设计与应用
- kubernetes要实现的目标——随机关掉一台机器,看你的服务能否正常;减少的应用实例能否自动迁移并恢复到其他节点;服务能否随着流量进行自动伸缩
- 数据中台的前世今生(一):数据仓库——数据应用需求的涌现
- 阿里云SLB之:基于HTTPS协议的SLB应用场景(十二)
- 阿里云SLB之:基于HTTP协议的SLB应用场景(十一)