@TOC
计算机网络简介
计算机网络是通信技术与计算机技术紧密结合的产物:
- 计算机网络就是一种通信网络
定义:
- 计算机网络就是互连的(互联互通)、自治(无主从关系)的计算机集合。
距离远、数量大如何保证互连?
- 通过交换网络互连(包括交换机、路由器)。
Internet简介
什么是Internet?(组成细节角度)-----全球最大的互联网络
- ISP(Internet Service Provider)网络互连的“网络之网络
什么是Internet?(组成细节角度)-----数以百万计的互连的计算设备集合
- 主机(hosts)=端系统(end systems) ①运行各种网络应用
- 通信链路 ①光纤 ②铜缆 ③无线电 ④卫星
- 分组交换: 转发分组(数据包) ①路由器(routers) ②交换机(switches)
什么是Internet?(服务角度)
- 为网络应用提供通信服务的通信基础设施: ①Web, VoIP, email, 网络游戏,电子商务, 社交网络, …
- 为网络应用提供应用编程接口(API): ① 支持应用程序“连接”Internet,发送/接收数据。 ②提供类似于邮政系统的数据传输服务。
仅有硬件(主机、链路、路由器……)连接,Internet能否顺畅运行?能保证应用数据有序交付吗?
- 不能,还需要网络协议
网络协议
为什么需要协议?
- 协议是计算机网络有序运行的重要保证
- 任何通信或信息交换过程都需要规则(协议)
网络通信:
- 通信主体是“机器”而不是人
- 交换“电子化”或“数字化”消息
- 计算机网络的所有通信过程都必须遵守某种/些规则—协议
网络协议(network protocol),简称为协议:
- 是为进行网络中的数据交换而建立的规则、标准或约定
- 协议规定了通信实体之间所交换的消息的格式、意义、顺序以及针对收到信息或发生的事件所采取的“动作”(actions)
协议的三要素:
-
语法(Syntax) 数据与控制信息的结构或格式 ① 信号电平
-
语义(Semantics) ①需要发出何种控制信息 ②完成何种动作以及做出何种响应 ③差错控制
-
时序(Timing) ①事件顺序 ②速度匹配
Internet协议标准:
- RFC: Request for Comments
- IETF:互联网工程任务组(Internet Engineering Task Force)
计算机网络结构
计算机网络结构组成:
- 网络边缘: ①主机 ②网络应用
- 接入网络,物理介质: ①有线通信链路 ②无线通信链路
- 网络核心(核心网络): ① 互联的路由器(或分组转发设备) ②网络之网络
主机(端系统):
- 位于“网络边缘”
- 运行网络应用程序,如:Web, email 客户/服务器(client/server)应用模型: ①客户发送请求, ②接收服务器响应。 ③如:Web应用,文件传输FTP应用 对等(peer-peer, P2P)应用模型: ①无(或不仅依赖)专用服务器, ②通信在对等实体之间直接进行。 ③如:Gnutella, BT, Skype, QQ
接入网络(将网络边缘接入核心网):
- 住宅(家庭)接入网络
- 机构接入网络 (学校,企业等)
- 移动接入网络
对于接入网络用户关心是:
- 带宽(bandwidth) (bps)?
- 共享/独占? ①数字用户线路DSL:利用已有的电话线连接中心局的DSLAM,独占至中心局的接入。(独占,带宽低) ②电缆网络:数据、电视信号在共享线缆分布式网络上,利用不同频率传输各家庭共享家庭至电缆头端的接入网络。(共享,带宽高)
典型家庭网络的接入:
机构(企业)接入网络 (Ethernet):
无线接入网络:
网络核心:
- 互联的路由器网络
- 网络核心的关键功能: ①路由(确定分组从源到目的传输路径) ②转发(将分组从路由器的输入端口交换至正确的输出端口)
- 网络核心利用数据交换实现数据从源主机通过网络核心送达目的主机。
Internet结构(网络之网络)
Internet结构解释:
- 端系统通过接入ISP(access ISPs )连接到Internet 家庭、公司和大学ISPs
- 接入ISP必须进一步互连 这样任意两个主机才可以互相发送分组
- 构成复杂的网络互连的网络 经济和国家政策是网络演进的主要驱动力
- 当前Internet结构? 无人能给出精确描述
数以百万计的接入ISP是如何互连在一起的呢?
- “一级”(tier-1)商业ISPs (如:网通、电信、Sprint、 AT&T),提供国家或国际范围的覆盖
- 互联网服务提供商(Internet Service Provider),简称ISP,指的是面向公众提供下列信息服务的经营者:一是接入服务,即帮助用户接入Internet;二是导航服务,即帮助用户在Internet上找到所需要的信息;三是信息服务,即建立数据服务系统,收集、加工、存储信息,定期维护更新,并通过网络向用户提供信息内容服务。简而言之:isp就是帮助接入网络 和 路由转发 查找 另外一台接入isp的主机。
- 网络内容服务商英文为 Internet Content Provider简写为ICP,即向广大用户综合提供互联网信息业务和增值业务的电信运营商。如:Google):私有网络,连接其数据中心与Internet,通常绕过一级ISP和区域ISPs。
- 互联网交换中心(Internet Exchange Point)是不同电信运营商之间为连通各自网络而建立的集中交换平台,互联网交换中心在国外简称IX或IXP,一般由第三方中立运营,是互联网的重要基础设施,境外知名IX有AMS-IX、HKIX(香港互联网交换中心)、Equnix IX等,国内有政府主导建立的北上广互联网交换中心,但因各种原因已名存实亡,国内知名的第三方IX有位于上海的We IX(驰联网络)等。
数据交换
电路交换:
- 最典型电路交换网络:电话网络
- 电路交换的三个阶段: ①建立连接(呼叫/电路建立) ②通信 ③释放连接(拆除电路)
- 电路交换的特点:独占资源
电路交换网络如何共享中继线?
- 多路复用(Multiplexing)
多路复用基本定义:
- 链路/网络资源(如带宽)划分为“资源片”
- 将资源片分配给各路“呼叫”(calls)
- 每路呼叫独占分配到的资源片进行通信
- 资源片可能“闲置”(idle)(无共享即独占)
典型多路复用方法:
- 频分多路复用( frequency division multiplexing-FDM )各用户占用不同的带宽资源(请注意,这里的“带宽”是频率带宽(单位:Hz)而不是数据的发送速率)
- 时分多路复用( time division multiplexing-TDM ) 则是将时间划分为一段段等长的时分复用帧(TDM 帧),每个用户在每个 TDM 帧中占用固定序号的时隙
- 波分多路复用(Wavelength division multiplexing-WDM) 就是光的频分复用
- 码分多路复用( Code division multiplexing-CDM )广泛应用于无线链路共享 (如蜂窝网,卫星通信等)。每 个 用 户 分 配 一 个 唯 一 的 m bit 码 片 序 列 (chippingsequence),其中“0”用“-1”表示、“1”用“+1”表 示。
报文交换:
- 源(应用)发送信息整体。
分组交换:
- 分组:报文分拆出来的一系列相对较小的数据包。
- 分组交换需要报文的拆分与重组,因此会产生额外开销。
统计多路复用(共享,不独占):
报文交换与分组交换均采用存储-转发交换方式。他们的区别:
-
报文交换以完整报文进行“存储-转发”
-
分组交换以较小的分组进行“存储-转发
报文交换 vs 分组交换?
- 分组交换的分组传输延迟(时延)(delay)比报文交换 少!
分组交换 vs 电路交换?
- 分组交换允许更多用户同时使用网络!
分组交换绝对优于电路交换?
- 分组交换适用于突发数据传输网络 ① 资源充分共享 ② 简单、无需呼叫建立
- 分组交换可能产生拥塞(congestion): 分组延迟和丢失 ①需要协议处理可靠数据传输和拥塞控制
总结:
- 电路交换基本已经淘汰。计算机网络普遍使用分组交换。TCP/IP协议是基于分组交换的协议。TCP/IP协议栈中的UDP协议契合了分组交换网络的特点,而TCP协议的存在的目的是为了解决分组交换网络的部分缺点,比如包的乱序、重复、丢包什么的。
计算机网络性能
速率
速率概述:
- 即数据率(data rate)或称数据传输速率或比特率(bit rate)
- 单位时间(秒)传输信息(比特)量
- 计算机网络中最重要的一个性能指标
- 单位:b/s(或bps)、kb/s、Mb/s、Gb/s
- k=1000(三次方)、M=1000000(六次方)、G=1000000000(九次方)
- 速率往往是指额定速率或标称速率
带宽(bandwidth)
带宽概述:
- 原本指信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)
- 网络的“带宽”通常是数字信道所能传送的“最高数据率”,单位:b/s (bps)
延迟/时延(delay或latency)
分组交换为什么会发生丢包和时延?
- 分组在路由器缓存中排队
①分组到达速率超出输出链路容量时
②分组排队,等待输出链路可用
四种分组延迟
- 结点处理延迟(nodal processing delay) ①差错检测 ②确定输出链路
- 排队延迟 (queueing delay) ①等待输出链路可用 ②取决于路由器拥塞程度
- 传输延迟 (transmission delay) ① L: 分组长度(bits ②R: 链路带宽 (bps) ③v = L/R
- List item
- 传播延迟(propagation delay) ①d: 物理链路长度 ② s: 信号传播速度 (~2×108m/sec) ③v=d/s
时延带宽积
- 时延带宽积 = 传播时延 * 带宽
- 链路的时延带宽积又称为以比特为单位的链路长度
分组丢失(丢包)
- 队列缓存容量有限
- 分组到达已满队列将被丢弃 (即丢包)
- 丢弃分组可能由前序结点或源重发(也可能不重发)
吞吐量/率(Throughput)
- 吞吐量:表示在发送端与接收端之间传送数据速率 (b/s)
- 即时吞吐量: 给定时刻的速率
- 平均吞吐量: 一段时间的平均速率
吞吐量和带宽对比
- 带宽是说的是最大值速率,吞吐量说的是某时刻速率。但吞吐量不能超过最大速率。
分层网络体系结构
分层网络体系结构基本概念:
- 实体(entity) 表示任何可发送或接收信息的硬件或软件进程。
- 协议是控制两个对等实体进行通信的规则的集合,协议是“水平的” 。
- 任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上 层提供服务,服务是“垂直的”。
- 下层协议的实现对上层的服务用户是透明的。
- 同系统的相邻层实体间通过接口进行交互,通过服务访问点 SAP(Service Access Point),交换原语,指定请求的特定服务。
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
- 物理层:比特传输
物理层
物理层概述:
- 物理层考虑的是怎样才能在各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体;
- 现在的计算机网络中的硬件设备和传输媒体的种类非常繁多,而通信手段也有许多不同的方式,物理层的作用正是尽可能的屏蔽掉这些传输媒体和通信手段的差异,使物理层上面的数据链路层感觉不到这些差异,这样就可使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络的具体的传输媒介和通信手段是什么;
- 计算机网络中的物理层详解
数据通信系统的模型:
- 一个数据通信系统可划分为三大部分:即源系统(发送端、发送方)、传输系统(传输网络)和目的系统(接收端、接收方);
- 源点: 源点设备产生要传输的数据;
- 发送器: 通常源点生成的数字比特流要通过发送器编码后才能够在传输系统中进行传输,典型的发送器就是调制器;
- 接收器: 接受传输系统发送过来的信号,并把它转换为能够被目的设备处理的信息;
- 终点: 终点设备从接收器获取传过来的数字比特流,然后把信息输出;
信号可以分为两大类:
- 模拟信号(连续信号)——代表消息的参数的取值是连续的;
- 数字信号(离散信号)——代表消息的参数的取值是离散的;
信道:
- 信道一般都是用来表示向某一个方向传送信息的媒体,从通信的双方信息交互的方式来看,可以有3种基本方式: ①单向通信:又称为单工通信,即只能有一个方向的通信而没有反方向的交互,无线电广播就属于这种类型; ②双向交替通信:又称为半双工通信,即通信的双方都可以发送信息,但不能双方同时发送; ③双向同时通信:又称为全双工通信,即通信的双方都是可以同时发送和接收信息;
- 也就是说,单工通信只需要一条信道,而半双工通信、全双工通信都需要两条信道,这样通信传输的效率也最高;