TreeMind树图在线AI思维导图
当前位置:树图思维导图模板高校与高等教育其他学科网络协议知识图谱思维导图

网络协议知识图谱思维导图

  收藏
  分享
免费下载
免费使用文件
U332710558 浏览量:182023-04-25 14:45:35
已被使用1次
查看详情网络协议知识图谱思维导图

网络协议知识图谱

树图思维导图提供 网络协议知识图谱 在线思维导图免费制作,点击“编辑”按钮,可对 网络协议知识图谱  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:2d7e16377fcb1809b154fe8d8eca5df7

思维导图大纲

网络协议知识图谱思维导图模板大纲

什么是网络协议?

网络协议就是你交给一大片机器说同样的话,共同完成一件事儿。

网络为什么分层?

复杂的程序都要分层,分层的优势是灵活性和独立性,不能表达层层封装的比喻都是不恰当的

不理解?如果你把代码都写在一起,但是产品经理却突然改了需求,你需要将TCP换成UDP的时候,你就明白了

只要是网络上跑的包,都是完整的,可以有下层没上层,不能有上层没有下层

把自己想象成为一个处理网络包的程序,你的脑袋就是处理逻辑,你的手就是网口

啥叫二层设备?有人递给你左手一个包,取下二层头来看,用脑袋想想,是自己吃了,还是扔了,还是右手递给其他人。

啥叫三层设备?有人递给你左手一个包,取下二层和三层头来看,用脑袋想想,是自己吃了,还是扔了,还是右手递给其他人。

IP地址和MAC地址

IP地址是网络世界的通信地址,相当于现实世界的门牌号码,有定位功能

MAC地址是网络世界的身份证,没有定位功能。

网关

网关往往是一台路由器,它有5个网口或者网卡,相当于5只手,分别连着5个局域网。每只手的IP地址都和局域网的IP地址相同的网段,每只手都是它握住的那个局域网的网关。

静态路由

在路由器上,配置一条一条规则。想访问BBS站,从2号口出去,下一跳就是IP2;想访问教学视频站,从3号口出去,下一跳是IP3。

策略路由

可以配置多个路由表,可以根据源IP地址、入口设备、TOS等选择路由表,然后在路由表中查找路由。这样可以使得来自不同来源的包走不同的路由。

欧洲十国游

MAC变IP不变

这就像在欧洲各国之间旅游,一个签证就能搞定。

玄奘西行

MAC变IP也变NAT网关转换

就像出国,不能用咱们自己的身份证,而要改用护照一样,玄奘西游也要拿着专门取经的通关文牒,而不能用自己国家的身份证。

路由协议

唐僧西天取经,需要解决两大问题;一个是在每个国家如何找到正确的路,去换通关文牒、吃饭、休息;一个是国家之间,野外行走的时候,如何找到正确的路、水源的问题。

基于链路状态路由算法的OSPF

在一个国家内部,找到最短路径是最重要,走的越少越好。

基于距离矢量路由算法的BGP

国家之间,不光远近的问题,还有政策的问题。例如,唐僧去西天取经,路过女儿国,那最好绕着点走。

UDP

三大特点

沟通简单,不需要一肚子花花肠子(大量的数据结构、处理逻辑、包头字段)。前提是它相信网络世界是美好的,秉承性善论,相信网络通路默认就是很容易送达的,不容易被丢弃的。

轻信他人。它不会建立连接,虽然有端口号,但是监听在这个地方,谁都可以传给他数据,他也可以传递给任何人数据,甚至可以同时传递给多个人数据。

愣头青,做事不懂权变。不知道什么时候该坚持,什么时候该退让。它不会根据网络的情况进行发包的拥塞控制,无论网络丢包成啥样子,它该怎么发还怎么发。

三大使用场景

需要资源少,在网络情况比较好的内容,或者对于丢包不敏感的应用

你会让你们组刚毕业的小朋友去做一些没有那么难的项目,打一些没有那么难的客户,或者做一些失败了也能忍受的实验性项目

不需要一对一沟通,建立连接,而是可以广播的应用

咱们小时候人都很简单,大家在班级里谁得几个小红花都是当着全班的面讲的。长大了人心复杂了,薪水、奖金要背靠背,和员工一对一沟通。

需要处理速度快,时延低,可以容忍少数丢包,但是要求即便网络拥塞,也毫不退缩,一往无前。

曾国藩建立湘军的时候,专门招初生牛犊不怕虎的新兵,而不用那些“老油条”的八旗兵,就是因为八旗兵经历的事情多,遇到敌军不敢舍生忘死。

Socket编程

方式0:在建立连接后,进行一个while循环,客户端发了收,服务端收了发

这就相当于老板成立一个公司,只有自己一个人,自己亲自上来服务客户,只能干完了再干下一家,赚不来多少钱。

方式1:将项目外包给其他公司(多进程)

就像来了一个新的项目,但是项目不一定是你自己做,可以再注册一家子公司,然后项目转包给这家子公司做,以后对接就交给这家子公司了,你又可以去接新的项目了。

方式2:将项目转给独立的项目组(多线程)

如果创建进程相当于成立新公司,购买新办公家具,而创建线程,就相当于在同一个公司成立项目组。一个项目做完了,那这个项目组就可以解散,组成另外的项目组,办公家具可以共用。

方式3:一个项目组支撑多个项目(IO多路复用,一个线程多个Socket)

一个项目组看多个项目了,这个时候,每个项目组都应该有个项目进度墙,将自己组看的项目列在那里,然后每天通过项目墙看每个项目的进度,一旦某个项目有了进展,就派人去盯一下。

方式4:一个项目组支撑多个项目(IO多路复用,从派人盯着到有事通知)

如果改成事件通知的方式,情况就会好很多,项目组不需要通过轮询挨个盯着这些项目,而是当项目进度发生变化的时候,主动通知项目组,然后项目组再根据项目进展情况做相应的操作。

流媒体协议

编码:如何将丰富多彩的图片变成二进制流?

视频是一张张图片的序列,但是如果每张图片都完整,就太大了,因而会将视频序列分成三种帧I、B、P。

一个视频,可以拆分为一系列的帧,每一个帧拆分成一系列的片,每一片都放在一个NALU里面,NALU之间都是通过特殊的起始标识符分隔,在每一个I帧的第一片前面,要插入单独保存SPS和PPS的NALU,最终形成一个长长的NALU序列。

推流:如何将数据流打包传输到对端?

推流的过程,就是将NALU放在Message里面发送,这个也称为RTMP Packet包。

RTMP在收发数据的时候并不是以Message为单位的,而是把Message拆分成Chunk发送。

分发与流处理

分发网络分为中心和边缘两层。边缘层服务器部署在全国各地及横跨各大运营商里,和用户距离很近。中心层是流媒体服务集群,负责内容的转发。

拉流:观众的客户端如何看到视频?

先读到的是H.264的解码参数,例如SPS和PPS,然后对收到的NALU组成一个个帧,进行解码,交给播发器播放,一个绚丽多彩的视频画面就出来了。

DNS与HTTPDNS

DNS

DNS服务器组织成树状结构,老大是根域名服务器,老二是顶级域名服务器,真正干活的是权威DNS服务器,每次查找地址簿,都要遍历这棵树,比较费时,因而每个运营商都有本地域名服务器做缓存。

常用的网站就有二三十个,如果全部用IP地址访问,恐怕很难记住。于是,就需要一个地址簿,根据名称就可以查看具体的地址。

我们肯定希望北京的用户访问北京的数据中心,上海的用户访问上海的数据中心,这样,客户体验就会非常好,访问速度就会超快。这就是全局负载均衡的概念。

传统DNS问题

缓存问题(不能及时刷新缓存)

导游去过一个饭店,自己脑子记住了地址,当有一个游客问的时候,他就会凭记忆回答了。结果饭店已经搬家了,但是导游并没有刷新这个缓存。

负载均衡失效

客户要吃西湖醋鱼的事,导游知道西湖边有一家,因为当时游客就在西湖。可是下一次客户在灵隐寺,想吃西湖醋鱼的时候,导游还指向西湖边的那一家,那这就绕的太远了。

域名转发

西湖边导游比较懒,自己不去查,去问负责灵隐寺的导游同事,就推荐了灵隐寺旁边的西湖醋鱼。

HTTPDNS

HTTPDNS其实就是,不走传统的DNS解析,而是自己搭建基于HTTP协议的DNS服务器集群,分布在多个地址和多个运营商。当客户端需要DNS解析的时候,直接通过HTTP协议进行请求这个服务器集群,得到就近的地址。

通过自己的HTTPDNS服务器和自己的SDK,实现从依赖本地导游,到自己上网查询做旅游攻略,进行自由行,爱怎么玩怎么玩。这样就能够避免依赖导游,而导游又不专业,你还不能把他怎么样的尴尬。

DHCP协议

手动配置IP地址相当于自己买房装修,DHCP协议相当于租房

新到一个城市要先找中介(DHCP服务器)租个房(IP)——Discover

中介(DHCP服务器)会带你看房,可能会有多个中介带你看多个房——Offer

你看上其中一个房,愿意租下来——Request

中介说没问题,咱们签合同,租约达成——Ack

租约达成要广播,防止中介之间跳单

租期快到之前,记得续租

PXE

PXE再DHCP配置里面多了一个next-server,可以安装操作系统。

这就是中介租给你房子之后,签完约说,还给你介绍一个装修公司:“哥们,想装修一下吗,接下来找它”

MAC层

MAC层主要解决多路访问的堵车问题

思路一:划分多个车道,你走你的,我走我的

思路二:单双号,今天单号出行,明天双号出行

思路三:不管三七二十一,有事先出去,发现堵车再回去,错过高峰再出门。以太网是这个思路。

STP协议

STP就是在二层,将拓扑图中的环破了,生成了树。

树要有树根,形成树的是一场血雨腥风的武林比武,最终决出谁是盟主,谁是长老,谁是堂主,谁是小兵的方式

比武规则:先比掌门(当前树的树根ID),再比和掌门关系铁(距离当前树根的路径开销),最后比自己的本事(自己的ID)

VLAN

广播问题:公司大了都在一个会议室吵,谁也没法工作

不同的部门不同的VLAN,你听不到别的部门开会,清净很多

安全问题:公司大了都在一个会议室吵,HR聊的东西,程序员都听到了

不同的部门不同的VLAN,你别想听到HR开会,打听薪资

ICMP

查询报文类型

主帅说,来人啊,前方战事如何,快去派人打探,一有情况,立即通报

ping

差错报文类型

主帅骑着马走着走着,突然来了一匹快马,上面的小兵气喘喘的:报告主公,不好啦,将军遭遇埋伏,全军覆没没啦

traceroute

TCP

顺序问题,稳重不乱

给每个事情编个号。程序员平时看任务的时候,就像程序员都会看JIRA的ID,等开周会的时候,将JIRA ID的列表拉出来就行了。

丢包问题,承诺靠谱

比如你交代给下属一个事情后,下属到底能不能做到,做到什么程度,什么时候能够交付,往往就会有应答,有回复

连接维护,有始有终

三次握手和四次挥手

流量控制,把握分寸

滑动窗口就是你和你下属记录你布置给他的任务的本子

四部分

做完了的应该划掉

已经布置的任务,正在做还没做完

尚未布置的任务

工作饱和,不能再布置的任务

滑动方式

做完一条划掉一条,新来一条,在最后添加一条

做完一条能够再布置一条

如果下属反应能力强,可以多布置几条,反馈做不过来就需要少布置几条

拥塞控制,知进知退

慢启动,指数性增长

我们通过漏斗往瓶子里灌水,一桶水一下子倒进去,肯定会溅出来,要一开始慢慢地到,然后发现还可以倒进去,就可以越倒越快。这叫做慢启动。

拥塞避免,线性增长

涨到什么时候是个头呢?有一个值ssthresh为65535个字节,当超过这个值的时候,就要小心一点了,不能到这么快了,可能快满了,再慢下来。

快速重传,快速恢复

一旦超时重传,马上回到解放前,窗口为1,从头开始慢启动

部分丢包可以快速重传,窗口腰斩,并非回到解放前为1

HTTP

HTTP1.1

GET

GET就是去服务器获取一些资源。对于访问网页来说,要获取的资源往往是一个页面。

POST

支付场景,客户端就需要把“我是谁?我要支付多少?我要买啥?“告诉服务器,这就需要通过POST方法

PUT

向指定资源位置上传最新内容

DELETE

用来删除资源

HTTP2.0

头索引

分流

分帧

二进制编码

QUIC

基于UDP

自定义连接机制

自定义重传机制

无阻塞的多路复用

自定义流量控制

HTTPS

对称加密

我们在谍战剧里面经常看到这样的场景,就是特工破译的密码会有个密码本,截获无线电台,通过密码本就能将原文破译出来。

非对称加密

非对称加密的私钥放在外卖网站这里,不会再互联网上传输,这样就能保证这个私钥的私密性。对应私钥的公钥,是可以在互联网上随意传播的,只要外卖网站把这个公钥给你,你们就可以愉快地互通了。

数字证书

你怎么鉴别别人给你的公钥是对的呢?这个时候就需要权威部门的介入了,而由权威部门颁发的就是证书。

证书里面有什么呢?有公钥,有证书的所有者,还有证书的发布机构和证书的有效期。

P2P

P2P就是peer-to-peer。资源开始并不集中地存储在某些设备上,而是分散地存储在多台设备上。这些设备我们成为peer。

任何一个BitTorrent启动后,都有两个角色。peer,用来上传和下载文件;DHT node,通过这个角色,这个节点加入了一个DHT网络;每个DHT node都应该知道某些文件是保存在哪些节点上,也就是文件索引。

如果一个文件计算出一个哈希值,DHT node的ID是和哈希值相同长度的串,则和这个哈希值一样的或者很接近的那些DHT node,就有责任知道从哪里下载这个文件。

DHT网络特别像一个社交网络,每个node都保存了一些其他node的联系方式,也就是朋友圈,节点之间会相互通信,添加朋友或者删除朋友。这样ID之间的距离就不是物理位置的距离,而是社交网络中的社交距离。

一个新的DHT node上线,只要联系上DHT网络中的一个节点,就加入了这个网络。

新DHT node节点通过计算文件哈希,可以知道某个node应该有这个文件保存在哪里的知识,于是去万能的朋友圈去问,朋友如果不知道,朋友再去自己的朋友圈问,很快就能找到。

CDN

静态资源模拟物流“就近配送”

网站根据统计大概知道,每个种类的物品,各大城市每天能够卖出去多少。平时就可以将这类物品分布在各地仓库,客户一下单,就近的仓库就发出,客户很快就收到了。

动态资源

生鲜超市模式,也即边缘计算的模式。既然数据是动态生成的,所以数据的逻辑计算和存储,也相应放在边缘的节点。

冷链运输模式,也即路径优化的模式。数据不是在边缘计算生成的,而是在源站生成的,但是数据的下发可以通过CDN的网络,对路径进行优化。

数据中心

数据中心分为三层。服务器连接到接入层,然后是汇聚层,再然后是核心层,最外面是边界路由器和安全设备。

数据中心的所有链路都需要高可用性。服务器需要绑定网卡,交换机需要堆叠,三层设备可以通过等价路由,二层设备可以通过TRILL协议。

VPN

VPN通过隧道技术在公众网络上仿真一条点对点的专线,是通过利用一种协议来传输另一种协议的技术。三种协议:乘客协议、隧道协议和承载协议。

VPN相当于自驾海南游,如何通过琼州海峡呢?这里用到轮渡,就是隧道协议。

在广州这边开车是有“协议”的,例如靠右行驶、红灯停、绿灯行,这就相当于“被封装”的乘客协议。当然在海南那边,开车也是同样的协议

在海上坐船航行,也有协议,例如要看灯塔、要按照航道航行等。这是外层的承载协议。

车如何从广州到海南呢?需要遵循开车的(乘客协议),将车开上轮渡,所有通过轮渡的车都关在船舱里面,按照既定的规则排列好,这就是(隧道协议)。

在大海上,车是关在船舱里面的,就像在隧道里面一样,这时内部的乘客协议,也即驾驶协议没啥用处,只需要船遵从外层的(承载协议),到达海南就可以了。

到达之后,外部(承载协议)的任务就结束了,打开船舱,将车开出来,就相当于取下承载协议和隧道协议的头。接下来,在海南该怎么开车,就怎么开车,还是内部的(乘客协议)起作用。

移动网络

手机通过无线信号连接基站

基站一面朝前连接无线,一面朝后连接核心网

核心网一面朝前连接到基站请求,一是判断你是否合法,二是判断你是不是本地号,还有没有钱,一面通过网关连接互联网。

相关思维导图模板

接诉即办 思维导图

树图思维导图提供 接诉即办 在线思维导图免费制作,点击“编辑”按钮,可对 接诉即办   进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:9b39cc3f7ece7f978c113aebd3ad1ade

人工智能产业链图谱思维导图

树图思维导图提供 人工智能产业链图谱 在线思维导图免费制作,点击“编辑”按钮,可对 人工智能产业链图谱  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4096d5314b46fd48348419e55d4a9252