计算机网络基础之笔记一
Posted 火火星君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络基础之笔记一相关的知识,希望对你有一定的参考价值。
1. 计算机网络基础
计算机网络:通信+计算机,实现资源共享与数据传输。
分为三类资源:硬件资源、软件资源、数据资源。
发展的5个阶段:面向终端、计算机-计算机网络、开放式标准化网络、计算机局域网络、国际互联网。
主要功能:数据通信(最基本)、资源共享(提高利用率)、增加可靠性(针对单点失效)、提高系统处理能力(协同操作与并行处理实现负载均衡)
1.1 分类
局域网:范围小,广播,传输速率高,属一
广域网:范围大,点到点,传输速率低,属多
城域网:范围在局域和广域之间,采用的是局域网技术,传输速率较高(1Mbit/s以上)
数据交换:确定双方的传输路径与传输格式,包括
电路交换(必须建立专用物理线路,呼叫连接,数据不会丢失且保持原序列,适合高质量大数据传输)
报文交换(以报文为单位存储-转发,无需呼叫连接,存储转发和排队增加了时延,不适用于实时通信与交互通信)
分组交换(报文交换的一种,将不定长报文定长分组存储-转发,目的节点需要进行报文重组)
资源子网:主体是主机,提供网络服务与资源共享
通信子网:由通信处理节点(CCP)和连接线路及设备组成,负责数据通信与资源传输
结合性(通信子网与资源子网结合,通常一台计算机)
专用型(一个通信子网对应一个资源子网)
公用型(一个通信子网连接多个资源子网)
1.2 拓扑结构
节点:转接节点与访问节点
链路:物理链路与逻辑链路
设计考虑因素:响应时间(与节点数与路径长有关)、可靠性、成本
(1)总线型:电缆长度短、布线容易,但故障诊断困难
(2)星型:应用最多的拓扑结构,访问协议简单,方便服务,但过分依赖中心节点
(3)环型:所有链路都按同一方向传输(中继器连接),电缆长度短,但节点故障会引起全网故障
(4)树型:易于扩展,故障隔离容易,但对分支节点依赖较大
(5)混合型
2. 数据通信技术
性能指标:数据传输速率(b/s,最大传输速率)、信号传输速率、信道容量(b/s,实际传输速率)、误码率(<10-6,差错控制)
单工通信:只支持一个方向上的数据传输(单信道)
半双工通信:允许两个方向传输,但不能同时发送数据(双信道)
全双工通信:双方同时收发数据(双信道)
异步传输:各个字符分开传输,字符之间插入同步信息,但起始位和校验位会有开销
同步传输:以报文或分组为单位(帧头,帧尾),双方发送同步码(SYN或位标志,如01111110),时钟调到同一个频率,接收数据时双方需要不停的发送和接收连续的同步比特流
绝对带宽:覆盖的频率范围
有效带宽:大部分能量集中的那段频带
基带传输:原始脉冲,以太网
频带传输:信号调制(调频、调幅、调相),远程通信
宽带传输:同一媒介上,把不同频带并行传输,采用频带传输技术
多路复用:为多个用户共享信道(频分、波分、时分)
3. 计算机网络体系结构
3.1 物理层【bit】
接收数据链路层的数据帧,执行物理协议,在两个通信设备间建立连接,并按顺序传输比特流。
3.2 数据链路层【帧】
为网络层提供透明可靠的传输服务,提供3种服务:无确认的无连接服务(适用于低错误率的情况,如局域网)、有确认的无连接服务(对每个数据帧编号,接收帧时必须确认,超时则重发,适用于不可靠信道),有确认的面向连接服务(如广域网)。
1) 数据成帧
将比特流切分成信息块,出现错误时重传错误的数据帧。
帧同步的4种方法,常用的是比特填充法和违例编码法
字节计数法: 第一个数字表示每帧的大小,但这个值可能在传输中出错
带填充字符的首尾定界方法: 以DLE STX开头,以DLE ETX结尾,再在遇到的DLE前插入一个DLE,接收时再去掉这个DLE(字符填充计数)
使用比特填充的首尾定界符法: 如以01111110为首尾标志,传输数据中连续的5个‘1’后插入一个‘0’
违例编码法: 如‘高-高’电平对和‘低-低’电平对来定界帧的起始,只适用于采用冗余编码的特殊编码环境
2) 流量控制
控制发送方发送帧的速率,使接收方有足够缓存空间来接收,避免丢帧,大都需要启用反馈机制。
停等协议
单工无错停等协议(也叫简单停等协议,接收后应答)
单工有错停等协议(收到错误ACK后重发上一帧,如果ACK丢失,则超时重发和数据帧编号)
双工停等协议(①A数据帧->B,B应答帧->A; ②搭载应答:A数据帧->B,B数据帧+应答帧->A;)
滑窗协议:允许发送多个数据帧而无需等待应答,目的是提高信道利用率
3) 差错控制
检错码:需要反馈重发,如奇偶校验码和循环冗余校验码,检错码是更为常用的差错控制编码。
纠错码:可以前向纠错,但开销大,效率不高,如海明码。
奇偶校验码:在原数据后添加一个校验位‘0’或‘1’,使数据中的‘1’的个数为奇数(奇校验)或偶数(偶校验),但漏检率接近1/2。
循环冗余校验码(CRC):又叫多项式码。
信息位:1011001 M(x)=x6+x4+x3+1
冗余位:1010 R(x)=x3+x
码字: 10110011010 C(x)=xr·M(x)+R(x)=x10+x8+x7+x4+x3+x (r=4,R(x)的最高次+1)
海明码:纠正单个错误,如r1为1,r2为1,r4为1,r8为0,则出错位为0111,即第7位,如果这些2i位的‘1’的个数为偶数,则传输码字无错。
4) 链路管理
建立、维持和释放链路。
面向比特的标准协议——HDLC:‘0’比特插入+全双工+CRC+传输控制与处理的分离
HDLC只能点对点。
非平衡配置(主站控制+从站响应)——正常响应(主站启动,控制轮询、超时和重发)和异步响应(从站启动,控制轮询、超时和重发)
平衡配置(复合站+复合站)——任意节点均可启动,可发送、接收、应答、差错控制等
3.3 网络层【报文分组packet】
选择合适的路由,并进行拥塞控制、恢复处理。
1) 面向连接(虚电路):
原理:呼叫分组建立连接-->报文分组顺序到达并纠正-->关闭连接
每个节点需要维护一张虚电路表。虚电路之所以是“虚”的,是因为这条电路不是专用的,每个结点到其他结点之间的链路可能同时有若干虚电路通过。它也可能与多个结点之间具有虚电路。
2) 无连接(数据报):不需要建立连接,每个报文带有完整的目的地址和源地址,可能有丢失、重复、失序。
数据报作为独立数据单位进行路由选择,因此到达顺序与接收顺序可能不同,差错控制与流量控制需要上层来完成。
每个节点需要维护一张路由选择表。
虚电路与数据报的区别:
虚电路 | 数据报 | |
建立连接 | 需要 | 不需要 |
目的地址 | 建立时分组使用虚电路号 | 分组有完整目的地址 |
分组顺序 | 按序到达 | 无序 |
路由选择 | 虚电路号 | 分组独立寻找路由 |
流量控制 | 子网负责 | 上层主机负责 |
差错控制 | 子网负责 | 主机完成 |
拥塞控制 | 更容易,预留了带宽和缓冲区,可以立即转发 | 较困难 |
对网络故障的适应性 | 所有经过故障结点的虚电路均不能正常工作 | 出故障的结点丢失分组,其他分组路径选择发生变化,可正常传输 |
如果两个节点间需要长时间传输数据,而且数据很短,那么更适合使用虚电路,避免分组中保存地址信息带来的开销。
如果只传输少数几个分组或广播组播,那么使用数据报更适合,没有建立阶段,可以临时根据网络流量选取路由,但因此会影响分组传输延时。
3) 路由选择
最优化原则:直接结果是,所有源到指定目标的最优路径的集合构成了一棵以目标节点为根的树,即汇集树。
[静态路由选择算法]
b、扩散式
一个节点收到一个分组后,再向除从接受的路线外的所有路线发送该分组,适用于军事网络等强壮性很高的网络。
改进:①每个分组头部增加一个计数器,经过一跳则减一;
②记录已经扩散过的分组,每个源路由器都维持一个来自于该源路由器的序列号的列表,如果一个进来的分组位于列表中则不用再扩散此分组
③选择大概正确的方向上的路径
c、随机
d、基于流量
兼顾拓扑与负载。已知负载量与平均流量,选择网络的最小平均分组延迟来优化路由选择。
[动态路由选择策略]
a、距离矢量
每个路由器维护一张表,表中列出到每个目标的最佳距离及路线,通过邻居之间交换信息来不断更新表。
对好消息反应迅速,对坏消息反应可能非常慢。
b、链路状态
每个路由器根据同样的状态信息独立的进行路由计算。
①发现每个路由器的邻接节点
②测量到邻接节点的延迟和开销
③组装一个分组并告知刚获取的所有信息
④将该分组发送给其他所有节点
⑤Dijkstra计算到其他节点的最短路径
c、分级路由
路由表太多怎么办?
将网络划分几个区域,每个区域只考虑自己区域内的路由,降低了路由存储量。
d、广播路由
以发起广播的路由器为根的汇集树,如果路由器知道它的哪些线路属于一棵生成树,则可以将进来的广播分组复制到除了分组来的线路外的所有生成树线路上。
可以最佳的使用带宽。
4) 拥塞控制
原因:缓存容量、线路带宽、CPU处理速度
拥塞控制是全局性的问题,流量控制只是点对点的通信。
[开环]
做决定时不考虑网络当前状态,通过采用良好设计来防患于未然。
a、预防策略
乱序缓存策略:选择性重传优于回退N步
确认策略:会带来额外的流量,因此一般采用搭载响应
层 | 策略 |
传输层 | 重传、乱序缓存、确认、流量控制、确认超时 |
网络层 | 子网内部的虚电路与数据报、分组排队和服务、分组丢弃、路由算法、分组生成期管理 |
数据链路层 | 重传、乱序缓存、确认、流量控制 |
b、通信量整形
漏桶:如果漏桶中包含要传输的分组,则数据分组以一个恒定的速度进行传输,如果漏桶(包缓存)溢出,那么数据包会被丢弃。
令牌桶:限制数据的平均传输数据,只要令牌桶中存在令牌则允许突发传输直到令牌桶门限,桶中每隔△T产生一个令牌,满桶时则丢弃令牌。
c、流说明
发送方、接收方、通信子网的三种答复:同意、拒绝、其他建议。
[闭环]
反馈环路,包括网络监控、信息采集、拥塞控制。
a、用于虚电路的拥塞算法
许可证:发生拥塞后不允许建立其他虚电路。
改进后的许可证:允许建立,但所选取的路由绕开了拥塞的区域。
资源预留:路由器的表空间和缓冲区空间、线路上的带宽。
b、用于数据报的拥塞算法
信号量增减策略——减少时按一定比例减少,快速解除拥塞;增加时按常量增加,避免很快导致拥塞。
抑制分组:适用于数据报和虚电路。每个分组来到时检查输出线路是否处于警戒状态,若是,则向源主机放送抑制分组,分组中指出了拥塞的地址,周期内监听抑制分组,同时进行增减,但源主机可能响应过慢。
加权公平队列:基于数据流的排队算法,将应用的数据流调度到队列前部,以减少响应时间。
Hop-by-Hop:抑制分组对经过的每一跳都起作用,能迅速缓解发生拥塞的地方,在拥塞发生的初期阶段就可以得到抑制。
负载丢弃:采用不同的丢弃策略丢弃分组。
抖动控制:提早到达的分组会减速,晚到达的分组会尽快转发出去,以减少抖动。
3.4 传输层【报文】
网络层是提供系统间的数据传送,传输层是提供进程间的数据传送。
数据链路层的作用范围是相邻的路由器之间,传输层是端到端的两台主机。
面向连接服务:①建立连接;②数据传输;③释放连接 可提供流量控制、差错控制和序列控制。
无连接服务:不可靠。
1) 寻址
传送地址包括网络号、主机号、端口。
FTP是21号端口,SMTP是25号端口。
获取传送地址:①已知地址;②公开的地址;③名字服务程序(对照表);④利用初始连接协议来获取(进程服务器侦听端口,等待TCP连接请求)。
2) 建立连接
三次握手
3) 释放连接
4) 流量控制
采用滑窗机制,但连接数比在数据链路层中的多的多,对缓冲器的管理也复杂的多。采用设置公用缓冲区的方法,发送端在接收端确认前会缓冲所有发出的报文,便于在必要时重发,接收端不需要那么多缓冲区而采用了公用缓冲区供所有连接共享。当缓冲区不足,可以丢弃报文,因为发送方会重传。
5) 多路复用
向上多路复用与向下多路复用。
6) 崩溃恢复
子网崩溃恢复:只要主机缓存了未应答的报文,并且记录了通信过程,待子网恢复后重传即可。
主机崩溃恢复 :接收方可采用先写后答和先答后写策略,发送方可采用①总是重传最后一个报文 ②绝不重传最后一个报文 ③仅在发出报文后未应答时重传 ④仅在所有报文都已应答时重传。
3.5 会话层【报文】
管理数据交换过程。
1) 会话管理
建立连接、数据交换、释放连接。一次会话指从登陆到远程主机开始,执行应用程序,直到退出系统为止。通过数据令牌来实现。
2) 令牌管理
当建立一次会话时,只有持有Token的用户才可发送数据,另一方只能接收,发送后将令牌传给对方。
令牌在一个时间点上只分配给一个用户,防止竞争与冲突。包含数据令牌、次同步令牌、主同步令牌、连接释放令牌。
3) 同步管理
在连续的数据传送过程中插入同步点,出错时从同步点开始重传。
4) 活动管理
将报文流划分成activity逻辑单元,进行结构化管理。活动由对话单元组成,活动是双向的,对话单元是单向的。
5) 异常处理
3.6 表示层【报文】
端到端,主要与信息格式、编码、数据压缩、数据加密等表现形式相关。
3.7 应用层【报文】
虚拟终端、作业传送和管理、文件传送存取和管理。
参考: 《计算机网络》 人民邮电出版社
以上是关于计算机网络基础之笔记一的主要内容,如果未能解决你的问题,请参考以下文章