您的位置:首页 > 其它

自己设计系统之间的通信协议

2016-09-13 11:00 429 查看
    一个突发奇想

     昨天一直在想http协议的问题,http协议是基于TCP/IP协议的,我一直在想,http的实体在哪里?后来我想,http不过是一个“全球范围内的承诺”,所有使用它的人都承诺按照特定的格式传递数据。因此,用正式一点的话说,它只不过是一组全球共同承认的规范而已,定义了一组程序、服务器等必须遵守的通信约定,这么想来,协议貌似就没有那么神秘了。因此,我觉得我们人人都可以制定协议了,小到一句话大到一个庞大的协议族。我们在设计自己内部的系统时,有时候为了通信方便,我们可以设计自己的协议,比如FastDFS分布式文件系统就制定了自己系统内部的通信协议,如图:



详细设计

    当需要进行网络通讯时,要想让双方识别对方,就涉及对协议的设计。那么在具体项目中,如何设计协议呢?或者如何设计出较高效的协议?来满足项目的要求呢?

一般来说,一个基本的数据包协议需要以下部分:

1. 协议的标识

2. 协议版本号

3. 协议包的序号

4. 协议包的发出时间

5. 协议包的类型

6. 协议包的数据长度

7. 数据

8. 校验码
9. 结束符

上面的9点中,第1到第5是包头部分,对于每个数据包都是一样的,下面的第8,第9点,对于每个数据包也是相同的。但对于后面的第6,第7跟具体的包有关,这部分是不同的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  协议设计
相关文章推荐