【主要内容】
计算机网络的概念,组成与功能,计算机网络的分类
计算机网络的标准化工作以及相关组织
计算机网络体系结构与参考模型
计算机网络分层结构:计算机网路协议,接口,服务等
ISO/OSI 参考模型和TCP/IP模型
计算机网络是一个将分散的,具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统;简而言之:计算机网络就是一些互联的,自治的计算系统的集合。
这种观点认为,计算机网络是"以能够相互共享资源的方式互联起来的自治计算机系统的集合"。该定义包含三层含义∶①目的∶资源共享;②组成单元∶分布在不同地理位置的多台独立的"自治计算机";③网络中的计算机必须遵循的统一规则——网络协议。该定义符合目前计算机网络的基本特征。
这种观点认为,存在一个能为用户自动管理资源的网络操作系统,它能够调用用户所需要的资源,而整个网络就像一个大的计算机系统一样对用户是透明的。用户使用网络就像使用一台单一的超级计算机,无须了解网络的存在、资源的位置信息。用户透明性观点的定义描述了一个分布式系统,它是<!--网络未来发展追求的目标--!>。
【从组成部分来看】
【从工作方式来看】
从工作方式上看,计算机网络(这里主要指Internet)可分为边缘部分和核心部分。边缘部分由所有连接到因特网上、供用户直接使用的主机组成,用来进行通信(如传输数据、音频或视频)和资源共享;核心部分由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务。图1.1给出了这两部分的示意图。
【从功能组成来看】
从功能组成上看,计算机网络由通信子网和资源子网组成。通信子网由各种传输介质、通信设备和相应的网络协议组成,它使网络具有数据传输、交换、控制和存储的能力,实现联网计算机之间的数据通信。资源子网是实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。
【五大功能】
它是计算机网络最基本和最重要的功能,用来实现联网计算机之间的各种信息的传输,并将将分散在不同地理位置的计算机联系起来,进行统一的调配、控制和管理。比如,文件传输、电子邮件等应用,离开了计算机网络将无法实现。
资源共享可以是软件共享、数据共享,也可以是硬件共享。使计算机网络中的资源互通有无、分工协作,从而极大地提高硬件资源、软件资源和数据资源的利用率。
当计算机网络中的某个计算机系统负荷过重时,可以将其处理的某个复杂任务分配给网络中的其他计算机系统,从而利用空闲计算机资源以提高整个系统的利用率。
计算机网络中的各台计算机可以通过网络互为替代机
将工作任务均衡地分配给计算机网络中的各台计算机
另外还有,计算机网络还可以实现电子化办公与服务,远程教育与娱乐
广域网(WAN),城域网(MAN),局域网(LAN),个人局域网(PAN)
广播式网络,点对点网络
3、拓扑结构分类
按网络的拓扑结构,主要分为总线形、星形、环形和网状形网络等
1)总线形网络。用单根传输线把计算机连接起来。总线形网络的优点是建网容易、增减结 点方便、节省线路。缺点是重负载时通信效率不高、总线任意一处对故障敏感。 2)星形网络。每个终端或计算机都以单独的线路与中央设备相连。中央设备早期是计算机, 现在一般是交换机或路由器。星形网络便于集中控制和管理,因为端用户之间的通信必须经过中央设备。缺点是成本高、中心结点对故障敏感。 3)环形网络。所有计算机接口设备连接成一个环。环形网络最典型的例子是令牌环局域网。 环可以是单环,也可以是双环,环中信号是单向传输的。 4)网状形网络。一般情况下,每个结点至少有两条路径与其他结点相连,多用在广域网中。 有规则型和非规则型两种。其优点是可靠性高,缺点是控制复杂、线路成本高。
公用网,专用网
(1) 电路交换网络(2)报文交换网络(3)分组交换网络
有线和无线
1)因特网草案(Internet Draft)。这个阶段还不是RFC文档。
2)建议标准(Proposed Standard)。从这个阶段开始就成为RFC文档。
3)草案标准(Draft Standard)。
4)因特网标准(Internet Standard)。
性能指标从不同方面度量计算网络的性能
(1)带宽(BandWidth) 单位Hz赫兹,表示网络通信所能传送数据的能力
(2)时延(delay):发送时延,传播时延,处理时延,排队时延
(3)时延带宽积
(4)往返时延
(5)吞吐量:单位时间内通过某个网络(信道,接口)的数据量,受网络带宽或者网络额定速率的限制
(6)速率:速率(Speed)。网络中的速率是指连接到计算机网络上的主机在数字信道上传送数据的速率,也称数据率或比特率,单位为b/s(比特/秒)(或bit/s,有时也写为bps)。数据率较高时,可用kb/s(k=10³)、Mb/s(M=10°)或Gb/s(G=10°)表示。在计算机网络中,通常把最高数据率称为带宽。
(7)信道利用率
计算机网络的体系结构通常都具有可分层的特性,它将复杂的大系统分成若干较容易实现的层次。分层的基本原则如下∶
1)每层都实现一种相对独立的功能,降低大系统的复杂度。
2)各层之间界面自然清晰,易于理解,相互交流尽可能少。
3)各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
4)保持下层对上层的独立性,上层单向使用下层提供的服务。
5)整个分层结构应能促进标准化工作。
物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方法,所以物理层协议也称物理层接口标准。由于在通信技术的早期阶段,通信规则称为规程(Procedure),因此物理层协议也称物理层规程。物理层接口标准很多,如EIA-232C、EIA/TIARS-449、CCITT的X.21;例如:网线接口
数据链路层的传输单位是帧,任务是将网络层传来的 IP数据报组装成帧。数据链路层的功能可以概括为成帧、差错控制、流量控制和传输管理等。
由于外界噪声的干扰,原始的物理连接在传输比特流时可能发生错误。如图1.8所示,左边结点想向右边结点传输数字0,于是发出了信号A;但传输过程中受到干扰,信号A变成了信号B,而信号B又刚好代表1,右边结点接收到信号B时,就会误以为左边结点传送了数字1,从而发生差错。两个结点之间如果规定了数据链路层协议,那么就可以检测出这些差错,然后把收到的错误信息丢弃,这就是差错控制功能。 如图1.8所示,在两个相邻结点之间传送数据时,由于两个结点性能的不同,可能结点A发送数据的速率会比结点B接收数据的速率快,如果不加控制,那么结点B就会丢弃很多来不及接收的正确数据,造成传输线路效率的下降。流量控制可以协调两个结点的速率,使结点A发送数据的速率刚好是结点B可以接收的速率。 广播式网络在数据链路层还要处理新的问题,即如何控制对共享信道的访问。数据链路层的一个特殊的子层——介质访问子层,就是专门处理这个问题的。 典型的数据链路层协议有SDLC、HDLC、PPP、STP和帧中继等。
网络层的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能。
差错控制是通信两结点之间约定的特定检错规则,如奇偶校验码,接收方根据这个规则检查接收到的分组是否出现差错,如果出现了差错,那么能纠错就纠错,不能纠错就丢弃,确保向上层提交的数据都是无误的。 如果图1.9中的结点都处于来不及接收分组而要丢弃大量分组的情况,那么网络就处于拥塞状态,拥塞状态使得网络中的两个结点无法正常通信。网络层要采取一定的措施来缓解这种拥塞,这就是拥塞控制。 因特网是一个很大的互联网,它由大量异构网络通过路由器(Router)相互连接起来。因特网的主要网络层协议是无连接的网际协议(Intermnet Protocol,IP)和许多路由选择协议,因此因特网的网络层也称网际层或IP层。 注意,网络层中的"网络"一词并不是我们通常谈及的具体网络,而是在计算机网络体系结构中使用的专有名词。 网络层的协议有IP、IPX、ICMP、IGMP、ARP、RARP和OSPF等。
传输层也称运输层,传输单位是报文段(TCP)或用户数据报(UDP),传输层负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。 数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。通俗地说,点到点可以理解为主机到主机之间的通信,一个点是指一个硬件地址或IP地址,网络中参与通信的的主机是通过硬件地址或IP地址标识的;端到端的通信是指运行在不同主机内的两个进程之间的通信,一个进程由一个端口来标识,所以称端到端通信。
使用传输层的服务,高层用户可以直接进行端到端的数据传输,从而忽略通信子网的存在。通过传输层的屏蔽,高层用户看不到子网的交替和变化。由于一台主机可同时运行多个进程,因此传输层具有复用和分用的功能。复用是指多个应用层进程可同时使用下面传输层的服务,分用是指传输层把收到的信息分别交付给上面应用层中相应的进程。 传输层的协议有TCP、UDP。
会话层允许不同主机上的各个进程之间进行会话。会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务。这种服务主要为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也称建立同步(SYN)。 会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。会话层可以使用校验点使通信会话在通信失效时从校验点继续恢复通信,实现数据同步。
表示层主要处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方法不同,使用的数据结构也不同。为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据压缩、加密和解密也是表示层可提供的数据表示变换功能。
应用层是OSI模型的最高层,是用户与网络的界面。应用层为特定类型的网络应用提供访问OSI环境的手段。因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。典型的协议有用于文件传送的FTP、用于电子邮件的 SMTP、用于万维网的 HTTP等。
ARPA在研究 ARPAnet时提出了TCP/IP模型,模型从低到高依次为网络接口层(对应OSI 参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应OSI参考模型中的会话层、表示层和应用层)。TCP/IP由于得到广泛应用而成为事实上的国际标准。TCP/IP的层次结构及各层的主要协议如图1.11所示。
最后简单介绍使用通信协议栈进行通信的结点的数据传输过程。每个协议栈的最顶端都是一个面向用户的接口,下面各层是为通信服务的协议。用户传输一个数据报时,通常给出用户能够理解的自然语言,然后通过应用层,将自然语言会转化为用于通信的通信数据。通信数据到达传输层,作为传输层的数据部分(传输层SDU),加上传输层的控制信息(传输层PCI,组成传输层的PDU,然后交到网络层,传输层的PDU下放到网络层后,就成为网络层的SDU,然后加上网络层的PCI,又组成了网络层的PDU,下放到数据链路层,就这样层层下放,层层包裹,最后形成的数据报通过通信线路传输,到达接收方结点协议栈,接收方再逆向地逐层把"包裹"拆开,然后把收到的数据提交给用户,如图1.14所示。
--保证接收方进程从缓冲区读出的字节流与发送方发出的字节流是完全一样的
机制:校验,序号,确认,重传
校验:校验发送的时候是16位的整数
序号确认:确认TCP传输字节的数据编号,也叫序列号
重传:超时重传
首先,发送方没有介绍到响应的ACK报文原因可能有两点:
-
数据在传输过程中由于网络原因等直接全体丢包,接收方根本没有接收到。
-
接收方接收到了响应的数据,但是发送的ACK报文响应却由于网络原因丢包了
简单理解就是发送方在发送完数据后等待一个时间,时间到达没有接收到ACK报文,那么对刚才发送的数据进行重新发送。如果是刚才第一个原因,接收方收到二次重发的数据后,便进行ACK应答。如果是第二个原因,接收方发现接收的数据已存在(判断存在的根据就是序列号,所以上面说序列号还有去除重复数据的作用),那么直接丢弃,仍旧发送ACK应答。
接收端在接收到数据后,对其进行处理。如果发送端的发送速度太快,导致接收端的结束缓冲区很快的填充满了。此时如果发送端仍旧发送数据,那么接下来发送的数据都会丢包,继而导致丢包的一系列连锁反应,超时重传呀什么的。而TCP根据接收端对数据的处理能力,决定发送端的发送速度,这个机制就是流量控制。
在TCP协议的报头信息当中,有一个16位字段的窗口大小。在介绍这个窗口大小时我们知道,窗口大小的内容实际上是接收端接收数据缓冲区的剩余大小。这个数字越大,证明接收端接收缓冲区的剩余空间越大,网络的吞吐量越大。接收端会在确认应答发送ACK报文时,将自己的即时窗口大小填入,并跟随ACK报文一起发送过去。而发送方根据ACK报文里的窗口大小的值的改变进而改变自己的发送速度。如果接收到窗口大小的值为0,那么发送方将停止发送数据。并定期的向接收端发送窗口探测数据段,让接收端把窗口大小告诉发送端。
TCP引入了慢启动的机制,在开始发送数据时,先发送少量的数据探路。探清当前的网络状态如何,再决定多大的速度进行传输。发送刚开始定义拥塞窗口为 1,每次收到ACK应答,拥塞窗口加 1。在发送数据之前,首先将拥塞窗口与接收端反馈的窗口大小比对,取较小的值作为实际发送的窗口。
拥塞窗口的增长是指数级别的。慢启动的机制只是说明在开始的时候发送的少,发送的慢,但是增长的速度是非常快的。为了控制拥塞窗口的增长,不能使拥塞窗口单纯的加倍,设置一个拥塞窗口的阈值,当拥塞窗口大小超过阈值时,不能再按照指数来增长,而是线性的增长**。在慢启动开始的时候,慢启动的阈值等于窗口的最大值,一旦造成网络拥塞,发生超时重传时,慢启动的阈值会为原来的一半(这里的原来指的是发生网络拥塞时拥塞窗口的大小),同时拥塞窗口重置为 1。**
拥塞控制是TCP在传输时尽可能快的将数据传输,并且避免拥塞造成的一系列问题。是可靠性的保证,同时也是维护了传输的高效性。