计算机网络期末复习
第一章 概述
电路交换:整个报文的比特流连续地从源点直达终点,就好像在一个管道中传送。
报文交换:整个报文先传送到相邻结点,全部存储下来之后,查找转发表,转发到下一个结点。
分组交换:单个分组(整个报文的一部分)传送到相邻结点,存储下来后查找转发表转发到下一个结点。
广域网:WAN
城域网:MAN
局域网:LAN
个人区域网:PAN
计算机网络的性能指标:
- 速率
- 比特率
- 带宽
- 信号具有的频带宽度(频域)
- 单位时间内网络通道可以通过的最高数据率
- 吞吐量
- 单位时间内通过某个网络的实际数据量。
- 时延 总时延=以下四种时延相加
- 发送时延=数据帧长度/发送速率
- 传播时延=信道长度/电磁波在信道上的传输速率
- 处理时延
- 排队时延
- 时延带宽积
- 时延带宽积=传播时延*带宽 表示传输管道的体积,链路可以容纳的比特数量。又称为以比特为单位的链路长度
- RTT
- 双向交互一次需要的时间
- 利用率
- d=D/(1-U) d代表网络当前时延,D代表网络空闲时的时延,U是网络的利用率
计算机网络体系结构:
- 应用层
- 应用层是体系结构中的最高层,其任务是通过应用进程之间的交互来完成特定网络应用。
- 应用层协议定义的是应用进程间通信和交互的规则。
- 应用层交互的数据单元称为报文。
- 应用层举例: DNS,HTTP,SMTP
- 运输层
- 运输层的主要任务就是负责向两台主机中进程的通信提供通用的数据传输服务。
- 运输层使用下面两种协议:
- 传输控制协议TCP 提供面向连接的可靠的数据传输服务,其数据传输的单位是报文段。
- 用户数据报协议UDP 提供无连接的,尽最大努力交付的数据传输服务,其数据传输的单位是用户数据报。
- 网络层
- 网络层负责为分组交换网上的不同主机提供通信服务。
- 发送数据的时候,网络层吧运输层产生的报文段或者用户数据报封装成分组或者包进行传送。在TCP/IP协议中由于使用IP协议,所以分组也叫做IP数据报。
- 网络层还有一个任务就是选择合适的路由,使得源主机运输层传下来的IP数据报能够通过网络中的路由器找到目的主机。
- 互联网是由大量的异构网络通过路由器相互连接而成的,互联网使用的网络层协议是无连接的网际协议IP和许多种路由选择协议。
- 数据链路层
- 简称链路层,在相邻两个结点之间传送数据时,将网络层交下来的IP数据报封装成帧,在相邻两个结点间的链路上传输帧,每一帧包含数据和必要的控制信息。
- 在接收数据时,控制信息使得接收端能够知道一个帧从哪个比特开始到哪个比特结束,收到帧之后,提取出数据部分上交给网络层。
- 控制信息使得接收端能够检测收到的帧中有没有差错,若有差错则丢弃这个帧。
- 如果需要改正数据中在数据链路层传输时出现的差错就要采用可靠传输协议来纠正出现的差错。
- 物理层
- 物理层传输的数据单位是比特。
第二章 物理层
物理层的特性
- 机械特性
- 电气特性
- 功能特性
- 过程特性
数据通信系统
- 源系统
- 源点,产生要传输的数据。
- 发送器,将要发送的数据进行编码。
- 传输系统
- 目的系统
- 接收器,将收到的信号进行解码。
- 终点,从接收器获取收到的数据。
- 源系统
信号的分类
- 模拟信号 (连续信号)
- 数字信号 (离散信号)
- 代表不同离散数值的基本波形称为码元。
信道的交互方式
- 单向通信。比如广播。
- 双向交替通信(半双工)
- 双向同时通信(全双工)
常用的编码方式
- 不归零制。 正电平代表1,负电平代表0.
- 归零制。 正电平代表1,负电平代表0.
- 曼彻斯特编码。 位于周期中心的向上跳变代表0,位于周期中心的向下跳变代表1,也可以反过来定义。
- 差分曼彻斯特编码。 在每一位的中心处始终有跳变。位边界开始有跳变代表0,位开始边界没有跳变为1.
基本的带通调制方法
- 调幅
- 调频
- 调相
信道复用技术
- 频分复用
- 时分复用
- 波分复用
- 码分复用(码分多址) CDMA
- CDMA中,每个站被指派一个唯一的m比特码片序列。发送m代表1,发送其反码代表0.
- 不同的站的码片序列正交内积为0. (这里将0写为-1)
- 收到
数据链路层
- 数据链路层使用的信道主要有以下两种类型
- 点对点信道
- 广播信道
使用点对点信道的数据链路层
点对点信道的数据链路层在进行通信时的主要步骤有:
- 结点A的数据链路层吧网络层交下来的IP数据包添加首部和尾部封装成帧。
- 结点A把封装好的帧发从给结点B的数据链路层。
- 结点B的数据链路层收到的帧无差错则从收到的帧中提取出IP数据报交给上面的网络层,否则丢弃这个帧。
使用点对点信道通信的三个基本问题
- 封装成帧
- 透明传输
- 差错检测
封装成帧
网络层的IP数据报传到数据链路层成为数据链路层的数据部分,添加首部和尾部构成完整的帧。每种数据链路层协议都规定了所能栓送的帧的数据部分长度上限–最大传送单元MTU。即IP数据包<=MTU.
在帧的头部添加SOH(0x01)
在帧的尾部田间EOT(0x04)
透明传输
在数据链路层透明传输数据的意思是:无论怎样的比特组合的数据,都能够按照原样没有差错的通过数据链路层。
具体解决方法为在发送前:
- 在数据部分出现的一个SOH前面添加一个转义字符ESE(0x1B)
- 在数据部分出现的一个EOT前面添加一个转义字符ESE(0x1B)
- 在数据部分出现的一个EOT前面添加一个转义字符ESE(0x1B)
在接受到数据之后删除即可。(看见一个转义字符就直接删除,如果有两个转移字符连在一起则只删除前一个)。
差错检测
在数据链路层使用了循环冗余检验CRC进行检错。
假设要传输的数据为M=101101,其长度k=6,要获得的冗余码为n位,事先确定的除数P(n+1位)。运算过程为:
- 将M左移n位。
- M除以P得到余数R。
- 将R作为冗余码拼接到M的后面。
这种为了进行检错而添加的冗余码称为帧检验序列。FCS
接收端收到数据M(此时已经变为k+n位)后:
- 用M除以P得到余数R
- 若R为零,则传输没有差错(又很小的概率即使出错了仍然为零)。
- R不为零,则丢弃这个帧。
点对点协议PPP
PPP协议的帧格式:
首部 | 首部 | 首部 | 首部 | 数据部分 | 尾部 | 尾部 |
---|---|---|---|---|---|---|
F=0x7E | A=0xFF | C=0x03 | 协议 | IP数据报 | FCS | F=0x7E |
F=0x7E为帧定界符,每两个F之间为一个帧。
透明传输的两种方法:
字节填充:
- 转移字符定义为0x7D
- 将0x7E变为两字节0x7D,0x5E
- 将0x7D变为0x7D,0x5D
- 若有ASCII控制字符(数值上小于0x20),则加上0x20并前面插入一个0x7D 例如0x03 –> 0x7D,0x23
零比特填充
- PPP在使用SONET/SDH链路时,采用同步传输,使用零比特填充来实现透明传输。
- 发送端只要发现有5个连续的1则立刻插入一个0
- 接收端接收端先找到标志字段F确定一个帧的边界。
- 每发现5个连续地1则删除其后面的0.
CSMA/CD协议
以太网使用面向无连接的工作方式,不必先建立连接,采用尽最大努力的交付,即不可靠的交付。
以太网发送的数据帧都是用曼彻斯特编码。
CSMA/CD协议的要点是:
- 多点接入:许多计算机连在同一根总线上。
- 载波监听:发送前和发送中都必须不停地检测信道是否空闲。
- 碰撞检测:也就是便发送边监听。
几个重要的概念:
- 争用期:以太网端到端的往返时间称为争用期,又称为碰撞窗口一个站在发送完数据之后只有通过争用期的考验还没有检测到碰撞才能说明这次发送没有发生碰撞。
- 电磁波在1km的电缆的传播时延约为5us,
以太网使用截断二进制指数退避来确定碰撞后重传的额时机。
- 基本的退避时间是争用期(51.2us),对于10Mbit/s的以太网,争用期可以发送512b数据,所以也可以称为512比特时间。
- 从离散的整数集合[0,1,…,(2^k-1)]中随机选取一个数,记为r,重传应该推迟的时间就是r倍的争用期。其中k=min[重传次数,10];
- 当重传16此仍然失败,则丢弃这个帧并向高层汇报。
强化碰撞:当发送数据的站发现了碰撞后,除了立刻停止发送数据之外,继续发送32b,或者48b的人为干扰信号,以便让所有用户都知道现在发生了碰撞。
以太网规定帧间最小间隔为9.6us.
以太网的信道利用率
- t=单程端到端的时延。
- T=帧的发送时间。
- α=t/T
- 信道的极限利用率=T/(t+T)=1/(1+α);
第四章 网络层
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。