腾讯技术官终于把这几份计算机网络整理出来了,技术实战齐头并进

前言

计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

为什么要学计算机网络,因为它实在太重要了,无论是BAT大厂还是中小型传统企业几乎是面试必问的内容,什么TCP/IP三次握手,四次挥手,TCP和UDP区别,HTTP协议的一堆面试题,在程序员面试时都是很常见的考题,你们应该也深有体会。

既然在面试过程中开发者经常被问到。当然可能这一块知识点与前面的操作系统、数据库相比较比重可能没那么高。但是优秀的你,一定是想做好充分的准备吧!

 

第一份笔记《趣谈网络协议》

本书的特点

  • 第一,会从身边经常见到的事情出发,用讲故事的方式来讲解各种协议,然后慢慢扩大到不熟悉的领域。
  • 例如,每个人都会使用查看IP地址的命令,我们就从这个命令开始,展开讲解一些相关概念。每个人都在大学宿舍组过简单的网络来打游戏,我们就从宿舍网络涉及的最简单的网络概念开始讲,然后说到办公室网络,再说到日常常用的与上网、购物、视频下载等活动相关的网络协议,最后才说到最陌生的数据中心。说到这里的时候,很多概念已经在前面的“宿舍”和“办公室"的例子中都出现过,因此更容易接受和理解。
  • 第二,讲解网络协议时会更加贴近使用场景,将各个层次的关系串连起来,而非孤立地讲解某个概念。
  • 常见的计算机网络课程往往会按照网络分层,一层层地讲,却很少讲层与层之间的关系。例如,我们在学习路由协议的时候,在真实场景中,这么多的算法和二层是什么关系呢?和四层又是什么关系呢?再比如,我们在真实的网络通信中访问一个网站、进行一次支付, 那么在TCP三次握手的时候,IP 层在干什么? MAC层在干什么?这些内容本书都会逐一讲解。
  • 第三,在讲解完各个层次的协议之后,会讲述如何在当前热门领域(比如云计算、容器和微服务)中使用这些协议。
  • 通过学习本书,读者一方面可以 了解这些网络协议的真实应用场景,另方面也可以通过上手使用云计算、容器、微服务来进一步加深对 于网络协议的理解。

目录

注:下文内容主要是写这几份《计算机网络》笔记的主要内容,由于笔记涉及到的知识点过于全面,无法一一全部展示给大家,只截取部分内容以供大家参考

如何获得这份完整版优质的资料呢?

快速领取通道:关注+转发+点赞【点击这里即可

 

 

 

第1章通信协议概述

  • 为什么要学习网络协议
  • 网络分层的真实含义
  • ifconfig:熟悉又陌生的命令行
  • DHCP与PXE: IP 地址是怎么来的,又是怎么没的

协议三要素

 

网络分层的真实含义

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

第2章从二层到三层

  • 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏
  • 交换机与VLAN:办公室太复杂,我要回学校
  • ICMP与ping:投石问路的侦察兵.
  • 世界这么大,我想出网关:欧洲十国游与玄奘西行
  • 路由协议:“西出网关无故人”“敢问路在何方”

第一层:物理层

 

第二层: MAC层

 

 

 

拓扑结构是怎么形成的

 

第3章最重要的传输层

  • UDP:虽然简单但是可以定制化
  • TCP (上) :虽然复杂,使用起来却轻松
  • TCP (下) :西行必定多妖孽,恒心智慧消磨难.
  • socket:' Talk is cheap, show me the code .

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

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

UDP的三大使用场景

 

第4章最常用的应用层

  • HTTP:看个新闻原来这么麻烦
  • HTTPS:点外卖的过程原来这么复杂
  • 流媒体协议:如何在直播里看到帅哥美女
  • P2P协议:“下载电影, 分布式协议速度快.

HTTP请求报文的准备

 

HTTP 2.0其实是将3个请求变成3个流,将数据分成帧,乱序发送到一个TCP连接中,如图所示。

 

第5章陌生的数据中心

  • DNS:网络世界的地址簿
  • HTTPDNS:网络世界的地址簿也会指错路
  • CDN:你去小卖部取过快递吗
  • 数据中心:我是开发商,自己拿地盖别墅
  • VPN:朝中有人好做官
  • 移动网络:去巴塞罗那,手机也上不了“脸书”

世界各地,如果大家都去同一一个地方访问某个服务器,时延将会非常大。因而,DNS服务器一定要设置成高可用、高并发和分布式的。

于是,就有了树状的层次结构,如图所示。

  • 根DNS服务器:返回顶级域DNS服务器的IP地址。
  • 顶级DNS服务器:返回权威DNS服务器的IP地址。
  • 权威DNS服务器:返回相应主机的IP地址。

 

第6章云计算中的网络

  • 云中网络:自己拿地成本高,购买公寓更灵活
  • 软件定义网络:共享基础设施的小区物业管理办法
  • 云中网络之安全:虽然不是土豪,也需要基本保障
  • 云中网络之QoS:室友疯狂下电影,我该怎么办。
  • 云中网络之隔离GRE、VXLAN: 虽然住一个小区,也要保护隐私

虚拟网卡的原理

那网络是如何“骗"应用的呢?如何将虚拟机的网络和物理机的网络连接起来呢?

如图6-1所示,首先,虚拟机要有一-张网卡。对于qemu-kvm来说,这是通过Linux系统上的一种TUNTAP技术来实现的。

 

OpenFlow协议和Open vSwitch

 

第7章容器技术中的网络

  • 容器网络:来去自由的日子,不买公寓去合租
  • 容器网络之Flannel:每人-亩三分地.
  • 容器网络之Calico:为了高效说出善意的谎言。
  • RPC概述:远在天边,近在眼前

Calico网络模型的设计思路

我们看图中的两台物理机,它们的物理网卡在同一个二层网络里面。由于两台物理机的容器网段不同,完全可以将两台物理机配置成为路由器,并按照容器的网段配置路由表。

 

至此为止,Calico 的所有组件基本凑齐。汇总如图所示。

 

第8章微服务相关协议

  • 基于XML的SOAP:不要说NBA,请说美国职业篮球联赛.
  • 基于JSON的RESTful接口协议:我不关心过程,请给我结果.
  • 二进制类RPC协议:还是叫NBA吧,总说全称多费劲
  • 跨语言类RPC协议:交流之前,双方先交换一下专业术语表.

数据中心内部是如何相互调用的

 

第9章网络协议知识串讲

  • 知识串讲:用“双*"的故事串起网络协议的碎片知识(上)
  • 知识串讲:用“双*"的故事串起网络协议的碎片知识(中)
  • 知识串讲:用“双*"的故事韦起网络协议的碎片知识(下)
  • 搭建一个网络实验环境:授人以鱼不如授人以渔

部署一个高可用高并发的电商平台

首先,要有个电商平台。假设我们已经有了一个特别大的电商平台,这个平台应该部署在哪里呢?如果使用公有云,一般会部署在多个位置,比如华东、华北、华南。我们的电商是要服务全国的,所以部署范围要广。同时,我们把主站点放在华东,如图所示。

 

 

在进行所有这些操作之前,首先要做的事情是建立连接,过程如图所示。

第二份笔记《计算机网络-自顶向下方法》

笔记特点

  • 极富盛名的“自顶向下”教学法。特别强调应用层,尽早激发读者的学习热情,并强调动手开发网络应用程序。
  • 着眼原理。当前计算机网络领域的许多基础性问题已经研究得较为清楚,重点把握这些原则,将使读者获得长“保贡期”的知识,在飞速发展的网络研究开发中保持判断力和启发创造力。
  • 以因特网为研究对象。本书以因特网体系结构的5层模型来组织学习过程,学以致用,为读者的学习热情提供了'原动力。
  • 注重教学法。精心编排教学内容,强化能力训练,提供优质课后资料,教学手段多样化。
  • 及时更新教学内容。本版及时引入重要的最新知识并舍弃了过时的内容,例如用Python替代了Java以便编程新手更易理解,更新了路由器体系结构的章节,反映了近年来局域网技术的发展变化及无线网络中的最近进展,深入讨论了流式视频和CDN技术等。

目录

 

 

第1章计算机网络和因特网

家庭接人: DSL.电缆、FTH.按号和卫星

 

计算机网络和因特网的历史

 

第2章应用层

因特网中的电子邮件

 

TCP套接字编程

 

第3章运输层

运输层和网络层的关系

 

流水线可靠数据传输协议

 

第4章网络层

数据报网络

 

因特网组管理协议

 

第5章链路层:链路、接入网和局域网

多路访问链路和协议

 

第6章无线网络和移动网络

无线和移动性:对高层协议的影响

 

第7章多媒体网络

实时会话式应用的协议

 

第8章计算机网络中的安全

什么是网络安全

 

第9章网络管理

安全性和管理

 

第三份笔记《HTTP权威指南》

HTTP (Hypertext Transfer Protocol, 超文本传输协议*)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于Web浏览器和Web服务器之间的双工通信。

本书中,我们会将HTTP中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节介绍HTTP各方面的特性。纵观全书,我们对HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。而且,为了节省大家寻找参考文献的时间,我们还介绍了很多HTTP应用程序正常工作所必需且重要的非HTTP技术。在条理清晰的附录中,可以找到按照字母排序的首部参考(这些首部构成了最常见的HTTP文本的基础)。我们希望这种概念性的设计有助于读者更好地使用HTTP。

内容

本书包含21章,分为5个逻辑部分(每部分都是一个技术专题),以及8个很有用的附录,这些附录包含了参考资料,以及对相关技术的介绍。

  • 第一部分HTTP: Web的基础
  • 第二部分HTTP 结构
  • 第三部分识别、 认证与安全
  • 第四部分实体、编码和国际化
  • 第五部分内容发布与分发
  • 第六部分附录

目录

 

 

 

第一部分HTTP: Web的基础

本部分主要概述HTTP协议。接下来的4章介绍了Web的基础构件以及HTTP的核心技术。

  • 第1章简要概述HTTP.
  • 第2章详细介绍了URL的格式,以及URL.在因特网上命名的各种类型的资源。井对其向URN的发展作了概要介绍。
  • 第3章详细说明了用来传输Web内容的HTTP报文。
  • 第4章讨论了一些通过HTTP管理TCP连接时常被误解且很少有文档说明的规则和行为。

事务

我们来更仔细地看看客户端是怎样通过HTTP与Web服务器及其资源进行事务处理的。一个HTTP事务由一条(从客户端发往服务器的)请求命令和一个(从服务器返回客户端的)响应结果组成。这种通信是通过名为HTTP报账(HTTP message)的格式化数据块进行的,如图所示。

 

TCP/IP

HTTP是个应用层协议。HTTP无需操心网络通信的具体细节:它把联网的细节都交给了通用。可靠的因特网传输协议TCP/IP.

 

URL快捷方式

Web客户端可以理解并使用几种URL快捷方式。相对URL是在某资源内部指定一个资源的便捷缩略方式。很多浏览器还支持URL的“自动扩展"。也就是用户输入URL的一个关键(可记忆的)部分,然后由浏览器将其余部分填充起来。

 

并行连接

 

第二部分HTTP结构

第二部分的6章主要介绍了HTTP服务器、代理,缓存,网关和机器人应用程序,这些都是Web系统架构的构造模块。

  • 第5章概述了Web服务器结构。
  • 第6章详细介绍了HTTP代理服务器,它们是连接HTTP客户端的中间服务器,是HTTP服务和控制的平台。
  • 第7章深入研究了Web的缓存机制。缓存是通过对常用文档进行本地复制来提高性能。减少流量的设备。
  • 第8章介绍了一些应用程序,通过这些程序,HTTP就可以与使用不同协议(比如SSL加密协议)的软件进行互操作了。
  • 第9章介绍了Web客户端,结束了HTTP架构之旅。
  • 第10章涵盖了HTTP未来发展的一.些主题。 特别介绍了HTTPNG技术。

第三步——处理请求

 

搜索引擎

得到最广泛使用的Web机器人都是因特网搜索引擎。因特网搜索引擎可以帮助用户找到世界范围内涉及任意主题的文档。

 

第三部分识别、认证与安全

第三部分的4章提供了一系列的技术和技巧,可用来跟踪身份,进行安全性检查,控制对内容的访问。

  • 第11章介绍了识别用户的技巧,这样就可以实现用户个性化的内容了。
  • 第12章重点概述了用户身份验证的基本原理。这一章还探讨了HTTP认证与数据库之间的接口机制。
  • 第13章解释了摘要验证,这是一。种复杂的,针对HTTP的增强方式,可以极大地提高安全性。
  • 第14章详细介绍了因特网密码学、数字证书和安全套接字层。

公开密钥加密技术

 

SSL握手

在发送已加密的HTTP报文之前,客户端和服务器要进行一次SSL握手,在这个捏手过程中,它们要完成以下工作:

  • 交换协议版本号:
  • 选择一个两端都了解的密码:
  • 对两端的身份进行认证:
  • 生成临时的会话密钥,以便加密信道。

 

第四部分实体、编码和国际化

第四部分讲述的内容都与HTTP报文的实体主体和被实体主体作为货物承载的内容有关。

  • 第15章讲述了HTTP内容的格式和语法.
  • 第16章探讨了允许世界各地的人们相互交换内容的各种Web标准,这些内容由各种不同语言和不同字符集构成。
  • 第17章讲解了各种用于协商可接受内容的机制。

字符

 

透明协商

 

第五部分内容发布与分发

第五部分讲述了Web内容发布和传播的各种技术。

  • 第18章介绍了在现代的Web托管环境中部署服务器的若干方法,HTTP对虚拟Web托管的支持以及如何在地理上相距遥远的服务器之间复制内容.
  • 第19章讨论了创建Web内容并将共放置到Web服务器上去的各种技术。
  • 第20章探讨了各种将来访的Web流量分发到-组服务器上的技术和工具。
  • 第21章解释了日志的各种格式和各种常见问题。

通用的重定向方法

 

因特网缓存协议

 

HTTP状态码

第四份笔记《图解网络》

图解HTTP常见面试题

在面试过程中,HTTP被提问的概率还是比较高的。

 

五大类HTTP状态码

 

HTTP与HTTPS

 

 

IP基础知识全家桶

前段时间,有读者希望我写一篇关于IP分类地址、子网划分等的文章,他反馈常常混淆,摸不着头脑。

那么,说来就来!而且要盘就盘全一点,顺便挑战下小林的图解功力,所以就来个IP基础知识全家桶。

 

IP协议相关技术

 

 

IP地址与路由控制

IP地址的网络地址这一部分 是用于进行路由控制。

路由控制表中记录着网络地址与F一步应该发送至路由器的地址。在主机和路由器上都会有名自的路由器控制表。

在发送IP包时,首先要确定IP包首部中的目标地址,再从路由控制表中找到与该地址具有相同网络地址的记录,根据该记录将IP包转发给相应的下一个路由器。如果路由控制表中存在多条相同网络地址的记录,就选择相同位数最多的网络地址,也就是最长匹配。

 

ping的工作原理

在日常生活或工作中,我们在判断与对方网络是否畅通,使用的最多的莫过于ping 命令了。

ICMP类型

 

可靠传输——TCP

 

TCP三次握手和四次挥手面试题

不管面试Java、C/C++、 Python 等开发岗位,TCP的知识点可以说是必问的了。

 

TCP头部格式

 

三次握手避免历史连接

 

还不懂TCP重传、滑动窗口、流量控制、拥塞控制吗?

相信大家都知道TCP是一个可靠传输的协议,那它是如何保证可靠的呢?

为了实现可靠性传输,需要考虑很多事情,例如数据的破坏、丢包、重复以及分片顺序混乱等问题。如不能解决这些问题,也就无从谈起可靠传输。

那么,TCP 是通过序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输的。

 

流量控制

 

滑动窗口

我们都知道TCP是每发送一个数据,都要进行一次确认应答。当上一个数据包收到了应答了,再发送下一个。

这个模式就有点像我和你面对面聊天,你一句我句。但这种 方式的缺点是效率比较低的。

如果你说完这句话,我在处理其他事情, 没有及时回复你,那你不是要干等着我做完其他事情后, 我回复你,你才能说下一句话。很显然这不现实。

 

 

“看得见的”TCP

为了让大家更容易「看得见」TCP. 我搭建不少测试环境,井且数据包抓很多次,花费了不少时间,才抓到比较容易分析的数据包。

接下来丟包、乱序、超时重传、快速重传、选择性确认、流量控制等等TCP的特性,都能“一览无余”

没错,我把TCP的“衣服扒光了,就为了給大家看得清楚,嘻嘻。

 

解密TCP三次握手和四次挥手

 

 

TCP三次握手异常情况实战分析

 

 

常规HTTP请求

 

TCP的几个参数

TCP性能的提升不仅考察TCP的理论知识,还考察了对于操作系统提供的内核参数的理解与应用。

TCP协议是由操作系统实现,所以操作系统提供了不少调节TCP的参数。

 

TCP三次握手的性能提升

 

优化三次握手的策略

 

由于笔记涉及到的知识点与内容极多,就不一一展示给大家了,这份《趣谈网络协议》《计算机网络-自顶向下方法》《HTTP权威指南》《图解网络》分别为435、565、716、310页!

如何获得这份优质的资料呢?

快速领取通道:关注+转发+点赞【点击这里即可

当然,单单有文档看是远远不够的,还有视频和相匹配的课件进行学习提升,努力把计算机网络这一块儿给搞明白,相信一定会有不凡的人生!!

TCP/IP/网络IO学习视频

TCP/IP网络协议

网络IO

还有课件分享

IO课件

TCP/IP课件

TCP/IP/IO网络通信视频和课件获取,点赞+关注小编,点击这里即可获取!

好了,今天就分享到这里了,希望大家能够好好学习,把计算机网络这一块儿给提升上来,也希望本文能够得到大家的喜欢!!

总结

每个程序员心中都有一个大厂梦,无论是阿里还是腾讯,对于程序员的技术要求都是比较高的,抛开学历不谈,你的技术水平是否达到了BAT的标准和要求?如果你与其他同行存在着较大的技术差距,而且还没有改变现状的想法,那么被市场所淘汰,只是时间问题。所以,不管你是否想要进入大厂,或是想要拥有一份满意的薪资,都需要认真对待自己。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值