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

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

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

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

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

因为笔记的内容实在太多,下面就以截图展示部分内容了。有想获取完整版笔记的小伙伴可以点击此处来获取就可以了!

第一章通信协议概述

1.1为什么要学习网络协议

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

1.2网络分层的真实含义

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

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

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

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

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

第2章从二层到三层.

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

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

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

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

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

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

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

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

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

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

因为笔记的内容实在太多,下面就以截图展示部分内容了。有想获取完整版笔记的小伙伴可以点击此处来获取就可以了!

第3章最重要的传输层

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

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

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

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

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

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

3.4 socket:Talk is cheap, show me the code

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

第4章最常用的应用层

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

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

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

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

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

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

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

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

第5章陌生的数据中心

5.1 DNS:网络世界的地址簿

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

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

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

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

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

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

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

5.5VPN:朝中有人好做官

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

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

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

第6章云计算中的网络

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

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

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

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

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

第7章容器技术中的网络

第8章有微服务相关协议

第9章网络协议知识串讲

写在最后

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

因为这本书内容实在是太多了!没有办法给大家全部展示出来了,需要获取的小伙伴可以点击此处来获取就可以了!

相关文章
|
2月前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
79 2
|
3月前
|
运维 网络协议 安全
联合赋能企业网络创新,中企通信和华为加速IPv6+进入“繁花期”
2024年7月,雄安新区建成国内首个面向车联网场景的IPv6+算力网络示范基地,推动自动驾驶技术普及。IPv6自1998年发布以来,逐步成熟,以其海量地址容量、强大业务承载能力和安全保障,成为智能时代核心技术。中企通信与华为合作,推出IPv6+和SD-WAN融合创新解决方案,助力企业实现稳定连接、高效运维和数据安全,推动各行各业数字化转型。这一合作不仅提升了网络效率,还大幅降低了运维成本,为企业全球化布局提供坚实基础。
|
5月前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。
|
5月前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。 今天给小伙伴们分享的这份Python数据分析入门手册本着实用性的目的,着眼于整个数据分析的流程,介绍了从数据采集到可视化的大致流程。
|
5月前
|
XML SQL 安全
【网络安全】Web Hacking网络黑客手册,GitHub星标3.7K!
在黑客攻击的演变过程中,防火墙只是一个减速带。黑客攻击不断发展,变得越来越复杂,适应能力和创造力都在不断增强,造成的破坏也越来越大。通过网络端口进行的 Web 攻击影响巨大。 今天给小伙伴们分享的这份手册主要讲解了Web黑客攻击方向。描述了 Web 语言和协议、Web 和数据库服务器以及支付系统。介绍了完整的方法论,包括技术和攻击、对策、工具,以及案例研究和 Web 攻击场景,展示了不同攻击的工作原理及其工作原理。
|
7月前
|
测试技术 虚拟化 云计算
GitHub高赞!速通Python编程基础手册,被玩出花了!
随着云时代的来临,Python 语言越来越被程序开发人员喜欢和使用,因为其不仅简单易学,而且还有丰富的第三方程序库和相应完善的管理工具。 从命令行脚本程序到 GUI程序,从图形技术到科学计算,从软件开发到自动化测试,从云计算到虚拟化,所有这些领域都有 Python 的身影。 今天给小伙伴们分享的这份手册采用以任务为导向的编写模式,全面地介绍了 Python 编程基础及其相关知识的应用,讲解了如何利用 Python 的知识解决部分实际问题。
GitHub高赞!速通Python编程基础手册,被玩出花了!
|
5月前
|
网络协议 网络虚拟化 网络架构
【原创】华为网络设备单臂路由配置实验
【原创】华为网络设备单臂路由配置实验
521 0
爆赞!GitHub首本Python开发实战背记手册,标星果然百万名不虚传
Python (发音:[ 'paiθ(ə) n; (US) 'paiθɔn ] n. 蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。 Python 语言的特点:
|
6月前
|
人工智能 数据挖掘 大数据
爆赞!GitHub首本标星120K的Python程序设计人工智能案例手册
为什么要学习Python? Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Pytho
|
7月前
|
Python
GitHub爆赞!终于有大佬把《Python学习手册》学习笔记分享出来了
这份笔记的目标是为了给出一份比较精炼,但是又要浅显易懂的Python教程。《Python学习手册》中文第四版虽然比较简单,但是措辞比较罗嗦,而且一个语法点往往散落在多个章节,不方便读者总结。 我在做笔记时,将一个知识点的内容都统筹在一个章节里面,因此提炼性大大提高。而且还有《Python学习手册》中文第四版的翻译在某些章节(可能难度较大?)措辞可能前后矛盾。当知识点提炼之后就能够很快的找到一些难以理解的概念的上下文,方便吃透这些难点。

热门文章

最新文章