网络协议是每个程序员入门的必修课,但是完全掌握网络协议知识并进行实际应用却并非易事。在本书中,作者将结合自己从业多年的“泣血”经验,以通俗易懂、更加贴近日常生活的方式,从底层到上层对最基础、最常用、最重要的网络协议进行解析,并将深入分析网络协议在云计算、容器和微服务等领域的应用和实践。本书将帮助入门级程序员深入、直观地理解网络协议基础概念和原理,构建一个完整、精准的网络协议知识框架;也会帮助有一定工作经验的程序员填补知识漏洞、打通知识体系。
网络层次划分
将所有的协议综合起来,各个层次的所有协议被称为协议栈。因特网的协议栈由5个层次组成:物理层、链路层、网络层、传输层和应用层。这个划分方法称为TCP/IP五层协议。除此之外,还有OSI七层模型和TCP/IP四层协议。它们之间的对应关系如下:
下面来看下史上最全的网络协议图:
当然比较常用的是TCP/IP五层协议。
这本书的特点
第一,会从身边经常见到的事情出发,用讲故事的方式来讲解各种协议,然后慢慢扩大到不熟悉的领域。例如,每个人都会使用查看I地址的命令,我们就从这个命令开始,展开讲解一些相关概念。每个人都在大学宿舍组过简单的网络来打游戏,我们就从宿舍网络涉及的最简单的网络概念开始讲,然后说到办公室网络,再说到日常常用的与上网、购物、视频下载等活动相关的网络协议,最后才说到最陌生的数据中心。说到这里的时候,很多概念已经在前面的“宿舍”和“办公室”的例子中都出现过,因此更容易接受和理解。
第二,讲解网络协议时会更加贴近使用场景,将各个层次的关系串连起来,而非孤立地讲解某个概念。
常见的计算机网络课程往往会按照网络分层,一层一层地讲,却很少讲层与层之间的关系。例如,我们在学习路由协议的时候,在真实场景中,这么多的算法和二层是什么关系呢?和四层又是什么关系呢?再比如,我们在真实的网络通信中访问一个网站、进行一次支付,那么在TCP三次握手的时候,IP层在干什么? MAC层在干什么?这些内容本书都会逐一讲解。
第三,在讲解完各个层次的协议之后,会讲述如何在当前热门领域(比如云计算、容器和微服务)中使用这些协议。
通过学习本书,读者一方面可以了解这些网络协议的真实应用场景,另一方面也可以通过上手使用云计算、容器、微服务来进一步加深对于网络协议的理解。
内容目录
第1章通信协议概述
第2章﹐从二层到三层
第3章最重要的传输层.
第4章﹐最常用的应用层.
第5章陌生的数据中心
第6章云计算中的网络
第7章容器技术中的网络.
第8章﹐微服务相关协议.
第9章网络协议知识串讲
需要获取这份《网络协议》的PDF版书籍可以转发+关注后私信(学习)即可免费获取!
部分内容展示
作为程序员控制一台计算机工作的协议,计算机语言具备了协议的以下三要素。
语法,这一段内容要符合一定的规则和格式。例如,括号要成对,结束要使用分号等。
语义,这一段内容要代表某种意义。例如,数字减去数字是有意义的,数字减去文本一般来说就没有意义。
顺序,先干什么,后干什么。例如,可以先加上某个数值,然后再减去某个数值。学会计算机语言,你就能教会一台计算机如何帮你完成工作。恭喜你,入门了!
你可能已经发现问题了。Hub采取的是广播的模式,如果每一台电脑发出的网络包,宿舍里的每台电脑都能收到,那就麻烦了。这时就需要解决以下几个问题:
这个网络包是发给谁的?谁应该接收?
大家都在发,会不会产生混乱?有没有谁先发、谁后发的规则?
如果发送的时候出现了错误,怎么办?
UDP:虽然简单但是可以定制化
讲完IP层以后,接下来我们开始讲传输层。在1.1节中已经讲过,传输层里比较重要的两个协议,一个是TCP,一个是UDP。对不从事底层开发或者应用开发的人来讲,最常用的就是这两个协议。面试时,这两个协议经常会被放在一起问,因而在本书中也会将两者结合起来讲。
HTTP请求报文的准备
浏览器会将wwwW.容**.com这个域名发送给DNS服务器,让它将域名解析为IP地址。域名解析的过程非常复杂,后面会有专门的章节详细讲解,这里我们先跳过。将域名解析为I地址之后,接下来是发送HTTP请求吗?
需要获取这份《网络协议》的PDF版书籍可以转发+关注后私信(学习)即可免费获取!
网友评论