导图社区 408考研计算机网络
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统
编辑于2022-11-18 14:30:54 湖北省计算机网络22考研大纲 (去年的)
一、计算机网络体系结构
计网概述
概念、组成、功能、分类
性能指标: RTT 带宽==最大传输速率 时延 信道利用率 吞吐量等 注:不会直接考查 大题穿插
体系结构&参考模型
协议、接口、服务
ISO/OSI
TCP/IP
层次结构 & 各层功能
二、物理层
通信基础
基本概念
信道、信号、信源、信宿
带宽、速率、码元、波特
奈氏准则 & 香农定理
数据极限传输速率
奈氏准则:理想低通信道下的极限数据传输速率:v=2Wlog₂N
香农定理:信道极限传输速率:v=Wlog₂(1+S/N),信噪比=10log10(S/N)
编码与调制
编码
变数字信号
归零编码RZ
非归零编码NRZ
反向非归零编码NRZI
曼彻斯特编码
差分曼彻斯特编码
使用基带信号,即用不同的电压表示1和0
调制
变模拟信号
数据交换方式
电路交换 p4/p36
优点:时延小;有序;没有冲突;适用范围广;实时性强;控制简单
缺点:建立连接时间长;线路独占,效率低下,灵活性差;难以规格化
报文交换
特点:存储转发;报文携带目标地址和源地址等信息
优点:无需建立链接;动态分配线路;可靠性;利用率;为多目标服务
缺点:实时性差,只适用于数字信号
分组交换
数据报方式
拆分数据为带序号的数据单元,并在网络层加上地址等控制信息形成数据报,中间结点短暂存储,找到最佳路由并尽快转发分组。
特点:发送前不建立连接;努力交付不保证可靠性;不保证按序到达;有转发排队时延;有冗余路径,对故障的适应性强;时延较小,提高了吞吐量;不独占,提高资源利用率;
虚电路方式
说明:建立逻辑上的虚电路。
特点:建立拆除虚电路有额外开销;建立虚电路后,传输路径确定;可靠通信,保证数据正确有序到达;致命弱点:当某结点或链路故障永久失效时,所有经过此结点/链路的虚电路都会被破坏
传输介质
导引型
双绞线
便宜,最常用,屏蔽双绞线增加了抗电磁干扰的能力。几千米到数十千米
同轴电缆
用于传输较高速的数据,传输距离更远,抗干扰行较好。
光纤
多模光纤:可以从不同角度入射多条光线,但只适合近距离传输
单模光纤:成本高可传输数千米甚至数十千米而不使用中继器,适合远距离
特点:传输损耗少、中继长;抗干扰性能好;保密性强;体积小重量轻
非导引型
物理层接口4大特性
机械特性:形状尺寸引脚数目等
电气特性:电压范围
功能特性:某一电平的电压有何种意义
规程特性:事情出现的顺序
物理层设备
中继器
消去失真与衰减,再生数字信号
只有具有存储转发功能的网络设备才能连接两个不同协议,所以中继器两端必须使用同一个协议。
4-5-3规则
中继器和放大器(转发器)都是放大作用,中继器是数字信号(整型再生),放大器是模拟信号(信号放大)
物理层设备什么都不隔离(冲突域和广播域)
集线器(Hub)
实质:多端口中继器
整型放大,并转发到除输入端口外的每个端口
多个端口输入便会冲突,只起信号放大和转发作用,目的是扩大网络范围
三、数据链路层
链路层功能
组帧
将网络层的分组(数据报)的前后添加首部和尾部就构成了帧
目的:为了在出错时只发送出错的帧而不用发送全部数据
需要解决的问题:透明传输(即无论数据格式如何都要能正常传输),故要解决帧定界问题,即如果数据中包含帧定界的终止符而导致接受帧提前结束
字符计数法
头部计数字段出错,容易造成灾难后果
字符填充的首位定界符
SOH表示开始,EOT表示结束,防止内部出现歧义使用ESC转义符(在内部出现SOH,EOT,ESC的字符前都加ESC转义)
零比特填充法
使用01111110来表示帧的开始和结束,为了防止歧义,发送时每5个1后加一个0,接收时没5个1后删除一个0
违规编码法
比如曼彻斯特编码在一个码元内一定会发生一次反转,我们在传送时就使用一个码元内高高或者低低来作为定界帧的起始和终结。
性能
由于计数法的脆弱性以及首位定界符的不兼容性,常用的是后两种,零比特填充法很容易使用硬件实现,性能优于字符填充。违规编码不需要任何填充技术,但他只适合采用冗余编码的特殊编程环境
差错控制
检错编码
奇偶校验码
只能检测奇数位的错误,且并不知道哪里错了,检错能力为50%
偶检验码
加上一位检验码以后1的个数为偶数
奇检验码
CRC循环冗余码
使用多项式f(X)=X/(r位多项式),结果取余即为冗余码,r为的多项式有r-1位的冗余码 多项式如四位多项式 x³+x+1表示的就是1011。任何数除以多项式都是三位余数
纠错编码
海明码
海明码包括n位信息位Di以及k位检验位Pj,n位信息位就是数据,k位信息位是我们插入的冗余位。(D2D1P2D0P1P0)
解释
我们k为检验位应该能表示2^k中状态,其中1种表示数据正确,剩余的2^k-1应该能表示其余n+k位某位出错的信息。
每位检验位位于1,2,4,……,2^n(从1开始)的位置
我们要根据Di的位置将其分为k个组,比如Di位于第七位,那么他就需要第1 2 4这三个位置的校验位进行校验,Di为于第五位,就需要1 4这两位进行校验,见右图
分组以后,我们就可以将Pi组中包含的Dj进行异或获取校验位的值,
检验:检验中我们将Pi组的值与Pi进行异或获取Si
全零为正确,否则,这个数就是错误号的位数
流量控制与可靠传输机制
流量控制、可靠传输与滑动窗口机制
停止-等待协议
1-1
效率低,每发送一帧都要等到对方应答信号才能接收下一帧
滑动窗口
下边两个都使用
发送方
发送方维持一组连续的允许发送的帧的序号(发送窗口),每当发送方收到一个确认帧就向前滑动,当窗内所有帧都是已发送未确认状态停止发送。
接收方
接收方维持一组连续的允许接受的窗口
特性:只有接收窗口向前滑动,发送窗口才可能向前滑动,且从滑动窗口的概念看,三种协议只在窗口大小上有差别,分别是1-1,n-1,n-n
后退N帧协议(GBN)
n-1
特点
累积确认,可以在接收多个以后只发送最后一个的确认帧。
只按序接收,否则丢弃,导致缺点,批量重传,窗口大小为序号(从1开始)大小-1
连续发送提高了信道利用率,但是另一方面仅一个错误就要将后边正确的数据全部重传,降低了效率,使其不一定优于停等协议。
GBN必须响应三件事
网络层调用
ACK(累计确认)
超时事件
要发送超时的那一帧及其以后的所有帧(如果后边某一帧的确认返回它不是超时)
选择重传协议(SR)
n-n
相对GBN
1)设置单个确认
2)增加接收窗口大小
3)设置接受缓存,缓存乱序到达的帧
特点
发送窗口大小-接受~
窗口大小要小于等于序号范围的一半,否则当一或多个确认帧丢失,发送方会重新发送,但接收方会无法分辨此帧是新的帧还是重传的帧
介质访问控制
信道划分(静态)
频分多路复用FDM
使用了不同的频率,简单高效。
时分多路复用TDM
将物理信道按照时间片划分,并轮流给多个信号使用。效率较低,因而有统计时分复用(STDM)动态分配,
波分多路复用WDM
光的频率,光纤中不同波长的信号,使用波长分解器将各路波长分解。
码分多路复用CDMA(考过 注意!)
比如两个向量S与T,每个向量正交,发送1时发送源码,发送0时发送反码
以下的计算中比如ST或者SS以及TT其实求得是规格化内积(即内积结果除以维数)比如两个站点发送1与-1则发送的为S-T 第一个站点接收后进行S(S-T)=S²-ST已知ST=0则结果为S²=1 另一个站点同理接收处理以后为-TT=-1
随机访问(动态)
ALOHA协议(太简单 不押题)
纯ALOHA
发送时不检测信道,当发送以后如果一段时间未确认,则认为冲突,一个随机时间以后发送
时隙ALOHA
时间上同步起来,时间划分为等间长的时隙,规定只能在每个时隙开始才能发送一个帧,减少了数据冲突的可能性。
CSMA协议
1坚持
1坚持的含义是当检测到信道空闲发送数据的概率为1
检测信道忙则持续监听,检测信道闲立即发送,如果发生冲突,随机等待一段时间后重新监听
非坚持
非坚持与1坚持的差距在于
如果其检测到信道忙以后不会持续监听,而是等待一个随机时间以后继续监听。
p-坚持
用于时分信道
与1坚持不同的在于,检测到信道空闲以后以p概率发送。作为非坚持和1坚持的折中方案。
CSMA/CD协议
有线网络
CD即Collision Detection 碰撞检测
概括为:先听后发,边听边发(在发送过程中检测电压变化),冲突停发,随机重发。
右图(书p96),在t=τ时(从A发出算起)B检测到冲突,在2τ-δ时A才检测到碰撞。
由上一步可以计算则:最小帧长/数据传输速率=两倍的总线传播时延。否则可能没有检测到冲突数据以经发送完毕。(以太网最短帧长为64B)
算法精髓:确认基本退却时间,一般为2τ,确定重传次数k,k=min[重传次数,10],从【0,1,....,2^k-1】中随机选取一个数r,确认退避时间为T=2τr
CSMA/CA协议
无线网络
CA即Collision Avoidance碰撞避免
预约机制,RST(请求)/CTS(回复clear to send),ACK
子主题
轮询访问
令牌传递协议
各种网络
局域网
802.3以太网
其中数据46=最小以太帧64B-(6+6+2+4)B=46B
IEEE802.3 & IEEE802.11
无线局域网WLAN
IEEE 802将数据链路层拆分
LLC子层
与传输媒体无关
建立和释放数据链路层的逻辑链接,提供与高层的接口,差错控制,给帧加序号。
MAC子层
与传输媒体有关
组帧与拆帧,比特差错检测,寻址,竞争处理。
虚拟局域网VLAN
广域网
基本概念
PPP协议
使用串行通信的面向自己的协议
数据链路层设备
局域网交换机
交换机可以经济的将网络划分为小的冲突域,为每个工作站提供更高的带宽。原理:交换机检测从以太端口来的数据帧的源和目的地,会将其与系统内部的动态查找表进行比较,如果源MAC地址不在查找表中,将其加入,并将数据帧转发到相应的目的端口。
两种交换模式
直通式交换机
值检查帧的目的地址(6B),使得帧能很快的传输出去,速度快,但是缺乏安全性和智能性
存储转发式交换机
先将接收到的帧存储到高速缓存,检查是否正确,确认无误后通过查找表将其发送,否则丢弃,可靠性高,但延迟差
交换机具有自学习功能
比如A发往B,经过某交换机,交换机的交换表中没有A,则会将A加入进来,如果没有B则会将来自A的帧广播发往其余所有端口
PDU=SDU(数据部分)+PCI(控制信息)
四、网络层
网络层功能
异构网络互联、路由与转发、拥塞控制(南向接口北向接口)
SDN基本概念
软件定义网络(SDN)是今年流行的创新网络架构
采用
集中式的控制层面
分布式的数据层面
结合两方面,路由器更加简单,没有路由选择软件,两个路由之间不在交换路由信息,在控制层面有一个远程控制器,掌握各个主机以及整个网络而当状态为每个分组计算出最佳路由并下发,路由器的工作很单纯,即分组,查找转发表,转发分组。
SDN具有可编程行,通过开发者提供的编程接口(北向接口)实现。SDN控制器和转发设备建立双向对话的接口称为南向接口。
流量控制
接收方发送方之间点对点通信量的控制
拥塞控制
确保通信子网能够传送待传送的数据,是全局性的问题
开环控制(静态)
事先预防,先考虑可能发生的情况,做好应对,不考虑当前网络的状态
闭环控制(动态)
事先不考虑,采用检测网络,动态调整
主要任务:路由与转发
数据层面(转发层面)
转发
控制层面
路由选择
提供无连接不可靠的数据报服务
路由算法
静态路由与动态路由
静态路由(非自适应路由算法)
手动配置,简单可靠,适合小型网络。
动态路由(自适应路由算法)
相互连接的路由彼此交换信息,根据一定算法不断优化并适应当前网络,但算法复杂增加网络负担。
常用的路由算法包括:距离向量路由算法(RIP)和链路状态路由算法(OSPF)
距离-向量路由算法RIP
RIP允许一跳路径最多只能包含15个路由器,16表示不可达,故而其只适合于小型网络
定期将他们的整个路由表传送给所有与之直接相邻的节点。路由表包括
每条路径的目的地
路径的距离(一般指跳数)
路由表的表项一般为<目的IP地址、子网掩码、下一跳IP地址、接口>
链路状态路由算法OSPF
要求:每个参与算法的节点都具有完全的网络拓扑信息。每个结点都要执行两个任务
1)主动测试所有临近节点的状态
2)定期地将链路状态传播给所有其他节点
三个特征
向本自治系统的所有路由器发送信息,洪泛法
发送的信息是路由器相邻的所有路由器的链路状态,但是这只是路由器所知道的部分信息
只有当链路状态发生变化时,路由器才向其余所有的路由器发送信息。
两种动态路由的一些差异
RIP由于要传递所有信息给相邻结点,导致慢收敛
OSPF由于只是传递部分信息并且使用洪泛法,从而快收敛
层次路由
因特网将整个互联网划分为较小自治系统
一个自治系统内部使用的路由选择协议称为内部网关协议(IGP),具体的协议有RIP和OSPF
自治系统之间使用外部网关协议(EGP) 具体有BGP
路由协议
概念:自治系统、域内路由与域间路由++
协议
内部网关协议IGP:RIP基于UDP、OSPF基于IP
外部网关协议EGP:BGP基于TCP
IPv4
IPv4分组
IPv4分组格式
IP数据报分组
数据链路层所能承载的最大数据量称为最大传送单元(MTU),因为IP数据报在链路层数据报之中,因此数据链路层的MTU限制着IP数据报的长度。以太网的最大MTU为1500B
目的主机使用IP首部中的标识(16位 每一个IP数据报有一个标识,因此分片后的多个同个IP数据报的分组共用一个标识),标志(3位标志字段的最后一位MF(more fragment)为1表示后边还有分片,0表示最后一个分片,倒数第二位DF(don't fragment)为0时才表示可以分片,因此组装时先看DF是否为零,为零再看其余的就可)和片偏移(13位,表示其在原分组的相对位置,以8B为单位,比如片偏移为10,则其在原IP数据报中的位置为80B)
IPv4地址与NAT
ABCDE五类
特殊的IP地址
主机号全1为本网络的广播地址
主机号全0表示本网络自身
127.x.x.x为环回自检
32位全0表示本网络上的本主机
32位全1表示整个TCP/IP网络的广播地址,称为受限网络地址
NAT
子网
两级IP地址不方便,在网络号以及主机号中间加入了子网号
子网掩码与目的IP进行与操作就能得到子网号
CIDR
消除传统ABC类网络划分,并在软件的支持下实现超网构造的IP地址的划分方法
超网概念
前缀缩短
子主题
子网划分、路由聚集、子网掩码与CIDR
ARP、DHCP、ICMP
ARP
每台主机都有ARP高速缓存,用来存放本局域网上各主机和路由器的IP地址到MAC地址的映射表,成为ARP表
工作流程(A->B发送IP数据报)
1、查看ARP表中是否有B的IP地址
2、如果没有,使用目的MAC地址全1的帧来进行封装并广播ARP请求分组(广播),使用同一局域网的所有主机都能收到此ARP请求,主机B收到以后,向主机A发送ARP响应分组(单播发送),分组中包含主机B的IP与MAC地址的映射关系。A将其写入ARP高速缓存。
如果有,就可以查出与其对应的硬件地址并将其写入MAC帧,然后通过该MAC帧发往此硬件地址
DHCP基于UDP
常用于给主机动态分配IP地址,提供即插即用的联网机制。是应用层协议,基于UDP。
C/S模式,信息交换都采用广播方式
ICMP
ICMP是为了提高IP数据包成功交付的机会,让主机或者路由器报告差错或者异常。
报文类型
差错报文(5种)
询问报文(4种)
IPv6
主要特点
IPv6地址
IPv4:32b
IPv6:128b
IP组播
组播概念
基于UDP协议(因为TCP是要建立连接的,意味着一对一发送),因为是一对多,但是不能使用多个单播方式模仿,对主机的开销压力加法,而是让原计算机一次发送的单个分组可以抵达一个组地址标准的若干目标主机,并正确接收。
IP组播地址
使用D类地址(1110xxxx.x.x.x),但不是所有D类地址都能进行组播,并且不产生ICMP差错报文,且之能用于目的地址。
协议:IGMP
组播组成员概念,每个主机加入的话都要向组播组发送IGMP报文,声称自己要成为该组成由。并且由于组播组是动态的,本地组播路由器要周期性询问,查看成员是否还在。
移动IP
概念
通信过程
网络层设备
路由器
路由选择(控制部分)
分组转发
路由表表项:<目的网络IP地址、子网掩码、下一跳IP地址、接口>
五、传输层
传输层提供的服务
功能
寻址与端口
套接字:{IP地址,端口号}
无连接服务&面向连接服务
TCP
FTP,HTTP
UDP
TFTP(小文件传输协议)、DNS、SNMP、RTP、
可靠传输:不错、不丢、不乱
传输层在不同进程之间提供可靠的逻辑通信,网络层在不同主机之间提供不可靠的逻辑通信
传输层要对收到的报文进行差错检验(包括首部和数据部分),网络层只对IP数据报的首部进行检验并不对数据部分进行检验。
端口号
端口能够让应用层的各种应用进程将其数据向下交付给传输层,以及让传输层知道应当让其报文段中的数据向上通过端口交付给应用层相应的进程。
端口是传输层服务访问点TSAP
SAP service access point
MAC地址数据链路层的SAP
IP是网络层的SAP
传输层的SAP是端口
端口号长度为16bit 能够表示65536个不同的端口号
常用的端口号(0-1023)
UDP协议
UDP仅在IP数据报之上增加了两个最基本的服务,复用和分用以及差错检验
TCP的优点
无需建立连接
无连接状态
首部开销小,相对有TCP20B字节的首部,UDP仅有8B的首部16 16 16 16
源端口号,目的端口号
目的端口号不正确,丢弃报文并由ICMP发送“端口不可达”差错报文
UDP长度(最小为8,即首部长度)
DUP检验和
有错就丢弃
UDP数据报
UDP校验
伪首部
伪首部既不向下传递也不向上传递,只是为了计算校验和
发送
UDP将UDP数据报的校验和部分先设为0并添加伪首部,每16bit反码求和,如果字节数不是偶数,增加一个全零字节,
接受
接收方检验时也按照反码求和,结果应为全1
TCP协议
TCP报文
TCP连接管理
三次握手
四次挥手
seq(序号),ack(确认号,期盼收到的下一个报文序号),ACK(确认位)=FIN(终止位)=SYN(同步位)=1
TCP可靠传输
使用检验、序号、确认和重传来实现
序号
TCP将数据视为无结构但有序的字节流,并为每个字节都编上序号
确认
使用累计确认,确认好ack是下一个希望收到的报文段数据的第一个字节的序号
重传
超时重传
每发送一个报文段就给其设置一个计时器,TCP使用加权往返时间RTTs,超时时间要大于RTTs,RTTs会不断变化
冗余ACK重传
快速重传技术,比如发送1,2,3,4,5号报文段,2号丢失,那么345号接受以后,就会发送冗余ACK,表示期望自己希望收到2号,一旦收到3个冗余ACK,就会立即重传
TCP流量控制与拥塞控制
流量控制
接收方发送接收方自己的窗口大小rwnd来使得发送方更新发送窗口大小
发送窗口大小为=min{rwnd,cwnd}(即接收窗口和拥塞窗口)
拥塞控制
慢开始、拥塞避免
慢开始
慢开始阶段,设置cwnd大小初值为1,每一个传输轮次,即往返实验RTT,cwnd就会加倍,直到增加到一个慢开始门限ssthresh(阈值)(若最后一次执行慢开始算法,cwnd的值>门限,则设置cwnd为门限当前大小),改用拥塞避免算法
在这里解释一下,15年的选择题39与16年的大题中两次连续出现的仅接收不取出的情况,在每个RTT中,发送方分别发送的是1,2,4,8,16.....且每个RTT后接收窗口翻倍,但是细节是:在每个返回的确认以后窗口都会+1,如右图所示,并不是累积确认,而是在上个发送的报文确认段回来以后才会加一,然后1个RTT内整体表现是翻倍
拥塞避免
当cwnd>(>=)ssthresh开始使用拥塞避免算法,每一个传输轮次加一
网络拥塞处理
无论是慢开始还是拥塞避免阶段,只要发送方判断网络出现拥塞(未按时收到确认),就要把门限设为发生拥塞时cwnd的一半(最小为2),然后设置cwnd为1,执行慢开始算法。
快重传、快恢复
快重传
通过冗余ACK,当收到三个重复的ACK报文时,直接重传,不必等待。
快恢复
当收到三个冗余ACK时,执行“乘法减小”算法,并将慢开始门限ssthresh设置为此时cwnd的一半,同时将cwnd也设置为开始的一半,避免了窗口为1的阶段,并开始执行拥塞避免算法。
流量控制是两个主机之间的,拥塞控制是指控制网络中的路由或者链路不过载
六、应用层
网络应用模型
客户/服务器模型
P2P模型
优点
缺点
DNS(UDP)
层次域名空间
层次树状结构(www.baidu.com)标号.标号.标号 标号中除了“-”不能使用其他符号,且符号长度不超过63个字符,级别最低的写最左边 上边baidu的例子中,从右到左分别是顶级域名,二级域名,三级域名,且最右边本来有个小数点符号,是根。
域名服务器
分布式数据库
根域名服务器
告诉本地域名服务,它所查找的域名可以在哪个顶级域名服务器中找到。
顶级域名服务器
负责管理该顶级域名服务器下注册的所有二级域名,比如顶级域名为cn,则他管理 标号.cn
权限域名服务器
将其管辖的主机名转换为该主机的ip地址
本地域名服务器
对域名系统极其重要,每个大学甚至是每个系都可以拥有一个本地域名服务器
域名解析过程
递归查询(比较少用)
递归与迭代相结合的查询
主机向本地域名服务器查询是递归查询
本地域名服务器向根域名服务器查询是迭代查询、
FTP(TCP 20(控制连接) 21端口(数据连接))
FTP协议的工作原理
控制连接与数据连接
电子邮件
电子邮件系统的组成结构
电子邮件格式与MIME
SMTP协议 TCP 25 & POP3协议TCP 110
IMAP、HTTP
WWW
WWW的概念与组成结构
html
HTTP协议 TCP 80
HTTP1.1支持持久连接
子主题
浮动主题
首部长度为20B-60B
1总8偏首4,意思就是总长度的字节数为总长字段*1B,首部长度为4B*首部长度字段首部长度字段为4位最多表示0-15中的数字,故而首部长度最长为4B*15=60B
信道利用率
发送时间/从开始发送到接收到第一个确认帧
数据链路层的流量控制是点到点的,传输层的流量控制是端到端的
共~25个协议
数据链路
链路
网络中两节点的物理通道(双绞线、光纤、同轴电缆等)
数据链路
网络中两节点的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路
各层数据形式
传输层
报文段(TCP)/用户数据报(UDP)
无
网络层
数据报
路由器
数据链路层
帧
网桥/交换机
物理层
比特流
中继器/集线器
因为交换机以及路由器可以存储转发,所以他们隔离了冲突域(冲突域即是一个范围内只能进行一个设备发送数据的范围)只有路由器可以将广播域分割开来(交换机为什么不能?看完链路层补充)路由器的每个接口都是一个广播域。
上边的路由器是三个接口连接三个集线器,集线器对隔离没有什么用处,而靠路由器隔离了三个冲突域及广播域