写一本通俗地讲解网络协议的书,一直是我的一个梦想。——作者说
网络协议就是网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议。一台计算机只有在遵守网络协议的前提下,才能在网络上与其他计算机进行正常的通信。网络协议通常被分为几个层次,每层完成自己单独的功能。通信双方只有在共同的层次间才能相互联系。
网络协议知识点太多,学完记不住。大部分读者应该都学过计算机网络课程,学的时候感觉并不难,尤其这门课没有公式,更像是文科的东西。学了一大堆东西,也背了一大堆东西,但是最终应付完考试之后,都“还给了老师”。
网络层次划分
将所有的协议综合起来,各个层次的所有协议被称为协议栈。因特网的协议栈由5个层次组成:物理层、链路层、网络层、传输层和应用层。这个划分方法称为TCP/IP五层协议。除此之外,还有OSI七层模型和TCP/IP四层协议。它们之间的对应关系如下:
下面来看下史上最全的网络协议图:
高清大图也可以获取
所以本书使用了“趣谈” 这种方式,它可以解决从“人门到放弃”的问题,把晦涩的知识点和一些有趣的故事通过比喻的方式结合起来,这样更容易帮助读者系统、深入地了解网络技术的知识点和大致的工作流程。
内容目录
第1章通信协议概述
第2章﹐从二层到三层
第3章最重要的传输层.
第4章﹐最常用的应用层.
第5章陌生的数据中心
第6章云计算中的网络
第7章容器技术中的网络.
第8章﹐微服务相关协议.
第9章网络协议知识串讲
作为程序员控制一台计算机工作的协议,计算机语言具备了协议的以下三要素。
-
语法,这一段内容要符合一定的规则和格式。例如,括号要成对,结束要使用分号等。
-
语义,这一段内容要代表某种意义。例如,数字减去数字是有意义的,数字减去文本一般来说就没有意义。
-
顺序,先干什么,后干什么。例如,可以先加上某个数值,然后再减去某个数值。学会计算机语言,你就能教会一台计算机如何帮你完成工作。恭喜你,入门了!
你可能已经发现问题了。Hub采取的是广播的模式,如果每一台电脑发出的网络包,宿舍里的每台电脑都能收到,那就麻烦了。这时就需要解决以下几个问题:
-
这个网络包是发给谁的?谁应该接收?
-
大家都在发,会不会产生混乱?有没有谁先发、谁后发的规则?
-
如果发送的时候出现了错误,怎么办?
UDP:虽然简单但是可以定制化
讲完IP层以后,接下来我们开始讲传输层。在1.1节中已经讲过,传输层里比较重要的两个协议,一个是TCP,一个是UDP。对不从事底层开发或者应用开发的人来讲,最常用的就是这两个协议。面试时,这两个协议经常会被放在一起问,因而在本书中也会将两者结合起来讲。
HTTP请求报文的准备
浏览器会将wwwW.容**.com这个域名发送给DNS服务器,让它将域名解析为IP地址。域名解析的过程非常复杂,后面会有专门的章节详细讲解,这里我们先跳过。将域名解析为I地址之后,接下来是发送HTTP请求吗?
有需要完整版的小伙伴可添加小助理 ikt4435即可免费获取