请问socket,http,TCP/IP,UDP,Xmpp这些协议之间有啥异同,该怎样解释

不谢邀,作业请自行搜索网络。
■网友
socket,http,TCP/IP,UDP,Xmpp为什么是这几个放在一起问呢?关联性不大啊。好吧,说说网络传输,数据怎么从一台电脑跑到另一台电脑。数据传输也是要先包装的,以寄信打比方,寄一封信要包装,分捡,运输等等。网络上我们大部分数据都是经过四次包装,按照先后顺序来说:应用层,寄信首先要告诉邮差,我寄的是什么东西,钞票?家书?明信片?好让邮差使用不同的信封和邮票;那么应用层就是说明我传的数据是什么类型的,FTP的文件,http的网页等等;传输层,就是UDP或者TCP,或者其他,规定了数据怎么送,是要先握手呢,每个报文发多大呢,收到要不要确认回复呢等等;比如寄信你是用卡车还是自行车还是飞机。网络层,就IP地址怎么规定,怎么通过这些IP去寻找目的地;这就好比你写在信封上的地址,然后各个邮局中转站按照这个地址给你一步步送;链路层,因为传输的数据是比特0101010啊,电信号传输啊,机器得处理Mac地址啊,哎呀,我编不下去了,反正这个是最靠近底层的,比如你的信使用钢笔写的还是打印的,是英文还是中文,你的和收信人有个约定吧,要不你发个火星文信给他,他不认识了....socket其实是传输协议和应用端口号的组合,就是UDP或者TCP配个数字,这个数字让接受方能知道用什么应用程序来处理接受到的数据。http是一种应用层协议,用来实现www的;和FTP,smtp什么的一个层级;TCP/IP,这是一组协议,传输层用tcp,网络层用IP,也是我们互联网的主流方式;xmpp,不了解,百度一下是一种传输XML数据流的表现协议,应该也是在应用层吧。手机码这么多字。。。


    推荐阅读