ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

协议篇一

2021-03-16 20:32:40  阅读:162  来源: 互联网

标签:协议 入门 编程 网络 懒人 TCP


一、协议是什么?

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

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

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

 

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

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

比如现在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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有