1、TCP、UDP不是应用层协议,是
传输层协议。
2、应用层所谓的应用,就是为了一个具体的应用场景而做的协议,应用层协议之间的区别,就是应用之间的区别。HTTP和FTP有什么区别,就是HTTP用来传输超文本而FTP用来传文件。
2、应用层所谓的应用,就是为了一个具体的应用场景而做的协议,应用层协议之间的区别,就是应用之间的区别。HTTP和FTP有什么区别,就是HTTP用来传输超文本而FTP用来传文件。
OSI 模型主要作为一个通用模型来做理论分析,而TCP/IP 协议模型是互联网的实际通讯协议,两者一般做映射分析,以下不做严格区分和声明(好吧,比较懒);
OSI 整个模型层次大致可以分为3个主要层面来看
|.............主机...............| 操作系统和软件等 应用、表示、会话
|.............网络...............| 互联网络和相关协议 传输、网络 (TCP/IP)
|.............介质...............| 物理介质相关 数据链路、物理
下图模型为OSI
<img src="https://i-blog.csdnimg.cn/blog_migrate/c4e35b1c5abaf329fcb4d753264a0756.png" data-rawwidth="849" data-rawheight="539" class="origin_image zh-lightbox-thumb" width="849" data-original="https://pic3.zhimg.com/891de21f79560846700f344b1196323e_r.jpg">
1,主机需要网络传输数据, 网络本质上是一种服务,主机和网络之间靠传输层接口,就好比你要叫快递送东西;
2,网络可以提供两种服务:
1)可靠,面向连接;(TCP) 就像靠谱的快递,每一步都有反馈和监控,当然价格也是呵呵...
2)不可靠,尽力而为的传输 (UDP) 就像某些不靠谱的快递或者听都没听过的XX快递,价格低,但是能不能到就靠运气了。
3,两种服务无所谓好坏,TCP 的可靠是需要消耗很多资源的,效率低 (大块,重要的文件等)
UDP 不保证可靠性,但是效率高(视频,语音,不重要的小文件等)
4,而其他的“ HTTP、FTP、SMTP 等所谓的“Application-layer Protocol”协议”指的是在TCP/IP 通讯协议框架下具体实现特定功能的应用(HTTP 用来实现超文本传输,FTP文件传输,SMTP处理邮件等等),两者的关系,咳咳,关系通俗的说:
TCP和UDP以及IP 协议是互联网络通讯的基础,就像《宪法》,而应用协议就像具体的《刑法》、《民法》、《婚姻法》、《未成年人保护法》......等等,在某个领域的特定应用和具体实现,但是最基本的一条:违宪无效。
下图模型为TCP/IP栈
<img src="https://i-blog.csdnimg.cn/blog_migrate/47c2766a1fe348a3772cdf7dd82945f2.png" data-rawwidth="942" data-rawheight="551" class="origin_image zh-lightbox-thumb" width="942" data-original="https://pic2.zhimg.com/0192769f6dab9a46decb0ac3b8548531_r.jpg">