首页 > 其他分享 >华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K

时间:2023-07-24 23:03:20浏览次数:38  
标签:数据中心 Github 20 标星 网络协议 网络 UDP 地址 路由

网络协议是每个程序员入门的必修课,但是完全掌握网络协议知识并进行实际应用却并非易事。在本书中,作者将结合自己从业多年的“泣血”经验,以通俗易懂、更加贴近日常生活的方式,从底层到上层对最基础、最常用、最重要的网络协议进行解析,并将深入分析网络协议在云计算、容器和微服务等领域的应用和实践。本书将帮助入门级程序员深入、直观地理解网络协议基础概念和原理,构建一个完整、精准的网络协议知识框架;也会帮助有一定工作经验的程序员填补知识漏洞、打通知识体系。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP

网络协议知识点太多,学完记不住 大部分读者应该都学过计算机网络课程,学的时候感觉得并不难,尤其这 课没有公式,更像是文科的东西 学了一大堆东西, 背了一大堆东西,但是最终应付完考试之后,都“还给了老师”。

所以本手册使用了“趣谈”这种方式,它可以解决从“入门到放弃”的问题,把晦涩的知识把一些有趣的故事通过比喻的方式结合起来,这样更容易帮助读者系统 、深入地了解网络技术的知识点和大致的知识 操作流程

因为笔记的内容实在太多,下面就以截图展示部分内容了

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_02

第一章通信协议概述

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_03

1.1为什么要学习网络协议

相信大家都听过通天塔的故事,上帝为了阻止人类联合起来,让人类说不同的语言,人类没法沟通,达不成“协议”,通天塔的计划就失败了。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_04

1.2网络分层的真实含义

由于长时间从事计算机网络相关的工作,我发现计算机网络有一个显著的特点,就是这是一个不仅需要背诵,而且特别需要将原理烂熟于胸的学科。很多问题看起来懂了,但是就怕细问,一问就发现你懂得没有那么透彻。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_05

1.3 ifconfig :熟悉又陌生的命令行

当面试者听到这个问题的时候,常常会觉得走错了房间。我面试的是技术岗位啊,怎么问这么简单的问题?

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_06

1.4 DHCP 与 PXE:IP 地址是怎么来的,又是怎么没的

上一节,我们讲了IP地址的一些基本概念。如果需要和其他机器通信,就需要一个通信地址,我们需要给网卡配置一个IP地址。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_07

第2章从二层到三层.

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_08

2.1从物理层到MAC层:如何在宿舍里自己组网玩联机游戏,本节有3个重点需要记住:

  • MAC层是用来解决多路访问的“堵车”问题的。
  • ARP是通过“吼”的方式来寻找目标MAC地址的,“吼”完之后会记住一段时间,这个叫作缓存。
  • 交换机是有MAC地址学习能力的,学会了它就能知道谁在哪里,不用广播了。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_09

2.2交换机与VLAN:办公室太复杂,我要回学校,本节总结如下:

  • ·当交换机的数目越来越多时,会遭遇环路问题,让广播包迷路。这时就需要使用STP通过“比武论剑”的方式,将有环路的图变成没有环路的树,从而解决环路问题。
  • ·交换机数目过多会导致隔离问题。可以通过VLAN形成虚拟局域网,从而解决广播问题和安全问题。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_网络协议_10

2.3ICMP与ping:投石问路的侦察兵,本节内容总结如下:

  • ·ICMP 相当于网络世界的侦察兵。本节讲解了两种类型的ICMP报文,一种是主动探查的查询报文,一种异常报告的差错报文。
  • ping使用查询报文,Traceroute使用差错报文。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_11

2.4世界这么大,我想出关:欧洲十国游与玄奘西行,本节总结如下:

  • ·如果离开局域网,就需要经过网关。
  • ·路由器是一个三层设备,里面有如何寻找下一跳的规则。
  • ·经过路由器之后MAC头要变,如果I地址不变,相当于不换护照的“欧洲十国游”,如果IP地址改变,相当于换护照的“玄奘西行”。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_12

2.5路由协议:“西出网关无故人""敢问路在何方”,本节总结如下:

  • 路由分静态路由和动态路由,静态路由可以配置复杂的策略路由,控制转发策略。
  • 动态路由有两种主流协议,距离矢量路由协议和链路状态路由协议。分别对应BGP和OSPF 这两个实现。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_网络协议_13

因为笔记的内容实在太多,下面就以截图展示部分内容了。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_14

第3章最重要的传输层

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_15

3.1UDP:虽然简单但是可以定制化

讲完层以后,接下来我们开始讲传输层。在1.1节中已经讲过,传输层里比较重要的两个协议,一个是TCP,一个是UDP。对不少从事底层开发或者应用开发的人来讲,最常用的就是这两个协议。面试时,这两个协议经常会被放在一起问,因而在本书中也会将两者结合起来讲。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_网络协议_16

3.2TCP(上):虽然复杂,使用起来却轻松

3.1节讲了UDP,UDP包中基本上包括了传输层必需的端口字段,就像我们小时候一样简单,相信“网”之初,性本善,不丢包,不乱序。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_17

3.3TCP(下):西行必定多妖孽,恒心智慧消磨难

我们前面说到玄奘西行,要出网。既然出了网关,那就要在公网上传输数据,公网往往是不可靠的,因此需要很多机制去保证传输的可靠性,这时就需要各种重要的策略来坚定西行的恒心,还需要大量的算法来作为西行的智慧储备。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_18

3.4 socket:Talk is cheap, show me the code

前面讲完了TCP和UDP,还没有上手实践过,这一节就讲一讲基于TCP和UDP的socket(套接字)编程。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_19

第4章最常用的应用层

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_20

4.1 HTTP:看个新闻原来这么麻烦,本节总结如下:

  • HTTP很常用,也很复杂,重点记住GET、POST、PUT、DELETE这几个方法,以及重要的首部字段。
  • HTTP2.0通过头压缩、分帧、二进制编码、多路复用等技术提升性能。
  • QUIC协议通过基于UDP自定义的连接、重传、多路复用、流量控制等机制进一步提升性能。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_21

4.2 HTTPS:点外卖的过程原来这么复杂,本节总结如下:

  • 加密分对称加密和非对称加密。对称加密效率高,但是解决不了密钥传输问题;非对称加密可以解决这个问题,但是效率低。
  • 非对称加密需要通过证书和权威机构来验证公钥的合法性。
  • HTTPS是综合了对称加密和非对称加密的HTTP。既保证传输安全,也保证传输效率。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_22

4.3流媒体协议:如何在直播里看到帅哥美女,本节总结如下:

  • 编码两大流派达成了一致,都是通过关于时间、空间的各种算法来压缩数据的。
  • 压缩好的数据,为了方便传输会组成一系列NALU,按照帧和片依次排列。
  • 排列好的NALU在网络传输时,要按照RTMP包的格式进行包装,RTMP包会拆分成块进行传输。
  • 推送到流媒体服务器的视频流经过转码和分发,可以被客户端通过RTMP拉取,然后组合为NALU,解码成视频格式进行播放。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_23

4.4 P2P协议:下载电影,分布式协议速度快,本节总结如下:

  • 下载一个文件可以使用HTTP或FTP,这两种协议都使用集中下载的方式,而P2P则换了一种思路,采取去中心化下载的方式。
  • P2P也有两种下载方式,一种是依赖于tracker服务器,即元数据集中,文件数据分散;另一种基于分布式哈希算法,将元数据和文件数据全部分散。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_24

第5章陌生的数据中心

5.1 DNS:网络世界的地址簿

前面我们讲了平时常见的看新闻、支付、直播、下载等场景,现在网站的数量非常多,常用的网站就有二三十个,如果全部通过I地址进行访问,恐怕很难记住。因此,我们需要一个地址簿,根据网站名称就可以查看具体的地址。

例如,“西湖边的‘外婆家’”就是名称,通过地址簿,我们可以查看它到底位于哪条路,门牌号是多少号。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_25

5.2HTTPDNS:网络世界的地址簿也会指错路

上一节我们知道了DNS的两项功能,第一项功能是根据网站名称查到具体的IP地址,另一项功能是针对多个地址做负载均衡,而且可以在多个地址中选择一个距离近的地址访问。

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_网络协议_26

5.3CDN:你去小卖部取过快递吗

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_网络协议_27

5.4数据中心:我是开发商,自己拿地盖别墅

无论是看新闻、下订单、看视频,还是下载文件,最终的目的地都是数据中心。我们前面学了这么多与网络协议相关的知识,你是不是很好奇数据中心究竟长什么样呢?

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_网络协议_28

5.5VPN:朝中有人好做官

前面我们讲到了数据中心,数据中心里面很复杂。有的公司有多个数据中心,需要将多个数据中心连接起来,或将办公室和数据中心连接起来,此时该怎么办呢?

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_网络协议_29

5.6移动网络:去巴塞罗那,手机也上不了“脸书”

前面讲的都是电脑上网的场景,那使用手机上网有什么不同呢?

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_网络协议_30

第6章云计算中的网络

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_31

6.1 云中网络:自己拿地成本高,购买公寓更灵活

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_32

6.2 软件定义网络 共享基础设施的小区物业管理办法

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_33

6.3 云中网络之安全:虽然不是土豪,也需要基本保障

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_34

6.4 云中网络之 QoS :室友疯狂下电影,我该怎么办

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_数据中心_35

6.5 云中网络之隔雷 GRE VXLAN :虽然住一个小区,也要保护隐私

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_36

第7章容器技术中的网络

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_网络协议_37

第8章有微服务相关协议

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_38

第9章网络协议知识串讲

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_网络协议_39

写在最后

网络协议既是基础,又绕不过去,可能你会觉得写Java程序时可以依赖别人的库,所以就不用关心这么多底层的技术了。但是服务数量一多 ,吞吐量一大,我们关心的不再仅仅是某个Java应用,而是要提升整个集群的性能,这时网络问题就会出现。不得不说我们做技术的如果基础打好了,在最新的技术出来以后,只要经过短时间的学习,就很容易上手,就能在新技术的滚滚浪潮中保持快速学习的能力。

因为这本书内容实在是太多了!没有办法给大家全部展示出来了,

华为20级大牛最新整理500页网络协议手册,Github竟一夜标星186K_UDP_40

标签:数据中心,Github,20,标星,网络协议,网络,UDP,地址,路由
From: https://blog.51cto.com/u_16173760/6840422

相关文章

  • Github一夜爆火的阿里术小册究竟有什么魅力?才能引大家趋之若鹜
    前言谈谈我的真实感受吧~程序员真的是需要将终生学习贯彻到底的职业,一旦停止学习,离被淘汰,也就不远了。金九银十跳槽季,这是一个千年不变的话题,每到这个时候,很多人都会临阵磨枪,相信不快也光。于是,大家都会搜集一些面试题。但其实,对于一些不跳槽的同学来说,真的也很有必要去研读一些大厂......
  • UESTC 2023 Summer Training #13 Div.2
    Preface开始裸泳咯这个A题给我写的头皮发麻,后面发现我就是个智障儿童比赛的时候E题想了半天感觉天皇老子来了也是\(\frac{1}{n^2}\),赛后发现我是小丑感觉中间做J的时候因为看错题目浪费了很长时间,不过再给一个小时思博题该不会还是不会A.PainttheMiddle比赛的时候一眼贪......
  • 复现:巅峰极客2023
    weclomefoundme一个dmp文件,用010打开查找hint,提示Netflixpictureformat,搜索可知Netflix的图片类型为AVIFavif文件头为0000001C6674797061766966,直接在010找出来分离(也可以用foremost分离,avif文件被归入mp4中)一起学生物hint:考虑关接氨基酸所在的位置两张pn......
  • 2023-7-23,24 乱七八糟
    昨天开了分享会,跟学长们打了场awd,上去不知道干啥,库库挨揍,然后放了一晚上假今天复现,瞅着大佬的wp往上抄作业,然后打了点自己搭的靶场,也没啥好说的有个感觉很好使的绕过php的disablefunction的方法,明天想起来的话就写一下可惜绕过了disable也没能拿到最高权,感觉啥也干不了......
  • 2023年7月24日 天气:晴
        今天早上起来背了10个单词,然后出去打了两个小时的羽毛球,然后看了一小时的电视剧,再就是练了一个小时的字,然后学习了一个小时的java,最后看了一会儿构建之法,编程了一个小时的C语言。  明天打算早上起来看一小时的英语课本,然后出去玩一个小时,再看一小时的java课本,然后......
  • 2023.7.24 周一:重写
    1/*2重写:31.方法名必须相同42.参数列表必须相同53.修饰符:范围可以扩大但不能缩小public>protected>default>private64.抛出的异常:范围,可以被缩小,但不能被扩大:classNotFoundException7*/8//重写:子类的方法和父类要一致,方法体不同9//作用:10//1.父类......
  • 「赛后总结」20230724 CSP 模拟赛
    「赛后总结」20230724CSP模拟赛点击查看目录目录「赛后总结」20230724CSP模拟赛总结。题解T1最长上升子序列ARC125C思路代码T2独特序列ARC125D思路代码T3最大GCDARC126C思路代码T4连续子段ARC126D思路代码想听歌,想看巨人,但是没有条件。总结。rk1三个首杀,前......
  • HAOI2011 Problem b
    Problemblink做法:莫比乌斯反演。思路:对于给出的\(n\)个询问,每次求有多少个数对\((x,y)\),满足\(a\lex\leb\),\(c\ley\led\),且\(\gcd(x,y)=k\),\(\gcd(x,y)\)函数为\(x\)和\(y\)的最大公约数。我们设\[\operatorname{f}(n)=\sum\limits_{i=1}^x\sum\limit......
  • ImageNet-1K压缩20倍,Top-1精度首超60%:大规模数据集蒸馏转折点
    前言 该工作是目前唯一实现了大规模高分辨率数据集蒸馏的框架。本文转载自机器之心仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理【CV技术指南】......
  • [SWPUCTF 2021 新生赛]jicao
    [SWPUCTF2021新生赛]jicao题目来源:nssctf题目类似:web涉及考点:代码审计1.直接看题,给了一串php代码<?phphighlight_file('index.php');include("flag.php");$id=$_POST['id'];$json=json_decode($_GET['json'],true);if($id=="wllmNB"......