前言
最近看完了《网络是怎样连接的》这本书,我认为读书最有效率的方法就是读完之后,自己能将书中的内容串讲一遍,所以在此根据书中作者的划分的文章结构,自己将从浏览器中输入网址到显示出网页内容其间经历了哪些过程详细梳理了一遍。
当然网络是一个巨大而复杂的系统,你不可能仅靠一篇文章就可以领悟网络的工作机制,如果要想真正系统地了解它,那么还是需要去啃大部头——《计算机网络》。。。
网络模型
在网络包旅程开始之前,我们先来简单了解一下网络模型。计算机网络是指由通信线路互相连接的许多自主工作的计算机构成的集合体,各个部件之间以何种规则进行通信,就是网络模型需要解决的问题。网络模型我们一般是指OSI七层参考模型和TCP/IP四层参考模型。其中OSI七层参考模型也称为学术派标准,而TCP/IP四层参考模型称为工业标准。TCP/IP参考模型在介绍时我们通常分为5层来叙述。
OSI参考模型
OSI模型(Open System Interconnection Reference Model,缩写为OSI),全名“开放式系统互联通信参考模型”,是一个试图使各种计算机在全世界范围内互联为网络的标准框架。1983年,国际标准组织(ISO)发布了著名的ISO/IEC 7498标准,把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
TCP/IP参考模型
TCP/IP参考模型是计算机网络的祖父ARPANET和其后继的因特网使用的参考模型。TCP/IP协议是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互联层(主机到主机)、传输层、和应用层。
共同点
1、OSI参考模型和TCP/IP参考模型都采用了层次结构的概念。
2、都能够提供面向连接和无连接两种通信服务机制。
不同点
1、OSI模型是在协议开发前设计的,具有通用性。TCP/IP是先有协议集然后建立模型,不适用于非TCP/IP网络。所以OSI参考模型的抽象能力高,适合与描述各种网络。
2、TCP/IP参考模型的网络接口层实际上并没有真正的定义,只是一些概念性的描述。而OSI参考模型不仅分了两层,而且每一层的功能都很详尽,甚至在数据链路层又分出一个介质访问子层,专门解决局域网的共享介质问题。
网络包的旅程
一、解析网址发送请求消息
了解了网络模型我们开始旅程吧,首先,我们在浏览器中输入一个网址例如百度,网址准确来说应该叫URL(统一资源定位符),根据访问目标的不同,URL的写法也会不同。
浏览器的第一步工作就是要解析这个网址,然后生成发送给Web服务器的HTTP请求消息访问Web服务器时要求使用