1.1 互联网概述
-
计算机网络(网络):
-
计算机是由结点(node)和连接这些结点的链路(link)组成,结点可以是计算机、集线器、交换机或路由器组成。一般用一朵云表示网络。通过集线器或交换机组成。
-
-
-
互连网:
-
网络之间通过路由器互连起来,这样就构成了一个范围更大的网络,称为互连网(internet 或 internetwork),泛指由多个计算机网络互连二次的计算机网络。
-
-
-
-
因特网(互联网):
-
因特网(Internet)特指全球最大的互连网。
-
-
网络把许多计算机连接在一起,而互连网则把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机。
-
互联网发展的三个阶段:
-
第一阶段是从单个网络ARPANET向互连网发展的过程。
-
第二阶段是建成了三级结构的互联网,分为:主干网、地区网、和校园网(企业网)。主干网连接各个地区网,地区网连接各个校园网(企业网)。
-
第三阶段形成了多层次ISP结构的互联网。ISP(Internet Service Provider) 互联网服务提供商。例如:中国联通、中国电信。他们运行主干ISP网络
-
ISP从IP地址管理机构获得批量的IP地址,然后分配给上网的用户。
-
-
主干ISP由专门的几个公司创建和维持,服务面积最大(一般覆盖国家范围);地区ISP通过一个或多个主干ISP连接起来;本地ISP给用户提供直接的服务。
-
互联网交换点 IXP(Internet eXchange Point)可以使连个网络直接相连并交换分组,而不需要通过第三个网络来转发分组。如图右下角,两个地区ISP通过IXP连接在一起,就不需要通过主干ISP衔接。
-
如果一个网站供全球用户访问,服务器位于本地ISP,这样对本地用户来说快,但对于别国的用户就很慢,因为穿过了很多ISP,最好放在主干ISP上。
-
一个服务器机房连接的是电信网络,如果一个联通用户访问就会比较慢,因为这个用户要先连接到联通网络,再通过联通网络访问电信网络。
-
-
1.2 互联网的组成
-
边缘部分:
-
有所有连接在互联网上的主机组成,这些主机又称为端系统,可以使个人电脑、很小的网络摄像头、ISP等,边缘部分利用核心部分提供的服务使众多主机之间能够互相通信(指:两个主机之间的两个进程之间进行通信)。在网络边缘的端系统之间的通信方式可以分为两大类:客户-服务器方式(C/S方式)和 对等方式(P2P方式)。
-
客户-服务器方式(C/S):
-
客户(client)和 服务器(server)都是指通信中所涉及的两个应用进程。客户-服务器方式所描述的是进程之间服务和被服务之间的关系。客户是服务请求方,服务器是服务提供方。
-
-
客户程序特点:
-
被用户调用后运行,在通信时向远程服务器发起通信(请求服务)。因此,客户程序必须知道服务器的地址。
-
不需要特殊的硬件和很复杂的操作系统。
-
-
服务器程序特点:
-
是一种专门用来提供某种服务的程序,可同时处理多个本地或远程客户的请求。
-
自系统启动后就一直不断地运行,被动地等待并接受来自各地用户的通信请求。因此,服务器程序不需要知道客户程序的地址。
-
一般需要强大的硬件和高级的操作系统支持。
-
-
还有一种叫做浏览器-服务器的方式 B/S 方式(Browser/Server),是C/S方式的一种特例。
-
-
对等连接方式:
-
对等连接(peer-to-peer,简写为P2P),指主机既可以当做服务器又可以当做客户机,只要两台主机都安装了P2P软件,就可以进行P2P通信。
-
-
-
-
互联网的核心部分:
-
在网络核心部分其特殊作用的是路由器(router),它是一种专用计算机(但不叫主机)。路由器是实现分组交换(packet switching)的关键构建,它的任务是转发收到的分组,是网络核心中最重要的内容。
-
电路交换:
-
电话使用交换机互相通信,许多电话连接到一台交换机上。当电话机数量很多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务,从而形成了覆盖全世界的电信网。
-
-
从通信资源的分配角度来看,交换(switching)就是按照某种方式动态地分配传输线路的资源,当打电话时,就临时搭建起来了一条专用的物理通路;电话挂了时,就释放通信资源。这种经过“建立连接(占用通信资源)→通话(一直占用通信资源)→(归还通信资源)”三个步骤的交换方式成为电路交换。
-
在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。 因此用电路交换来传送计算机数据时,线路的传输效率往往很低,因为有时传送数据的时间很少,但是通信线路却被一直占用。适合数据量很大的实时性传输,一般核心路由器中也适用。建立起来了一条线路。
-
-
-
分组交换:
-
分组交换采用存储转发技术。通常把要发送的整块数据称为一个报文(message)。在发送报文前先把较长的报文划分为一个个更小的等长数据段,例如每个数据段为1024 bit。然后在每个数据段前面加上一些由必要的控制信息组成的首部(header)后,就构成了一个分组(packet)。分组又称为“包”,分组的首部可称为“包头”。分组的首部很重要,正是因为分组的首部包含了目的地址、原地址等控制信息,每个分组才能在互联网独立的选择路径,并被正确的传输到目标。
-
-
位于网络边缘的主机和位于网络核心部分的路由器都是计算机,但是作用不同。主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器则是用来转发分组的,即进行分组交换。路由器接收到一个分组,先暂时存储(是存储在路由器的内存中,而不是硬盘中)一下,然后检查其首部,查找转发表,按照首部中的地址,找到合适的接口转发出去,交给下一个路由器,然后一步一步的交给最终的主机。
-
-
例如,H1向H5发送数据,H1先把一个个分组发送给路由器A;此时,除了链路 H1—A 外,其他链路不被占用,而且,只有当 H1—A 传送数据时,才被占用,在各个分组传输间的空闲时间,其他主机依然能在这条线路上传输数据。
-
如图,如果传输的数据量很大,可以同时延多条链路传输。
-
分组交换在传送数据之前不必先占用一条端到端的链路的通信资源。分组在哪段链路上传送才占用这段链路的通信资源。分组到达一个路由器后,先暂时存储下来,查找转发表,然后找一条合适的链路转发出去。分组就这样一段一段的连续占用通信资源,省去了建立和释放链接的开销,从而数据传输效率更高。
-
-
-
-
1.3 计算机网络的类别
-
按照网络的作用范围来分类:
-
广域网 WAN(Wide Area Network) 广域网的作用范围通常几十到几千公里,是互联网的核心部分,其任务是长距离运送主机所发送的数据。
-
城域网 MAN(Metropolitan Area Network) 城域网的作用范围一般是一个城市。
-
局域网 LAN(Local Area Network) 局域网一般用微型计算机或工作站通过高速通信线路相连,但范围较小。
-
个人区域网 PAN(Personal Area Network) 个人区域网就是在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络。
-
-
按照网络的使用者分类:
-
公用网(public network) 指电信公司出资建造的大型网络,所有缴费的人都能用。
-
专用网(private network) 某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如:军队、铁路、银行等系统均有本系统的专用网。
-
1.4 计算机网络的性能
-
速率:
-
指的是连接在计算机网络上的主机在数字信道上数据的传送速率,也成为数据率(data rate)或比特率(bit rate)。单位是bit/s(或b/s、bps)。当比较大时,还可以写成 kbps、Mbps、Gbps等。除以8才是byte。例如:服务端与客户端进程间的通信速率。
-
-
带宽:
-
指的是单位时间内网络中某信道(如网卡)所能通过的“最高数据率”,单位是bit/s。
-
-
-
吞吐量:
-
单位时间内通过某个网络(或信道、接口)的实际数据量,即总的流量。
-
-
时延:
-
时延(delay 或 latency) 是指数据(一个报文或分组,甚至比特)从网络的一段传送到另一端所需要的时间。也称 延迟 或 迟延 。
-
发送时延(transmission delay): 是指主机或路由器发送数据帧所需要的时间,就是把数据帧全部送出去所用的时间。
-
传播时延(propagation delay): 是指电磁波在信道中传播一定的距离需要花费的时间。
-
处理时延: 主机或路由器在收到分组时要花费一定的时间进行处理。
-
排队时延: 分组在进入路由器后,要先在输入队列中排队等待处理,在路由器确定了转发接口后,还要在输出队列中排队等待转发,这就产生了排队时延。排队时延的长短取决于网络当时的通信量。
-
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
-
-
往返时间 RTT(Round-Trip Time):
-
从发送方发送数据开始,到发送方收到接收方的确认的总时间。如:ping 的时间
-
1.5 计算机网络的体系结构
-
分层:
-
各层之间是独立的,灵活性好,易于实现和维护。
-
网络排错:从低级到高级一层一层地排错。
-
-
OSI 七层模型:
-
应用层:就是能产生网络流量的应用程序。
-
表示层:数据的表示、加密、压缩。
-
会话层:应用程序之间建立的会话。
-
传输层:可靠传输(建立会话)、不可靠传输、流量 控制
-
网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。
-
数据链路层:封装数据、添加物理层地址
-
物理层:提供物理规范,如线缆标准、接口标准、电压。
-
-
五层模型:
-
应用层:任务是通过应用程序间的交互来完成特定网络应用。应用层协议定义的是应用程序间的通信和交互规则。如:DNS,HTTP。
-
运输层:任务是负责向两台主机中进程之间的通信提供通用的数据传输服务。TCP和UDP。
-
网络层:负责为分组交换网上的不同主机提供通信服务。发送数据时,把落差把运输层产生的报文段或用户数据包封装成分组(IP数据包,数据包)进行传送。IP协议。
-
数据链路层:两台主机间的数据传输,总是在一段一段的链路上传送的,在两个相邻节点之间传送数据时,数据链路层把网络层的IP数据包组装成帧(framing),每一帧都包含必要的控制信息。接收端可以根据控制信息决定是否丢弃除了差错的帧,或进行拼接。
-
物理层:在物理层传送数据的 单位是比特,同上。
-
-
接收时反过来一层一层地拆开。
-