之前也有写过两章的博客,不过因为有版式的原因,还有自己想要再复习一遍,所以我们再从头重新开始写,在此也建议大家在学习一个知识的时候也像我一样,把它写成博客,我想把自己学到的知识给别人讲懂的话自己才算真的懂了。
本人在学习网络原理(自考)这本书的时候,协议总会记混,所以在第九个博客的时候除了会写自己学习这本书的总结,还会将本书中所涉及的协议给添加上。那现在就叫我们进入新一轮的复习吧~_~
从技术范畴来看: 计算机网络是计算机技术与通信技术相融合的产物 解释:因为起初的每台计算机只能处理自身产生的信息,如果要交换信息的话只能交换存储介质,后来利用通讯技术来解决这长距离交换信息的不便之处,因此诞生的计算机网络
计算机网络的定义: 计算机网络是互连的、自治的计算机的集合 自治: 其是指互连的计算机系统彼此独立,不存在主从或被控制的关系,计算机网络中的自治计算机通常被称为主机或端系统 互连: 是指通过通信链路连接相互独立的计算机系统。 通信链路可以是双绞线、光纤、微波、通讯卫星等 不同链路的传输速率不同,在计算机网路中也称为带宽,单位是bit/s、bps或b/s
目前最大、应用最广泛的计算机网络便是Internet或称因特网
ISP:一般是指互联网提供的服务商 就比如我们用手机上网,就需要接入区域或本地的ISP,本地的ISP在与更大规模的国家级ISP互连,国家ISP与国家ISP网络互连,从而实现全球性端系统的互连。 ISP网络由许多有线或无线通信链路互连分组交换设备构成。 分组交换设备可实现数据分组的接收与转发,是构成Internet的重要基础,最典型的是路由器和交换机
Internet中互连的端系统、分组交换设备或其他网络设备在进行信息发送、接收或转发的过程中,都需要遵循一些规则或规定,即网络协议
通过通信链路互连主机与网络设备是构建计算机网络的硬件基础
协议的三要素:语法、语义、时序(同步) 语法: 定义实体之间交换信息的格式与结构 语义: 定义实体之间交换的信息中需要发送那些控制信息,以及这些信息的具体含义,以及针对不同含义的控制信息,接收信息端应如何响应。 语义还需要定义彼此采用何种差错编码,以及采取何种差错处理机制等 时序: 定义实体之间交换信息的顺序以及如何匹配或适应彼此的速度
计算机网络的功能是在不同主机之间实现快速的信息交换,通过信息交换可以实现资源共享这一核心功能,也就是说计算机网络最主要的就是实现资源共享
资源共享可分为硬件资源共享、软件资源共享和信息资源共享 硬件和信息资源共享顾名思义便是计算机的硬件如计算资源CPU、存储资源、打印机与扫描仪I/O设备和一些文字信息
我们来主要说下软件资源共享(有时候这个界限傻傻的分不清): 软件即为数据库系统、大型行业专用软件等。 软件资源的共享可以避免软件的重复投资、重复部署,有效节省成本。 现在互联网公司大部分都是提供软件服务的,即通过互联网提供软件服务,也就是我们常说的软件即服务,其中最著名的便是SaaS(Software as a Service)。
在此提出一个问题,服务器是属于哪一类的资源共享。
个域网(PAN):1~10m 局域网(LAN):10m~1km 城域网(MAN):5~50km 广域网(WAN):几十到几千千米
星形拓扑结构: 星形拓扑结构网络包括一个中央结点,网络中的主机通过点对点通信链路与中央结点连接
常见于局域网和个域网中 优点: 易于管理与监控,故障诊断与隔离容易 缺点: 中央结点是网络的瓶颈,一旦故障,全网瘫痪,网络规模受限于中央结点的端口数量
总线型拓扑结构: 采用一条广播信道作为公共传输介质,称为总线,所有结点均与总线连接,结点间的通信均通过共享的总线进行 总线型拓扑结构网络在早期的局域网中比较多见 优点: 结构简单,所需电缆数量少,易于扩展 缺点: 通信范围受限,古战诊断与隔离较困难,容易产生冲突
环形拓扑结构: 环形拓扑结构网络利用通信链路将所有结点连接成一个闭合的环,环中的数据传输通常是单向(也可以双向)传输。 每个结点可通过令牌向环中发送数据,一次只能一个结点传送数据,每个结点也可通过令牌从环中读取数据,结点发送的数据必须本节点来清除。 常见于早期的局域网、园区网和城域网 优点: 所需电缆长度短,可以使用光纤,易于避免冲突 缺点: 某结点故障容易引起全网瘫痪,新结点的加入或撤出过程比较麻烦,存在时间等待问题
网状拓扑结构: 网状拓扑结构网络中的结点通过多条链路与不同的结点直接连接。 如图所示:如果网状拓扑结构网络的任一结点与其余所有结点均有直接链路连接,则称为完全网状拓扑网络,否则称为非完全网状拓扑网络 网状拓扑结构比较多见于广域网、核心网络等 优点: 网络可靠性高,一条或多条链路故障时,网络仍然连通 缺点: 网络结构复杂,造价成本高,选路协议复杂
树形拓扑结构: 树形拓扑结构可以看作是总线型或星形拓扑结构的扩展。比较多见的是通过级联星形拓扑结构网络中的中央结点构建树形拓扑结构网络 常见于局域网 优点: 易于扩展,故障隔离容易 缺点: 对根节点的可靠性要求高,以单根结点故障,则可能导致网络大范围无法通信
混合拓扑结构: 由两种以上简单拓扑结构网络混合连接而成的网络,如Internet便是用的混合拓扑结构网络 优点: 易于扩展,可以构建不同规模网络,并可根据需要优选网络结构 缺点: 网络结构复杂,管理与维护复杂
数据交换是指网络通过彼此相连的节点间的数据转借,实现将数据从发送结点送达目的结点的过程和技术。 按网络所采用的数据交换技术,计算机网络可分为电路交换网络、报文交换网络和分组交换网络
按网络用户属性分可分为公用网(public network)和专用网(private network)
现代计算机网络的结构包括网络边缘(network edge)、接入网络(access network)与网络核心(network core)三个部分
主要由主机和端系统组成,就比如说我们使用的手机、电脑、机顶盒、服务器等。网络边缘上的段系统运行分布式网络应用,在端系统之间进行数据交换,实现应用目的。 所用的交换模型为C/S模型和P2P模型
接入网络是实现网络边缘的端系统与网络核心连接与接入的网络。常见的接入网络有电话拨号接入、非对称数字用户线路ADSL、混合光纤同轴电缆HFC接入网络、局域网、移动接入网络
电话拨号接入: 电话拨号接入便是我们常说的有线电话,它通过调制解调器(modem)将数字信号调制到模拟电话线路,然后再利调制解调器将数字信号从模拟信号解调出来。这种接入方式的接入链路宽带有限,最大带宽通常为56kbit/s
非对称数字用户线路ADSL ADSL也是利用现有的电话网络的用户线路实现的接入网络,它基于频分多路复用(FDM)技术实现电话语音通信与数字通信共享一条用户线路,之所以称为非对称,原因是其上行带宽比下行带宽小。 其上行带宽和现行带宽与用户线路的长度有关系: 当用户线路长度在3~5km范围时,典型的上行带宽为512kbit/s~1Mbit/s,下行带宽为1~8Mbit/s。 当用户线路长度在1.3km以内时,可实现更高速率的VDSL(超高速数字用户线路),其典型的下行带宽可达到55Mbit/s,上行带宽可达到19.2Mbit/s ADSL接入方式主要用于家庭用户接入网络,一些小型商业用户也会使用在中接入方式。
混合光纤同轴电缆HFC接入网络 HFC接入网络也称为电缆调制解调器接入,是利用有线电视网络实现网络接入的技术。 HFC也是基于频分多路复用技术,利用有线电视网络同轴电缆剩余的传输能力实现电视信号传输与网络数据传输的共享。HFC也是“非对称”的,即上行带宽小于下行带宽,典型上行带宽为30.7Mbit/s,下行带宽为42.8Mbit/s。 HFC接入是共享式接入,便是每个用户平均占用一条同轴电缆的带宽。所以HFC在用户量大的时候并没有ADSL接入速度快,因为ADSL是独享式接入
局域网和移动接入网络这两个比较常见在此不一一赘述
网络核心是由通信链路互连的分组交换设备构成的网络,作用是实现网络边缘中主机之间的数据中继(路由)与转发。比较典型的分组交换设备是路由器和交换机,也可以说交换结点和传输介质的集和称为通信子网,即网络核心
路由功能: 确定分组从源到目的传输路径(由路由算法解决) 转发: 将分组从路由器的输入端口交换到正确的输出端口
其通过数据交换技术来实现数据的中继与转发
电路交换是最早出现的一种交换方式,而电话网络则是最早、最大的电路交换网络。 电路交换的步骤为建立电路、传输数据和拆除电路3个阶段
其特点为在建立电路之后两个主机会充分利用物理链路的带宽(独占资源,不能被第三方占用),是有连接的,通常会采用相关的信道复用技术,如频分多路复用、时分多路复用(会在第六个博客中进行详解)等。
其在传输过程中可以为单工和全双工
优点: 实时性高,时延和时延抖动都较小 缺点: 对于突发性数据传输,信道利用率低,且传输单一 主要适用与语音和视频这类实时性强的业务
报文交换也称为消息交换,其工作过程为:发送方把要发送的信息附加上发送/接收主机的地址及其他控制信息,构成一个完整的报文,然后以报文为单位在交换网络的各结点之间以存储-转发的方式传送,直至送达目的主机。 一个报文在每个结点的延迟时间,等于接收报文所需的时间加上向下一个结点转发所需的排队延迟时间之和
报文交换事先不需要建立连接,相对于电路交换而言报文交换线路利用率高。因为报文需要排队所以导致报文经过网络的延迟时间变长并且不固定,对于实时通信而言会容易出现不能满足速度要求的情况。有时结点收到的报文过多导致存储空间不够或链路被占用不能及时发送报文,便会丢弃报文。 在20世纪40年代的电报通信中使用的便是基于存储-转发原理的报文交换
分组交换需要将待传输数据(报文)分割成较小的数据块,每个数据块附加上地址、序号等控制信息构成数据分组,每个分组独立传输到目的地,目的地将收到的分组重新组装,还原为报文。分组交换通常也采用存储-转发的交换方式
优点: 交换设备存储容量要求低(因为将报文拆分成较小的数据块进行传输) 交换速度快(多个分组可以在不同线路上并发传输) 可靠传输效率高(对于报文交换来说差错控制较为容易,因为报文交换出现差错,便需要重传整个报文) 更加公平(小报文将用较短的时间通过网络到达目的地)
缺点: 要求交换机有及高的处理能力,对于交换机的开销大(因为需要进行分组和重组)
分组交换方式中分组长度的选择非常重要。它与交换过程中的延迟时间、交换设备存储容量、线路利用率、信道传输质量、数据业务统计特性以及交换机费用等诸多因素有关,我们主要聊聊分组长度与延迟时间、误码率的关系。
分组长度与延迟时间: 分组交换网络的存储-转发过程可以抽象为一个排队系统,当分组具有相同的长度时,分组在交换过程中的延迟时间较小。而分组长度越长,延迟时间越长。
分组长度与误码率: 设分组长度为L位,分组头长度为h位,数据长度位x位,信道误码率为P(e),分组传输正确的概率为P(s),最佳分组长度为L(opt),最高信道利用率为 η \eta η(max),则它们之间的关系为:
L=h+x P(s) = ( 1 − P ( e ) ) L (1-P(e))^{L} (1−P(e))L η \eta η(max) = ( 1 − ( h ∗ P ( e ) ) ) 2 (1-\sqrt(\tiny h*P(e)))^{2} (1−( h∗P(e)))2 分组传输错误要求重发的概率为(1-P(e)),在考虑到可能多次连接传输错误的情况下,可以得到最佳分组长度为 L(opt) = h P ( e ) \sqrt\frac{h}{P(e)} P(e)h
由后面两个表达式可知,在一定h、P(e)下存在最佳分组长度,且P(e)越小,L(opt)越长; η \eta η(max)随h、P(e)增大而降低
就目前来讲分组数据交换的规格和标准已由国际电信联盟以建议的形式制定而出,分组长度以16B(1B=8bit)到4096B之间的 2 n 2^{n} 2nB为标准分组长度,如32B、64B、256B、512B和1024B
速率是计算机网络中最重要的性能指标之一。速率是指网络单位时间内传送的数据量,用来描述网络传输数据的快慢,也称为数据传输速率或数据速率。单位为kbit/s、Mbit/s、Gbit/s、Tbit/s等。 通常给出的网络速率是指网络的额定速率或标称速率,网络在实际运行时的速率可能并不总能达到额定速率
在计算机网络中,有时也会用“带宽”这一术语描述速率。在通信或信号处理领域中,带宽原本是指信号具有的频带宽度,即信号成分的最高频率与最低频率之差,单位为Hz(赫兹)
一条链路或信道能够不失真的传播电磁信号的最高频率与最低频率之差,称为信道的带宽
时延是评价计算机网络性能的另一个重要的性能指标,也称为延迟,是指数据从网络中的一个结点到达另一结点所需要的时间。 在存储-转发方式的分组交换网络中,每个分组从一个源结点传送到目的结点的过程中,都是首先发送给某个相邻的结点,相邻的结点再发送给其相邻结点,在计算机网络中,通常将连接两个结点的直接链路称为一个“跳步”,简称“跳”。
分组的每条传输过程主要产生4类时间延迟:结点处理时延、排队时延、传输时延、传播时延。
前两个时延便是表面上的意思,便是结点处理报文的时延和结点发送多个报文,每个报文发送出去之前所需要等待的时间。
我们主要说说传输时延和传播时延 传输时延: 当一个分组再输出链路发送时,从发送第一位开始,到发送完最后一位为止,所用的时间,称为传输时延,也称为发送时延,记为D(t)。 假设分组长度为Lbit,链路带宽(速率)为Rbit/s则分组的传输时延为: D ( t ) = L R D(t) = \frac{L}{R} D(t)=RL
传播时延: 信号从发送端发送出来,经过一定的距离的物理链路到达接收端所需的时间,称为传播时延,即为D§。 若物理链路长度为D(m),信号传播速度为V(m/s),则传播时延为: D ( p ) = D / V D(p)=D/V D(p)=D/V
一段物理链路的传播时延与链路带宽的乘积,称为时延带宽积,即为G,则: G = D ( p ) ∗ R G=D(p)*R G=D(p)∗R 时延带宽积表示一段链路可以容纳的数据位数,也称为以位为单位的链路长度
丢包: 排队时延的大小取决于网络拥塞程度,网络拥塞越严重,平均排队时延就越长,反之就越短。上面我们也说过在结点无缓存空间时便会丢弃分组,这便是“丢包”现象。 而丢包率便是丢失分组总数除以发送分组总数: 丢 包 率 = ( 发 送 分 组 总 数 − 接 收 分 组 总 数 ) / 发 送 分 组 总 数 丢包率=(发送分组总数-接收分组总数)/发送分组总数 丢包率=(发送分组总数−接收分组总数)/发送分组总数
吞吐量: 吞吐量表示再单位时间内源主机通过网络向目的主机实际送达的数据量,单位为bit/s或B/s,记为Thr。
比如从A端发送数据到B端需要经过4个结点,也就是要使用5段链路,而吞吐量便是这5段链路中最小的链路带宽。 T h r = m i n ( R 1 , R 2 , R 3 , R 4 , R 5 ) Thr=min(R1,R2,R3,R4,R5) Thr=min(R1,R2,R3,R4,R5) 吞吐量经常用于度量网络的实际数据传送能力,即网络实际可以达到的源主机到目的主机的数据传送速率。
吞吐量受网络链路带宽、网络连接复杂性、网络协议、网络拥塞程度等因素的影响。
本小节我们来聊聊网络体系结构中的三个参考模型。
OSI参考模型采用分层结构化技术,将整个计算机网络的通信功能分为7层,由低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。1~3层主要完成数据交换,5~7层主要完成信息处理
而TCP/IP参考模型将其分为4层,由低到高为:网络接口层、网络互联层、传输层、应用层,网络互联层是整个TCP/IP参考模型的核心
五层参考模型中层次由低到高为:物理层、链路层、网络层、传输层、应用层
OSI参考模型主要存在于理论,现实中并没有多少使用这个模型,而TCP/IP便是主流使用的参考模型。而五层参考模型中将网络互联层分为链路层和网络层,是我们后续要聊的参考模型。
物理层: 主要功能是再传输介质上实现无结构比特流传输。所谓无结构比特流是指不关心比特流实际代表的信息内容,只关心如何将信号传送到目的地。 物理层的另一项主要任务就是规定数据中端设备与数据通信设备之间接口的相关特性,主要包括机械、电气、功能和规程4个方面的特性。
数据链路层: 主要功能是实现再相邻结点之间数据可靠而有效的传输。为了能实现有效的差错控制,采用了一种以“帧”为单位的数据块传输方式
网络层: 网络层解决的核心问题是如何将分组通过交换网络传送至目的主机,因此网络层的主要功能是数据转发与路由
传输层: 传输层的功能主要包括:复用/分解、端到端的可靠数据传输、连接控制、流量控制和拥塞控制机制等
会话层: 在建立会话时核实双方身份是否有权参加绘画;确定双方支付通信费用;双方在各种选择功能方面取得一致;在绘画建立以后,需要对进程间的对话进行管理与控制
表示层: 主要用于处理应用实体间交换数据的语法,其目的是解决格式和数据表示的差别
应用层: 为用户提供网络服务相关