1.1计算机网络基本概念
计算机网络=通信技术+计算机技术
计算机网络是通信技术与计算机技术紧密结合的产物
通信系统模型:
计算机网络就是一种通信网络
计算机网络?
■定义:计算机网络就是互连的、自治的计算机集合。
■自治-无主从关系(某一个计算机不能控制另一个计算机)
■互连-互联互通
通信链路(光纤,同轴电缆,无线)
距离远、数量大如何保证互连?
通过交换网络互连主机
主机之间可以通过交换网络的交换结点实现数据中继,把数据从原主机送到目的主机
什么是Internet?-组成细节角度
全球最大的互联网络§ISP(Internet Service Provider)网络互连的“网络之网络”
■全球最大的互联网络
§ISP网络互连的“网络之网络”
■数以百万计的互连的计算设备集合:(pc,服务器,无线笔记本,智能手机)
§ 主机(hosts)=端系统(end systems)
§ 运行各种网络应用
■通信链路(有线链路,无线链路)
§ 光纤,铜缆,无线电,卫星……
■分组交换:转发分组(数据包)
§ 路由器(routers)和交换机(switches)
什么是Internet?-服务角度
■为网络应用提供通信服务的通信基础设施:
Web, VoIP, email,网络游戏,电子商务,社交网络,…
■为网络应用提供应用编程接口(API):
支持应用程序“连接”Internet,发送/接收数据
提供类似于邮政系统的数据传输服务
1.2什么是网络协议
协议是计算机网络有序运行的重要保证
v ■硬件(主机、路由器、通信链路等) 是计算机网络的基础
v ■计算机网络中的数据交换必须遵守事先约定好的规则
v ■如同交通系统
任何通信或信息交换过程都需要规则
网络通信:
■通信主体是“机器”而不是人
■交换“电子化”或“数字化”消息
■计算机网络的所有通信过程都必须遵守某种/些规则—协议
网络协议
■网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定
■协议规定了通信实体之间所交换的消息的格式、 意义、 顺序以及针对收到信息或发生的事件所采取的“动作” (actions)
协议的三要素
■语法(Syntax)
§ 数据与控制信息的结构或格式
§ 信号电平
■语义(Semantics)
§ 需要发出何种控制信息
§ 完成何种动作以及做出何种响应
§ 差错控制
■时序(Timing)
§ 事件顺序
§ 速度匹配
协议是计算机网络的重要内容
■协议规范了网络中所有信息发送和接收过程
§e.g., TCP, IP, HTTP, Skype,802.11
■学习网络的重要内容之一
■网络创新的表现形式之一
■Internet协议标准
§RFC: Request for Comments
§IETF:互联网工程任务组(Internet Engineering Task Force)
1.3计算机网络结构
■网络边缘:
§ 主机
§ 网络应用
■接入网络,物理介质:
§ 有线或无线通信链路
■网络核心(核心网络):
§ 互联的路由器(或分组转发设备)
§ 网络之网络
网络边缘
■主机(端系统):
§ 位于“网络边缘”
§ 运行网络应用程序
• 如:Web, email
■客户/服务器(client/server)应用模型:
§ 客户发送请求,接收服务器响应
§ 如:Web应用,文件传输FTP应用
注:谁主动发起请求就是客户端,谁被动接受请求就是服务器
■对等(peer-peer, P2P)应用模型:
§ 无(或不仅依赖)专用服务器
§ 通信在对等实体之间直接进行
§ 如:Gnutella, BT, Skype, QQ
接入网络
Q:如何将网络边缘接入核心网(边缘路由器)?
A:接入网络
v 住宅(家庭)接入网络
v 机构接入网络(学校,企业等)
v 移动接入网络
用户关心是:
v 带宽(bandwidth) (bps)?
v 共享/独占?
接入网络:数字用户线路(DSL)
■利用已有的电话线连接中心局的DSLAM
§ 数据通信通过DSL电话线接入Internet
§ 语音(电话)通过DSL电话线接入电话网
■< 2.5 Mbps上行传输速率(典型速率< 1 Mbps)
■< 24 Mbps下行传输速率(典型速率< 10)
■FDM: >50 kHz - 1 MHz用于下行
4 kHz - 50 kHz用于上行
0 kHz - 4 kHz用于传统电话
接入网络:电缆网络
■HFC:混合光纤同轴电缆(hybrid fiber coax)
§ 非对称:下行高达30Mbps传输速率,上行为2 Mbps传输速率
■各家庭(设备)通过电缆网络→光纤接入ISP路由器
§ 各家庭共享家庭至电缆头端的接入网络
§ 不同于DSL的独占至中心局的接入
典型家庭网络的接入
机构(企业)接入网络(Ethernet)
无线接入网络
■通过共享的无线接入网络连接端系统与路由器
§ 通过基站(base station)或称为“接入点”(access point)
网络核心
■互联的路由器网络
■网络核心的关键功能:路由+转发
■网络核心解决的基本问题
vQ: 如何实现数据从源主机通过网络核心送达目的主机?
vA: 数据交换
1.4Internet结构
Internet结构:网络之网络
由很多网络互联构成一个大的网络
■端系统通过接入ISP(access ISPs)连接到Internet
§ 家庭、公司和大学ISPs
■接入ISP必须进一步互连
§ 这样任意两个主机才可以互相发送分组
■构成复杂的网络互连的网络
§ 经济和国家政策是网络演进的主要驱动力
■当前Internet结构?
§ 无人能给出精确描述
■在网络中心:少数互连的大型网络
§ “一级”(tier-1)商业ISPs (如:网通、电信、Sprint、AT&T),提供国家或国际范围的覆盖
§ 内容提供商网络(content provider network, 如:Google):私有网络,连接其数据中心与Internet,通常绕过一级ISP和区域ISPs
1.5数据交换-电路交换
■互联的路由器网络
vQ: 如何实现数据从源主机通过网络核心送达目的主机?
vA: 数据交换
为什么需要数据交换?
vN2链路问题
v连通性
v网络规模
交换?
■动态转接
动态的在物理上或者逻辑上建立端口之间连接,将信息从一个端口转移到另一个端口,并且可以并行的进行,实际应用如电话网络
■动态分配传输资源
数据交换的类型
v电路交换
v报文交换
v分组交换
电路交换的特点
■最典型电路交换网络:电话网络
■电路交换的三个阶段:
§ 建立连接(呼叫/电路建立)
§ 通信
§ 释放连接(拆除电路)
■独占资源
两个电话之间建立的通信电路资源不能被第三方共享
1.6多路复用
解决电路交换网络如何共享中继线的问题,即电路交换网络的链路共享。
多路复用(multiplexing),简称复用,是通信技术中的基本概念,多路信号采用同一个物理介质来进行传输
■多路复用(Multiplexing):
·链路/网络资源(如带宽)划分为“资源片”
v 将资源片分配给各路“呼叫”(calls)
v 每路呼叫独占分配到的资源片进行通信
v 资源片可能“闲置”(idle)(无共享)
■典型多路复用方法:
v 频分多路复用( frequency division multiplexing-FDM )
v 时分多路复用( time division multiplexing-TDM )
v 波分多路复用(Wavelength division multiplexing-WDM)
v 码分多路复用( Code division multiplexing-CDM )
频分多路复用FDM
将信号在频率上划分,分成一个个频带的子信道,将信号只使用一个频带的子信道,以为不同频率之间是隔离开的,互不干扰。
例:有线电视
■频分多路复用的各用户占用不同的
带宽资源(请注意,这里的“带宽”是频率带宽(单位:Hz) 而不是数据的发送速率)
■用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带
时分多路复用TDM
■时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧),每个用户在每个TDM帧中占用固定序号的时隙,每个时隙允许发送一定的信息
■每用户所占用的时隙是周期性出现(其周期就是TDM帧的长度)
■时分复用的所有用户是在不同的时间占用相同的频带宽度
波分多路复用WDM
■波分复用就是光的频分复用(将波的光长分道)
码分多路复用CDM
■广泛应用于无线链路共享(如蜂窝网,卫星通信等)
■每个用户分配一个唯一的m bit码 片 序 列(chipping sequence), 其中“0” 用“-1” 表示、 “1” 用“+1” 表示, 例如:
§S站的码片序列:(–1–1–1 +1 +1–1 +1 +1)
■各用户使用相同频率载波, 利用各自码片序列编码数据
■编码信号= (原始数据)×(码片序列)
§ 如发送比特1(+1) , 则发送自己的m bit码片序列
§ 如发送比特0(-1) , 则发送该码片序列的m bit码片序列的反码
■各用户码片序列相互正交(orthogonal)
编/解码举例
11.7数据交换—报文、分组交换
报文交换(message switching)
■报文:源(应用)发送信息整体
§ 比如:一个文件
分组交换(package switching)
■分组:报文分拆出来的一系列相对较小的数据包(加头,头里加一些控制信息,如地址信息)
■分组交换需要报文的拆分与重组
■产生额外开销(并不严重)
分组交换:统计多路复用(Statistical Multiplexing)
A & B分组序列不确定,按需共享链路->statistical multiplexing.(需要就占带宽,不需就不占)
存储-转发(store-and-forward)
将收到的信息存储一下,确定那个链路能用再转发出去
■报文交换与分组交换均采用存储-转发交换方式区别:
§ 报文交换以完整报文进行“存储-转发”
§ 分组交换以较小的分组进行“存储-转发”
分组交换:传输延迟
发送主机:
■接收应用报文(消息)
■拆分为较小长度为L bits的分组(packets)
■在传输速率为R的链路上传输分组
报文交换vs分组交换
■报文交换:
§ 报文长度为M bits
§ 链路带宽为R bps
§ 每次传输报文需要M/R秒
■分组交换:
§ 报文被拆分为多个分组
§ 分组长度为L bits
§ 每个分组传输时延为L/R秒
分组交换的报文交付时间
T=M/R+(h-1)L/R=M/R+nL/R
■报文: M bits
■链路带宽(数据传输速率): R bps
■分组长度(大小): L bits
■跳步数: h(从一点到下一个相邻点就是一个跳步)
■路由器数:n=h-1
分组交换vs电路交换
■分组交换允许更多用户同时使用网络!——网络资源充分共享
■适用于突发数据传输网络
§ 资源充分共享
§ 简单、无需呼叫建立
■可能产生拥塞(congestion):分组延迟和丢失
§ 需要协议处理可靠数据传输和拥塞控制
11.8计算机网络性能
速率
■速率即数据率(data rate)或称数据传输速率或比特率(bit rate)
§ 单位时间(秒)传输信息(比特)量
§ 计算机网络中最重要的一个性能指标
§ 单位:b/s(或bps)、kb/s、Mb/s、Gb/s
§k=103、M=106、G=109
■速率往往是指额定速率或标称速率
带宽
■“带宽”(bandwidth)原本指信号具有的频带宽度即最高频率与最低频率之差,单位是赫兹(Hz)
■网络的“带宽”通常是数字信道所能传送的“最高数据率”,单位:b/s (bps)
■常用的带宽单位:
§kb/s(10^3 b/s)
§Mb/s(10^6 b/s)
§Gb/s(10^9 b/s)
§Tb/s(10^12 b/s)
延迟/时延(delay或latency)
Q:分组交换为什么会发生丢包和时延?
A:分组在路由器缓存中排队
v 分组到达速率超出输出链路容量时
v 分组排队,等待输出链路可用
■d_proc:结点处理延迟(nodal processing delay)
§ 差错检测
§ 确定输出链路
§ 通常< msec(一般不会超过毫秒级)
■d_queue:排队延迟(不确定)(queueing delay)
§ 等待输出链路可用
§ 取决于路由器拥塞程度
■d_trans:传输延迟(transmission delay)
§L:分组长度(bits)
§R:链路带宽(bps)
§d_trans = L/R
■d_prop:传播延迟(propagationdelay)
§d:物理链路长度
§s:信号传播速度(~2×10^8m/sec)
§d_prop = d/s
排队延迟
■R:链路带宽(bps)
■L:分组长度(bits)
■a:平均分组到达速率
流量强度(traffic intensity)= La/R
■La/R ~ 0:平均排队延迟很小
■La/R -> 1:平均排队延迟很大(后续来的数据量与排队的数据量差不多)
■La/R > 1:超出服务能力, 平均排队延迟无限大!
时延带宽积
■链路的时延带宽积又称为以比特为单位的链路长度
分组丢失(丢包)
■队列缓存容量有限
■分组到达已满队列将被丢弃(即丢包)
■丢弃分组可能由前序结点或源重发(也可能不重发)
吞吐量/率(Throughput)
■吞吐量:表示在发送端与接收端之间传送数据速率(b/s)
§ 即时吞吐量:给定时刻的速率
§ 平均吞吐量:一段时间的平均速率
■瓶颈链路(bottleneck link)
端到端路径上,限制端到端吞吐量的链路。
以最小的来算
1.9计算机网络体系结构
计算机网络是一个非常复杂的系统,涉及许多组成部分:
§ 主机(hosts)
§ 路由器(routers)
§ 各种链路(links)
§ 应用(applications)
§ 协议(protocols)
§ 硬件、软件
§ ……
计算机网络的体系结构
■网络体系结构是从功能上描述计算机网络结构
■计算机网络体系结构简称网络体系结构(network architecture)是分层结构(底层为上层服务)
■每层遵循某个/些网络协议完成本层功能
■计算机网络体系结构是计算机网络的各层及其协议的集合
■体系结构是一个计算机网络的功能层次及其关系的定义
■体系结构是抽象的
分层网络体系结构基本概念
■实体(entity)表示任何可发送或接收信息的硬件或软件进程。
■协议是控制两个对等实体进行通信的规则的集合,协议是“水平的” 。
■任一层实体需要使用下层服务,遵循本层协议,实现本层功能, 向上层提供服务,服务是“垂直的” 。
■下层协议的实现对上层的服务用户是透明的。
■同系统的相邻层实体间通过接口进行交互,通过服务访问点SAP(Service Access Point),交换原语,指定请求的特定服务。
1.10 OSI参考模型
■开放系统互连(OSI)参考模型是由国际标准化组织(ISO)于1984年提出的分层网络体系结构模型
■目的是支持异构网络系统的互联互通
■异构网络系统互连的国际标准
■理解网络通信的最佳学习工具(理论模型)
§ 理论成功, 市场失败
■7层(功能),每层完成特定的网络功能
OSI参考模型解释的通信过程
OSI参考模型数据封装与通信过程
为什么需要数据封装?
■增加控制信息
§ 构造协议数据单元(PDU)
■控制信息主要包括:
§ 地址(Address):标识发送端/接收端
§ 差错检测编码(Error-detecting code):用于差错检测或纠正(并不是所有的协议都会加差错检测编码)
§ 协议控制(Protocol control):实现协议功能的附加信息,如:优先级(priority)、服务质量(QoS)、 和安全控制等
物理层功能
解决了单一比特传输问题
■接口特性
§ 机械特性(接口几何形状)、电气特性(电压电流)、功能特性(引脚功能)、规程特性
■比特编码
■数据率
■比特同步
§ 时钟同步
■传输模式
§ 单工(Simplex)(只能单向通信,例电视)
§ 半双工(half-duplex)
§ 全双工(full-duplex)
数据链路层功能
■负责结点-结点(node-to-node) 数据传输(以帧为单位传输)
■组帧(Framing)(加头加尾)
■物理寻址(Physical addressing)
§ 在帧头中增加发送端和/或接收端的物理地址标识数据帧的发送端和/或接收端
■流量控制(Flow control)(匹配发送端和接收端的速度)
§ 避免淹没接收端
■差错控制(Error control)
§ 检测并重传损坏或丢失帧,并避免重复帧
■访问(接入)控制(Access control)
§ 在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权
网络层功能
■负责源主机到目的主机数据分组(packet)交付
§ 可能穿越多个网络
■逻辑寻址(Logical addressing)
§ 全局唯一逻辑地址,确保数据分组被送达目的主机,如IP地址
■路由(Routing)
§ 路由器(或网关)互连网络,并路由分组至最终目的主机
§ 路径选择
■分组转发
传输层功能
■分段与重组
■SAP寻址
§ 确保将完整报文提交给正确进程,如端口号
■连接控制(逻辑连接)
■流量控制
■差错控制
会话层功能
实际不常用
■对话控制(dialog controlling)
§ 建立、 维护
■同步(synchronization)
§ 在数据流中插入“同步点”
■最“薄”的一层
表示层功能
处理两个系统间交换信息的语法与语义(syntax and semantics) 问题
表示层功能
■数据表示转化
§ 转换为主机独立的编码
■加密/解密
■压缩/解压缩
应用层功能
■支持用户通过用户代理(如浏览器)或网络接口
使用网络(服务)
■典型应用层服务:
§ 文件传输(FTP)
§ 电子邮件(SMTP)
§Web(HTTP)
TCP/IP参考模型
5层参考模型
■综合OSI和TCP/IP的优点
■应用层:支持各种网络应用
§FTP, SMTP, HTTP
■传输层:进程-进程的数据传输
§TCP, UDP
■网络层:源主机到目的主机的数据分组路由与转发
§IP协议、路由协议等
■链路层:相邻网络元素(主机、交换机、路由器等)的数据传输
§ 以太网(Ethernet)、802.11 (WiFi)、PPP
■物理层:比特传输
5层模型的数据封装
1.11计算机网络与Internet发展历史
1961-1972:早期分组交换原理的提出与应用
v1961: Kleinrock– 排队论证实分组交换的有效性
v1964: Baran– 分组交换应用于军事网络
v1967: ARPA(Advanced Research Projects Agency)提出ARPAnet构想
v1969:第一个ARPAnet结点运行
v1972:
§ARPAnet公开演示
§ 第一个主机-主机协议NCP (Network Control Protocol)
§ 第一个e-mail程序§ARPAnet拥有15个结点
1972-1980:网络互连,大量新型、私有网络的涌现
1970:在夏威夷构建了ALOHAnet卫星网络
v1974: Cerf与Kahn– 提出网络互连体系结构
v1976: Xerox设计了以太网
v70’s后期:
§ 私有网络体系结构: DECnet,SNA, XNA
§ 固定长度分组交换(ATM先驱)
v1975:ARPAnet移交给美国国防部通信局管理
v1979: ARPAnet拥有200结点
1980-1990:新型网络协议与网络的激增
v1983:部署TCP/IP
v1982:定义了smtp电子邮件协议
v1983:定义了DNS
v1985:定义了FTP协议
v1988: TCP拥塞控制
v 新型国家级网络:
CSnet, BITnet, NSFnet,Minitel(法国)
v1986:NSFnet初步形
成了一个由骨干网、区域网和校园网组成的三级网络
v100,000台主机连接公共网络
1990, 2000’s:商业化, Web,新应用
v1990’s早期: ARPAnet退役
v1991: NSF解除NSFnet的商业应用限制(1995年退役),由私营企业经营
v1992:因特网协会ISOC成立
v1990s后期: Web应用
§ 超文本(hypertext)[Bush
1945, Nelson 1960’s]
§HTML, HTTP: Berners-Lee
§1994: Mosaic、Netscape浏览器
§1990’s后期:Web开始商业应用
1990’s后期 –2000’s:
v 更多极受欢迎的网络应用:即时消息系统(如QQ),P2P文件共享
v 网络安全引起重视
v 网络主机约达50000, 网络用户达1亿以上
v 网络主干链路带宽达到Gbps
2005-今
v~7.5亿主机
§ 智能手机和平板电脑
v 宽带接入的快速部署
v 无处不在的高速无线接入快速增长
v 出现在线社交网络:
§Facebook:很快拥有10亿用户
v 服务提供商(如Google, Microsoft)创建其自己的专用网络
§ 绕开Internet,提供“即时”接入搜索、email等服务
v 电子商务、大学、企业等开始在“云”中运行自己的服务(如,Amazon EC2)