001.计算机网络概述(上)
Posted TommyLiuZ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了001.计算机网络概述(上)相关的知识,希望对你有一定的参考价值。
001.计算机网络概述(上)
什么是计算机网络
简单介绍
-
计算机网络是通信技术和计算机技术紧密结合的产物
-
通信系统模型
- 信源:发生和产生信息的地方
- 信宿:信息要到达的地方
- 过程:信源产生信息,由发送设备通过信道发送,通过接收设备从信道接收,到达信宿,信号在传输的过程中可能会收到信号的干扰
- 在计算机网络中,信源和信宿通常就是计算机
- 计算机网络就是一种特殊的通信网络
定义
计算机网络是一个互连的、自治的计算机的集合。
- 自治:计算机没有主从关系,在网络中某一个计算机不能去控制其他的计算机
- 互连:互联互通,通信链路
- 计算机:在网络中称为主机
主机距离远、数量大如何保证互联?
-
直接链路不可能,通过交换网络互连主机
Internet
-
组成细节
- 全球最大的互联网络——ISP(Internet Service Provider)互联网服务提供商网络互联的“网络之网络”
- 数以百万计的互联计算设备的集合
- 主机=端设备=计算设备——共同特点:都会运行各种网络应用
- 主机都是通过通信链路互联在一起的(光纤,铜缆,无线电,卫星)
- 分组交换:转发分组(数据包)
- 路由器、交换机
- 数以百万计的互联计算设备的集合
- 全球最大的互联网络——ISP(Internet Service Provider)互联网服务提供商网络互联的“网络之网络”
-
服务角度
- (宏观)为网络应用提供通信服务的通信基础设施
- Web、Email、网络游戏……
- (具体)为网络应用提供应用编程接口(API)
- 支持应用程序“连接”Internet,发送/接收数据
- 提供类似于邮政系统的数据传输服务
- (宏观)为网络应用提供通信服务的通信基础设施
协议
-
硬件是计算机网络的基础,计算机网络的数据交换必须遵循事先约定好的规则,如同交通系统,这些规则就是协议
-
定义
- 网络协议简称为协议,是为网络中的数据交换而建立的规则、标准或者约定
-
协议规定了通信实体之间所交换的消息的格式、意义、顺序以及针对收到消息或者发生的事件所采取的“动作”
-
要素:
- 语法(Syntax):数据与控制信息的结构或者格式,如果是底层的信息,则可能是信号电平
- 语义(Semantics):需要发出何种控制信息,完成何种动作以及做出何种响应,差错控制
- 时序(Timing):事件顺序,速度匹配
-
协议规范了网络中所有信息的发送和接收过程
-
Internet协议标准
- 大量的协议都是以RFC文档的形式存在的
- RFC文档是由IETF(互联网工程任务组)进行管理的
计算机网络结构
网络边缘
- 计算机(主机、端系统)
- 处于网络边缘
- 运行网络应用程序
- 网络应用通过什么方式进行通信?
- C/S应用模型
- 客户发送请求,接收服务器响应(e.g.Web应用、文件传输FTP应用)
- 所有的通信都是在客户和服务器之间,而不会出现客户和客户直接进行通信
- P2P应用模型
- 没有客户和服务器之分(e.g.Skype、QQ)
- 无(或不再仅仅依赖)专用服务器
- 通信在对等实体之间直接进行
- C/S应用模型
接入网络、物理介质
-
有线或无线通信链路
-
如何将网络边缘接入核心网?
- 使用接入网络
- 住宅(家庭)接入网络
- 机构(学校、企业)接入网络
- 移动接入网络
- 使用接入网络
-
用户关心
- 带宽
- 计算机网络中的带宽:数据传输速率,即每秒能够传输多少比特(bps)
- 通信中的带宽:信号的最高频率和最低频率之差(HZ)
- 独占还是共享
- 带宽是为个人所共享的
- 带宽是均分使用的
- 带宽
-
代表性的接入网络
-
数字用户线路(DSL)
- ADSL:非对称数字用户线路
-
电缆网络
- 有线电视网络
- 共享式接入,不是独占的
-
机构接入网络
-
无线接入网络
- 通过共享的无线接入网络连接端系统与路由器
- 支持无线通信的主机连接到一个基站,基站有时也称之为接入点
- 无线局域网(LANs)
- 广域无线接入
- 通过电信运营商,接入范围在几十公里
- 带宽:1Mbps/10Mbps/100Mbps
- 3G\\4G,移动互联网
- 通过共享的无线接入网络连接端系统与路由器
-
网络核心(核心网络)
- 互联的路由器(或分组转发设备)
- 网络核心的关键功能:路由+转发
- 路由器收到分组,通过查找路由表,确定输出链路
- 路由表是路由器运行某种协议,根据路由算法计算获得的
- 路由:确定分组从源到目的传输路径(是一个过程)
- 转发:将分组从路由器的输入端口交换至正确的输出端口
- 如何实现数据从源主机通过网络核心送达目的主机?
- 通过数据交换
- 通过数据交换
Internet网络结构
- 端系统通过接入ISP链接到Internet
- 接入ISP必须进一步互连
- 这样任意两个主机才可以互相发送分组
- 构成复杂的网络互连的网络
- 经济和国家政策是网络演进的主要驱动力
- 当前Internet结构?
- 没有人能给出准确的描述,动态性很强,随时有网络接入,随时有网络离开
- 要保证网络的互通,这些ISP必须互连
- 方法1:使用对等链路
- 方法2:使用第三方的IXP,即互联网交换节点,IXP本身就是一个高速的网络
数据交换
为什么需要数据交换?
- 局限性:有N2的链路问题,经济上不可能,技术上很难实现
- 局限性:主机数量多时,端口就需要特别大
- 网络规模大、距离远时,很难都连接到一个交换设备上
- 交换设备互连,形成交换网络,主机和交换网络中的某一个设备连接,让交换网络将数据进行组织转发
什么是交换?
-
含义1:交换设备具有动态转接功能
- 动态转接:交换设备可以在所有交换设备端口之间动态地在物理上或者逻辑上建立端口之间的连接,将一个端口的数据转移到另一个端口,端口之间的转移是可以并行的
-
含义2:在交换网络层面上,交换网络如何动态分配传输资源,实现从源主机穿越交换网络送到目的主机
数据交换的类型
-
电路交换
-
电路交换网络:电话网络
-
三个阶段:
- 建立连接(呼叫/电路建立)
- 通信
- 释放连接(挂机/拆除电路)
-
独占资源:两个电话在通信的过程中建立起的电路所占有的通信资源是不能被第三方所共享的,即使没有语音数据的传输
-
电路和物理链路是不同的,要注意区别
-
电路交换网络的链路共享
- 电路交换中需要共享的链路叫做中继线
- 中继线如何被共享?
- 多路复用技术
-
-
多路复用技术
-
简称复用,是通信技术中的基本概念
-
将通信资源(链路/信道资源)划分为资源片
-
将资源片分配给各路通信(也可称为呼叫)
-
每路呼叫独占分配到的资源片进行通信(也有可能造成资源片的闲置idle)
-
典型的多路复用方法
-
频分多路复用(FDM)
-
各用户占用不同的带宽资源(这里的带宽指的是通信带宽,单位是HZ)
-
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带
-
-
时分多路复用(TDM)
-
时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧),每个用户在每个TDM帧中占用固定序号的时隙
-
每个用户所占用的时隙是周期性出现(周期就是TDM帧的长度)
-
-
波分多路复用(WDM)
- 波分复用就是光的频分复用
-
码分多路复用(CDM)
-
广泛应用于无线链路共享(如蜂窝网,卫星通信)
-
每个用户分配一个唯一的m bit的码片序列,其中“0”用“-1”表示,,“1”用“+1”表示
- S站的码片序列:(-1 -1 -1 +1 +1 -1 +1 +1)
-
各用户使用相同频率的载波,利用各自码片序列编码数据
- 编码信号 = (原始数据)X(码片序列)
- 如发送比特1(+1),则发送自己的m bit码片序列
- 如发送比特0(-1),则发送该码片序列的m bit码片序列的反码
- 编码信号 = (原始数据)X(码片序列)
-
使用的频率是相同的,每个用户发送到信道中的数据势必会相互叠加,为了保证共享信道又彼此互不干扰,各用户的码片序列相互正交
-
什么是正交(orthogonal)?
1 m S i ⋅ S j = 1 , i = j 0 , i ≠ j \\frac1m S_i \\cdot S_j = \\begincases 1,i=j\\\\ 0,i \\neq j \\endcases m1Si⋅Sj=1,i=j0,i=j1 m S i ⋅ S j ‾ = − 1 , i = j 0 , i ≠ j \\frac1m S_i \\cdot \\overlineS_j = \\begincases -1, i=j \\\\ 0,i \\neq j \\endcases m1Si⋅Sj=−1,i=j0,i=j
-
原理:
- 令di为原始数据序列(为了理解原理,假设它是-1,+1序列,实际上是0,1序列),各用户叠加向量:
P = ∑ i = 1 N d i ⋅ S i = ∑ i = 1 N S i ‾ P=\\sum_i=1^Nd_i \\cdot S_i=\\sum_i=1^N\\overlineS_i P=i=1∑Ndi⋅Si=i=1∑NSi
注:信道中传输的是所有用户发出信号叠加的向量,叠加中有码片序列或者码片序列的反码(取决于对应的是0还是1)
- 令di为原始数据序列(为了理解原理,假设它是-1,+1序列,实际上是0,1序列),各用户叠加向量:
-
解码:码片序列与编码信号的内积
-
e.g.想接收Si的信息
1 m S i ⋅ P = 1 , S i ∈ P − 1 , S ‾ i ∈ P 0 , S i , S ‾ i ∉ P \\frac1m S_i \\cdot P = \\begincases 1,S_i \\in P \\\\ -1,\\overline S_i \\in P \\\\ 0, S_i,\\overline S_i \\notin P \\endcases m1Si⋅P=⎩⎪⎨⎪⎧1,Si∈P−1,Si∈P0,Si,Si∈/P- 1意味着Si发送了1
- -1意味着Si发送了0
- 0意味着Si 没有发送数据
-
-
-
-
-
-
-
报文交换
- 报文:源(应用)发送信息的整体
- 典型代表:电报通信
-
分组交换
- 分组:报文拆分出来的一系列相对较小的数据包
- 头部:控制信息、地址信息
- 分组交换需要报文的拆分和重组,会产生额外的开销
- 当路由器向目的主机转发分组的时候,源主机向路由器发送第二个分组
- 链路共享并不是事先分配好的,随机性很强,是按需共享链路(统计多路复用,带宽是一致的)
- 存储转发
- 分组:报文拆分出来的一系列相对较小的数据包
-
报文交换和分组交换均采用存储-转发交换方式
- 区别:报文交换以完整的报文及进行“存储-转发”
- 分组交换以较小的分组进行“存储-转发”
-
报文交换和分组交换哪种交换方式更好呢?
-
传输延迟(发送延迟):比特在链路中是一个一个传输的,从第一个比特传输开始到最后一个比特传输结束所用的时间称为传输时延(发送时延)
-
分组交换
-
分组长度为L
-
链路传输速率是R
-
计算方法
d e l a y = L ( b i t s ) R ( b i t s / s e c ) delay = \\fracL(bits)R(bits/sec) delay=R(bits/sec)L(bits)
-
-
-
对比:
-
报文交换
- 报文长度为M bits
- 链路带宽为R bps
- 每次传输报文需要M/R秒
-
分组交换
- 报文被拆分成多个分组
- 分组长度为L bits
- 每个分组传输时延为L/R秒
-
具体实例
-
M=7.5 Mbits, L=1500bits,R=1.5Mbps
-
说明:报文被分成了7.5M/1500=5000个分组
-
报文交换:7.5Mbits/1.5Mbits=5s,5s*3=15s
- 路由器缓冲至少必须有7.5Mbits
-
分组交换:
-
第一个分组到达第一个路由器:1500bits/1.5Mbps=1ms
-
第一个分组到达第二个路由器,第二个分组到达第一个路由器:1ms
-
……
-
第一个分组到达目的主机用时3ms,第二个分组到达目的主机总用时(3ms+1ms),第三个分组到达目的主机总用时(3ms+1ms+1ms)
……第4999个分组到达目的主机总用时(3ms+(4999-1)ms)
剩余第5000分组到达总用时(3ms+(4999-1)ms+1ms)=5002ms=5.002s
-
路由器缓冲至少必须有1500bits
-
-
-
总结:分组交换在传输时延和路由器缓存方面均优于报文交换,现在大多数采用的是分组交换
-
扩展:分组交换报文的交付时间
-
证明:根据上面的实例,最初的公式
T = L R ⋅ h + L R ⋅ ( M L − 1 ) T = \\fracLR \\cdot h + \\fracLR \\cdot (\\fracML-1) T=R离散信源最大熵定理的Matlab实现
-
-
-