对于通信协议,很早之前就接触过。只是了解的不是太透彻,最近在找工作,才发现好多公司对这方面有要求。为了加深自己的专业知识,搜集了以下资料,带着自己的理解,想借此加深一下理解。
通信协议
通信协议是指通信时所遵守的规则,只有双方按照这个规则说话,对方才能理解或为之服务。
三要素
通信协议主要由以下三要素组成:
语法:即如何通信,包括数据的格式、编码和信号等级(电平的高低)等。
语义:即通信内容,包括数据内容、含义以及控制信息等。
定时规则:即何时通信,明确通信的顺序、速率匹配和排序。
TCP HTTP UDP三者的关系:
TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
在传输层有TCP协议和UDP协议。
在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。
因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。
socket
这是为了实现以上的通信过程而建立的通信管道,其真实的代表时客户端和服务器端的一个通信进程,双方进程通过socket进行通信,而通信的规则采用指定的协议。socket只是一种连接模式,不是协议、tcp、udp
,简单的是两个最基本的协议,很多其它协议都是基于这两个协议。http就是基于tcp的,用socket可以创建tcp连接,也可以创建udp连接,这意味着,用sock