互联网的分层次结构
生活中几个常用的网络概念
速率
比特(bit)是通信中信息量的单位,一个比特就是二进制数字中的一个1或0.网络中的速率也就是数据的传送速率,是指连接到计算机网络上的主机在数字信道上传送数据的速率,也称数据率或比特率,单位为b/s(比特/秒,有时也写作bps).数据率较高时,可用kb/s(k=103)。Mb/s(M=106)或Gb/s(G=10^9)表示。在计算机网络中,通常把最高数据率称为带宽。
带宽
“带宽”(bandwidth)有以下两种不同的意义:
- 带宽本来是指某个信号具有的频带宽度。信号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围。这种意义的带宽的单位是赫(或千赫、兆赫、吉赫等。)
- 在计算机网络中,带宽用来表示网络中某信道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据率。”这种意义的带宽的单位就是数据率党的单位:bit/s,即比特每秒。
时延
时延(delay或latency)是指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需的时间。时延又可以分为以下四种:
1.发送时延。
发送时延(transmission delay)是主机或路由器发送数据帧所需要的时间。
2. 传播时延。
传播时延(propagation delay)是电磁波在信道中传播一定的距离需要花费的时间。传播时延发生在机器外部的传输媒体上,信号传送的距离越远,传播时延越大。
3. 处理时延。
处理时延是主机或路由器在收到分组对分组进行去头去尾,差错检错,所花费的时间。
4.排队时延。
分组在进入路由器要等待路由器确认了转发接口后,在输出队列中排队等待转发。排队时延的长短取决于网络当时的通信量。
计算机网络体系结构
两个系统中实体间的通信是一个很复杂的过程,为了降低协议设计和调试过程的复杂性,也为了便于对网络进行研究、实现和维护,促进标准化工作,通常对计算机网络的体系结构以分层的方式进行建模。分层的目的是将庞大而复杂的问题转化为易于研究和处理的局部问题。
计算机网络协议、服务的概念
在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约好的规则。这些为进行网络中的数据交换而建立的规则、标准或约定称为**网络协议(network Protocol)。**网络协议由语法、语义和同步三部分组成。语法规定了传输数据的格式;语义规定了所要完成的功能,即需要发出何种控制信息、完成何种动作及做出何种应答;同步规定了执行各种操作的条件、时序关系等。
在协议的控制下,两个对等实体间的通信是的本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的的服务。
协议是水平的,但服务是垂直的。服务是指下层为紧邻的上层提供的功能调用,它是垂直的。对等实体在协议的控制下,使得本层能为上一层提供服务,但要实现本层协议还要使用下一层所提供的的服务。计算机网络提供以下三种方式的服务:
面向连接服务于无连接服务
在面向连接服务中,通信双方先建立连接,分配资源,再进行数据传输,数据传输完成后释放连接和所占用的资源。TCP就是一种面向连接服务的协议。
在无连接服务中,通信双方不需要事先建立连接也不要释放连接,需要发送数据时直接发送。这种服务常被描述为“尽最大努力交付”(Best-Effort-Delivery),它是一种不可靠的服务。IP、UDP、就是无连接服务。
可靠服务和不可靠服务
可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。
不可靠服务是指网络只是尽量正确、可靠地传送,而不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。
有应答服务和无应答服务
有应答服务是指接收方在收到数据后向发送方给出相应的应答。文件传输服务就是一种有应答服务。
无应答服务是指接收方收到数据后不自动给出应答。例如,对于www服务,客户端收到服务器发送的页面文件后不给出应答。
OSI参考模型和TCP/IP模型
OSI参考模型。国际标准化组织ISO与1997年提出了一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型OSI/RM(Open System Interconnection Reference Model),简称OSI。
OSI参考模型
OSI有七层,自下而上依次为物理层、数据链层、网络层、传输层、会话层、表示层、应用层。下三层统称为通信子网,负责联网完成数据传输功能。上三层统称为资源子网,它相当于计算机系统,完成数据处理功能。最中间的传输层承上启下。
TCP/IP模型。
ARPA在研究ARPAnet时提出了TCP/IP模型,模型从低到高依次为网络接口层、网际层、传输层和应用层。由于基于TCP/IP的互联网抢先在全球大范围成功运行,所以得到最广泛应用的并不是法律上的国际标准OSI,而TCP/IP模型也被称为事实上的国际标准。
在学习计算机网络时,我们往往采用折中的方法,采用一种五层模型结构,即我们所熟知的物理层、数据链路层、网络层、传输层和应用层。
(1) 应用层(application layer)
应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,等等。应用层交互的数据单元称为报文(message)。
(2) 运输层(transport layer)
运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务>应用进程利用该服务传送应用层报文。
运输层主要使用以下两种协议:
传输控制协议TCP (Transmission Control Protocol)——提供面向连接的、可靠的数
据传输服务,其数据传输的单位是报文段(segment)。
用户数据报协议 UDP (User Datagram Protocol)——提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。
(3)网络层(network layer)
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫IP数据报,或前称为数据报。
无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。
网络层的另一个往务最是要选择合适的路由,使源主机运输层所传下来的分组,能物通过网络中的路由器找到目的主机。
(4) 数据链路层(data link layer)
数据链路层常简称为链路层,在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。
在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。
控制信息还使接收端能够检测到所收到的帧中有无差错。
(5)物理层(physical layer)
在物理层上所传数据的单位是比特。因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何别出发送方所发送的比特。当然,解释比特代表的意思,就不是物理层的任务。请注意,传输介质,如双绞线、同轴电缆、光缆、无线信道等,并不属于物理层而是在理层协议的下面。因此也有人把物理层下面的物理媒体当作第0层。