文章目录
- 各章节链接
- [第1章 概述](#第1章 概述)
-
- [1.1 信息时代的计算网络](#1.1 信息时代的计算网络)
- [1.2 因特网简介](#1.2 因特网简介)
-
- [1.2.1 因特网发展的三个阶段](#1.2.1 因特网发展的三个阶段)
- [1.2.2因特网服务提供者(Internet Service Provider,ISP)](#1.2.2因特网服务提供者(Internet Service Provider,ISP))
- [1.2.3 因特网的标准化工作](#1.2.3 因特网的标准化工作)
- [1.2.4 因特网的管理机构](#1.2.4 因特网的管理机构)
- [1.2.5 因特网的组成](#1.2.5 因特网的组成)
- [1.3 电路交换、分组交换和报文交换](#1.3 电路交换、分组交换和报文交换)
-
- [1.3.1 电路交换](#1.3.1 电路交换)
- [1.3.2 分组交换](#1.3.2 分组交换)
- [1.3.3 报文交换](#1.3.3 报文交换)
- [1.3.4 三种交换方式对比](#1.3.4 三种交换方式对比)
- [1.4 计算机网络的定义和分类](#1.4 计算机网络的定义和分类)
-
- [1.4.1 计算机网络的定义](#1.4.1 计算机网络的定义)
- [1.4.2 计算机网络的分类](#1.4.2 计算机网络的分类)
- [1.5 计算机网络的性能指标](#1.5 计算机网络的性能指标)
-
- [1.5.1 常用的八个计算机网络性能指标](#1.5.1 常用的八个计算机网络性能指标)
-
- [1.5.1.1 速率](#1.5.1.1 速率)
- [1.5.1.2 带宽](#1.5.1.2 带宽)
- [1.5.1.3 吞吐量](#1.5.1.3 吞吐量)
- [1.5.1.4 时延](#1.5.1.4 时延)
- [1.5.1.5 时延带宽积](#1.5.1.5 时延带宽积)
- [1.5.1.6 往返时间](#1.5.1.6 往返时间)
- [1.5.1.7 利用率](#1.5.1.7 利用率)
- [1.5.1.8 丢包率](#1.5.1.8 丢包率)
- [1.6 计算机网络体系结构](#1.6 计算机网络体系结构)
-
- [1.6.1 常见的三种计算机网络体系结构](#1.6.1 常见的三种计算机网络体系结构)
- [1.6.2 计算机网络体系结构分层的必要性](#1.6.2 计算机网络体系结构分层的必要性)
- [1.6.3 计算机网络体系结构分层思想举例](#1.6.3 计算机网络体系结构分层思想举例)
- [1.6.4 计算机网络体系结构的专用术语](#1.6.4 计算机网络体系结构的专用术语)
各章节链接
第1章 概述
1.1 信息时代的计算网络
-
生活中丰富多彩的网络应用大致分为:
-
信息浏览和发布:
-
万维网
-
谷歌、百度等搜索引擎
-
博客微博
-
-
通信和交流
-
电子邮件、网络电话
-
QQ、Skype
-
微信
-
-
休闲和娱乐
-
网络电视
-
BiliBili、YouTube等视频网站
-
互动网络游戏
-
-
资源共享
-
远程文件共享
-
P2P文件共享
-
云计算
-
-
远程协作
-
远程教育
-
远程医疗
-
-
电子商务
-
网上购物
-
网上购票
-
网上转账
-
-
网上办公
-
政府部门的电子政务
-
校园网上办公系统
-
-
-
计算机网络带来的负面问题:
- 网络谣言
- 黑客
- 非法网站
- 沉迷网络的青少年
-
网络、互联网与因特网的区别与关系
- 若干节点和链路互联形成网络
- 若干网络通过路由器互联形成互联网
- 因特网是当今世界上最大的互联网
注意
我们有时并没有严格区分互联网和因特网这两个名词,许多人口的互联网实际上是指因特网。
1.2 因特网简介
1.2.1 因特网发展的三个阶段
- ARPANET向互联网发展
- 1969年,第一个分组交换网ARPANET
- 70年代中期,研究多种网络的互连
- 1983年,TCP/IP协议成为ARPANET的标准协议(因特网诞生时间)
- 三级结构因特网
- 1985年,NSFNET(主干网、地区网和校园网)
- 1990年,ARPANET任务完成,正式关闭
- 1991年,因特网初步商业化,开始收费
- 多层次ISP结构的因特网
- 1993年,NSFNET被替代,由各种ISP运营
- 1994年,WWW技术推动因特网迅速发展
- 1995年,NSFNET停止运作,因特网彻底商业化
1.2.2因特网服务提供者(Internet Service Provider,ISP)
普通人通过ISP接入因特网,ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等联网设备,任何单位或个人都可以通过ISP接入到因特网,只需要向ISP缴纳费用即可。
因特网已发展成基于ISP的多层次结构的互连网络
1.2.3 因特网的标准化工作
因特网的标准化工作是面向公众的,其任何一个建议标准在成为因特网标准之前都以RFC技术文档的形式再因特网上发表
RFC(Request For Comments)的意思是"请求评论"。任何人都可以从因特网上免费下载RFC文档(http://www.ietf.org/rfc.hml),并随时对某个RFC文档发表意见和建议
制定因特网标准需要经过因特网草案、建议标准、因特网标准三个阶段
1.2.4 因特网的管理机构
1.2.5 因特网的组成
因特网是当今世界全球覆盖范围最广的互联网,其网络拓扑非常复杂,但我们可以从功能上简单将其分为两部分:
- 核心部分 :由大量异构型网络和连接这些网络的路由器构成,因特网的核心部分为其边缘部分提供连通性和数据交换等服务。在网络核心部分起特殊作用的是路由器,他是一种计算机,但我们不称它为主机。路由器是实现分组交换的关键构件,其任务是转发收到的分组
- 边缘部分:由连接在因特网上的台式电脑、服务器,笔记本电脑,平板电脑,智能手机,智能手表,网络摄像头,以及网络打印机等用户设备构成。这些用户设备常成为主机,由用户直接使用,为用户提供各式各样的网络应用
1.3 电路交换、分组交换和报文交换
1.3.1 电路交换
在早期专为电话通信服务的电信网络中,需要很多使用相互连接起来的电话交换机来完成全网的交换任务。电话机交换接通电话线的方式就是电路交换,使用电路交换进行通信需要经历建立连接、通话、释放连接三个步骤
- 建立连接 :也就是分配通信资源。例如,在使用电路交换打电话之前,主叫方必须首先进行拨号以请求建立连接,当被叫方听到电话交换机送来的振铃音并摘机后。从主叫方到被叫方就建立了一条专用的物理通路,简称为连接。这条连接为通话双方提供了通信资源。主叫方和被叫方可以基于已建立的连接进行通话了。
- 通话 :在整个通话期间,通话双方始终占用连接,通信资源不会被其他用户占用。
- 释放连接 :通话完毕挂机后,从主叫方到被叫方的这条专用物理通路被交换机释放,将双方所占用的通信资源归还给电信网
1.3.2 分组交换
计算机之间的数据传送是突发式的 ,当使用****电路交换 来传送计算机数据时,其线路的传输效率一般会很低 ,线路上真正用来传送数据的时间往往不到10%甚至1%。因此计算机网络通常采用分组交换
这是一个简化的采用分组交换技术的小型互联网,为了简单起见,并未画出其中的各个物理网络,而是把他们等效为路由器之间的一段链路。该小型互联网可以被看作一个小型互联网,而路由器R1~R5就是分组交换网中的交换节点。主机H1~H5通过分组交换网进行通信。
假设主机H1的用户要给主机H3的用户发送消息。通常把表示整个消息的数据叫做报文,较长的报文一般不适宜直接传输,如果报文太长,则对交换节点的缓存容量有很大需求,在错误处理方面也比较低效。因此需要将报文分成若干个较小的等长的数据段。
在每段数据段前面添加一些由必要的控制信息组成的首部(首部中包含了分组的目的地址),这样就构成了一个个的分组。
源主机将分组发送到分组交换网中,分组交换网中的交换节点受到一个分组后,先将其缓存下来,然后从其首部中提取出目的地址。按照目的地址查找自己的转发表。找到相应的转发接口后,将分组转发出去,把分组交给下一个节点。经过多哥交换节点的转发后,分组最终被转发带目的主机。主机收到这些分组后,去掉首部信息,将各数据段组合还原出原始报文
总结
在这个例子中,发送方 的任务为:构造分组和发送分组 。交换节点 的任务为:缓存分组和转发分组 。接收方 的任务为:接收分组和还原报文。
在实际的因特网中,往往有大量的主机在同时通信。另外,在一台主机中,也可能有多个和网络通信相关的应用进程,他们同时与其他主机中的不同应用进程进行通信
分组交换和电路交换的区别
分组交换的优点:
- 没有建立连接和释放连接的过程。
- 分组传输过程中逐段占用通信链路,有较高的通信线路利用率。
- 交换节点可以为每个分组独立选择转发路由,使得网络有很好的生存性。
分组交换的缺点:
- 分组首部带来了额外的传输开销。
- 交换节点存储转发分组时会造成一定的时延。
- 无法确保通信时端到端通信资源全部可用,在通信量较大时可能造成网络拥塞。
- 分组可能出现失序和丢失等问题。
1.3.3 报文交换
- 报文交换是分组交换的前身。
- 在报文交换中,报文被整个地发送,而不是拆分成若干个分组进行发送。
- 交换节点将报文整体接收完成后才能查找转发表,将整个报文转发到下一个节点。
- 因此,报文交换比分组交换带来的转发时延要长很多,需要交换节点具有的缓存空间也大很多。
1.3.4 三种交换方式对比
假设源主机和目的主机之间有两个交换节点,纵坐标为时间。
- 电路交换 :
- 通信之前首先要建立连接,成功建立连接之后,就可以使用已建立的连接进行数据传送。数据传送结束后,需要释放连接。将双方所占用的通信资源归还给电信网。
- 一旦建立连接,中间的各交换节点就是直通形式的,数据可以直达终点。
- 报文交换 :
- 无需建立连接,可以随时发送报文。通讯结束后,也无需释放连接。数据传送单元为整个报文。传送路径中的交换节点只有在完整接收到整个报文后,才能对其进行查找转发,将整个报文传送到下一个节点。
- 整个报文需要在各交换节点上存储转发,由于不限制报文的大小,因此需要各交换节点都具有较大的缓存空间。
- 分组交换 :
- 可以随时发送分组,不需要事先建立连接。构成原始报文的一个个分组,一次在各交换节点上存储转发。各交换节点在转发分组的同时,还缓存接收到的分组
- 构成原始报文的一个个分组,在各个交换节点上存储转发,相比报文交换,减少了转发时延,还可以避免过长的报文长时间占用链路。同时也有利于进行差错控制
总结
- 若要连续传送大量数据,并且数据传送时间远大于建立连接的时间,则使用电路交换可以有较高的传输效率。然而计算机的数据传送 往往是突发式 的,采用电路交换 时通信线路的利用率会很低。
- 报文交换和分组交换都不需要建立连接 (即预先分配通信资源),在传送计算机的突发数据 时可以提高通信线路的利用率
- 将报文构造成若干个更小的分组进行分组交换 ,比将整个报文进行报文交换的时延要小 ,并且还可以避免太长的报文长时间占用链路,有利于差错控制,同时具有更好的灵活性。
1.4 计算机网络的定义和分类
1.4.1 计算机网络的定义
最早的简单定义
计算机网络是一些互连的、自治的计算机的集合:
- 互连:计算机之间可以通过有线或无线的方式进行数据通信
- 自治:独立的计算机有自己的硬件和软件,可以独立运行。
- 计算机集合:至少需要两台以上的计算机
- 现阶段计算机网络一个较好的定义
计算机网络是由一些通用的,可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- 可编程的硬件:不限于计算机,而是包括了智能手机、具有网络功能的传感器以及智能家电等智能硬件,这些硬件一定包含有中央处理单元(CPU)
- 各类应用:计算机网络并非只用于传送数据,而是能够基于数据传送进而实现各种各样的应用,包括今后可能出现的各种应用
1.4.2 计算机网络的分类
- 交换方式
- 可以分为电路交换、报文交换、分组交换
- 使用者
- 公用网:通常是由电信公司出资建造的大型网络,公众只要按照电信公司的规定缴纳费用就可以使用这种网络
- 专用网:通常是由某个部门为满足本单位特殊业务的需要而建造的网络。例如军队、铁路、电力、银行等部门的专用网。这种网络不向本单位以外的人提供服务。
- 传输介质
在小型互联网中,包含有线网络和无线网络。有线网络包括双绞线网络、光纤网络等。而无线局域网所使用的Wi-Fi技术目前应用比较普遍。
-
覆盖范围
-
广域网(WAN):覆盖范围几十到几千千米。广域网是因特网的核心部分,他为因特网核心路由器提供远距离高速连接,互连分布在不同国家和地区
-
城域网(MAN):覆盖范围5到50千米。可以跨越几个街区甚至整个城市,城域网通常作为城市骨干网,互连大量机构、企业以及校园局域网。
-
局域网(LAN):覆盖范围一千米左右,例如一个学生宿舍、一栋楼、或一个校园。局域网通常由微型计算机或工作站通过速率为10Mb/s以上的高速链路相连。
-
个域网(PAN):覆盖范围一般为十米,是个人区域网的简称,个域网主要用于在个人工作的地方,把属于个人使用的笔记本电脑、键盘、鼠标、耳机以及打印机等电子设备用Wi-Fi或蓝牙等无线技术连接起来的网络。因此也常称为无线个域网WPAN
-
-
拓扑结构
- 总线型网络
这是一个总线型网络,使用单根传输线把计算机连接起来,其优点是建网容易,增减节点方便、节省线路。缺点是重负载时通信效率不高。总线任意移一处出现故障,则全网瘫痪。
- 星型网络
每个计算机都以单独的线路与中央设备相连,中央设备早期是计算机,后来是集线器。现在一般是交换机或路由器。这种网络拓扑的优点是便于网络的集中控制和管理。缺点是成本高,中央设备对故障敏感。
- 环型网络
所有计算机网络的接口都连接成一个环,最典型的例子是令牌环局域网。环可以是单环,也可以是双环。环中信号是单向传输的。
- 网状型网络
一般情况下,每个节点至少有两条路径与其他节点相连。多用在广域网中。其优点是可靠性高。缺点是控制复杂,线路成本高
说明
以上四种基本的网络拓扑还可以互连为更复杂的网络。
1.5 计算机网络的性能指标
计算机网络的性能指标被用来从不同方面度量计算机网络的性能
1.5.1 常用的八个计算机网络性能指标
1.5.1.1 速率
- 比特(bit):是计算机中数据量的基本单位,一个比特就是二进制数字中的一个1或0。
- 数据量的常用单位有字节(B)、千字节(KB)、兆字节、(MB)、吉字节(GB)以及太字节(TB)。
- 速率是指数据的传送速率 (每秒传送多少个比特 ),也称为数据率 或比特率
- 速率的基本单位是比特/秒 (bit/s,可简记为b/s,有时也记为bps,即bit per second)。速率的常用单位有千比特/秒 (kb/s或kbps)、兆比特/秒 (Mb/s或Mpbs)、吉比特/秒 (Gb/s或Gbps)以及太比特/秒(Tb/s或Tbps)
1.5.1.2 带宽
带宽在模拟信号中的意义
- 某个信号所包含的各种不同频率成分所占据的频率范围
- 单位:Hz(kHz、MHz、GHz)
带宽在计算机网络中的意义
- 用来表示网络通信线路所能传送数据的能力 ,即在单位时间内从网络中的某一点到另一点所能通过的最高数据率。
- 单位:b/s(Kb/s、Mb/s、Gb/s、Tb/s)
- 数据传送速率 = min[主机接口速率,线路带宽,交换机或路由器接口速率](木桶效应)
1.5.1.3 吞吐量
- 吞吐量是指在单位时间内通过某个网络接口的实际数据量。吞吐量常被用于对实际网络的测量,以便获知到底有多少数据量通过了网络。
- 吞吐量受网络宽带的限制
1.5.1.4 时延
- 时延是指数据从网络的一端传送到另一端所耗费的时间,也称为延迟或迟延。数据可由一个或多个分组、甚至是一个比特构成
-
假设两个主机之间只有一个路由器和两段链路
-
源主机将分组发往传输线路,消耗的时间为发送时延(分组长度 (b)/发送速率 (b/s))
-
代表分组的电信号在链路上传播,消耗的时间为传播时延(信道长度 (m)/信号传播速率 (m/s))
-
当分组进入路由器之后,会在路由器的输入队列中排队缓存并等待处理,在路由器确定了分组的转发接口后,分组会在输出队列中排队缓存并等待转发。这段消耗的时间为排队时延(不方便计算,当网络通信量很大时可能会造成路由器队列溢出)
-
路由器从自己的输入队列中取出排队缓存并等待处理的分组后,会进行一系列处理工作,例如分组的首部是否误码,提取分组首部的部分地址,为分组查找相应的转发接口以及修改部分首部中的部分内容,例如生存时间等。这些处理工作所消耗的时间就是处理时延(不方便计算)
-
分组经过路由器的转发,传输到目的主机,这又会耗费一个路由器的发送时延,以及代表该分组的电信号在另一段链路上传播所耗费的传播时延。
-
实际上,目的主机接收分组信号,与分组信号在链路上传播是同时进行的。如果在总时延中包含接收时延,我们就把一部分时间重复计算了
-
1.5.1.5 时延带宽积
- 时延带宽积是传播时延和带宽的乘积
-
可以将链路看作是一条圆柱形管道,管道长度是链路的传播时延。表示以时间为单位来表示链路长度,管道的横截面积是链路的带宽。因此,时延带宽积就相当于这个管道的容积,表示这个链路可以容纳的比特数量
-
因此,链路的时延带宽积也称为以比特为单位的链路长度,这对我们以后理解以太网的最短帧长是非常有帮助的。
1.5.1.6 往返时间
- 往返时间(Round-Trip Time, RTT)是指从发送端发送数据分组开始,到发送端收到接收端发来的响应确认分组为止,总共耗费的时间。
1.5.1.7 利用率
定义
-
链路利用率:指某条链路有百分之几的时间是被利用的(即有数据通过)。完全空闲的链路利用率为零。
-
网络利用率:指网络中所有链路的链路利用率的加权平均。
-
根据排队论可知,当某链路的利用率增大时,该链路引起的时延就会迅速增加。
-
当网络的通信量较少时,产生的时延并不大,但在网络通信量不断增大时,分组在交换节点(路由器或交换机)中排队时延会随之增大,因此网络引起的时延就会增大。
-
令D0表示网络空闲时的时延,D表示网络当前的时延,那么在理想的假定条件下,可用下式表示D、D0和网络利用率U之间的关系
应动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围内
1.5.1.8 丢包率
- 丢包率是指在一定时间内,传输过程中丢失的分组数量和总分组数量的比率,可分为:
- 接口丢包率
- 节点丢包率
- 链路丢包率
- 路径丢包率
- 网络丢包率
- 分组丢失主要有以下两种情况 :
- 分组在传输过程中出现误码 ,被传输路径中的节点交换机 (例如路由器)或目的主机检测出误码而丢弃。
- 节点交换机根据丢弃策略主动丢弃分组。
- 丢包率可以反映网络拥塞情况 :
- 无拥塞时路径丢包率为0。
- 轻度拥塞时,路径丢包率为1%~4%。
- 严重拥塞时路径丢包率为5%~15%。
1.6 计算机网络体系结构
1.6.1 常见的三种计算机网络体系结构
- 开放系统互连基本参考模型(OSI参考模型)
OSI参考模型时一个七层协议的体系结构,自下而上依次是物理层,数据链路层,网络层,运输层,会话层,表示层,应用层。OSI参考模型是法律标准。
- TCP/IP参考模型
TCP/IP参考模型是事实上的国际标准,自下而上依次是网络接口层,网际层,运输层,应用层。
OSI标准失败的原因:
- 专家没有实际的经验,完成标准时没有商业驱动力。
- 协议实现过分复杂,运行效率很低。
- 标准的制定周期太长,产品无法及时进入市场。
- 层次划分不太合理,有些功能在多个层次中重复出现。
各个层各自拥有的协议
- TCP/IP结构的网络接口层并没有规定什么具体的内容,这样做的目的是可以互连全世界各种不同的网络接口,例如有线的以太网接口,无线的Wi-Fi接口。而不限定仅使用一种或几种网络接口。因此TCP/IP体系结构在本质上只有上面三层。
- 网际协议IP是TCP/IP体系结构网际层的核心协议
- 传输控制层的TCP和用户数据报协议UDP是TCP/IP体系结构运输层的两个重要协议
- TCP/IP体系结构的应用层,包含了大量的应用层协议,例如超文本传送协议HTTP,简单邮件传送协议SMTP,域名系统DNS,以及实时运输协议RTP等
协议之间互连的关系
- IP协议可以向不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互连服务。
- TCP协议在享受IP协议提供的网络互连服务的基础上,可向引用层的某些协议提供可靠传输的服务。
- UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的某些协议提供不可靠传输的服务。
TCP/IP体系结构的核心
- IP协议作为TCP/IP体系结构中的核心协议,一方面负责互联不同的网络接口,也就是IP over everthing,另一方面为各种网络应用提供服务,也就是Everthing over IP。
- 由于TCP/IP体系结构中包含大量协议,而TCP协议和IP协议是其中非常重要的两个协议,因此用TCP和IP这两个协议来表示整个协议大家族,常称为TCP/IP协议族,也常称为TCP/IP协议栈。
- 原理参考模型
TCP/IP体系结构为了将不同的网络接口进行互连,其网络接口层并没有规定什么具体内容,然而,这对于我们学习计算机网络的完整体系而言,就会缺少一部分内容。因此在学习计算机网络原理时,采用原理参考模型。
原理参考模型是五层协议的体系结构,自下而上依次是物理层、数据链路层、网络层、运输层、应用层。
1.6.2 计算机网络体系结构分层的必要性
计算机网络是个非常复杂的系统,"分层"可将庞大复杂的问题转化为若干较小的局部问题,就比较容易研究和处理。
- 物理层
两台计算机通过一条链路连接起来
需要考虑的主要问题:
- 采用什么传输媒体(介质)(物理层之下):例如同轴电缆、双绞线电缆、光纤、光缆等。
- 采用什么物理接口
- 采用什么信号表示比特0和1
- 数据链路层
主机ABC通过总写互联成了一个总线型网络(假设已经解决物理层问题,即主机间可以通过信号传送比特0和1)
需要考虑的主要问题:
- 如何标识网络中各主机(主机编址,例如MAC地址)
- 从比特流中区分出地址和数据(数据封装格式)
- 协调各主机争用总线(媒体接入控制):而现在常用的并不是上述的总线型网络,而是使用以太网交换机。将多台主机互连而成的交换式以太网。在交换式以太网中,多对主机可以同时进行通信,而不会产生碰撞。
- 以太网交换机的实现(自学习和转发帧)
- 如何检测数据是否误码(差错检测)
- 出现传输差错如何处理(可靠传输和不可靠传输)
- 接收方控制发送方注入网络的数据量(流量控制)
- 网络层
日常使用的因特网是由非常多的网络和路由器互连起来的,仅解决物理层和数据链路层的问题还是不能正常工作。
需要考虑的主要问题:
- 表示网络和网络中的各主机(网络和主机共同编址,例如IP地址)
- 路由器转发分组(路由选择协议、路由表和转发表)
- 运输层
如果主机H3同时打开QQ和浏览器两个进程,如何分类接收到的数据给相应的进程。
需要考虑的主要问题:
- 进程之间基于网络的通信(进程的标识,例如端口号)
- 出现传输差错时如何处理(可靠传输和不可靠传输)
- 应用层
在上述基础上可以制作各种应用协议,并按协议标准编写相应的应用程序
需要考虑的主要问题:
- 通过应用进程间的交互来完成待定的网络应用
- 进行会话管理和数据表示
原理体系结构
- 物理层:解决使用何种信号来表示比特0和1的问题
- 数据链路层:解决数据包在一个网络或一段链路上传输的问题
- 网络层:解决数据包在多个网络之间传输和路由的问题
- 运输层:解决进程之间基于网络的通信问题
- 应用层:解决通过应用进程的交互来实现特定网络应用的问题
1.6.3 计算机网络体系结构分层思想举例
主机中的应用进程与Web服务器中的Web服务器应用进程之间基于网络的通信,从五层原理体系结构的角度来看看具体过程。
- 应用层
按照HTTP协议,构建一个HTTP请求报文,用来请求Web服务器执行相应操作,应用层将构建好的HTTP请求报文向下交付给运输层。
- 运输层
运输层给HTTP请求报文添加一个TCP首部,将其封装称为TCP报文段。TCP首部的主要作用是区分主要进程和实现可靠传输。运输层将封装好的TCP报文段向下交付给网络层。
- 网络层
网络层给TCP报文段添加一个IP首部,将其封装成为IP数据报,IP首部的主要作用是IP寻址和路由。网络层将封装好的数据报向下交付给数据链路层
- 数据链路层
数据链路层给IP数据报添加一个首部和一个尾部,将其封装成为帧。帧首部和尾部的作用是MAC寻址和帧校验,数据链路层将封装好的帧向下交付给物理层。
- 物理层
物理层并不认识帧的结构,仅仅将其看作是比特流,以便将比特流转换成相应的电信号进行发送。对于以太网,物理层还会在比特流前添加前导码。目的是使接收方的时钟同步,并做好接收准备。
接收电信号之后则按照上述方法的逆序对接收到的数据进行解封。
浏览器接收信息过程
1.6.4 计算机网络体系结构的专用术语
-
实体
- 实体 是指任何可发送或接收信息的硬件 或软件进程。
- 对等实体 是通信双方相同层次中的实体
-
协议
- 协议 是控制两个对等实体在"水平方向 "进行"逻辑通信 "的规则的集合
- 协议的三要素
- 语法 :定义所交换信息的格式
- 语义 :定义通信双方所要完成的操作
- 同步 :定义通信双方的时序关系
-
服务
-
在协议的控制下,两个对等实体在水平方向的逻辑通信使得本层能够向上一层提供服务。
-
要实现本层协议,还需要使用下面一层所提供的服务。
-
协议是"**水平"**的,而服务是"**垂直"**的。
-
实体看得见下层提供的服务,但不知道实现该服务的具体协议。下层的协议对上层的实体是"透明"的
-
在同一系统中相邻两层的实体交换信息的逻辑接口 称为服务访点SAP,它被用于区分不同的服务类型。
-
帧的"类型"字段,IP数据报的"协议"字段,TCP报文段或UDP用户数据报的"端口号"字段都是SAP。
-
上层要使用下层所提供的服务,必须通过与下层交换一些命令,这些命令称为服务原语 。
-
对等层次之间传送的数据包称为该层的协议数据单元(Protocol Data Unit, PDU)。
-
同一系统内层与层之间交换的数据包称为服务数据单元 (Service Data Unit,SDU)。
-