计算机网络 概述
[TOC]
计算机网络(网络)由若干结点(Node)和链接这些结点的链路组成。结点可以是计算机、集线器、交换机或路由器等。
网络把许多计算机连接在一起,而互连网则把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机。
互连网和互联网
- 互连网
以小写字母i开始的internet(互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议(即通信规则)可以是任意的,不一定非要使用TCP/IP协议。
- 互联网
以大写字母I开始的Internet(互联网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。
互联网是当前一个全球流行的互连网,采用了TCP/IP协议族
互联网服务提供者 ISP
随着互联网的发展,目前形成了多层次ISP结构的互联网。“分布式”地有服务中心,子结点之间可以通过其共同父ISP进行通信。人们为了更快转发分组和更有效地利用网络资源,发明了 互联网交换点IXP(internet eXchange Point)
而根据提供服务的覆盖面基大小以及所拥有的IP地址数目的不同,ISP也分为不同层次:主干ISP、地区ISP、本地ISP。
多层ISP互联网结构概念图
互联网的组成
- 边缘部分
由所有连接在互联网上的主机(又称端系统)组成。
- 核心部分
互联网的边缘部分与核心部分由大量网络和连接这些网络的路由器组成。为边缘部分提供服务(连通性和交换)
边缘部分
端系统可以为一台个人电脑,也可以是一台大型计算机,当然也可以是某ISP(不仅仅提供服务)。它们通过核心部分所提供的服务,使得众多主机之间能够互相通信并交换或共享信息。
网络边缘的端系统之间的通信方式通常可划分为两大类:
-
客户-服务器方式
客户(client)是服务请求方,服务器(server)是服务提供方。
客户程序被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。需知道服务器地址。
服务器程序自启动后一直不断运行这,被动地等待并接受来自各地的客户的通信请求。不需要知道客户程序地址。 -
对等连接方式
对等连接(peer-to-peer, P2P),两台主机在通信时并不区分那一个是请求方哪一个是服务提供方。本质上看仍是使用客户-服务器方式。eg.双方都可以下载对方已经存储在硬盘中的共享文档。迅雷进行全网数据挖掘,自动匹配与资源相同的镜像给用户下载,同时用户可能还作为镜像源提供服务。
核心部分
网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一台主机都能够向其他主机通信。这部分起到特殊作用的是路由器。
- 路由器(router)
一种专用计算机,是实现分组交换的关键构件,其任务是转发收到的分组。
-
电路交换
电路交换例子-电话机
建立了一条专用的物理通路,一个特点是在通话的全部时间内,通话的两个用户始终占用端到端通信资源。如果用电路交换来传送计算机数据,那么线路的传输效率往往很低,计算机数据是突发式的,你在编辑一份文档而用不到网络,然而通信线路资源却一直被占用着。
-
分组交换
采用存储转发技术。在发送报文之前,先将之划分为一个个更小的等长数据段,再分别加上一些由必要的控制信息组成的首部(header)后,成为一个分组。分组又称“包”,首部又称“包头”。分组是在互联网中传送的数据单元。- 路由器收到一个分组,暂时存储下来。
- 取出一个分组,检查首部,查找转发表[1]。
- 按照首部中的目的地址,找到合适的接口转发出去[2]。
- 如果不是目的主机,则重复step 1
[1] 可能连续取得的是不同报文的分组。
[2] 各路由器之间经常交换彼此掌握的路由信息,这样才能知道要到目的地址需要转发到哪个路由器。
分组交换的优点:高效、灵活、迅速、可靠。
分组交换的缺点:时延、首部开销、需要管控。
计算机网络的类别
有一种定义:计算机网络是由一些通用的可编程的硬件互连而成,可以传送多种数据并应用广泛。
-
按照作用范围进行分类
- 广域网(WAN)
互联网的核心部分,通过的距离很长(比如跨越不同国家),通信容量大。
- 城域网(MAN)
> 作用范围一般是一个城市,用来将多个局域网进行互连,有的也用广域网的技术。
- 局域网(LAN)
> 地理上局限在较小的范围,学校或企业大都拥有许多个互连的局域网。
- 个人区域网(PAN)
> 用个人使用的电子设备用无线技术连接起来的网络。 -
按照网络的使用者进行分类
- 公用网
按电信公司的规定缴纳费用的人都可以使用的这种网络。
- 专用网
> 某个部门为满足本单位的特殊业务工作的需要而建造的网络。
计算机网络的性能
速率
网络中的速率指的是数据的传送速率,称为比特率,单位是bit/s(bps)。常用一千bps来描述,1kbps=1000bps,兆(M)、吉(G)同样是以1000进位。
不同于计算机中使用210=1024来进位,而计算机中的KB的B是Byte,1Byte=8bit。
带宽
本指信号的频带宽度,计算机网络中表示通道传送数据的能力----“最高数据率”,单位是bit/s。事实上,这两个表述本质是一样的。
吞吐量
单位时间通过网络的实际数据量。受带宽和额定速率的限制,它们是吞吐量的绝对上限值。
时延
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
- 发送时延。主机或路由器发送数据帧所需要的时间(认为帧发出后,才开始传播,因为路由器都有存储区,可看成入队列所需时间)。
发送时延 = 数据帧长度(bit) / 发送速率(bit/s) - 传播时延。在信道中传播一定距离需要花费的时间。
- 处理时延。主机或路由器在收到分组时要花费一定的时间进行处理。
- 排队时延。可理解为,和其他报文的分组排队等待的时间。
对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。提高数据的发送速率是减小了数据的发送时延。
时延带宽积、往返时间RTT、利用率
“时延宽带积”表示从发送端发出的但尚未到达接收端的比特。
“往返时间RTT”用来描述双向交互时的传输效率。
“利用率”分信道利用率和网络利用率,信道利用率表示某信道有百分之几的时间被利用,网络利用率表示全网络的信道利用率的加权平均值。
根据排队论,利用率越高,时延则会变高。
计算机的网络体系结构
计算机网络的各层及其协议的集合,称为网络的体系结构。
国际标准
得到最广泛应用的不是法律上的国际标准OSI,而是事实上的国际标准TCP/IP。
关于协议的理解
每一层及其协议都可以这么来描述:使用了低一层的XX接口(后称服务),暴露了XX接口。
协议,实际上就是在各个对等层之间传递数据时的各项规定。即本层实体所暴露的接口。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,要实现本层协议,还需要使用下面一层所提供的服务。
分层并使用协议,是分治法的一种,也可以理解为功能的解耦,自顶向下的调用关系(类似函数)。
具有五层协议的体系结构
计算机网络体系结构TCP/IP实质上只有最上面的三层,因此学习计算机网络的原理时往往采用折衷的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构。
-
应用层
定义了应用进程间通信和交互的规则,并提供了服务,常用协议是HTTP、SMTP等。 -
运输层
负责向两台主机的进程之间的通信提供通用的数据传输服务。主要提供TCP、UDP协议。
运输层使用网络层接口,将数据流分别交付相应进程。
-
网络层
负责为分组交换网上的不同主机提供通信服务。提供(本层的应用使用)了IP协议,分组也叫做IP数据报,简称数据报。 -
数据链路层
主要是采用了同步、容错策略,将物理层的比特数据还原成数据报返回,或将网络层的IP数据报组装成帧发送。 -
物理层
使用物理接口设备,进行电子信号的收发。相关设备有集线器、转发器。
everything over IP & IP over everything
TCP/IP协议可以为各式各样的应用提供服务(everything over IP),同时TCP/IP协议允许IP协议在各式各样的网络构成的互联网上运行(IP over everything)。
网友评论