1.1 因特网概述
(1)网络、互联网和因特网
(2)因特网发展的三个阶段
(3)因特网的标准化工作
(4)因特网的组成
1.1.1 网络、互联网和因特网
网络是由若干结点和连接这些结点的链路组成
多个网络之间还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(网络中的网络)
因特网是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)
internet和Internet的区别:
internet(互联网或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的
Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议簇作为通信规则,其前身是美国的ARPANET
1.1.2 因特网发展的三个阶段
因特网服务提供者ISP(Internet Service Provider)
普通用户就是通过ISP接入因特网的,ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等连网设备,任何机构和个人只要向ISP缴纳规定的费用,就可从ISP得到所需要的IP地址,因特网上的主机都必须由IP地址才能进行通信
国内主要的ISP:中国电信、中国联通、中国移动
根据提供服务的覆盖面积大小及所拥有的IP地址数量的不同,ISP也分成不同的层次
最高级别的一层ISP的服务面积最大,第一层ISP通常也被称为因特网主干网,一般都能够覆盖国际性区域范围,并拥有高速链路和交换设备,第一层ISP之间直接互联。
第二层ISP和一些大公司都是第一层ISP的用户,通常具有区域性或国家性覆盖规模,与少数第一层ISP相连接。
第三层ISP又称为本地ISP,它们是第二层ISP的用户且只拥有本地范围的网络,一般的校园网或企业网以及住宅用户和无线移动用户,都是第三次ISP的用户。
从该图可以看出,因特网逐渐演变成ISP的多层次结构网络,但今天的因特网由于规模太大,已经很难对整个网络的结构给出细致的描述。
相隔较远的两台主机间的通信可能需要经过多个ISP,一旦某个用户能够接入因特网,那么他也可以成为一个ISP,所需要做的就是购买一些调制解调器或路由器这样的设备,让其他用户能够和他相连,因此,该图只是一个示意图,一个ISP可以很方便地在因特网拓扑上增添新的层次和分支
1.1.3 因特网的标准化工作
1.1.4 因特网的组成
- 边缘部分
由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享
边缘部分的主机可以为台式电脑、大型服务器、笔记本、平板电脑、智能手机、智能手表以及物联网智能硬件(如摄像头) - 核心部分
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)
在网络核心部署其特殊作用的是路由器,它是一种专用计算机,但我们不称它为主机,路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
1.2 三种交换方式
分别为电路交换(Circuit Switching)、分组交换(Packet Switching)、报文交换(Message Switching)
1.2.1 电路交换
电话交换机接通电话线的方式称为电路交换
从通信资源的分配角度来看,交换就是按照某种方式动态地分配传输线路的资源;
电路交换的三个步骤:
(1)建立连接(分配通信资源)
(2)通话(一直占用通信资源)
(3)释放连接(归还通信资源)
但是使用电路交换来传送计算机数据时,其线路的传输效率往往很低。
1.2.2 分组交换
分组交换也称为包交换,它将用户通信的数据划分成多个更小的等长数据段,在每个数据段的前面加上必要的控制信息作为数据段的首部,每个带有首部的数据段就构成了一个分组。首部指明了该分组发送的地址,当交换机收到分组之后,将根据首部中的地址信息将分组转发到目的地,这个过程就是分组交换。
分组交换的本质就是存储转发,它将所接受的分组暂时存储下来,在目的方向路由上排队,当它可以发送信息时,再将信息发送到相应的路由上,完成转发。其存储转发的过程就是分组交换的过程。
发送方完成的任务是:构造分组、发送分组
路由器完成的任务是:缓存分组、转发分组
接收方完成的任务是:接收分组、还原报文
1.2.3 报文交换
报文交换也称为存储转发交换,它们交换过程的本质都是存储转发,所不同的是分组交换的最小信息单位是分组,而报文交换则是一个个报文。
1.2.4 电路交换、分组交换、报文交换的对比
1.3 计算机网络的定义
计算机网络的精确定义并未统一
计算机网络的最简单的定义是:一些互相连接的、自治的计算机的集合
- 互连:是指计算机之间可以通过有线或无线的方式进行数据通信;
- 自治:是指独立的计算机,它有自己的硬件和软件,可以单独运行使用;
- 集合:是指至少需要两台计算机
计算机网络的较好的定义是:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的的(例如传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- 计算机网络所连接的硬件,并不限于一般的计算机,二十包括了智能手机等智能硬件
- 计算机网络并非专门用来传送数据,而是能够支持很多种应用(包括今后可能出现的各种应用)
1.3.1 计算机网络的分类
-
按交换技术分类
(1)电路交换网络;(2)报文交换网络;(3)分组交换网络 -
按使用者分类
(1)公用网;(2)专用网
公用网是指电信公司出资建造的大型网络;公用的意思是指所有愿意按电信公司规定缴纳费用的人都可以使用这种网络。
专用网是指某个部门为本单位的特殊业务工作的需要而建造的网络,这种网络不向外人提供服务。 -
按传输介质分类
(1)有线网络;(2)无线网络
有线网络包括双绞线网络,光纤网络等
无线网络是指无线局域网锁使用的WiFi技术 -
按覆盖范围分类
(1)广域网WAN;(2)城域网WAN;(3)局域网LAN;(4)个域网PAN -
按拓扑结构分类
(1)总线型网络;(2)星型网络;(3)环形网络;(4)网状型网络
1.4 计算机网络的性能指标
性能指标可以从不同的方面来度量计算机网络的性能
常用的计算机网络的性能指标有以下8个:
速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率、丢包率
1.4.1 速率
1.4.2 带宽
1.4.3 吞吐量
吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量
吞吐量被经常用于现实时间中的网络的一种测量以便于知道实际上到底有多少数据量能够通过网络
吞吐量受网络的带宽或额定速率的限制
1.4.4 时延
1.4.5 时延带宽积
- 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端 就已经发送时延带宽积个比特
- 链路的时延带宽积又称为以比特为单位的链路长度
1.4.6 往返时间
- 在许多情况下,因特网上的信息不仅仅单方向传输,而是双向传输
- 我们有时很需要知道双向交互一次所需时间
- 因此,往返时间RTT也是一个重要的指标
1.4.7 利用率
1.4.8 丢包率
丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量于总分组数量之比
丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等
风阻丢失主要有两种情况:
- 分组在传输过程中出现误码,被节点丢弃
- 分组到达一台队列已满的分组交换机时被丢弃;在通信量较大时就可能造成网络拥塞
1.4.9 总结
1.5 计算机网络体系结构
(1)常见的计算机网络体系结构
(2)计算机网络体系结构分层的必要性
(3)计算机网络体系结构分层思想距离
(4)计算机网络体系结构中的专用术语
1.5.1 常见的计算机网络体系结构
OSI体系结构:开发系统互连参考模型
为什么使用OSI?
(1)OSI专家缺乏实际经验,完成OSI时没有商业驱动力
(2)OSI协议实现起来过于复杂,而且运行效率低
(3)OSI标准的制定周期长,使得按OSI标准生产的设备无法及时进入市场
(4)划分层次不合理,有些功能在多个层次中重复出现
- TCP/IP体系结构的网络接口层并没有规定什么具体内容,这样做的目的是可以互连全世界各种不同的网络接口,如有线的以太网接口、无线局域网的WiFi接口
- IP协议是TCP/IP体系结构网际层的核心协议
- TCP/UDP是TCP/IP体系结构传输层的两个重要协议
- TCP/IP/TI体系结构的应用层包含了大量的应用层协议
IP协议可以将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互连服务
而TCP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供可靠传输的服务;
TCP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠传输的服务
1.5.2 计算机网络体系结构分层的必要性
- 计算机网络是个非常复杂的系统,早在最初的ARPANET设计使就提出了分层的设计理念
- “分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
- 下面,我们按照从简单到复杂的顺序,来实现计算机网络要面临那些主要的问题,以及如何将这些问题划分到相应的层次,层层处理
(1)物理层
需要解决的问题:
严格来说,传输媒介并不属于物理层。且信号不是用方波表示的。
(2)数据链路层
需要知道发送到哪里
(3)网络层
(4)传输层
(5)应用层
总结:
1.5.3 计算机网络体系结构分层思想举例
举一个应用程序间基于网络的通信:
应用层按照HTTP协议的规定,构建一个HTTP请求报文
应用层将HTTP请求报文交付给运输层处理
运输层给HTTP请求报文添加一个TCP首部,使之成为TCP报文段,该首部的作用主要是为了区分应用进程以及实现可靠传输
运输层将TCP报文段交付给网络层处理
网络层给TCP报文段添加一个IP首部,使之成为IP数据报。该首部的作用主要是为了使IP数据段可以在互连网上传输,也就是被路由器转发
网络层将IP数据报交付给数据链路层处理,数据链路层给IP数据包添加一个首部和一个尾部使之成为帧。如果是以太网,结构如下:
该首部的作用主要使为了让帧能够在一个链路上或一个网络上传输,能够被相应的目的主机接收
其尾部的作用是为了让目的主机检查所接收到的帧是否有误码
数据链路层将帧交付给物理层
物理层将帧看作是比特流,物理层会给帧加上前导码,其作用是为了让目的主机做好接收帧的准备,物理层将添加有前导码的比特流变换成相应的信号发送到传输媒体
信号通过传输媒体到达路由器会执行以下操作:
(1)物理层将信号变换为比特流,然后去掉前导码后,将其交付给数据链路层
(2)数据链路层将帧的首部和尾部去掉后,将其交付给网络层,这实际上交付的是IP数据报
(3)网络层解析IP数据报的首部,从中提取出目的网络地址,然后查找自身的路由表确定转发端口,以便进行转发。网络层将IP数据报交付给数据链路层
(4)数据链路层给IP数据报添加一个首部和一个尾部使之成为帧。数据链路层将帧交付给物理层,
(5)物理层将帧看作是比特流,如果是以太网,物理层会在该比特流中添加前导码,然后物理层将带有前导码的比特流变换成相应的信号发送给传输媒体。
1.5.4 计算机网络体系结构中的专用术语
实体、协议、服务
协议:控制两个对等实体进行逻辑通信的规则的集合
协议三要素:语法、语义、同步
- 语法:定义所交换信息的格式
- 语义:定义收发双方所要完成的操作
- 同步:定义收发双方的时序关系
在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
要实现本层协议,还需要使用下面一层所提供的服务
协议是水平的,服务是垂直的
实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议
服务访问点:在同一个系统种相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型
- 数据链路层的服务访问点为帧的“类型”字段
- 网络层的服务访问点为IP数据报首部中的“协议字段”。
- 运输层的服务访问点为“端口号”
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语
协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元。
服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据的单元
多个SDU可以合成为一个PDU;一个PDU也可划分为多个SDU