目录node
计算机网络=通讯技术+计算机技术=一种通讯网络git
定义:互连的、 自治(无主从关系)的计算机集
合。github
构成:由交换网络互连主机算法
全球最大的互联网络,由ISP(Internet Service Provider互连而成的“网络之网络”浏览器
网络协议(network protocol)是为进行网络中的数据交换而创建的规则。缓存
协议规定了通讯实体之间所交换消息的格式、 意义以及针对收到信息或发生的事件所应采起的“动做” 、 顺序安全
语义规定了通讯,语法表示具体实现方式,时序表示通讯服务器
主机(端系统)位于网络边缘,运行网络应用程序。网络
客户/服务器(client/server)应用模型:客户发送请求,接收服务器响应
对等(peer-peer, P2P)应用模型:无(或不只依赖)专用服务器通讯在对等实体之间直接进行并发
将网络边缘接入核心网的中介网络。是端系统到其边缘路由器的物理链路
利用已有的电话线链接中心局的DSLA
经过共享的无线接入网络链接端系统与路由器
互联的路由器或交换机构成的网络
结构很是复杂当前Internet结构无人能给出精确描述,下面给出一个基本描述图像:
Q:Internet是全球最大的互联网络,其网络拓扑结构极其复杂,并且具备很强的动态性,有不少研究机构或研究团队在开展网络拓扑结构发现相关问题研究。请你们搜索阅读相关文献,并讨论实现网络拓扑发现的意义有哪些?
A:网络拓扑图形中能更直观明了的看清楚网络中各个节点之间的连接,还有接口之间的连接,也就是反应网络中各实体间的结构关系,这样方便配置和排除错误。网络拓扑设计地好坏对整个网络的性能和经济性有重大影响。
来源:百度百科
网络管理的目的是经过监视和控制复杂的计算机网络,最大限度地保证其正常运行,而且要提升效率、下降成本。而网络拓扑发现则是配置管理的核心,故障和性能管理的基础,同时它也是衡量一个商业网络管理系统成败的重要尺度。所以拓扑发现算法的设计在整个网管系统的开发中有着举足轻重的地位。
网络拓扑发现的应用:
(1)模拟网络:为了模拟实际网络,必须首先获得该网络的拓扑结构;
(2)网络管理:涉及到配置管理、性能管理、故障管理,具体地说,网络拓扑信息可帮助网络管理者肯定优化网络配置:测试和判断网络性能,发现网络瓶颈所在
和失效的链路;
(3)服务器定位:网络拓扑信息可帮助用户肯定自身在网络中的位置,从而肯定服务器的位置,以及选择哪个网络服务提供商能够将时延最小化、可用带宽最大化;
(4)为与拓扑结构相关的算法的性能改进提供依据;
(5)为Internet流量工程(traffic engineering)和网络行为学的研究提供基础辅助依据。
来源:(中国知网)庄锁法, 龚俭.网络拓扑发现综述[J].计算机技术与发展, 2007, 17 (10) :80-91.
咱们这里讨论的数据交换是核心网络实现互联互通功能的主要手段,即设立中介路由器或交换机。
若是直连的话是O(n^2) 的。必须提升线路复用率。
电路交换
报文交换
分组交换
直接在两点之间创建物理线路来完成交换。
对于多路占用的物理链路,若是每回只有一个路能使用则须要频繁的物理接点调整,所以使用多路复用技术使得一条物理线路能被多路使用。
多路复用(Multiplexing):
频分多路复用( frequency division multiplexing-FDM )
时分多路复用( time division multiplexing-TDM )
波分多路复用(Wavelength division multiplexing-WDM)
码分多路复用( Code division multiplexing-CDM )
频分多路复用的各用户占用不一样的带宽资源(请注意,这里的“带宽”是频率带宽(单位: Hz) 而不是数据的发送速率),带宽这一词会屡次出现,在不一样的语境下分别表示频率的范围或数据传输速率。
被分配的资源就是频率带宽。
时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧),每一个用户在每一个 TDM 帧中占用固定序号的时隙,每用户所占用的时隙是周期性出现(其周期就是TDM 帧的长度)
波分复用就是光的频分复用
码分多路复用利用正交向量的特殊数学性质完成多路数据合并,链路传输合并数据,各路使用本身的正交向量来对合并数据解码,以此实现多路复用。
每 个 用 户 分 配 一 个 惟 一 的 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)
若{di}为原始数据序列,叠加向量为
解码:码片序列与编码信号的内积
其实很是简单,就是指把信息打包,一次性发送。打包的信息叫作报文
报文交换的改进版,把报文拆成较小的数据包,分开传送,再从新组装。
和报文交换区别:
分组交换使用统计多路复用。
统计多路复用即路由器将接收到的数据包加入缓存队列,逐一发送,那么多个主机发送的数据包,路由器并不区分,只是接受并发送,谁发的快,路由器就更可能下一个发送其数据包,即表现统计倾向。
不像电路分组的多路复用,是一种按需共享的动态复用技术。
报文交换与分组交换均采用存储-转发交换方式
报文: M bits
链路带宽 : R bps
分组长度(大小) : L bits
跳步数: h
路由器数: n=h-1
T分组交换=M/R+(h-1)L/R=M/R+nL/R
T报文交换=hM/R
因为分组交换的并行发送机制,使得路由器的带宽利用率被提升。
二者的区分主要在于分组交换的存储转发机制以及拆分合并传输。
Q:分组交换是现代计算机网络重要的理论基础之一,也是目前在计算机网络中普遍采用的数据交换技术,存储-转发则是分组交换的基本工做方式。请你们讨论一下,分组交换是否能够采起其余工做方式?有什么样的优缺点?
A:
直通转发(Cut-through Switching)
交换机在接收整个帧以前读取目标地址,而后在整个帧到达以前转发帧。此模式减小了传输
的延迟,但缺乏检查,且不支持不一样输入输出速率的端口间的数据转发。 其有两种形式,快
速转发和无碎片转发。
快速转发(Fast-forward switching)
快速转发经过在接收目标地址(帧的前6个字节)后当即转发帧来提供最低级别的延迟。因为
其不会检查错误,所以可能会出现转发坏帧的状况。虽然这种状况不多发生,而且目标网络
适配器在收到时会丢弃坏帧,但在具备高冲突率的网络中,这会对可用带宽产生负面影响。
无碎片转发(Fragment-Free Switching)
无碎片转发是直通转发的一种改进形式。在进行转发以前,交换机读取以太网帧的至少64个
字节,避免转发小于64字节的以太网帧,以此过滤掉冲突片断。但若是频繁发送数据量很小
的报文,会致使带宽的利用效率低下。
速率即数据率(data rate)或称数据传输速
率或比特率(bit rate),单位时间(秒)传输信息(比特)量。
单位: b/s(或bps)、 kb/s、 Mb/s、 Gb/s,$k=10^3$、 $M=10^6$、$ G=10^9$
网络的“带宽”一般是数字信道所能传送的“最
高数据率”,单位: b/s (bps)
“带宽” (bandwidth)本来指信号具备的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)
该节针对针对目前网络实际选择使用的分组转发讨论。
信号经过物理链路传送给路由器以后,路由器对接收到的信息进行处理的时间。
等待输出链路可用,取决于路由器拥塞程度
R: 链路带宽(bps)
L: 分组长度 (bits)
a: 平均分组到达速率
$流量强度()流量强度()流量强度()流量强度(traffic intensity)= La/R$
链路带宽指的是路由器将存储内容变为物理信号发送的能力,传输延迟指将数据包转换为物理信号发送出路由器的时间。
信号离开路由器后,在物理链路上传播的时间
$时延带宽积传播时延带宽时延带宽积传播时延带宽时延带宽积传播时延带宽时延带宽积 = 传播时延带宽=d_{prop}R (bits)$
即某个瞬间,物理链路存储的数据量
丢包率=丢包数/已发分组总数
吞吐量:表示在发送端与接收端之间传送数据速率 (b/s)
和带宽不一样,带宽只是一端属性。
吞吐量是发送端与接收端链路上各段链路的带宽最小值
计算机网络是一个很是复杂的系统,涉及许多组成部分,须要一种结构来有效的解析、管理整个计算机网络
咱们使用分层结构来描述计算机网络体系结构。
网络体系结构是从功能上描述计算机网络结构,每一层实际上指一个等级的功能。
结构清晰,有利于识别复杂系统的部件及其关系
Q:分层网络体系结构有什么缺点?
A:因为分层须要定义模块结构,可能致使层间交互不清晰,接口复杂,而且因为每层都要对
数据进行处理,致使信息交互的时间延长,增长了数据量。另外,因为各个层次隔离,对通
信的优化和扩展都只能在各个层次进行,没法在整个系统层次讨论。
Q:在哪些状况下有必要不采用分层结构?
A:分层结构(模块化)是任何复杂系统的必要实现手段。因此任何成系统的体系都一般存在
分层结构,否则就会很麻烦。可能在某些极端状况下,不须要分层结构,例如:家里的电灯
泡和开关,开关传递给电灯泡一个电“信号”(?),电灯泡当即打开(没有软件进行上层的
处理操做)。而跨层体系结构是能够考虑的。
Q:跨层体系结构的网络设计及其优势?
A:跨层设计是一种综合考虑协议栈各层次设计与优化并容许任意层次和功能模块之间自由交
互信息的方法,在原有的分层协议栈基础上集成跨层设计与优化方法能够获得一种跨层协议
栈。跨层设计与优化的优点在于经过使用层问交互,不一样的层次能够及时共享本地信息,减
少了处理和通讯开销,优化了系统总体性能。与传统的分层结构相比,跨层协议栈的层问交
互要复杂些,各层须要了解其余层的行为并须要更多的专用接口,下降了通用性。可是,跨
层设计方法的各层协议和功能模块的协同有助于消除冗余功能;采用消息驱动的控制方法,
任意层之间能够交互信息;针对特定的场合进行集成设计和优化能够较好匹配应用需求和网
络条件。例如在无限通讯中,考虑到无线信道有限的带宽资源、信道的时变特性以及节点自
身的局限性,跨层设计方法优点带来的好处远大于层间交互带来的协议设计复杂性的缺点。
参考:王海涛,刘晓明 adhoc网络中跨层设计方法的研究 2005
计算机网络体系结构(network architecture)是分层结构:
实体(entity) :表示任何可发送或接收信息的硬件或软件进程。同一系统的各个层次分别都是实体,两个不一样系统的层次分别都是实体。
协议:控制两个同层实体进行通讯的规则的集合,协议是“水平的” 。
服务:任一层实体须要使用下层服务,遵循本层协议,实现本层功能, 向上层提供服务,服务是“垂直的” 。
透明:下层协议的实现对上层的服务用户是透明的。
SAP和交换原语:同系统的相邻层实体间经过接口进行交互(服务和要求服务),经过服务访问点 SAP(Service Access Point)和交换原语(控制指令),指定请求的特定服务。
开放系统互连 (OSI)参考模型是由国际标准化组织 (ISO) 于1984年提出的分层网络体系结构模型。目的是支持异构网络系统的互联互通。
提供基本的比特流传输服务,并不能稳定的进行数据传输,须要数据链路层的辅助。
为网络层提供高质量的数据传输功能。
传输层和数据链路层之间。保证网络上的数据传输。
负责源-目的(端-端)(进程间)完整报文传输
在osi中功能很是少,实际应用上没有这一层
处理两个系统间交换信息的语法与语义(syntax and semantics ) 问题,实际应用上没有这一层
帮助用户经过用户代理(如浏览器)或网络接口使用网络应用
典型应用层服务:
先实践后整理,不一样于osi先理论后实践
IP可用于任何网络接口层,这也是TCP/IP得以快速发展的缘由之一。
综合 OSI (理论清晰)和 TCP/IP 的优势(实用),实用最普遍的参考模型,课程讲解也是用该模型。
注意,交换机只有链路层和物理层,而路由器还有网络层,即交换机没法在多网络间传播。
Markdown文本:https://github.com/ArrogantL/BlogData/tree/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9Cspoc
本文做者: ArrogantL (arrogant262@gmail.com) : 本博客全部文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!