其他分享
首页 > 其他分享> > 协议篇一

协议篇一

作者:互联网

一、协议是什么?

从字面意思理解, 协议可以认为是合作的时候产生的一种“约定”, 最常见的比如租房协议, 比如借贷协议等, 最简单的比如甲约乙下午两点在某地碰面。语表达为 :

网络协议指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合。

我们在做登录功能的时候, 后端返回登录成功, 则前端跳转到登录后的页面, 后端返回登录失败,则前端提升账号或密码错误, 这一行为跟网络协议中使用的思想是一样的。

 

二、协议解决了哪些问题?

人类社会沟通是合作的基础,合作产生分工,分工越细带来的整体效率就越高。

比如现在a、b、c、d四个人分成两组比赛做衣服和打猎,ab这组每个人只能自己做衣服和打猎,假设每人每个月产生5件衣服和5个猎物。cd组合c专门学习做衣服,d专门学习打猎。 因为c跟ab相比, 可以将学习打猎的时间用来学习做衣服, 所以c做衣服的效率肯定高于ab(算1.2倍),c一个月能做12件衣服。 同样,d一个月能产生12头猎物。

这样算下来, 通过分工合作cd组合明显胜于ab组合。

我们平时接触的电脑也是一样, 一台电脑又多家公司制造不同的部件最终组合到一起, 每家公司只需要关注自己做的东西就行, 提升了整体效率。但是这样的前提是每家公司做出来的东西最终能组合起来,这样就需要又一个协议来作为约束, 我只需要保证我做出来的东西符合这个协议就行了,而使用我的东西的公司也只需要预留这部分功能让别人去做,自己只关注自己需要实现的部分就行。

所以协议解决计算机世界里面的分工问题,为各种设备之间的沟通提供了语言基础。

三、一些好的文章:

我们每天使用互联网,你是否想过,它是如何实现的?

 

全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?

 

互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原理。

 

因为这些协议实在太复杂、太庞大,我想整理一个简洁的框架,帮助自己从总体上把握它们。为了保证简单易懂,做了大量的简化,有些地方并不全面和精确,但是应该能够说清楚互联网的原理。

另外,如果您很好奇承载这些网络协议的物理设备是怎么工作的,可以先看看《网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门》。

 

《脑残式网络编程入门》也适合入门学习,本系列大纲如下:

 

 

如果您觉得本系列文章过于基础,您可直接阅读《不为人知的网络编程》系列文章,该系列目录如下:

 

 

关于移动端网络特性及优化手段的总结性文章请见:

 

 

参考资料

 

TCP/IP详解 - 第11章·UDP:用户数据报协议

TCP/IP详解 - 第17章·TCP:传输控制协议

TCP/IP详解 - 第18章·TCP连接的建立与终止

TCP/IP详解 - 第21章·TCP的超时与重传

通俗易懂-深入理解TCP协议(上):理论基础

通俗易懂-深入理解TCP协议(下):RTT、滑动窗口、拥塞处理

理论经典:TCP协议的3次握手与4次挥手过程详解

理论联系实际:Wireshark抓包分析TCP 3次握手、4次挥手过程

计算机网络通讯协议关系图(中文珍藏版)

高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少

高性能网络编程(二):上一个10年,著名的C10K并发连接问题

高性能网络编程(三):下一个10年,是时候考虑C10M并发问题了

高性能网络编程(四):从C10K到C10M高性能网络应用的理论探索

简述传输层协议TCP和UDP的区别

为什么QQ用的是UDP协议而不是TCP协议?

移动端即时通讯协议选择:UDP还是TCP?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:协议,入门,编程,网络,懒人,TCP
来源: https://blog.csdn.net/qq_26128879/article/details/114898632