第一章 计算机网络体系结构
1.1 计算机网络概述
·计算机网络主要由硬件、软件、协议组成
硬件:主机(端)、通信链路(双绞线、光纤)、交换设备(路由器、交换机)通信处理机(网卡)
软件:如网络操作系统、邮件收发程序、FTP程序、聊天软件等,多属于应用层
协议:计算机网络等核心
·计算机网络等核心部分:路由器;边缘部分:主机
·从功能上看,计算机网络=通信子网+资源子网
通信子网:各种传输介质、通信设备和相应的网络协议
资源子网实现资源共享功能的设备及其软件的集合
·计算机网络功能:数据通信、资源共享、分布式处理、提高可靠性、负载均衡
·计算机网络分类:
(1)按分布范围:广域网(>50km)>城域网(550km)>局域网(10m几km)>个人区域网(10m)
(2)按传输技术:广播式(局域网)、点对点(广域网)
区别:是否采用分组转发与路由选择机制;使用的协议不同
局域网基于广播技术;城域网基于交换技术
(3)按拓扑结构:总线形、星形、环形、网状(取决于通信子网)
(4)按使用者:公用网、专用网
(5)按交换技术:
电路交换:传统电话网,直接传送时延小;线路利用例低,不利于差错控制
报文交换/存储-转发:优点:较充分地利用线路,可以实现不同链路之间不同数据传输速率的转换,实现格式转换,实现一对多、多对一访问,实现差错控制;缺点:增大资源开销,增加缓冲时延,需要额外的控制机制
分组交换/包交换:除具备报文交换的优点外,还更易于缓冲管理、平均时延更小
(6)按传输介质:有线(双绞线、同轴电缆)、无线(蓝牙、微波、无线电)
·性能指标:
(1)带宽=最高传输速率,单位:b/s(比特每秒)
(2)时延=发送/传输时延+传播时延+处理时延+排队时延
(3)时延带宽积:表示该管道可容纳的比特数量
=传播时延*信道带宽
(4)往返时延(5)吞吐量(6)速率(7)信道利用率
1.2 计算机网络体系结构与参考模型
·协议数据单元PDU=服务数据单元SDU+协议控制信息PCI
·不同层对应的PDU:物理层:比特;数据链路层:帧;网络层:分组;传输层:报文段
·协议=语法+语义+同步
语法:规定传输格式;语义:完成功能、控制信息、应答;同步:条件、时序
·计算机网络提供服务分类
(1)面向连接与无连接服务:TCP/UDP,IP
(2)可靠服务与不可靠服务
(3)有应答与无应答服务:文件传输服务/WWW服务
·OSI(开放系统互连)参考模型(7层)
由上至下分为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
高三:资源子网;低三:通信子网
1、物理层:传输单位:比特
功能:规定电路接口标准、参数;规定通信链路上传输信号的意义与电气特征
(注意)物理媒介,如双绞线、光缆、无线信道不属于物理层,在其之下
协议:EIA-232C,EIA/TIA RS-449,CCITT X.21
2、数据链路层:传输单位:帧;实现点到点(主机到主机)的通信
功能:(网络层传来的IP数据报)组装成帧、差错控制、流量控制、传输管理;
控制共享信道的访问(广播式网络中,使用介质访问子层)
协议:SDLC,HDLC,PPP,STP,帧中继
3、网络层:传输单位:数据报(分组)
功能:路由选择、流量控制、拥塞控制、差错控制、网际互联等
协议:IP,IPX,ICMP,IGMP,ARP,RARP,OSPF
4、传输层
传输单位:报文段(TCP)或用户数据报(UDP);实现进程到进程(端到端)的通信
功能:复用:多个应用层进程可同时使用下面传输层的服务;
分用:传输层把接收到的信息分别交付给上面的应用层中的进程
协议:TCP,UDP
5、会话层:建立同步SYN
6、表示层:使用标准方法定义数据结构,使不同表达方式的数据和信息能进行交换
7、应用层:用户网络界面
协议:FTP、SMTP、HTTP
·TCP/IP模型
由上至下分为:应用层、传输层、网际层、网络接口层
1、网络接口层=物理层+数据链路层
2、网际层~网络层,TCP/IP的关键部分
协议:(1)靠近传输层:ICMP:网际控制报文;IGMP:网际组管理协议
(2)核心:IP协议
(3)靠近网络接口层:ARP:地址解析协议
3、传输层:协议:TCP:面向连接、报文段、可靠交付;
UDP:无连接、用户数据报、尽最大努力交付(不可靠)
4、应用层:协议:虚拟中断协议Telnet、文件传输协议FTP、域名解析服务DNS、电子邮件协议SMTP、超文本传输协议HTTP、RTP
·TCP/IP与OSI的比较
相似:分层;独立协议栈;可连接异构网络
区别:
(1)OSI定义三个主要概念:服务、协议、接口
(2)OSI先模型后协议;TCP/IP先协议,模型是对协议的描述
(3)TCP设计之初就就将IP置于核心,有利于解决异构网络的互联
(4)OSI在网络层支持无连接和面向连接两种通信,但传输层仅有面向连接的通信;
TCP/IP在网际层仅有无连接通信;但在传输层有无连接和面向连接两种通信模式
·学习计算机网络使用模型
从上至下:应用层、传输层、网络层、数据链路层、物理层
·将用户数据分成数据块进行传输的优点:减少延迟时间、提高错误控制效率、使多个应用更公平地使用共享通信介质
·电磁波在光纤中的传播速度:210^8m/s
在铜线中:2.310^8m/s
第二章 物理层
2.1 通信基础
·模拟数据(信号):连续变化的数据(信号);
数字数据(信号):取值仅允许为有限的几个离散数值(信号)
·传输方式:并行传输、串行传输(远距离传输采用)
·码元:用一个固定时长的信号波形表示一位k进制数字,称为k进制码元
二进制码元:有两种不同的码元,分别表示状态0和1
码元宽度:固定时长
(一码元可携带若干比特信息量)
·信道分类:
(1)按传输信号形式:传送模拟信号的模拟信道、传送数字信号的数字信道
(2)按传输介质:无线信道、有线信道
·基带信号/传输:基带信号将数字信号0,1用两种不同的电压表示,然后在数字信道上传输传输
·宽带信号/传输:宽带信号将基带信号进行调制后形成的频分复用模拟信号在模拟信道上传输
(3)按双方信息交互方式:单向(电视,广播)/半双工(对讲机)/全双工通信
·码元传输速率/波特率:单位时间内数字通信系统传输的码元个数;单位:波特Baud
·信息传输速率/比特率:单位时间内数字通信系统传输的二进制码元个数
·奈奎斯特(奈氏)定理与香农定理
1、奈氏准则
前提:理想低通,即无噪声、带宽有限,的信道中
极限码元传输速率=2Wlog2V (b/s)
W:信道带宽;V每个码元离散电平数目
提高数据传输速率的方法:使每个码元携带更多比特信息,使用多元制的调制方法
2、香农定理
前提:带宽受限且有高四白噪声干扰的信道
极限码元传输速率=Wlog(1+S/N) (b/s)
W:信道带宽,S:信道传输信号的平均功率;N:信道内部的高斯噪声功率;
S/N:信噪比(dB)=10log10(S/N),如S/N=10/1000,信噪比=10dB/30dB
(信道的带宽或信噪比越大,信息的极限传输速率越高)
·编码与调制
编码:将数据变换为数字信号;调制:将数据变换为模拟信号
1、数字数据—(数字发送器)编码—>数字信号:
·常用数字数据编码方法(编码关键:用什么样的数字信号区分0,1)
(1)归零编码RZ:每个时钟中间均跳变为0;提供自同步机制;归零需占用带宽,影响传输速率
(2)非归零编码NRZ:与RZ的区别在于不归零,无法传递时钟信号,想同步需有时钟线
(3)反向归零编码NRZI:信号翻转代表0,保持不变代表1;
既能传输时钟信号又不损失带宽;USB 2.0使用
(4)曼切斯特编码:一个码元一分为二(类似一个周期一分为二),前高后低为1,前低后高为0
特点:码元中间发生跳变;跳变即作为时钟信号(同步)又作为数字信号;
所占带宽是原基带宽度的2倍
以太网10Mb/s使用
(5)差分曼彻斯特编码:若码元为1,前半个电平与上一个码元的后半个电平相同;
若码元为0,前半个码元与上一个码元的后半个电平相反
特点:每一个码元中间均有跳变;可实现自同步,抗干扰性较好
常用于局域网传输
(6)4B/5B编码:将发送数据流4个一组,按规则转为5位码
5位码有32种组合,16个对应16种不同的4位编码,剩下作为控制码或保留
2、数字数据—(调制器)调制—>模拟信号:
·基本数字调制方法(通过改变:振幅/频率/相位)
(1)幅移键控ASK:改变振幅,抗干扰能力弱
(2)频移键控FSK:改变频率,容易实现,抗干扰能力强,普遍使用
(3)相移键控PSK:改变相位,分为绝对调相和相对调相
(4)正交振幅调制QAM在频率相同的前提下,调幅+调相,形成叠加信号
若采用m个相位,每个相位有n种振幅,设波特率为B,则数据传输速率R为
R=Blog2(mn) (b/s)
·应用:WiFi(CCK/DSSS/OFDM调制)
3、模拟数据—(PCM编码器)编码—>数字信号:
最典型:对音频数据进行编码的脉冲调制PCM;分为三步:采样、量化、编码
(1)采样:对模拟信号进行周期性扫描,将连续信号变为离散信号
采样定理,即奈奎斯特定理,采样频率必须大于元素信号最大频率的2倍(保证不失真)
(2)量化:将采样得到的电平幅值按分级标度转为对应的数字值,取整
(3)编码:量化结果转化为二进制编码
4、模拟数据—(放大器调制器)调制—>模拟信号:
目的:实现传输的有效性(提高频率);充分利用带宽(FDM)
应用:语音数据加载;频分复用FDM
·电路交换、报文交换、分组交换
1、电路交换:
数据传输前须建立一条双方独占的专用物理通信路径
三个阶段:连接建立、数据传输、连接释放
优点:通信时延小(不存在存储-转发时延);有序传输;没有冲突;适用范围广(即可传模拟,又能传数字信号);实时性强;控制简单
缺点:建连时间长;线路独占,使用效率低;不灵活;难以规格化(难进行差错控制)
2、报文交换:数据交换单位为报文,报文携带源/目的地址信息,使用存储-转发方式
优点:无须建立连接;动态分配线路;提高了线路可靠性(一条走不通换一条);提高线路利用率;提高多目标服务
缺点:存在转发时延;对报文大小无限制,要求网络结点有较大的缓存空间
(主要存在早期的电报通信中,现已被分组交换取代)
3、分组交换:存储转发方式;限制数据块大小上限
优点:无建连时延;线路利用率高;简化存储管理;加速传输;减少出错概率和重发数据量
缺点:存在传输时延;需要传输额外信息量;可能出现分组失序、丢失、重复
·数据报与虚电路
在分组交换的前提下,可分为:面向连接的虚电路方式;无连接的数据报方式
这两种服务方式由网络层提供
1、数据报
因特网使用,数据的正确性由各主机(网络边缘设备)保证
特点:不需建连;尽最大能力交付;分组中包含发送段和接收端的完整地址;在交换结点进行存储转发时需排队等待;故障适应能力强;不独占链路;存储转发时延小
2、虚电路
应用于:X.25、帧中继、异步传输模式
数据报结合电路交换,发送分组前建连一条逻辑上相连的虚电路
特点:链路的建立和拆除需要时间开销;建连后就确定了传输路径;提供可靠的通行功能,保证分组正确且有序;可进行流量控制;当线路中某个结点故障则链路失效;首部不包含目的地址而是虚电路标识符;电路不专用
(注意)虚电路分为提供永久性服务虚电路PVC和交换型虚电路SVC
·在数值上,波特率等于比特率与每符号所含的比特数的比值
·基带传输:基带信号在数字信道上传输
频带传输:基带信号调制后通过模拟信道传输
·比特率=每秒可能发生的信号变化次数
·以太网采用曼彻斯特编码,比特率=2倍数据率
·只给出码元和比特数之间关系求极限传输速率,需受到两个公式的限制,取最小
·最大传输速率=采样频率log2(变化状态数)
·将1路模拟信号分别编码为数字信号后,与另外7路数字信号采用同步TDM方式复用到一条通信线路上。1路模拟信号的频率变化范围为0~1kHz,每个采样点采用PCM方式编码为4位的二进制数,另外7路数字信号的数据率均为7.3kb/s。复用线路需要的最小通信能力是:64kb/s
(1)采集频率至少为样本最高频率的2倍=2kHz
(2)编码为4位二进制数,则1路模拟信号数据率为24=8kb/s
(3)7.2kb/s<8kb/s,故其与7路将数据率提升至8kb/s
(4)8*8kb/s=64kb/s
·计算采用存储转发方式的分组交换网络中,传送一个文件耗费的总时间
设最短路径须经过m次存储转发,一个分组的传输时延为tc(=分组大小/链路数据传输速率),
共有n个分组(=文件总大小/分组大小)
T=(n+m)tc
·采用报文交换的总时延=n(m+1)tc
2.2 传输介质
·引导型传输媒体:双绞线、同轴电缆、光纤、电力线
非引导型传输媒体:微波通信(2-40GHz)、无线电波、红外线、可见光
·双绞线:
绞合的作用:减少相邻导线的电磁干扰;抵御部分外界电磁干扰
屏蔽双绞线STP:在双绞线的外面再加上一层金属丝屏蔽层;非屏蔽双绞线UTP
·同轴电缆:
(1)基带(50欧):数字传输,过去用于局域网
细同轴电缆:10Base 2(185m);粗同轴电缆:10Base 5(500m)
(2)带宽(75欧):模拟传输,主要用于有线电视
抗干扰性好,传播距离较远,价格较双绞线贵,布线不够灵活
·光纤:
带宽范围大,原理:光的全反射
多模光纤:不同角度入射的多条光线在同一根光纤中传输,只适合近距离传输
光源:光电二极管;接收:光电二极管
单模光纤:光纤直径减小到只有一个波长时,适用于远距离传输
光源:半导体激光器;接收:激光检波器
光纤特点:传输损耗小,距离长,经济;抗雷电、电磁干扰性能好;无串音干扰保密性好;体积小质量轻;缺点:割接需要特殊设备;贵
·无线传输介质
频率划分: 10^ 410^8|10^81010|101010^14|10^141016|101610^22|10^2210^24
无线 | 微波 | 红外 | 紫外 | X射线 | 伽马射线
(1)无线电波
穿透能力强,传输距离长,向所有方向传播
应用:手机通信、WLAN
(2)微波(WiFi)、红外线、激光
需要发送方和接收方之间存在一条视线通路,有很强的方向性,沿直线传播,需要中继
卫星通信:利用同步卫星作为中继转发微波信号,容量大、距离远、覆盖广;保密性差,端到端时延长
·物理层接口特性:机械/电气(电压数字范围)/功能(电压含义)/过程(工作规程和时序)特性
2.3 物理层设备
·中继器
功能:将信号整形并放大(数字信号,仅用于信号的电气部分)再转发出去;
原理:信号再生
两个端口连接的是网段而不是子网,使用中继器相连的网段仍是一个局域网,
须使用同一协议,连接同一速率
工作在网络层,没有存储转发的功能
5-4-3:在采用粗同轴电缆10Base5的以太网中,相互串联的中继器不能多于4个,4个中继器串联的5段通信介质中只有3段可以挂载计算机
·集线器
实质上是多端口中继器,一个端口收到的数据会广播至其他端口,
不能划分冲突域,工作方式为半双工
·基带传输、频带传输、带宽传输
基带:不经调制;频带:进行数字调制,可实现多路复用;带宽:基于频带传输将链路划分为多条互不干扰的信道进行传输(频分复用)
第三章 数据链路层
3.1 数据链路层的功能
1、为网络层提供服务(无确认无连接,有无,有有);2、链路管理(链路的建立、维持、释放);3、确定帧的界限、帧同步与透明传输(封装成帧);4、流量控制:限制发送方的数据流量,防止发生速率超过接收方的接受能力,淹没接收方(流量控制不是链路层特有的);5、差错控制CRC
3.2 组帧
·组帧:依据规则将网络层递交的分组(IP数据报)封装成帧,目的:出错时只需重发出错的帧
·实现方法:
1、字符计数法:帧头部使用计数字段指明帧内字符数;计数字段出错,划分出错
2、字符填充的首位定界符法
使用特殊字符标记帧的开始SOH与结束EOT,
前加转义字符ESC区分信息中的特殊字符和转义字符
3、零比特填充的首位标志法
01111110标志一帧的开始与结束,发送方:在信息位中遇到连续的5个1自动在后插入一个0,接收方:逆操作,连续5个1,删去后跟的0;易于硬件实现,性能优于字符填充法
4、违规编码法(局域网IEEE 802使用)
在物理层中进行比特编码时使用,如曼彻斯特编码(高-低为1,低-高为0)
不需要填充技术,实现了数据传输的透明性,只适用于采用冗余编码的环境
3.3 差错控制
(仅讨论比特差错,其他差错,如:分组丢失/失序/重复,不是链路层考虑的主要差错问题)
利用编码技术进行差错控制主要分为:
(1)自动重传请求ARQ:接收端检查到差错时,通知发送方重发,直到正确接收
(2)向前纠错FEC:接收端发现错误,定位错误,并纠错
故又可分为检错编码和纠错编码
1、检错编码
(1)奇偶校验码:
奇/偶校验码:在n-1位信息后加一位校验码,使n位码字中1到个数为奇/偶数
只能检验奇数位出错的情况,不能定位错误
(2)循环冗余码/多项式码CRC
收发双方约定一个生成多项式G(x),假设G(x)的阶为r
发送方计算:待发数据M+r个0/生成多项式=Q……冗余码R(即检测码),待发数据为M+R
接收方计算:收到的数据/生成多项式?=0,为0则未出错,反之
2、纠错编码
·海明码(信息位Di,校验位Pi,海明码位Hi)
原理:在有效信息位中加入几个校验位
过程: (1)确定海明码位数:有效信息n位,检验位k位,满足:n+k<=2^k-1
n=3、4,k=3|n=5~11,k=4
(2)确定校验位分布:校验位Pi在信息位与校验位拼成的串中的第2^(i-1)位上
H7 H6 H5 H4 H3 H2 H1
D4 D3 D2 P3 D1 P2 P1
(3)分组形成校验关系:列表格,有关系第Hi位的D的i等于对应校验位的Hi的i和
如:D1(H3)=P1(H1)+P2(H2)=1+2=3;D4(H7)=P1(H1)+P2(H2)+P3(H4)=1+2+4=7
(4)校验位取值:Pi的取值为与其相关的所有D的异或,如P3=D2D3D4的异或
(5)接收方校验:每组Pi加对应所有D异或得Si,若Si…S2S1=0…00,则未出错
可检测出所有单比特错误,并纠正一位错
·海明距:纠错d位错,需要码距为2d+1的编码方案;检出d位错,只需d+1
(注意)校验码的位数等于生产多项式的最高次数
·噪声分为:热噪声:来源:信道固有,引起随机差错,提高信噪比降低;
冲击噪声:来源:外界电磁干扰,引起突发差错,传输差错的主要原因
3.4 流量控制与可靠传输机制
·流量控制:对链路上的帧的发送速率的控制
·基本概念
1、停止-等待协议原理:发送方每发送一帧都要等待接收方的应答,之后才发送下一帧
2、滑动窗口原理(注意与传输层的滑动窗口协议区分)
(1)发送窗口Wt:发送方维持一组连续的允许发送的帧的序号,未收到应答还能发送的帧数
(2)接收窗口Wr:接收方维持的一组连续的允许接收的帧的序号,窗口之外的帧不接收
·停止-等待协议:Wt=1,Wr=1;回退N帧协议:Wt>1,Wr=1;选择重传协议:Wt>1,Wr>1
·Wr=1时可以保证帧的有序接收
·传输过程中窗口大固定(与传输层区分)
3、可靠传输协议:通过确认和超时重传实现
·捎带确认:为了提高传输效率,将确认捎带在回复帧中
·自动重传请求ARQ:包括停止-等待SW,后退N帧GBN,选择重传SR
GBN和SR是滑动窗口和请求重发技术的结合,又称为连续的ARQ协议
1、单帧滑动窗口与停止-等待协议SW
·出错与解决:数据帧丢失;
帧被破坏:接收方:用差错检查工具检查有错误后丢弃,发送方有计时器,到时间重传
确认帧被破坏:发送的帧交替使用0和1标识,确认帧用ACK0和ACK1表示
·信道利用率U=Td/(Td+RTT+Ta) (Ta<
2、多帧滑动窗口与后退N帧协议GBN
发送方连续发送帧,并为每一帧设置超时计时器,接收端在连续接收若干正确的帧后,对最后一个帧发送确认信息(如对第n帧进行确认,表示n及n之前都已正确接收,期望收到第n+1/0帧)
采用n比特对帧进行编号,则发送窗口满足: 1<=Wt<=2^-1,否则接收方无法分辨新旧帧
连续发送提高了信道利用率,单若信道误码率大时,不一定优于SW协议
3、多帧滑动窗口与选择重传协议SR
每个发送缓冲区对应一个计数器,计数器超时,缓冲区内帧重传
Wt=Wr(若不等,应满足Wt+Wr<=2n),且Wt与Mr大max=2(n-1),即窗口大小大于等于序号范围大一半;缓冲区数目等于窗口大小,而非序号数
差错处理策略:一旦接收方怀疑帧出错,就会发送一个否定帧NAK给发送方
·对于窗口大小为n的滑动窗口,最多可以有n-1帧发送但没有确认
·设发送窗口为[L,U],帧序号长度为k个比特,发送窗口大小的初始值为W,
发送窗口的大小应0<=Wt<=W,即0<=U-L+1<=W,L>=(U-W+1)mod2^k
(2012)两台主机之间的数据链路层采用GBN协议传送数据,数据传输速率为16kb/s,单向传播时延为270ms,数据帧长度范围是128~512字节,接收方总是以与数据帧等长的帧进行确认。为使信道利用率达到最高,帧序号的比特数至少为:4
t一帧=1288b/16000b/s=64ms,T=64+2702+64=688ms,688/64=10.4<2^4
注意:1、用最小帧长;2、T/t:一帧从发送到收到确认的时间里能发688/64帧
·(2015)主机甲通过128kb/s卫星链路,采用滑动窗口协议向主机乙发送数据,链路单向传播时延是250ms,帧长为1000字节。不考虑确认帧的开销,为使链路利用率不小于80%,帧序号的比特数至少是:4
1000*8/128000=0.625s,T=0.625s+250ms=0.5625s,
设帧长为L,满足不等式:(L/128)/L>=80%,L>=7200B,7200/1000=7.2(个帧)
设帧序号n位,满足2^n-1>=7.2,所以n>=4
·(题型)链路/信道利用率U=N*Td/(Td+RTT+Ta)
N:发送窗口最大值,Td:发送一帧的时间(传输时间),Ta:发送确认帧的时间
(1)一帧的传输时间=数据帧长度/数据传输速率
(2)若确认帧的传输时延不能忽略,传播时延需加上确认帧的返回时延
·(题型)为了使链路利用率最大,帧序号位数至少是
求从一帧的发送到收到确认的的总时长等于几个单帧传输时延
·RTT:链路往返时间(两倍单向传播时延)
3.5 介质访问控制
·媒体介入控制,分为:静态划分信道;动态接入控制
静态划分信道:频分/时分/波分/码分多址
动态接入控制:受控控制:集中控制(轮询);分散控制(令牌)
随机接入(以太网)
·任务:为使用该介质的每一个结点隔离其他结点传输的信号
·介质访问控制MAC:数据链路层的一个子层,用于决定广播信道中信道的分配
·多路复用
将一条广播信道在逻辑上划分为几条互不干扰的子信道
1、频分多路复用FDM
将多路基带信号调制到不同频率载波上,形成一个复合信号
将物理信道的总带宽分割为若干子信道
每个子信道分配带宽可不同,但总和不能超过信道总带宽
为防止子信道之间干扰,在中间插入隔离频带
优点:充分利用传输介质的带宽,效率高,实现容易
2、时分多路复用TDM
将物理信道划分为若干时间片,轮流分配给多个信号使用
STDM:统计/异步时分多路复用,TDM的改进,不固定分配时隙(动态)可提高线路利用率
与FDM相比:更抗干扰;信号易整形再生;可用于传输数字信号
3、波分多路复用WDM=光的频分多路复用
4、码分多路复用CDM
采用不同编码来区分各路信号,既共享信道频率又共享时间
CDMA:码分多址
CDMA原理:将每个比特时间划分为若干码片,码片位数m
每个站点被分配唯一的m位码片序列,1:发码片序列;0:码片序列反码
各个站点的码片序列正交,多条信道码片叠加形成发送的码片序列
接收方受到叠加的码片序列与各站点码片序列做内积/m
得1/-1/0,站点发送了比特1/0/未发送信息
·随机访问介质访问控制
争用型协议,各节点之间不共享空间和时间,实质:将广播信道转为点到点信道
1、ALOHA协议
(1)纯ALOHA协议
发送数据时,不进行任何检测,若一段时间未收到确认,即认为发生了冲突,等待一段时间后,重发,直至成功
网络负载G:T0时间内所有站点发送成功和未发送成功而重传的帧数
网络吞吐量S=Ge^(2G),当G=0.5时,Smax=0.5e(-1)约为0.184,很低
(2)时隙ALOHA协议
将各站点时间同步,时间划分为等长的时隙,规定只能在每个时隙开始发送帧
S=Ge(-G),G=1时,Smax=e(-1)约为0.368
2、CSMA协议
(1)1-坚持 CSMA:发送结点之前侦听信道,空闲则发,忙则持续侦听等待;要求传播时延小
(2)非坚持 CSMA:发送前侦听,空闲则发,忙则等待一个随机时间后重复操作;
降低了冲突概率,但增加了数据在网络中的平均延迟
(3)p-坚持 CSMA:用于时分信道,发送前侦听,空闲则以概率p发送,概率1-p推迟到下一个时隙;忙则持续(指下一个时隙再)侦听;目的:1-坚持和非坚持的折中
3、CSMA/CD协议
(1)CSMA/CD:载波侦听多路访问/碰撞检测
(2)工作流程:先听后发,边发边听,冲突停发,随机重发;工作方式:半双工
(3)争用期(碰撞/冲突窗口):2t,t:单程传播时延
以太网:51.2us
(4)最小帧长=总线传播时延数据传输速率2
·目的:在发送完一帧前,能收到自己发送的数据(发生了冲突)
·以太网V2的MAC帧:64~1518B(数据大小:46~1500B)
插入VLAN标记后的MAC帧:64~1522B(42~1500B)
·站点在收到小于最小帧长的帧时会直接丢弃,
若要发送<64B的帧时,需使用填充字段,填充至64B
·帧长不能过长:其余主机长时间无法发送数据;接收主机缓冲区满
(5)退避算法
·确定基本退避时间,一个争用期2t
·参数k:重传次数(k<=10,k=min[重传次数,10])
·取一个[0~2^k-1]的随机数r,退避时间=2rt
·重传16次仍不成功,网络过于拥堵,丢包
动态退避=截断二进制指数退避算法,能降低发生碰撞的概率,使系统稳定
动态适应发送站点数量,考虑了网络负载对冲突的影响
4、CSMA/CA协议
(1)CSMA/CA:载波侦听多路访问/碰撞避免;用于无线局域网;链路层:确认重传SW
(2)使用CA的原因:接收信号强度<<发送,信号动态变化大,实现CD硬件开销大
存在隐蔽站问题(无线信号站点覆盖范围有限)
(3)帧间间隔IFS
SIFS/短IFS:包括:ACK帧、CTS帧、分片后的数据帧、回答AP探询帧
用于分割属于一次对话的各帧
PIFS/点协调IFS:中等长度,在PCF中使用
DIFS/分布式IFS:最长,用于异步帧竞争访问的时延
(4)退避算法:信道从忙转为空闲,任何要发送信号的站点的随机等待时间=DIFS+争用期窗口
当且仅当,发送时信道空闲且为第一帧时不使用退避算法,只需等待一个DIFS
(等待一个DIFS的目的:让优先级高的帧先发)
(发送方收到后,需等待一个SIFS后再发送ACK,分割一个对话的各帧)
(5)处理隐蔽站(RST与CTS)
避免由于站点覆盖范围有限,导致的冲突;对信道进行预约
源站发送数据前广播RST(请求发送)控制帧,包含:源/目的地址,本次通信持续时间
若接收站AP,信道空闲,则AP广播CTS(允许发送)控制帧
·CSMA/CD与CSMA/CA区别
(1)检测冲突,无法避免;无法检测,尽量避免
(2)传输介质:总线型以太网;无线局域网802.11a/b/g/n等
(3)检测方式:电压变化‘能量检测
·802.11的MAC层有两种接入媒体方式:
(1)DCF:分布式协调功能,CSMA/CA
(2)PCF:点协调功能(较少使用)
5、轮询访问
用户通过一个集中控制等监控站,以循环方式轮询每个结点,再决定信道分配,一个结点使用时,其与结点不能使用
经典协议:令牌传递协议;令牌:一个特殊的MAC控制帧,不含有信息仅用于控制
无碰撞,访问公平,传递通路逻辑上为环(物理上不一定)
适用于高负载广播信道;不共享时间或空间
·复用与多址
复用:资源划分为若干子信道,每个子信道只占用部分资源
多址:(多点接入)动态分配信道,暂时性滴占用信道(移动信道)
(多址的英文缩写在复用后+A,CDM,CDMA)
(2009)在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1Gb/s。电缆中的信号传播速率是200000km/s。若最小数据帧长度减小800比特,则最远的两个站点之间的距离至少需要(减少80m)
设最小帧长为l,最远距离为d,有等式l=(d/200000km)21Gb/s,得d=l/10
(2016)在Hub再生比特流的过程中会产生1.535us的时延,Hub为100Base-T设备,信号传播速率为200m/us,不考虑前导码,则两个结点之间理论上可相距的最远距离
翻译:Hub再生时延:要扣去;100Base-T:传输速率为100Mb/s;不考虑前导码:最小帧长为64B
单程传输时延=64B/100Mb/s=2.56us,单程传播时延=2.56-1.535=1.025us
dmax=200m/us*1.025us=205m
3.6 局域网
·局域网拓扑结构
1、以太网:使用最广泛IEEE 802.3,逻辑拓扑:总线形;物理拓扑:星形或拓展星形
2、令牌网:IEEE 802.5,逻辑拓扑:环形结构;物理拓扑:星形结构
3、FDDI:光纤分布数字接口,IEEE 802.8,逻辑拓扑:环形;物理拓扑:双环
·IEEE 802
(1)只对应于OSI参考模型的数据链路层于物理层
(2)将数据链路层拆分为两个子层:逻辑链路控制LLC子层、媒体介入控制MAC子层
MAC功能:向上屏蔽差异;提供统一访问接口;组帧、拆帧、比特传输差错检测、透明传输
LLC功能:向网络层提供无确认无连接、面向连接、带确认无连接、高速传输,4种服务类型
·以太网与IEEE 802.3
1、基本概念:逻辑上采用总线形拓扑结构,使用CSMA/CD进行访问控制
2、简化通信措施:(1)采用无连接的工作方式,尽最大努力交付,不可靠,差错纠正由高层完成
(2)使用曼彻斯特编码
3、传输介质
|参数|传输媒体|拓扑结构|最大段长|最多结点数|
10Base 5:基带同轴电缆(粗缆),总线形,500m,100
10Base 2:基带同轴电缆(细缆),总线形,185m,30
10Base-T:非屏蔽双绞线,星形,100m,2
10Base-FL:光纤对(850nm),点对点,2000m,2
4、网卡=网络接口板/适配器/接口卡NIC
连接计算机与外界局域网,装有处理器和存储区,是工作在数据链路层的网络组件
与传输介质串行通信;与计算机并行通信
功能:数据串并转换;物理连接与电信号匹配;帧的发/接/封/拆;介质访问控制(碰撞检测);数据编码与解码;数据缓存
出产时有唯一代码:介质访问控制MAC地址(=物理地址=硬件地址)
5、MAC帧
(1)MAC地址
·长度:6字节(48bit),格式:连字符或冒号分割12个十六进制数
高24位:厂商代码/唯一标识符OUI;低24位:厂商自行分配网卡序列号(网络接口标识符)
从左到右分别为第一字节到第六字节,一个字节内部b7~b0
·4种类型:根据第一字节划分b7,b6,b5,b4,b3,b2,b1,b0
b1=0:全球管理;=1:本地管理
b0=0:单播;=1:组播(多播)(48bit全1为广播地址)
·发送顺序:第一~第六字节;b0~b7
(2)MAC帧有两种标准:DIX Ethernet V2、IEEE 802.3
(3)V2的MAC帧格式:前导码8B|地址6B|类型2B|数据46~1500B|填充0~46B|FCS校验码4B
前导码:使发送端与接收端时钟同步
在MAC帧前插入8B长度的字段,
前7B:前同步码,快速实现MAC帧的比特同步
后1B:帧开始定界符10101011,表示往后为MAC帧(注意)MAC帧不需要结束符
MAC的首部(两个地址+类型)+尾部(FCS)=18B
(4)IEEE 802.3格式:用长度域替代DIX中的类型域,增加指出数据域的长度的功能
6、高速以太网(速率>=100Mb/s的以太网
(1)100Base-T
双绞线,100Mb/s,星形,CSMA/CD,全/半双工(全双工下不使用CSMA/CD)
IEEE 802.3标准,最短帧长64B,一个网段最大电缆长度:100m,帧间间隔:0.96us
(2)吉比特/千兆以太网
在1Gb/s速率下使用全/半双工,IEEE 802.3协议,与10Base-T,100Base-T向后兼容
(3)10吉比特以太网
帧格式、最小/大帧长保留IEEE 802.3标准
使用光纤传输,只在全双工下工作(无争用问题,不使用CSMA/CD)
·IEEE 802.11无线局域网
分为:有固定基础设施的无线局域网;无固定基础设施的移动自组织网络
(1)有固定基础设施的无线局域网
星形拓扑,中心称为接入点,AP(Access Point),CSMA/CA协议,又称Wi-Fi
AP:接入点,链路层设备,只认识MAC地址,不认识IP地址
BSS:基本服务集,无线局域网的最小构建,包括一个接入点和若干移动站
SSID:安装AP时,为其分配的不超过32字节的服务集标识符SSID(和一个信道)
BSA:一个BSS覆盖的基本服务区(<=100m)
DS:分配系统,AP通过DS再连接至其他AP,成为一个扩展的服务集ESS
(2)无固定基础设施的自组网络
由一些平等状态的移动站相互通信组成的临时网络,结点之间地位平等,都具有路由器功能
(注意)与移动IP区分,移动IP技术:实质仍为基于固定网络的各路路由协议,但自组网络将移动性扩展至无线领域中,使用自己特定的路由选择协议,可不连接网络
·802.11局域网的MAC帧
(1)三种类型:数据帧、控制帧、管理帧
(2)数据帧格式
组成:MAC首部30B|数据部分0~2312B|FCS帧检验4B
(3)MAC首部
·组成:帧控制2B|持续期2B|地址1(6B)|地址2(6B)|地址3(6B)|序号控制2B|地址4(6B)
·帧控制:
协议版本|类型|子类型|去往AP|来自AP|更多分片|重试|功率管理|更多数据|WEP|顺序
(重点)去往/来自AP与4个地址的对应(地址4用于自组网络,不讨论)
|去往AP|来自AP| 地址1 | 地址2 |地址3 |
|0 |1 |接收地址=目的地址|发送地址=AP地址 |源地址 |
|1 |0 |接收地址=AP地址 |发送地址=源地址 |目的地址 |
地址1:直接接收数据帧的结点;地址2:实际发送数据帧的结点
地址3(有线局域网和BSS的互联起重要作用):允许AP在构建以太网帧时能够确定MAC地址
·VLAN虚拟局域网
(1)实现方法:IEEE 802.1Q帧;配置交换机端口类型(Access/Trunk/Hybrid)
(2)作用:将一个较大的局域网分割成较小的与地理位置无关的逻辑上的VLAN,每个VLAN都是一个较小的广播域(跨越不同的交换机分组,交换机必须知道其VID)
(3)使用标准:802.3ac,支持VLAN的以太网帧格式的扩展
在源地址与类型字段中插入4B的VLAN类型标签
802.1Q帧格式:
目的地址|源地址|VLAN标签|类型|数据|FCS
VLAN标签:802.1Q标签类型2B|4bit无用|标签控制信息VID(12bit)
(注意)插入VLAN标签后FCS需重新计算
·VLAN只是局域网提供给用户的一种服务,并不是一种新型局域网
·优点:有效共享网络资源、简化网络管理、提高网络安全
·同一局域网中两个设备具有相同的MAC地址会导致在网络上这两个设备都不能正常通信
3.7 广域网
·概念:覆盖范围很广(超过一个城市)的长距离网络,是因特网的核心部分
·组成:一些结点交换机与连接交换机的链路
·结点交换机:工作原理与路由器相似,都用于转发分组,但不等于路由器,
功能:单个网络中存储并转发分组
局域网通过广域网与相隔很远的另一个局域网相连
·与局域网的区别:
广域网 |局域网
(1)覆盖范围:广,跨区域|小,区域内
(2)连接方式:结点之间点到点,为了提高可靠性,一个结点可连接多个其他结点|多点接入技术
(3)OSI参考模型层次:三层(物理/链路/物理)|两层(物理/链路)
(4)两者地位平等,并非包含关系
(5)着重点:强调资源共享|强调数据传输
·PPP协议(点对点,软件实现)
串行线路,面向字节(故PPP帧的长度为整字节),(SLIP的改进)
(1)组成:链路控制协议LCP;网络控制协议NCP;一个将IP数据报封装到串行链路的方法
LCP:扩展的链路协议,用于建立、配置、测试和管理数据链路
NCP:每个不同的网络协议对应一个NCP,为网络层协议建立和配置逻辑连接
IP数据报长度收到最大传送单元MTU的影响
(2)PPP帧格式
标志字段F(1B) |地址字段A(1B)|控制字段C(1B)|协议2B|信息部分0~1500B|FCS(2B)|F(1B)|
F:0111 1110(7E);规定转义字符:7D,0111 1101
A:固定0xFF;C:固定0x03
协议:比特0开头为网络层协议:IP(0x0021)、IPX、AppleTalk
比特1开头为其他,如LCP(C021),NCP(8021)
·注意,PPP
(1)为点到点协议,不使用CSMA/CD,无最小帧长规定
(2)提供差错检测服务但不提供纠错,不可靠,不使用序号和确认机制
(3)不支持多点线路
(4)只支持全双工
(5)两端可运行不同的网络层协议
·当信息字段出现与标志字段F一样的比特组合时,两种解决方法
(1)对于异步线路(默认):字节填充法(插入转义字符)
(2)对于同步线路(如SONET/SDH):比特填充法(插入比特0)(硬件完成,同HDLC)
·HDLC协议(目前已经很少使用,非大纲)
高级数据链路控制,基于ISO模型的面向比特的数据链路层协议
由硬件完成的比特填充法实现透明传输,全双工,CRC检验,
对信息帧顺序编号,可靠传输,控制与处理功能分离,更灵活
·HDLC帧格式:标志F|地址A|控制C|信息数据|FCS|F
控制字段:信息帧、监督帧、无编号帧
·HDLC的三种数据操作方式:正常响应模式、异步响应模式(非平衡配置方式);异步平衡模式
3.8 数据链路层设备
·网桥(非大纲):工作在链路层的MAC子层(二层设备),连接不同网段,可隔离碰撞域
·交换机:
1、本质:多端口网桥
2、原理:检测从以太端口传来的数据帧的源和目的地址的MAC地址
在系统内部的动态查找表(帧交换表)比较
若源MAC不在表中则添加,并将数据帧转发至对应目的端口
3、优势:对工作站透明,开销小,能实现VLAN;
拥有N个端口的交换机的总容量=N*单个端口的带宽
4、特点:
(1)单个端口与单个主机相连(网桥是一个网段),全双工
(2)连接多对端口,并实现无碰撞的传输
(3)即插即用设备,转发表通过自学习建立
(4)独占传输媒体带宽
5、两种交换模式
(1)直通式交换机:只检查帧的目的地址后传出,速度快,缺乏智能安全性,不支持不同速率端口
(2)存储转发交换机:现将接收到的帧缓存,并检查数据正确性,出错丢弃,无误转发,可靠,支持不同速率的端口,方便使用
6、交换机自学习功能
交换机过滤与转发借助于交换表,交换表表项至少有:MAC地址|接口
交换表会记录每个经由交换机的数据帧的源MAC地址与对应端口(前提是没记录过);查找转发时,若找不到对应MAC地址时,会向除发送端口外的所有端口广播该帧,只有对应该目的MAC地址的主机才会接收
交换表的每个表项都设有有效时间,过期删除
·以太网交换机的生成树协议STP
目的:为了解决,由于为了提高网络的可靠性,增加冗余电路,而导致网络环路,可能带来:广播风暴、接收重发帧的消耗(网络资源的消耗)、交换表震荡等问题
解决方法:构建无环路网络
·集线器、交换机、路由器
(1)集线器连接网络:扩大了广播域与冲突(碰撞)域
交换机连接网络:扩大了广播域,不扩大(隔离)碰撞域
(2)路由器/三层交换机:隔离广播域
在交换机上配置VLAN也可以隔离广播域
·设备传输时延:路由器>网桥>交换机>集线器
·交换机适用于本局域网内通信量大的网络
·对于100Mb/s的以太网交换机,当输出端口无排队,以直流交换方式转发一个以太网帧(不包含前导码)时,引入的转发时延至少是:48bit/100Mb/s=48*10^(-8)=0.48us
第四章 网络层
4.1 网络层的功能
·中继系统
物理层:转发器、集线器
数据链路层:网桥、交换机
网络层:路由器
网络层以上:网关
·路由器
功能:路由选择(构造、交换、动态更新路由表),
分组转发(转发表查询、转发、队列管理)
路由表&转发表:(一般不区分)
路由表:选择算法构造,对网络拓扑变化计算最优
转发表:由路由表得,结构应使查找过程最优
分组:(1)匹配:转发表中网络前缀,进行最长前最匹配
(2)动作:从指明接口转发出去
路由表表项:目的网路IP地址|子网掩码|下一跳IP地址|接口
·SDN:软件定义网络
1、定义:采用集中式的控制层面和分布式的数据层面将网络层的两个层面分离,
路由之间不再相互交换路由信息,而是由控制层面的一个逻辑上的远程控制器(多个服务器组成),掌握各个路由状态,分组计算出最佳路由,通过Overflow协议将流表(即转发表)下发给路由器,路由器根据流表查找转发即可
Overflow协议:控制层面和数据层面之间的接口
2、组成(”从上至下“)
(1)北向API:SDN提供的编程接口
(2)SDN控制器(网络操作系统)
包括:到网络控制应用程序的接口、网络范围的状态管理层、通信层(东西向接口)
东西向接口:内部控制器间的通信接口,可增强控制层面的可靠性和可拓展性
(3)南向API:SDN控制器和转发设备建立的双向会话接口
3、优点:(1)基于全局的高速转发(2)灵活可编程,性能平衡(3)降低成本
问题:集中管理易受攻击;控制器成为网络性能瓶颈
·特点:(1)基于流的转发(2)数据与控制层面分离(3)网路控制能力(4)可编程网络
·流表项:首部字段(匹配字段)、计数器、动作
·拥塞控制
拥塞:过量分组出现导致网络性能下降
判断:随着网络负载的增加,网络吞吐量明显小于正常的吞吐量甚至下降至零
方法:开环控制(静态预防);闭环控制(动态):使用监测网络系统监视,及时发现反馈解决
·流量控制与拥塞控制
流量控制:点对点,抑制发送端速率;拥塞控制:全局问题
·路由器互联的多个局域网的结构中,要求每个局域网:
物理层、数据链路层、网络层协议可以不同,以上高层协议必须相同
4.2 路由算法
·分类:(1)静态路由算法(非自适应):手工配置,小型网络
(2)动态路由算法(自适应):距离-向量路由算法RIP;链路状态路由算法OSPF
·(因特网采用的)路由选择协议特点:自适应:动态路由选择;分布式:路由之间交换路由信息;分层次:AS
·距离-向量路由算法
所有结点定期将自己整个路由表传送给与之直接相连的相邻结点,
表项包括:每条路径的目的地;路径代价
(题型)基于RIP协议的路由表表项更新
(1)加入不存在的新结点(2)更新较小代价路径(3)相同下一跳强制更新
更新报文大小与通信子网中结点个数成正比
导致路由回路的根本原因:慢收敛(导致路由接收了无效的路由信息)
·链路状态路由算法
每个结点具有完全的网络拓扑信息,主动测试所有相邻结点状态,并定期将链路状态传给所有其他结点,当链路状态变化时,使用Dijkstra最短路径算法重新计算路由
(DS)dijkstra算法:单源到其余结点最短路径;Floyd算法:每对结点间
特点(1)洪泛法发送信息(2)链路状态:费用/距离/时延/带宽(3)链路状态变化时才发
(4)可用于大型或路由信息变化收敛的网络
优点:独立计算,不依赖中间结点,易于查找故障,更好的规模可伸展性
·层次路由
AS:自治系统
IGP:内部网关协议/域内路由选择,包括路由信息协议RIP和开放式最短路径优先协议OSPF
EGP:外部网关协议/域间路由选择,边界网关协议BGP
P.s.这里涉及的协议:RIP/OSPF/BGP在4.5中详细说明
4.3 IPv4
1、格式:首部+数据部分
·首部:固定20B
|版本4bit |首部长度4bit|区分服务8bit |总长度16bit |
|标识16bit |标志3bit|片偏移13bit |
|生存时间TTL |协议 |首部校验和 |
|源地址32bit |
|目的地址32bit |
—————————————————————————————————————
可变40B
|可选字段(长度可变) |填充 |
—————————————————————————————————————————
·数据部分
(1)首部长度:4bit(表示范围0~15),单位为4B,可表示首部长度范围(20B~60B)
(2)总长度=首部长度+数据长度,16bit,单位为1B,数据报最大长度为65535B
但以太网帧的最大传输单元MTU=1500B,要注意数据报封装成帧时数据报的总长度不能超过1500B
(3)标识:计数器,不等于序号,标识相同即为同一数据报(接收组装分片时使用)
(4)标志:|0|DF|MF|
DF:等于0时允许分片,反之;MF:等于1时后面还有分片,反之
(5)片偏移:13bit,单位为8B,表示该分片在原分组中的相对位置;
除最后一个分片外,分片长度一定为8B的整数倍
(6)协议:6:TCP;17:UDP
(7)首部校验和:只校验首部,不校验数据,采用因特网检验和,经过每一个路由器都重新计算
(注意单位)首部长度/总长度/片偏移:4B/1B/8B
2、分片:分片在目的地的网络层,利用标识、标志、片偏移字段重新组装;
(中间转发结点只能分片不能组装
3、IPv4地址
(1)IP地址:32bit(4B)
·分类:
A类:1~126 |0 网络号8bit | 主机号24bit |
B类:128~191 |10 网络号16bit | 主机号16bit |
C类:192~223 |110 网络号24bit | 主机号8bit |
D类:224~239|1110 多播地址 |
E类:240~255 |1111 (保留) |
·不能指派给主机或路由器的地址:
(1)A类网络号0和127(2)主机号全0(网络地址)(3)主机号全1(广播地址)
·特殊IP总结
|网络号|主机号 |做源地址 |做目的地址 |含义 |
|0 |0 |✔️ |✖️ |本网络上的本主机(DHCP协议) |
|0 |host-id |✔️ |✖️ |本网络上的某台主机host-id |
|全1 |全1 |✖️ |✔️ |只在本网络进行广播(路由器不转发) |
|net-id |全1 |✖️ |✔️ |对net-id上的所有主机进行广播 |
|127 |非全0或全1|✔️ |✔️ |用于本地软件环回测试 |
·ABC类IP地址使用范围
|网络类别|最大可用网络数 |第一个可用网络号 |最后一个… |每个网络中的最大主机数 |
|A |2^7-2 |1 |126 |2^24-2 |
|B |2^14 |128.0 |191.255 |2^16-2 |
|C |2^21 |192.0.0 |223.255.255 |2^8-2 |
·特点
(1)分等级地址结构,便于管理,路由器仅根据网络号转发,减小转发表容量
(2)IP地址的网络号必须与本网络的相同,路由器有几个端口就有几个IP地址(至少2个)
(3)同一个网络里(转发器/网桥连接)的所有主机网络号相同,主机号不同
以上为传统IP地址分类,现被无分类IP地址取代
4、网络地址转换NAT
将专用网络地址转换为公用地址
整个专用网络只需一个IP地址就能与因特网连通,大大减少了IP地址的消耗
同时隐藏了内部结构,降低了内网受到攻击的风险
·私有IP地址网段
A类(1个)10.0.0.0~10.255.255.255
B类(16个)172.16.0.0~172.31.255.255
C类(256个)192.168.0.0~192.168.255.255
·NAT转换表项:|WAN端(IP地址,端口号)|LAN端(IP地址,端口号)|
·NAT路由器与普通路由器的区别:
(1)NAT路由器会改变源/目的的IP地址;
(2)NAT路由器转发时需查看端口号
(3)由于NAT路由器会查看端口,故其工作在传输层,普通路由器工作在网络层
(4)NAT表项需要管理员添加,主机若发送的分组在NAT中找不到,则丢弃
·子网划分
1、在IP地址中增加“子网号字段”,两级IP地址变为三级
2、特点
(1)划分属于内部,对外不表现
(2)从主机号借用若干比特作为子网号,三级地址结构:|网络号|子网号|主机号|
(3)CIDR的应用,使子网号为全0/1的子网号也可也使用
(题型)变长子网划分,最小子网可分配IP地址数
第n个子网的IP数=2^(32-n);最小的和倒数第二一样大
·子网掩码
一串连续的1跟随连续0,共32bit,1对应IP中的网络号和子网号,0对应主机号
与IP地址逐位相与,得响应子网的网络地址(网络号+子网号)
分类:定长FLSM;变长VLSM
·无分类域间路由选择编址CIDR
(1)消除了传统ABC类地址及划分子网的概念,使用网络前缀代替子网络的概念
(2)IP地址划分为:|网络前缀|主机号|
(3)路由聚合/构成超网:使路由表中一个表项可以表示多个传统分类的地址
(4)最长(最佳)前缀匹配:使用CIDR在查找匹配路由时可能会有多个匹配项,选择匹配最长的
(5)增加两种特殊路由
主机路由:对特定目的主机,格式:a.b.c.d/32
默认路由:0.0.0.0/0
·网络层转发分组过程(使用CIDR后)
(1)从IP数据报首部中提取目的IP地址
(2)查找特定主机路由,有则转发至下一跳地址,无则进行最长前缀匹配
(3)找到目的地址的最长前缀匹配路由,转发至下一跳地址
(注意)
(1)路由器不知道完整路径
(2)得到下一跳的IP地址后,不是将其直接填入数据报中而是将该地址转为MAC地址(ARP)后将MAC地址填入MAC帧首部,再根据这个MAC地址找到下一跳路由器,故在不同网络中,MAC帧首部的源地址与目的地址是不断变化的
·ARP地址解析协议:IP地址到MAC地址的映射
1、原理:(A向B发送IP数据报)
(1)在A的ARP高速缓存中查找是否有有B的IP地址,有,将对应MAC地址填入MAC帧中传输
(2)若无,广播MAC地址为FF-FF-FF-FF的ARP请求分组
(3)B收到该MAC帧后,先记录下A的IP与MAC地址(若无相关记录)到其ARP高速缓存中
(4)向A单播发送,ARP响应分组,分组中包含B到IP地址与MAC地址的映射关系
(5)A收到响应分组,将映射写入ARP缓存,然后按查询到的硬件地址发送MAC帧
2、ARP报文分类:(1)ARP请求(2)ARP响应(3)无故/免费ARP(4)代理ARP
3、工作在网络层;用户透明;无安全验证机制:易受ARP欺骗/攻击
4、ARP表项
(1)动态:自动获取,生命周期默认2min(2)静态:手工配置,不同OS生命周期不同
5、在传输Ip数据报的过程中,使用次数=经过路由器数+1
·DHCP动态主机配置:给主机动态分配IP地址
1、即插即用联网机制,基于DCP的应用层协议
2、原理:
(1)使用客户/服务器模式,需要IP地址的主机是DHCP客户,广播发送DHCP发现报文
(2)DHCP服务器收到后先在数据迟=库中查找该计算机配置信息,找到则返回该信息
(3)若无,则从服务器的IP地址池中取出一个地址,通过DHCP提供报文,分配给计算机
(4)若主机接受该IP地址,广播DHCP请求(IP地址),DHCP收到后广播DHCP确认
3、特点:
(1)允许一个网络中配置多台DHCP服务器,故一个DHCP发现可能收到多个应答,主机一般选择最早到达的
(2)DHCP分配给主机的IP地址是临时的,使用期成为租用期
·ICMP网际控制报文协议:让主机或路由器报告差错和异常
1、分类:ICMP差错报告报文;ICMP询问报文
(1)ICMP差错报告:(1)终点不可达(2)源点抑制:拥塞(3)时间超过:TTL=0(4)参数问题:首部字段出错(5)改变路由(重定向):有更好的路由
·不应发送差错报告情况:对ICMP的差错报告;除第一个分片外的同组分片;组播地址;特殊地址
(2)ICMP询问报文
·分类:回送请求和回答报文、时间戳请求和回答报文、地址掩码请求和回答报文、路由器询问和通告报文
2、应用:
(1)分组网间探测PING:测试两台主机的连通性
工作在应用层,使用回送请求和回答报文,直接使用ICMP,未使用UDP或TCP
(2)跟踪路由Traceroute:跟踪分组经过的路由
UNIX系统,工作在网络层,使用ICMP时间超过报文
(3)Tracert
Windows系统,应用层直接使用ICMP,有回送/回答/差错报告报文
·网络层的4个重要协议:IP,ICMP,ARP,RARP
·IP网络划分为子网好处:减少广播域的大小
·从根本上解决IP地址耗尽的方法:采用IPv6
其余方法:(1)无类别编制CIDR(2)网络地址转换NAT
4.4 IPv6
1、特点:
(1)地址位数从32bit增加到128bit(16B)
(2)扩展的地址层次结构(3)灵活的首部格式(4)改进的选项(5)允许协议继续扩充
(6)支持即插即用(自动配置)(7)支持资源的预分配
(8)IPv6只能在源结点才能分片,不允许路由分片
(9)IPv6首部长度必须为8B的整数倍(IPv4是4B的整数倍)
(10)增大了安全性:身份验证,保密功能
(11)与IPv4区别:
简化了IP分组头(没有校验和字段)8个域(IPv4有12个域)更好的支持选项;拓展分级
(12)IPv6与IPv4不兼容(IPv6系统向后兼容),但与所有其他因特网协议兼容
2、目的地址分类:单播、多播、任播:目的站为一组计算机,交付时只交付其中一台(距离最近)
3、表示方式:每4位用一个十六进制数表示,冒号分割每16位(4个十六进制数)
缩写:(1)16位域中,开头有一些0,域中至少有一个数字:不写域中的0
(2)相继的0值域:双冒号“::”,注意双冒号只能出现一次
4、扩展分级:第一级/顶级:公共 拓扑;第二级/场点级;第三级:单个网络接口
目的:使路由更快地查找路由
5、IPv4向IPv6过渡:
(1)双协议栈:一台设备同时有IPv4和IPv6协议栈(若设备为计算机,则其同时拥有两个IP地址)
(2)隧道技术:将整个IPv6数据报封装到IPv4点数据部分
4.5 路由协议
·AS自治系统:单一技术管理下的一组路由器
·IGP内部网关协议
(1)RIP
(2)IGRP:内部网关路由协议,基于距离向量
(3)EIGRP:增强型IGRP,混合型
(4)OSPF
(5)IS-IS:中间系统到中间系统,基于链路状态
·EGP外部网关协议
=BGP
·RIP路由信息协议:分布式,基于距离向量
1、规定:
(1)一条路径经过路由数最多15,16表示网路不可达;目的:防止数据报循环
(2)使用RIP点路由之间,每30秒广播一次RIP路由更新信息,以自动建立并维护路由表
(3)不支持子网掩码的RIP广播,故RIP中每个网络的子网掩码必须相同
(RIP2中支持变长子网掩码和CIDR)
(4)若180秒未收到相邻路由器的更新路由表,则将其记为不可达
2、与OSPF相比
(1)仅和相邻路由器交换信息
(2)交换信息为自己的路由表
(3)固定时间间隔交换
(4)RIP收敛后得到的是距离最短的路由
·优点:实现简单,开销小,收敛速度快
·缺点:限制了网络规模;网络规模大开销大(交换表大);慢收敛现象(坏消息传得慢)
·OSPF开放最短路径优先:分布式,基于链路状态
1、特点:
(1)OSFP向本AS中所有路由器发送信息,使用洪泛法
(2)发送信息内容:本路由器与相邻所有路由器的链路状态(代价)
(3)只有当链路状态发生变化时,路由器采用洪泛法发送信息
(4)对不同链路可根据IP分组的不同服务类型设置不同的代价
(5)多路径负载平衡:当有多条代价相同的路径时,将通信量平均分配
(6)鉴别功能:仅在可信赖的路由之间交换链路状态信息
(7)支持可变长子网划分和CIDR
(8)每个链路状态带有一个32位编号,越大越新
2、原理:在所有路由器间建立一个链路状态数据库,即全网拓扑结构图,全网一致同步
每个路由器,根据拓扑图,使用Dijkstra最短路径算法,构造自己的路由表
链路状态变化时,重新计算构造
·适用于规模很大的网络,OSPF还能将一个AS再划分为若干更小区域,减少整个网络的通信量
3、5种分组类型
(1)问候分组:发现和维持邻站可达性;每隔10s发给相邻结点,40s未收到判定相邻结点死亡
(2)数据块描述分组:向邻站给出自己链路状态数据库中所有信息
(3)LSR链路状态请求分组:对对方请求发送一些链路状态详细信息
(4)LSU链路状态更新分组:用洪泛法更新全网链路状态
(5)LSA链路状态确认分组:对链路更新分组确认
·BGP边界网关协议:基于路径向量路由选择协议
不同AS的路由器之间交换路由信息
1、工作原理
(1)管理员选择一个或多个路由器作为该AS的BGP发言人,用于与其他AS交换信息
(2)发言人首先与其他AS发言人建立TCP连接,交换BGP报文,建立BGP会话
(3)当所有发言人都相互交换网络可达性后,各个发言人找出到达各个AS的较好路由
2、特点
(1)支持CIDR,BGP路由表包括:目的网络前缀,下一跳路由器,到达该网络要经过的各个AS
BGP交换的网络可达性信息是:到达某个网络所经过的路径
(2)刚运行时与邻站交换整个BGP路由表,以后只需要在发生变化时更新变化部分
3、4种报文
(1)打开报文:与相邻BGP发言人建立关系
(2)更新报文:用于发送某一路由信息的信息,以及列出要撤销的多条路由
(3)保活报文:用来确认打开报文并周期性的证实邻站关系
(4)通知报文:用于发送检测的差错
·归纳RIP、OSPF、BGP
|协议名称|基于协议|端口号|IP中协议字段|路径选择|交换结点|交换内容 |
|RIP |UDP |520 |17 |跳数最少|相邻结点|自己的路由表 |
|OSPF |IP |— |89 |代价最低|所有结点|所有路由器的链路状态 |
|BGP |TCP |179 |6 |只需较好|相邻结点|首次:整个路由表, |
非首次:变化部分 |
·RIP、BGP:应用层;OSPF:网络层
·AS中四类路由器:区域内部/主干/区域边界/自治域边界路由器
4.6 IP组播
1、概念:使源计算机一次发送的单个分组可以抵达用一个组地址标识的若干目标主机,基于UDP
一台主机可属于多个组,每个组有一个特别分配的地址,在IPv4中来自D类地址空间
·IGMP:因特网组管理协议
·优势:主机组播时只需发送一次数据就可送至所有接受者,且数据只在路径产生分叉时才复制后转发,减轻了网络负载和发送者负担
2、IP组播地址:D类地址前4位:1110;范围:224.0.0.0~239.255.255.255,共2^28个
3、组播数据报与IP数据报区别:(1)使用D类地址(2)首部中协议字段为2(使用IGMP)
4、特点:不可靠;组播地址只能用于目的地址;不产生ICMP差错报文
(注意:不是所有的D类地址都能作为组播地址)
5、组播分类:(1)本局域网内硬件组播(2)因特网的范围
6、IP组播地址与MAC地址的映射
组播IP地址:32bit;MAC地址48bit
(1)IP组播地址后23位映射到MAC地址后23位
(2)IP组播地址前4位为固定D类地址:1110
(3)IP地址中间5位不作映射,因此,若两个IP组播地址不同的比特位全在中间5位,
则这两个IP组播地址映射同一个MAC地址
(4)IANA拥有的以太网组播地址范围01-00-5E-00-00-00~01-00-5E-7F-FF-FF
故MAC地址前25位固定为:0000 0001 0000 0000 0101 1110 0
(5)由于映射关系不唯一,收到组播数据报的主机需在IP层利用软件进行过滤
·IGMP与组播路由算法
1、IGMP并不知道某个组的详细信息,而是让组播路由器知道本局域网中是否有那个主机参加或退出了某个组;IGMP是网际协议IP的一部分,封装在IP数据报中
2、IGMP报文分类(1)成员报告报文(2)成员查询报文(3)离开组报文(目的地址为224.0.0.2)
3、IGMP工作阶段
(1)某主机加入组播组,向该组播地址发送IGMP,组播路由器接收后,将组关系转发给因特网上其他组播路由器
(2)组成员关系动态,本地组播路由器周期性(125s)探询本地局域网上的主机(目的地址为224.0.0.1)直到主机是否依然是该组成员
只要某个组有一台主机响应,就认为该组活跃,若无主机响应,则不再将成员关系转发
4、组播转发树:避免路由环路,算法:反向路径多播RPM;组共享树多播路由选择
5、组播路由算法:基于链路状态;基于距离-向量;建立在任何路由协议之上的协议无关组播PIM
4.7 移动IP
使用移动IP,使一个移动结点在不改变其IP地址的情况下改变其驻留位置
1、三种功能实体:移动结点、归属代理(本地代理)、外部代理(归属与外部统称为移动代理
移动结点:具有永久IP地址的移动结点
本地代理:在移动结点的归属网络中代表移动结点执行移动管理功能的实体
根据移动用户的转交地址,采用隧道技术转交移动结点数据报
外部代理:在外部网络中帮助移动结点完成移动管理功能的实体
注意,与移动自组网络区分(实质不一样);与动态IP区分(通过DHCP服务动态获得地址)
2、移动IP通信过程
(1)在本网络时按传统方式的TCP/IP通信
(2)在外地网络时,仍使用固定IP通信
为接收通信端发来的IP分组,移动结点向本地代理注册当前位置为转交地址,即外部代理
(3)本地代理接收注册信息,构建一条转交地址隧道,将截获发给移动IP的信息通过隧道转发
(4)在转交地址处解除隧道封装,最后送至移动结点
(5)移动结点通过外部代理向通信端发送数据
(6)移动结点到达另一个外网时,需向本地代理更新注册转交地址后才能继续通信
(7)移动结点返回本地网络后向本地代理注销转交地址,返回传统方式通信
·移动IP为移动主机设置了两个IP地址:主地址与辅地址
·一个主机移动到另一个LAN中,如果一个分组到达了它原来所在的LAN,则该分组会被转交给移动IP的本地代理
·当主机离开本地子网后,其既不能直接接收分组也不能直接发送分组
4.8网络层设备
·路由器
定义:具有多个输入/输出端口的专用计算机
用途:连接异构网络,并完成路由转发
构成:路由选择+分组转发
(1)路由选择:控制部分,组成:路由选择处理机(核心)+路由选择协议+路由表;
任务:构造路由表,定期交换并更新
(2)分组交换:组成:交换结构+一组输入和输出端口
三种交换方法:通过存储器/总线/互联网络进行交换
默认路由:目的地址|子网掩码
0.0.0.0 0.0.0.0
第五章 传输层
5.1 传输层提供的服务
·功能:
1、端到端的通信:为运行不同主机的进程之间提供了逻辑通信(网络层提供主机间的逻辑通信)
2、复用与分用
复用:发送方不同的应用进程都可以使用同一个传输层协议传输数据
分用:接收方的传输层在剥去报文首部后能够把数据正确交付到目的应用进程
(注意)网络层也有复用分用的功能,复用:发送方不同协议的数据都可封装成IP数据报发送;分用:接收方网络层剥去首部后把数据交付给响应的协议
3、对接收到的报文进行差错检测(首部+数据部分)(网络层只检查首部)
4、提供两种不同的传输协议TCP,UDP
·寻址与端口
1、端口作用:传输层服务访问点TSAP(各层SAP:数据链路层:MAC,网络层:IP),是软件端口
2、端口号:应用进程通过端口号进行标识,长度:16bit,只具有本地意义
3、端口号分类
(1)服务器端使用端口号
0~1023:熟知端口号,TCP/IP最重要的应用程序
1024~49151:登记端口号
——————————————————————————————
应用程序|FTP |TELNET|SMTP|DNS|TFTP|HTTP|SNMP|
熟知端口号 |21(20) | 23 | 25 | 53 | 69 | 80 | 161 |
(2)客户端使用端口号:49152~65535
仅在客户进程运行时才动态选择,又称短暂/临时端口号
4、套接字Socket=(IP地址:端口号):唯一的标识网络中一台主机和其上的一个进程
·无连接服务与面向连接服务
1、TCP:传送数据前必须先建连,结束后释放,不提供广播或组播服务;提供确认,流量控制,计时器及连接管理,使其头部增大许多,适用于刻可靠性更重要的场合
与虚电路的区别:(1)TCP报文段在传输层抽象的逻辑信道中传输,对路由器不可见;虚电路经过的交换结点都必须保存虚电路状态信息(2)在网络层使用虚电路则无法提供无连接服务,使用TCP不影响网络层
2、UDP:在IP之上仅多提供:多路复用和对数据的错误检查,执行速度快,实时性好
UDP数据报与IP数据报的区别:UDP数据报的信息对路由不可见(IP数据报存储转发)
·资源子网(OSI上三层):应用/表示/会话;通信子网(下三层):网络/链路/物理
传输层承上启下
·首部长度:TCP:20B;UDP:8B;IP:20B
5.2 UDP用户数据报协议
1、特点:
(1)无须建连、无连接状态、分组首部开销小、支持一/多对一/多
(2)常用于传输信息较少的网络应用,也可用于多媒体
(3)不保证可靠交付,可靠性由应用层完成
(4)面向报文,即报文不可分割,为最小单位
2、首部格式
8B,4个字段,各2B
(1)源端口(2)目的端口(3)长度:UDP数据报长度,最小值为8B(仅有首部)(4)校验和
3、UDP校验
需在UDP数据报前添加12B的伪首部,伪首部不向下传输或向上递交,仅用于计算校验和
伪首部格式:|源IP地址|目的IP地址|0|17|UDP长度|
方法:(1)校验位置0,添加伪首部(2)按16位一组划分UDP数据报(首部+数据),若数据部分非偶数个字节,则补一个全0字节(3)按二进制反码算出这些16位字的和,并将和的二进制反码写入校验和字段
(4)接收方把接收到的UDP数据报加上伪首部后同上计算,结果为1,则无误
·如果UDP校验和计算结果为0,那么在校验和字段填充1
·UDP校验和的计算方法是二进制反码运算求和再取反
5.3 TCP传输控制协议
1、特点:
(1)面向连接(逻辑连接)、端到端、可靠交付:数据无差错不丢失不重复且有序、全双工通信,两端设有发送/接收缓存
(2)面向字节流,与应用程序的交互单位为数据块(大小不等),将应用程序传下来的数据视为一串无结构的字节流
(3)TCP报文长度由接收方给出的窗口值与网络拥塞程度决定(UDP由发送的应用进程决定)
2、TCP报文段
(1)TCP传送单位:报文段,可用于:运载数据,建立/释放连接,应答
(2)报文段的组成:首部(20~60B)+数据
首部:最小20B,长度为4B的整数倍
| 源端口16bit | 目的端口16bit |
| 序号32bit |
| 确认号32bit |
|数据偏移4bit|保留6bit|(六个标志)| 窗口16bit |
| 校验和 16bit | 紧急指针16bit |
| 选项(长度可变) | 填充 |
(1)源/目的端口各2B:实现分用复用
(2)序号4B:本报文发送的数据第一个字节的序号
(3)确认号4B:期望收到对方下一个报文段的第一个数据字节的序号
(4)数据偏移/首部长度4B,单位4B,指出TCP报文段的数据起始距离TCP报文段起始处距离
(5)保留:置0
(六个标志:URG|ACK|PSH|RST|SYN|FIN)
(6)紧急位URG:为1时有效,相当于高优先级,应与紧急字段配合使用
(7)确认位ACK:等于1时确认号字段有效
(8)推送位PSH:PSH=1时,不等待缓冲区满,立即将数据交付应用程序
(9)复位位RST:RST=1时,TCP连接出现严重错误,必须先释放连接后再重新连接
(10)同步位SYN:SYN=1时,表示这是一个请求连接或连接接收报文
SYN=1,ACK=0:连接请求报文;对方同意连接请求响应报文:SYN=1,ACK=1
(11)终止位FIN:FIN=1,报文段发送方发送完毕,要求释放连接
(12)窗口2B:现在允许对方发送的数据量
(13)校验和2B:只需将UDP伪首部中协议字段改为6,其余一致
(14)紧急指针2B:在URG=1时有效,指出本报文段中紧急数据字节数
(15)选项:最大报文段长度MSS、窗口扩大选项、时间戳选项(用于计算RTT,反之序号绕回)
(16)填充:使首部长度为4B的整倍数
·TCP连接管理
三个阶段:建立连接,数据传输,连接释放;采用客户/服务器模式
3、TCP连接的建立(三次握手)
TCP客户 | | TCP服务器
————————————————————————————————————————
CLOSED | | LISTEN
(主动打开) |————SYN=1,sea=x———— > 1⃣️|
SYN-SENT同步已发送| |
|<—SYN=1,ACK=1,seq=y,ack=x+1-2⃣️|
| | SYN-RCVD同步已接收
|—ACK=1,seq=x+1,ack=y+1——> 3⃣️|
ESTABLISH |< —————TCP传输——————>| ESTABLISH连接已建立
————————————————————————————————————————
建立连接前服务器处于监听状态,等待客户端连接
1⃣️请求连接报文段,SYN报文段不能携带数据,但会消耗一个序号
2⃣️确认连接报文段,不携带数据消耗一个序号;服务端分配资源
3⃣️确认服务器的确认报文段,可携带数据,若不携带数据则不消耗序号;客户端分配资源
·第三次握手的必要:
防止失效/传输时间过久的连接请求报文又传送到TCP服务器中导致错误的响应
4、TCP连接的释放(四次挥手)
参与TCP连接的双方进程都能终止连接
TCP客户 | | TCP服务器
————————————————————————————————————————
ESTABLISH |< —————TCP传输——————>| ESTABLISH连接已建立
(主动关闭) |————FIN=1,seq=u———— > 1⃣️|
FIN-WAIT-1 | |
|<——ACK=1,seq=v,ack=u+1—— 2⃣️|
FIN-WAIT-2 |< —————TCP传输—————— | CLOSE-WAIT
|<-FIN=1,ACK=1,seq=w,ack=u+1–3⃣️ |
| | LAST-ACK
|—ACK=1,seq=u+1,ack=w+1——> 4⃣️|
TIME-WAIT(2MSL) | |
CLOSED | | CLOSED
————————————————————————————————————————
1⃣️连接释放FIN报文段无论是否携带数据都会消耗一个序号
2⃣️服务器确认连接释放报文段,数据传输变为单向
3⃣️若服务端也发送完数据后,发送FIN释放连接报文段
4⃣️客户端确认收到的释放连接报文段
·等待2MSL(最长报文段寿命)段必要
(1)防止最后一次客户端发送的确认报文丢失,导致服务器重传报文而无法得到响应
(2)防止本次连接产生的报文段影响下次连接
5、TCP可靠传输:以字节为单位的滑动窗口实现
(1)序号:序号建立在无结构但有序的字节流上,每个字节都编上序号
(2)确认:确认号,即希望收到对方下一个报文段的第一个字节的序号
TCP默认使用累计确认(或捎带确认)
(3)重传:由超时或冗余ACK引起
超时:每个报文段对应一个计时器,
自适应算法:保留了RTT一个加权平均往返时间RTTs,随新测量RTT样本变化
RTT:报文段往返时间
超时重传时间RTO=RTTs+4*RTTd(RTT偏差的加权平均RTTd)
冗余ACK:当发送方收到对同一个报文段的3个冗余ACK时,可判断该确认报文段之后的报文丢失(注意是之后的)
6、TCP流量控制:基于滑动窗口协议的流量控制机制
(1)接收窗口rwnd:接收方根据自己的接收缓存大小,动态地调整发送方的发送窗口大小
通过改变TCP报文首部中的“窗口”字段值
(2)拥塞窗口cwnd:发送方根据当前网络拥塞程度估计确定窗口值
(3)发送窗口=min(rwnd,cwnd)
·与数据链路层的流量控制区别:(1)传输层定义端到端;数据链路层定义两个中间结点的流量控制(2)数据链路层的滑动窗口协议的窗口大小不能动态变化,传输层可以
7、TCP拥塞控制
防止过度数据注入网络,保证网络中路由器或链路不至过载
与流量控制的区别:拥塞控制:全局;流量控制:端到端(但都是通过控制发送方实现)
·4种拥塞控制算法:慢开始、拥塞避免、快重传、快恢复
(1)慢开始和拥塞避免
慢开始:发送窗口初值=拥塞窗口初始值=一个MSS
每经过一个RTT(往返时延),cwnd加倍(指数增长)
直到将cwnd增大到慢开始门限ssthresh(阈值),然后采用拥塞避免算法
拥塞避免:每经过一个RTT,cwnd+1(线性增长)
·网络拥塞处理:将慢开始门限设置为出现拥塞时发送方cwnd值的一半,重新将cwnd设置为1,
再开始执行慢开始算法
(2)快重传和快恢复(对慢开始和拥塞避免对改进)
快重传:当发送方连续收到3个重复的ACK报文时,直接重传不必等待重传计数器超时
快恢复:3个重复ACK,门限值设置为原来的一半,cwnd从新门限值开始线性增加
·当TCP建立连接和网络超时时,使用慢恢复和拥塞避免;3个冗余ACK使用快重传快恢复
·在采用TCP连接的数据传输阶段,如果发送端的发送端口值由1000变为2000,那么发送端在收到一个确认之前可以发送(2000B)
·注意区分拥塞窗口和发送窗口,拥塞窗口每过一个RTT+1,发送窗口=min(cwnd,rwnd),是多少就发多少,所以cwnd的增长是:1,2,3,……;发送窗口增长:1,2,4,8……
·MSS:最大报文段,应尽量大,只需保证在IP层传输时不需要再分片,默认值:536B
·TCP的差错恢复机制可视为GBN和SR的混合
·应用层协议与传输层端口号
UDP:RIP(520)|DNS(53)|TFTP(69)|SNMP(161)|DGCP(67/68)
TCP:SMTP(25)|FTP(21/20)|BGP(179)|HTTP(80)|
第六章 应用层
6.1 网络应用模型
1、客户/服务器C/S模型
(1)客户程序必须知道服务器程序的地址
(2)服务器可以同时处理多个远程或本地客户要求
(3)应用:Web、文件传输协议FTP、远程登陆、电子邮件
(4)服务器与客户端地位不等,服务器管理客户机;客户机之间不能直接通信;可扩展性不佳
(5)客户机面向用户,服务器面向任务
2、P2P模型
(1)网络中的每个结点都同时具有下载、上传的功能
(2)没有固定的服务器和客户的划分,每一对计算机称为对等方peer
(3)应用:PPlive、Bittorrent、电驴、P2P文件共享、即时通信、P2P流媒体、分布式存储
(4)与C/S相比优点:减轻服务器计算压力,提高了系统效率与资源利用率;多个客户机之间可以直接共享文件;可扩展性好;网络健壮性强
(5)缺点:为其他结点提供服务,占用本机内存,影响速度
6.2 域名系统DNS
因特网使用的命名系统,便于用户记忆含有特点含义的主机名(网址)
采用C/S模式,协议运行在UDP上,端口号:53
DNS=层次域名空间+域名服务器+解析器
1、层次域名空间
层次树状结构命名,不同级域名对应不同标号,标号之间用“.”隔开
(1)标号相关:英文不区分大小写;除连字符“-”外不能使用其他特殊符号;每个标号不超过63个字符,完整域名不超过255个字符;级别最低的域名在最左,最高在最右
(2)域名级别
顶级域名TLD:国家域名(.cn)、通用顶级域名(.com .net .org .gov .edu)、基础结构域名(arpa)
(基础结构域名唯一,arpa用于反向域名解析,又称反向域名)
二级域名:如:cctv.com/google.com/bj.cn/edu.cn/com.cn
三级域名:如www.xmu.cn
(以此类推,几个标号表示几级,注意,标号相同级别不一定相同,edu.cn与.cn)
2、域名服务器
联机分布式的数据库系统,采用C/S模型,一个服务器管辖的范围称为区
(1)根域名服务器:最高层,直到所有顶级域名服务器IP地址,有13个
本地域名服务器无法解析时首先求助根域名服务器
不直接把待查询的域名转换为IP地址,告诉本地域名服务器下一步应找哪个顶级域名服务器
(2)顶级域名服务器:管理注册的所有二级域名
(3)授权/权限域名服务器:
每台主机都必须在授权域名服务器处登记,授权域名服务器能将其管辖主机名转换为主机IP地址
(4)本地域名服务器(不属于上述服务器等级结构,起代理作用,又称默认域名服务器)
当一台主机发送DNS查询请求时,查询报文发送至本地域名服务器
3、域名解析过程
把域名映射为IP地址(正向解析)或把IP地址映射为域名(反向解析)
方法:通过本机的DNS客户端构造DNS请求报文以UDP数据报的方式发送至本地域名服务器
·解析方法:递归查询和迭代查询
(1)递归查询
本地域名服务器只需向根域名服务器查询一次,之后在其他几个域名服务器中递归查询,最后根域名服务器将IP返回给本地域名服务器(靠别人,使根负载大,几乎不用)
(2)迭代查询
主机向本地域名服务器使用递归,本地域名服务器向根使用迭代
根域名服务器告知下一步应访问的顶级域名服务器,顶级告知权限,以此类推
·广泛使用高速缓存:为了提高效查询率,减少互联网上DNS查询报文数量
·域名映射并非永久,DNS服务器会定时丢弃缓存信息
·多个域名可以同时指向一台主机IP;一个域名可以在不同时间解析出不同IP地址
6.3 文件传输协议FTP
提供交互式访问,允许客户指明文件类型与格式,允许文件具有存储权限,适用于在异构网络中的任意计算机之间传送文件
采用C/S模式,TCP可靠传输服务,一个FTP进程可同时为多个客户进程提供服务
1、功能:不同类型(软/硬)主机间文件传输;以用户权限管理方式使用户对远程FTP服务器上的文件进行管理;以匿名FTP方式提供公用文件共享能力
2、工作流程:
(1)服务器打开熟知端口21(控制端口),使能接收客户进程的连接请求
(2)等待客户端发来请求
(3)启动从属进程处理客户群请求,主进程与参数进程并发执行,从属进程完成任务后终止
(4)返回等待状态
3、控制连接与数据连接
(1)控制连接:服务器21号端口
控制信息以7位ASCII格式传送,在整个会话过程保持打开状态
(2)数据连接:服务器20号端口
每次数据传输完成就关闭
(3)两种模式
主动模式PORT:控制:21;数据:20
被动模式PASV:控制:21;数据:双方协商(不一定使用20端口)
·使用FTP时若要修改服务器上文件,需将文件传送至本地主机,改完后传回
网络系统文件NFS:允许进程打开一个远程文件,并能在文件的某个特定位置开始读写数据
6.4 电子邮件
·采用C/S模式,异步通信
1、电子邮件系统=用户代理+邮件服务器+电子邮件使用协议(SMTP/POP3/IMAP)
(1)用户代理:用户与电子邮件系统的接口,具有撰写/显示/邮件处理功能
(通常为运行在PC上的电子邮件客户端软件
(2)邮件服务器:发送和接收邮件,向发信人报告邮件传输情况,C/S模式,同时充当客户端和服务器
(3)邮件发送/读取协议:发送/推协议:STMP;读取/拉协议:POP3
2、电子邮件收发过程(A发给B)
A通过其用户代理编辑邮件,用户代理用SMTP传给发送端邮件服务器
发送端邮件服务器(周期性扫描缓存)发现缓存中有带发送邮件,向接收端邮件服务器用SMTP建立TCP连接,建立后发送邮件,发完释放连接
接收端邮件服务器中的SMTP服务器将接收到的邮件放入收信人邮箱,等待收信人读取
收信人调用其用户代理,使用POP3(或IMAP)协议将邮件从接收端邮件服务器的用户邮箱中取回
3、电子邮件格式
电子邮件=信封+内容(首部+主体),RFC822规定首部格式,主体部分自由,用户写完首部后,邮件系统自动将信封所需信息提取出并写在信封上(不需用户操作)
·首部:包含若干首部行,每个首部行=一个关键字+值
关键字:
(1)TO:必需关键字,后跟一个或多个收件人地址邮箱地址
格式:收件人邮箱名@邮箱所在主机域名
(2)Subiect:可选关键字,邮件主题,反映邮件主要内容
(3)From:必需关键字,由邮件系统自动填入
·首部与主体间用一个空行隔开
4、多用途网际邮件扩充MIME
STMP只能传送一定长度的ASCII码邮件(7位ASCII码),不能传送非英文/图片/音频/视频/可执行文件/二进制对象等
MIME:继续沿用目前格式,增加定义传送非ASCII码的编码规则
主要包括三部分:
(1)5个新的邮件首部字段:MIME版本、内容描述、内容标识、传送编码、内容类型
(2)定义许多邮件内容格式,对多媒体电子邮件的表示方式进行标准化
(3)定义了传输编码,可对任何内容格式进行转换,而不会被邮件系统改变
5、SMTP:简单邮件传输协议
使用C/S模式,可靠有效,TCP连接,端口号:25
SMTP通信三个阶段:
(1)建立连接
发送方的邮件服务器的STMP客户端程序扫描到缓存中有待发送邮件
使用SMTP通过熟知端口号25与接收方邮件服务器的STMP服务器建立TCP连接
建连后,接收方STMP服务器发出220service ready
STMP客户端向服务器发送HELLO命令,附上发送方主机名
(注意)SMTP不使用中间邮件服务器,TCP连接是直接相连,要是接收方故障,发送方只能等待
(2)邮件传送
客户端:MAIL FROM:<发件人邮箱地址>
服务器:(准备好时回答)250OK
客户端,发送一个或多个RCPT命令,服务器对每个命令进行响应(250OK/550 No such user here)
RCPT:保证接收方已做好接收准备,避免资源浪费
(收到OK回复后)
客户端:DATA命令,表示开始传输邮件内容
服务器:354 Start mail input;end with .(CRLF:回车换行)
客户端:开始传送,.表示邮件内容结束
(3)连接释放
STMP客户:QUIT命令
STMP服务器:221(服务关闭)
6、POP3:邮局协议
简单功能有限的邮件读取协议,C/S模式,TCP,端口号:110
·两种工作方式:下载并保留(保留在邮件服务器上)、下载并删除(用户无法二次读取)
7、IMAP:因特网报文存取协议
TCP连接,端口号:143,比POP3复杂
·提供创建文件夹、在不同文件夹之间移动邮件、在远程文件夹中查询邮件等联机命令
允许用户代理只获取报文的某些内容(如只读首部)
8、基于万维网的电子邮件,如Hotmail、Gmail
邮件接收/发送使用HTTP,仅在不同邮件服务器中传输邮件时才使用SMTP
6.5 万维网WWW
分布式、联机式信息存储空间,C/S模式
1、统一资源定位符URL:用于唯一标识万维网上的各种文档
一般格式:<协议>://<主机>:<端口>/<路径> (不区分大小写)
2、超文本传输协议HTTP:应用层协议,使用TCP可靠传输
TCP连接,服务器端口号:80;两类报文:请求报文,响应报文
服务网站过程:浏览器分析URL;浏览器发出DNS请求;DNS服务器解析出IP地址;浏览器与该IP服务器建立TCP连接(80端口);浏览器发出HTTP请求(GET);服务器通过HTTP响应将文件发给浏览器;TCP连接释放;浏览器解析文件并在Web页上显示
·特点:
(1)本身无连接无状态,更易支持大量并发的HTTP请求
(2)使用cookie加数据库方式跟踪用户活动
(3)可以使用非持久连接:HTTP/1.0或持久连接HTTP/1.1
非持久:每个网页元素对象的传输都需要建立一个单独的TCP连接
持久连接分为非流水线和流水线两种方式(HTTP/1.1默认使用流水线的持久连接)
·HTTP报文结构
HTTP是面向文本的,报文中每个字段都为一些ASCII码串,且长度不定
(1)请求报文
|方法||URL||版本|CRLF| ==>请求行(请求报文开始行)
|首部字段名|:|值|CRLF|
|(同上行)|
|CRLF|
|实体主体(通常不用)|
(2)响应报文
|版本||状态码||短语|CRLF| ==>状态行(响应报文开始行)
(后同请求报文)
·请求报文的方法:GET/HEAD/POST/CONNECT
PUT/DELECT/OPTION/TRACE/PATCH
·超文本标记语言HTML:一种文档标记语言
【湖科大每日一题】
1、主机A向主机B发送IP数据报,主机B收到封装有该IP数据报的以太网帧时,
·源MAC地址:为上一跳路由器的MAC地址(在转发过程中不断改变,不是A的!)
·IP数据报首部中TTL字段=TTL初始值-经过的路由器数
·源IP地址字段:主机A的IP地址
2、IPv4首部包含
·协议字段2B:值为0000 0110=6时表明为TCP
·首部长度字段1B:以4B为单位,如0101=5,首部长度=5*4=20B
·总长度字段4B:以1B(字节)为单位
3、同一网络的主机用交换机互连;不同网络的主机用路由器互连
4、OpenFiow交换机
·该交换机可以处理数据链路层的帧、网际层的IP数据报、运输层的TCP/UDP报文
·其流表表项包括:首部字段值|计数器|动作
首部字段包含11项,涉及3个层次:
源/目的MAC地址、类型、ID、优先级|源/目的IP地址、协议、服务类型|源/目的端口号
5、VLAN
·VLAN只是局域网给用户提供的一种服务,而不是一种新型局域网
·属于同一VLAN的站点之间可以直接进行通信,不同的不能直接通信
·连接在同一交换机上的多个站点可以属于不同的VLAN,而属于同一VLAN的多个站点可以连接在不同的交换机上
·IEEE 802.1Q帧(Dot one Q)对以太网V2的MAC帧格式进行了扩展,在源地址字段和类型字段之间插入了4字节的VLAN标签tag字段(V2的最大帧长为1518字节,802.1Q为1522字节)
6、IPv6地址的表示方法
·IPv6地址长度为128bit=16B
·全0地址,可缩写为两个冒号::(未指明地址,不能用作目的地址,仅此一个)
·IPv6地址的混合表示法(如::ffff:192.168.1.1)即冒号十六进制+点分十进制(有利于4到6的过渡)
·CIDR的斜线表示法在IPv6中仍适用(如2001:db8:0:cd30::/60)
·地址通常写法为7个:隔开的16位十六进制数(如2001:0000:00000000:0000:0000:1234)
两个冒号之间全零时,可进行缩写::,但要注意连续零的压缩是否会产生歧义地址表示
7、对IP数据报进行分片
·数据报数据载荷=总长度-首部
·(MTU-首部长度)后能整除8的数,为每个分片的最大数据载荷长度(最后一片不要求)
·片偏移=前面所有片的数据载荷总量/8
8、划分CIDR地址时不采用均分,求可能的最小字块
如,将某个”/18”划分为9个字块
9个子网用哈夫曼编码最长需要8位,剩下六位作为主机号=2^6-2=62
(这种划分方法,最后两个分块大小相同)
9、802.11无线局域网的数据帧格式
帧控制|持续期|地址1|地址2|地址3|序号控制|地址4|数据载荷|FCS
例,主机A通过接入点AP向主机B发送数据帧
A到AP:去往DS=1;来自DS=0;地址1、2、3:AP、A、B的MAC地址
AP到B:去往DS=0;来自DS=1;地址1、2、3:B、AP、A的MAC地址
10、发送窗口swnd=min(拥塞窗口cwnd,接收窗口rwnd)
慢开始的拥塞窗口:1、2、4、8、16…;若门限值为16
则接收窗口:16、15、13、9、1
11、某IPv4数据报的首部中包含有3个字节长的可选字段,则填充字段的长度为:1字节
首部长度字段的二进制值为:0110
12、由IP地址的唯一前缀构造二叉线索,能否匹配,IP前缀是否能在构造树中找到相同的前缀
13、应用层PDU向下传递,逐层封装
·运输层:若使用UDP,封装8B头部;TCP首部20~60B
·网络层:IPv4固定首部长20B
·数据链路层:帧头14B,帧尾4B
14、IP多播地址与多播MAC地址的映射
·IP地址32位,MAC地址48位
·IP地址的高4位为1110(固定不变,表示多播)中间5位无法映射,低23位映射至MAC地址的低23位
·MAC地址剩余48-23=高25位固定不变
·若不同的IP多播地址的不同之处仅出现在无法映射的5位中,则不同IP地址会映射出相同MAC地址
15、香农公式
最高数据传输速率=Wlog2(1+S/N) (b/s)
W:信号带宽;S:信号功率;N:噪声功率
(注意)信号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围
应为频率范围大小=范围内最大值-最小值
16、FTP协议
·分为主动模式和被动模式,都需要建立控制连接和数据连接
·控制连接在整个会话期间一直保持打开;数据连接只在文件传输时打开传完就关闭
·主/被动模式的控制连接均由FTP的随机端口向服务器的21端口发起TCP连接
而数据连接不同,主动:服务器的20端口向客户端的另一随机端口发起
被动:客户端的另一随机端口向服务器的任一端口(客户告知的)发起
17、判断是否为单播地址
·高4位为1110的为多播地址
·主机号全0或全1的不是单播地址
18、采用CRC进行检错
·生成多项式G(x),如x3+x2+1=1101
·计算校验位/冗余码:在信息串后补上(多项式位数-1)个0后模多项式
校验位的位数应比多项式最高次数少1
·连接数据串和校验位
·接收方将收到的拼接后的信息串除生存多项式串,若为1则无误码
19、CDMA通信
各站点各自的码片序列与接收到的码片序列逐位相乘后相加(做内积),再除码片序列位数
结果=1|0|-1分别表示发送比特1|未发送|比特0
20、主机A通过分组交换网向主机B发送数据
需要的最小时长=1个分组发送时延构成发送文件的分组数量+1个分组发送时延经过的路由器数量
21、路由聚合后的最长共同前缀位数,为地址掩码高位1的位数
22、802.11无线局域网允许源站对信道进行预约
RTS帧:短控制帧;CTS帧:短的响应控制帧
RST和CTS间间隔一个SIFS(SIFS:28us;DIFS:128us)
23、TCP与UDP的首部
UDP首部(8B)包含:源/目的端口、长度、检验和
TCP首部(20B~60B)包含:源/目的端口、序号、确认号、数据偏移、保留、标志(URG\ACK\PSH\RSH\SYN\FIN)、窗口、检验和、紧急指针、选项(长度可变)+填充
24、移动IP
固定主机B要给从归属网络M漫游到外地网络N到移动主机A发送IPv4数据报
该数据报的目的IP地址:移动主机A的永久地址(属于归宿网络)
从配置有归属代理的路由器转发出来的目的IP地址:代理网络的转交地址
25、路由信息RIP更新报文
到达目的网路,相同的下一跳,最新消息,要更新(无论RIP增大或减小)
26、主机A、B分别位于一个总线型以太网的两端,从AB发送数据到检测到冲突最短/长时间(记单程传播时延为t):t;2t
27、TCP连接
TCP客户 TCP服务器
—————————————————————————————
CLOSED LISTEN
———SYN=1,sea=x———————>
SYN-SENT同步已发送
<—SYN=1,ACK=1,sea=y,ack=x+1—
SYN-RCVD同步已接收
———ACK=1,sea=x+1,ack=y+1——>
ESTABLISH——————TCP传输——————ESTABLISH连接已建立
28、CSMA/CA
CA:冲突避免,但不能完全避免,只是尽量减少
使用停止-等待(带有确认机制)算法实现可靠传输
29、奈氏准则与香农公式(15)
奈氏准则:无噪声,极限数据传输速率=2Wlog2V
V=相位数*每个相位的振幅数(使用QAM调制技术)
香农公式:有噪声,极限数据传输速率=Wlog2(1+S/N)
信噪比=10log10(S/N),如30dB,S/N=1000
30、100BaseT
100:最高传输速率为100Mb/s;Base:基带传输;T:传输介质为双绞线
最小帧长=64字节(与10Mb/s标准以太网一致);争用期:5.12us
31、发送和接收电子邮件
发送方用户代理使用SMTP协议(TCP连接,25号端口)向邮件服务器发送邮件
发送方的邮件服务器向接收方的邮件服务器发送(SMTP,TCP,25)
接收方使用POP3协议(TCP,110)读取(拉去)邮件
32、TCP协议实现分用时所依据的首部字段:目的端口号
复用:发送方(UDP复用(17)/TCP复用(6)/IP复用)
分用:接收方…
33、网络利用率与网络时延
D=D0/(1-U)
D0 :网络空闲时延;D:当前网络时延;U:网络利用率
(当某链路利用例增大时,该链路引起的时延就会迅速增加)
e.g.若网络利用率达到80%,则当前的网络时延是网络空闲时的网络时延的(5)倍
34、使用CSMA/CD协议的100Mb/s以太网的退避时长:
退避时长=随机数*争用期;争用期=512比特时间=512b/100(Mb/s)=5.12us
35、PPP协议(面向比特)
发送方:在5个连续的比特1后面添加一位比特0
36、对于选择重传协议,如果分组序号采用5比特编号,接收窗口Wr大小为16,则发送窗口Wt最大是(16)。 (Wt+Wr)<=2^5 且 1
37、SDN控制器
从北向南(从上往下)分为
(北向API)
(1)到网络控制应用程序层的接口:与网络控制应用程序的通信
包括,网络图、REST风格API、Internt…
(2)网络范围的状态管理层:网络范围分布式和健壮的状态管理
包括,统计、流表;链路状态信息、主机信息、分组交换机信息
(3)通信层:与数据层面中受控设备的通信
OpenFlow
(南向API)
·数据层面与控制层面分离;
·各分组交换机的流表中的流表项,都是由SDN控制器进行计算、管理和安装的;
·OpenFiow协议是目前被广泛采用的SDN控制器通信层协议;
·SDN控制器与网络控制应用程序的交互都要通过北向API接口
38、能够唯一的确定一个在因特网上通信的进程的标识:IP地址和端口号