1.1 因特网概述
-
网络、互联网与因特网的区别与关系:
-
- 若干节点和链路互连形成网络。
-
- 若干网络通过路由器互连形成互联网。
-
- 因特网是当今世界上最大的互联网。有时为了方便,也把因特网叫做互联网。
-
internet和Internet的对比:
-
- 速记:
- 速记:
-
- 以小写字母i开头的英文单词 internet 是一个通用名词,翻译为互联网,在这些互联网之间使用的协议是任意的。
-
- 以大写字母I开头的英文单词 Internet是专有名词,专指目前世界上最大的互联网:因特网,在这些网络之间必须使用TCP/IP协议族作为通信规则。
-
因特网的发展史:
-
什么是因特网服务提供者(ISP):
-
- ISP即lnternet Service Provider,ISP从因特网管理机构申请到成块的IP地址,同时拥有通信线路、路由器等连网设备,用户缴纳费用,通过ISP接入到因特网。
-
- 举例,我国的ISP有:中国电信、移动、联通。
-
- 举例,基于ISP的三层互连结构:
- 举例,基于ISP的三层互连结构:
-
因特网的组成:
-
- 因特网的边缘部分由笔记本等用户设备组成,核心部分由大量异构型网络和连接这些网络的路由器构成。
- 因特网的边缘部分由笔记本等用户设备组成,核心部分由大量异构型网络和连接这些网络的路由器构成。
-
因特网的标准化工作:
-
-
负责组织:
ISOC(因特网协会)是一个国际性组织,其中IAB (因特网体系结构委员会) 负责因特网有关协议的开发;IETF (因特网工程部) 负责研究中短期工程问题,主要针对协议开发和标准化;IRTF (因特网研究部) 从事理论方面的研究和开发一些需要长期考虑的问题。
-
-
-
因特网标准:
并非所有RFC文档都是因特网标准,只有一小部分RFC文档能变成因特网标准。
-
1.2 数据交换方式
-
电路交换的定义:
-
- 建立一条临时的专用通路,使用完以后拆除连接。
-
不采用电路交换的原因:
-
- 计算机之间的数据传送是突发式的,使用电路交换来传送计算机数据,线路传输速率将很低,线路上真正用来传送数据的时间往往不到10%甚至1%。
-
分组交换的定义:
-
- 表示消息的整块数据称为一个报文,较长的报文需要交换节点有较大的缓存容量,且降低了错误处理效率。因此将其划分为较小等长数据段,并加工成分组报文。
-
- 不在通信节点建立通路,发送方构造分组、发送分组,交换节点缓存分组、转发分组,接收方接收分组、还原报文。
-
分组交换的优缺点:
-
-
优点:
没有建立连接和释放连接的过程。
分组传输过程中逐段占用通信链路,有较高的通信线路利用率。
交换节点可以为每一个分组独立选择转发路由,使得网络有很好的生存性。
-
-
-
缺点:
分组首部带来了额外的传输开销。
交换节点存储转发分组会造成一定的时延。
无法确保通信时端到端通信资源全部可用,在通信量较大时可能造成网络拥塞分组可能会出现失序和丢失等问题。
-
-
报文交换的定义:
-
- 报文交换是分组交换的前身。
-
- 在报文交换中,报文被整个地发送,而不是拆分成若干个分组进行发送。
-
- 交换节点将报文整体接收完成后才能查找转发表,将整个报文转发到下一个节点。
-
- 因此,报文交换比分组交换带来的转发时延要长很多,需要交换节点具有的缓存空间也大很多。
-
三种交换方式的比较:
-
- 若要连续传送大量的数据,并且数据传送时间远大于建立连接的时间,则使用电路交换。
-
- 然而计算机的数据传送是突发式的,采用电路交换时通信线路的利用率低。
-
- 报文交换和分组交换都不需要建立连接 (即预先分配通信资源),适合传送计算机的突发数据。
-
-
分组交换相对于报文交换的优点:
1.时延小
2.可以避免太长的报文长时间占用链路
3.有利于差错控制
4.具有更好的灵活性
-
1.3 计算机网络的定义、组成与功能
-
概述:
-
- 计算机网络没有精确和统一的定义。不同阶段,不同定义反映当时计算机网络技术的发展水平。
-
现阶段计算机网络的定义:
-
- 计算机网络主要是由一些通用的、可编程的硬件互连而成的,这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
-
计算机网络的组成:
-
- 概述:
从“物理组成”看: 由硬件、软件和协议组成;从“工作方式”看: 由边缘部分和核心部分组成;从“功能组成”看: 由通信子网和资源子网组成。
- 概述:
-
- 硬件、软件和协议:
- 硬件有主机、通信链路(如双绞线、光纤)、交换设备 (如路由器)、通信处理机(如网卡)
- 软件主要包括各种实现资源共享的软件和方便用户使用的各种工具软件,如网络操作系统、邮件收发程序、FTP程序、聊天程序等
- 协议是计算机网络的核心,规定了网络传输数据时需要遵循的规范。
-
-
边缘部分和核心部分:
边缘部分由所有连接到因特网上、供用户直接使用的主机组成,用来进行通信和资源共享。
核心部分由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务。
-
-
-
-
主机之间的通讯方式:
C/S方式: 指的是一个是客户端发送请求,一个是服务端处理请求。
P2P方式:指的是对等网络,这两台机器既可以做服务器也可以做客户端。
-
-
-
-
通信子网和资源子网:
通信子网实现数据通信。
资源子网实现资源共享 /数据处理。
-
-
计算机网络的功能:
-
数据通信:
计算机网络最基本和最重要的功能。
用来实现联网计算机之间的各种信息的传输,并将分散在不同地理位置的计算机联系起来,进行统一的调配、控制和管理。
举例:文件传输、电子邮件。
-
资源共享:
使计算机网络中的资源互通有无、分工协作,极大地提高硬件资源、软件资源和数据资源的利用率。
举例:软件共享(远程访问)、数据共享(网盘)、硬件共享(共享打印机)。
-
分布式处理:
当计算机网络中的某台计算机系统负荷过重时,可以将其处理的某个复杂任务分配给网络中的其他计算机系统,从而利用空闲计算机资源以提高整个系统的利用率。
举例:Hadoop集群。
-
提高可靠性:
计算机网络中的各台计算机可以通过网络互为替代机。
-
负载均衡:
在多个服务器之间分配流量以提高服务或应用程序性能的过程。
-
1.4 计算机网络的分类
-
概述:
计算机网络可以
按照“覆盖范围”分为WAN、MAN、LAN和PAN;
按照“交换方式”分为电路交换、报文交换和分组交换;
按照“使用者”分为公用网和专用网;
按照“传输介质”分为有线网络和无线网络;
按照“拓扑结构”分为总线型、星型、环型和网状型;
按照“传输技术”分为广播式网络和点对点网络。
-
-
覆盖范围:
广域网(WAN):其任务是提供长距离通信。
城域网(MAN):可跨越几个街区甚至整个城市,覆盖范围约为5~50米。
个人局域网(PAN): 是指在个人工作的地方将一些电子设备用无线技术连接起来的网络,覆盖范围约为10米。
局域网采用广播技术,广域网采用交换技术。
-
-
-
使用者:
公用网是指电信公司出资建造的大型网络。
专用网是指某个部门为满足本单位特殊业务的需要而建造的网络。
-
-
-
传输介质:
分为有线网络和无线网络。
有线网包括双绞线网络、同轴电缆网络等。
无线网络使用的WiFi技术。
-
-
-
拓扑结构:
◇ 总线型:
用单根传输线把计算机连接起来。
优点在于建网容易、增减结点方便、节省线路。
缺点在于重负载时通信效率不高、总线任意一处对故障敏感。
◇ 星型:
每个终端或计算机都以单独的线路与中央设备相连。中央设备早期是计算机,现在一般是交换机或路由器。
优点在于便于集中制和管理,因为端用户之间的通信必须经过中央设备。
缺点在于成本高、中心结点对故障敏感。
由n个结点构成的星型拓扑网络中,共有n-1个链路(直接连接)。
◇ 环型:
所有计算机接口设备连接成一个环。
环形网络最典型的例子是令牌环局域网。
环可以是单环,也可以是双环,环中信号是单向传输的。
◇ 网状型:
一般情况下,每个结点至少有两条路径与其他结点相连,多用在广域网中。
优点是可靠性。
缺点是控制复杂、线路成本高。
-
-
-
传输技术:
分为广播式网络和点对点网络。
广播式网络:所有联网计算机都共享一个公共通信信道。
当一台计算机利用共享通信信道发送报文分组时,所有其他的计算机都会接收到这个分组。
接收到该分组的计算机将通过检查目的地址来决定是否接收该分组。
点对点网络: 使用分组存储转发和路由选择机制。
-
1.5 计算机网络性能指标
-
概述:
常用的八个计算机网络性能指标包括速率、时延带宽积、
带宽、往返时间、吞吐量、利用率、时延、丢包率。 -
速率:
指数据的传送速率,即每秒传送多少个比特,也称为数据率 或比特率。
单位有比特/秒 (bit/s,可简记为b/s、bps)、千比特秒(kb/s或kbps)、兆比特/秒 (Mb/s或Mbps)、吉比特/秒 (Gb/s或Gbps)以及太比特秒(Tb/s或Tbps)。
-
- 单位之间换算关系:
-
-
注意:
比特 (bit,简记为b)是计算机中数据量的基本单位,一个比特就是二进制数字中的一个1或0。
数据量的常用单位有字节 (byte,记为B) 、千字节(KB)、兆字节MB)、吉字节(GB)以及太字节(TB)。
-
-
- 单位之间换算关系:
-
带宽:
在模拟信号系统中,带宽指某个信号所包含的各种不同频率成分所占据的频率范围。单位有Hz (kHz,MHz,GHz)。
在计算机网络中,带宽指在单位时间内从网络中的某一点到另一点所能通过的最高数据率,用来表示网络的通信线路所能传送数据的能力。 -
吞吐量:
指在单位时间内通过某个网络或接口的实际数据量。
吞吐量受网络带宽的限制。
-
时延:
指数据从网络的一端传送到另一端所耗费的时间,也称为延迟或迟延。
-
-
时延的构成:
源主机将分组发往传输线路所花费的时间称为发送时延。
代表分组的电信号在链路上传播花费的时间称为传播时延。
分组进入路由器后,会在路由器的输入队列中排队缓存,等待处理。
在路由器确定了分组的转发接口后,分组会在输出队列中排队缓存,等待转发。分组在输入队列和输出队列排队缓存所耗费的时间称为排队时延。
路由器从自己的输入队列中取出排队缓存并等待处理的分组后会进行一系列处理工作,如检查分组的首部是否误码、提取分组首部中的目的地址、为分组查找相应的转发接口、修改分组首部中的部分内容,路由器对分组进行这一系列处理工作所耗费的时间就是处理时延。
目的主机接收分组信号与分组信号在链路上传播是同时进行的,因此只有发送时延没有接收时延。
-
-
- 时延的计算方法:
-
-
-
排队时延
在分组从源主机传送到目的主机的过程中,分组往往要经过多个路由器的转发,分组在每个路由器上产生的排队时延的长短往往取决于网络当时的通信量和路由器自身性能,因此排队时延无法用简单公式进行计算。
当网络通信量很大时,可能会造成路由器的队列溢出,使分组丢失相当于排队时延无穷大。
-
-
-
-
-
处理时延
处理时延无法用简单公式进行计算。
-
-
-
-
- 发送时延
- 发送时延
-
-
-
注意:
光纤网络速度快,这并不是因为光在光纤中传播的速率快,根本原因在于带宽大。
-
-
时延带宽积:
时延带宽积是传播时延与带宽的乘积。
-
往返时间RTT:
往返时间RTT指从源主机发送分组开始直到源主机收到来自目的主机的确认分组为止的时间。
-
利用率:
-
丢包率:
丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等。
-
-
分组丢失两种情况:
分组在传输过程中出现误码,被结点丢弃;
分组到达一台队列已满的分组交换机时被丢弃,在通信量较大时就可能造成网络拥塞。
-
-
- 丢包率意义:
反映网络的拥塞情况。无拥塞: 0;轻度拥塞: 1%~4%;严重拥塞: 5%~15%。
- 丢包率意义:
1.6 计算机网络体系结构
-
计算机网络体系结构:
-
- 概述:
- 概述:
-
-
OSI体系结构 :
低三层统称为通信子网,完成数据传输功能,高三层统称为资源子网,完成数据处理功能,传输层承上启下。
上面四层好像信息“直接”从主机A传到了主机B,因此称为实现了端到端通信。
下面三层负责“信息下一步应该要传到哪里”等问题,传输的过程中可能需要很多点才能完成,因此称为实现了点到点通信。
-
-
- TCP/IP参考模型:
- TCP/IP参考模型:
-
- OSI参考模型与TCP/IP参考模型比较:
-
-
-
相同点:
都采取分层的体系结构,都是基于独立的协议栈的概念,都可以解决异构网络的互联。
-
-
-
-
-
不同点:
-
-
-
计算机网络体系结构分层解决哪些问题:
-
- 概述:
- 概述:
-
-
物理层:
解决采用怎样的传输媒体 (介质),采用怎样的物理接口,使用怎样的信号表示比特0和1。
严格来说,传输媒体并不属于物理层,它并不包含在体系结构之中。
计算机网络中传输的信号,并不是方波信号。
-
-
-
数据链路层:
解决如何标识网络中的各主机(主机编址问题,例如MAC地址),如何从信号所表示的一连串比特流中区分出地址和数据,如何协调各主机争用总线。
-
-
- 网络层:
解决如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,例如IP地址),路由器如何转发分组,如何进行路由选择。
-
- 运输层:
解决进程之间基于网络的通信问题,如何处理传输错误。
-
-
应用层:
通过应用进程间的交互来完成特定的网络应用。
-
-
计算机网络体系结构中的专用术语
-
-
实体:任何可发送或接收信息的硬件或软件进程。
对等实体:收发双方相同层次中的实体。
-
-
-
协议:控制两个对等实体进行逻辑通信的规则的集合。
协议的三要素:语法、语义、同步。语法定义所交换信息的格式,语义定义收发双方所要完成的操作,同步定义收发双方的时序关系。
在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
协议是“水平的”,服务是“垂直的”。
实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是"透明"的。
-
-
-
服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
数据链路层的服务访问点为帧的“类型”字段。
网络层的服务访问点为IP数据报首部中的“协议字段”。
运输层的服务访问点为“端口号”。
-
-
- 服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。
-
-
协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元。
每层的PDU有特定的名称,举例:
物理层PDU: 比特流 (bit stream)
数据链路层PDU:帧(frame)
网络层PDU: IP数据报或分组 (packet)
传输层PDU:TCP报文段 (segment) 或UDP用户数据报 (datagram)
应用层PDU:报文 (message)
-
-
- 服务数据单元(SDU):同一系统内,层与层之间交换的数据包称为服务数据单元。
多个SDU可以合成为一个PDU;一个SDU也可划分为几个PDU。
-
- 协议控制信息 (PCI) : 控制协议操作的信息。
-
-
通过网络通信实例分析计算机网络体系结构分层处理方法:
假设网络拓扑如下,使用主机中的浏览器来访问Web服务器。
主机和Web服务器之间基于网络的通信,实际上是主机中的浏览器应用进程与Web服务器中的Web服务器应用进程之间基于网络的通信。
◇ 主机路由器处理过程:
应用层按照HTTP协议的规定,构建HTTP请求报文。应用层将HTTP请求报文交付给运输层处理。
运输层给HTTP请求报文添加一个TCP首部,使之成为TCP报文段。该首部的作用主要是为了区分应用进程以及实现可靠传输。运输层将TCP报文段交付给网络层处理。
网络层给TCP报文段添加一个IP首部,该首部的作用主要是为了使IP数据报可以在互联网上传输,网络层将IP数据报交付给数据链路层处理。
数据链路层给IP数据报添加一个首部和一个尾部使之成为帧。该首部的作用主要是为了让帧能够在一段链路上或一个网络上传输,被相应的目的主机接收。数据链路层将帧交付给物理层。
物理层将帧看作是比特流,将比特流变换成相应的信号发送到传输媒体,信号通过传输媒体到达路由器。
◇ 路由器处理过程:
物理层将信号变换为比特流,并交付给数据链路层。
数据链路层将帧的首部和尾部去掉后交付给网络层,这实际上交付的是IP数据报。
网络层解析IP数据报的首部,从中提取目的网络地址,查找自身路由表,确定转发端口。网络层将IP数据报交付给数据链路层。
物理层将帧看作比特流,处理后,变换成相应的信号发送到传输媒体。信号通过传输媒体到达Web服务器。
◇ Web服务器处理过程:
物理层将信号变换为比特流,处理后将其交付给数据链路层,这实际上交付的是帧。
数据链路层将帧的首部和尾部去掉后,将其交付给网络层,这实际上交付的是IP数据报。
网络层将IP数据报的首部去掉后,将其交付给运输层,这实际上交付的是TCP报文段。
运输层将TCP报文段的首部去掉后,将其交付给应用层,这实际上交付的是HTTP请求报文。
应用层对HTTP请求报文进行解析,然后给主机发回HTTP响应报文。与之前过程类似,HTTP响应报文需要在Web服务器层层封装,通过传输媒体传输给路由器。
路由器转发该响应报文给主机,主机通过物理层将收到的信号转换为比特流,之后通过逐层解封,最终取得HTTP响应报文。
-