博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈谈对TCP、UDP、FTP、HTTP、Socket理解
阅读量:7113 次
发布时间:2019-06-28

本文共 1196 字,大约阅读时间需要 3 分钟。

TCP、UDP、FTP、HTTP、Socket

1433728-20180722232347078-1349730552.png

作者:Vincent Wang 链接: 来源:知乎

1433728-20180722232353017-1036421544.png

Http,FTP是应用层协议,HTTP用来传输超文本而FTP用来传文件;TCP/UDP 是传输层协议

1433728-20180722232357961-735461961.png

作者:晚风轻拂 链接: 来源:知乎

1,主机需要网络传输数据,网络本质上是一种服务,主机和网络之间靠传输层接口,就好比你要叫快递送东西;

2,网络可以提供两种服务:

1)可靠,面向连接;(TCP) 就像靠谱的快递,每一步都有反馈和监控,当然价格也是呵呵...
2)不可靠,尽力而为的传输 (UDP) 就像某些不靠谱的快递或者听都没听过的XX快递,价格低,但是能不能到就靠运气了。

3,两种服务无所谓好坏,TCP 的可靠是需要消耗很多资源的,效率低 (大块,重要的文件等)UDP 不保证可靠性,但是效率高(视频,语音,不重要的小文件等)

4,而我们常说的套接字Socket,则是一个编程接口(API),是TCP/UDP向开发者提供的用作网络开发的接口,它是对TCP/UDP协议的封装。可以这么理解,有两个进程(一台计算机能有多个进程,比如QQ和微信就可以被看做两个进程),跨计算机,他俩想通讯的话就必须通过网络对接起来,而这就是Socket的作用。这两个进程,需要 有一个进程是被动方,这就是服务器 ;而 另一个则是主动方,这就是客户端 。他们 所在的计算机叫做主机host,在网络上有特定的Ip地址。一台计算机可以有多个进程作为服务器,但是ip地址只有一个,所以要通过不同的 端口port 进行区分。因此,服务器需要绑定在本机的某个端口上,客户端则需要声明自己要连接哪台主机(地址)的哪个进程(端口)两个进程通过网络(Socket)建立其通讯渠道,然后就能通过recv 和 send 来收发一些信息。所以Socket就是指代联通这种通讯的桥梁(标识)。

(作者:hoodlum1980 链接: 来源:知乎)

5,而其他的“HTTP、FTP、SMTP 等所谓的“Application-layer Protocol”协议”指的是在TCP/IP 通讯协议框架下具体实现特定功能的应用HTTP 用来实现超文本传输,FTP文件传输,SMTP处理邮件等等),两者的关系,咳咳,关系通俗的说:TCP和UDP以及IP 协议是互联网络通讯的基础,就像《宪法》,而应用协议就像具体的《刑法》、《民法》、《婚姻法》、《未成年人保护法》......等等,在某个领域的特定应用和具体实现,但是最基本的一条:违宪无效。也可以这么说,TCP/UDP这些传输层协议可以让两个程序说话,而HTTP/FTP这些应用层则定义了说话的规则即说什么话。

文中部分文字来源:作者:Vincent Wang 链接: 来源:知乎

转载于:https://www.cnblogs.com/sxhjoker/p/9352027.html

你可能感兴趣的文章
Android应用程序启动过程源代码分析(5)
查看>>
Linux桌面版横评:八、中标普华桌面Linux 3.0.1
查看>>
让UpdatePanel支持文件上传(5):支持页面重定向的HttpModule
查看>>
Java线程:新特征-阻塞栈
查看>>
CentOS 5.5升级内核到2.6.35.4
查看>>
查询整个数据库中某个特定值所在的表和字段的方法
查看>>
JS把数组中相同元素组合成一个新的数组问题
查看>>
《Linux内核设计与实现》读书笔记(三)- Linux的进程
查看>>
AngularJS快速入门指南08:表格
查看>>
C++矩阵运算库推荐
查看>>
在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)
查看>>
Android 控件在布局中按比例放置[转]
查看>>
内核通知链 学习笔记 【转】
查看>>
Input Method of Win32 System
查看>>
count(*) VS count(X)
查看>>
MS ASP.Net Ajax 服务端扩展
查看>>
android102 查询,插入联系人
查看>>
数据库邮件
查看>>
adstrtal.sh报超时错误 ERROR : Timed out( 100000 ): Interrupted Exception
查看>>
一个前端工程师的基本修养
查看>>