前言
失踪人口回归,接下来会陆续更新与考研相关内容,进入阶段总结部分。这部分内容主要是结合湖南科大教书匠的计算机网络和王道的计算机网络进行的一个总结。主要目的就是针对考研。
okey,废话不多说,直接发车了。。。老规矩,内容很长。然后这里主要是针对计网,为啥是计网呢,因为,计网的话确实有点抽象,东西有点杂,所以优先针对这个家伙。查看本博文时,建议在PC端查看,并且打开目录进行按点查看。
当然秉承作者一贯在作风:
文章内容还是比较多的,当然,没有超过咱们先前算法入门7W字那么多,那个重在理解和练习,这个重在概念理解背诵,然后就是刷题速度。
说到这个,这里插个眼,明天这个时候更新操作系统,如果没有更新那就是是我刷了一套数二的卷子。(PS:不考深圳大学了,初试难搞也就算了,复试还难搞)。数学的话,有时间也出一个真题分析博文。哎,现在数学部分的问题,就是算的不够快,不够准,还得加强练啊(苦逼)
1.计算机网络体系结构
第一章的考点集中在 OSI和TCP/IP的各层功能,上下层关联关部分。
1.1 计算机网络概述
计算机网络是:是一个将分散的,具有独立功能的计算机系统,通过通信设备和线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。简单点说,计算机网络是互联的,自治的计算机集合。
网络:由若干结点和连接这些结点的链路构成
互联网internet(小写,通用名词):多个网络还可以通过路由器互连在一起,这样构成了一个覆盖范围更大的网络
因特网Internet(大写,专用名词):指目前全球最大的、开放的、由众多网络互连而成的特定计算机网络,采用TCP/IP协议簇作为通信规则
1.2 计算机网络的功能
1.3 计算机网络的组成
边缘部分:
边缘部分:由所有连接在因特网上的主机组成(路由器是专用计算机,但不称为主机)。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享
核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务(提供连通性和交换)
组成部分:
硬件、软件、协议
功能组成:
通信子网:由各种传输介质、通信设备和相应的网络协议组成,使网络具有数据传输、交换、控制和存储能力,实现联网计算机之间的数据通信
资源子网:
实现资源共享功能的设备以及软件的集合,向网络用户提供共享其他计算机硬件、软件和数据的服务
1.4 计算机网络分类
按照分布范围分类
广域网(WAN,Wide Area Network)
采用交换技术 区分广域网局域网,取决于采用的协议
局域网(LAN,Local Area Network)
采用广播技术 局域网通过路由器接入广域网
城域网(MAN,MetroPolitan Area Network)
个人区域网(PAN,Personal Area Network)
按照交换技术分类
这里就是比较凸(艹皿艹 )的部分,明明是适合第二章的内容,但是在第一章就出现了(以前学的时候)
电路交换 :
数据传输前,先建立起一条专用的物理通信路径,这一路径在整个数据传输期间一直被独占,知道通信结束才释放(连接建立、数据传输、连接释放)
报文交换:
产生原因:电路交换可以实现计算机间的数据交换,但线路传输效率很低,计算机数据是突发式的出现在传输线路上的
数据交换的单位是报文,报文携带有目的地址、源地址等信息。报文交换在交换结点的时候采用的是存储转发方式
分组交换:
比较表格:
按照使用者分类
公用网(public network)
专用网(private network)
按照传输技术分类
广播式网络
点对点网络
按传输介质分类
有线网络:双绞线网络,同轴电缆网络
无线网络:蓝牙,微波,无线电
按照拓扑结构分类
注意:物理上使用集线器的局域网是一个星型网,使用集线器的以太网在逻辑上仍是一个总线网。
1.5 计算机网络的性能指标
速率
比特(常用数据量单位):8bit = 1Byte,KB = 2^10B,MB = 2^20B,GM = 2^30B,TB = 2^40B
速率(常用数据率单位):bit/s (bps),kb/s=10^3b/s,Mb/s=10^6b/s,Gb/s=10^9b/s,Tb/s=10^12b/s
带宽
带宽在模拟信号系统中的意义 信号所包括的各种不同频率成分所占据的频率范围(Hz,kHz,MHz,GHz)
带宽在计算机网络中的意义 通信线路所能传送数据的能力,单位时间从网络一点到另一点所能通过的“最高数据率”(b/s,kb/s...)
吞吐量
单位时间内通过某个网络(信道、接口)的数据量,经常被用于对网络的测量,受网络的带宽和额定速率的限制
时延
时延带宽积
发送端连续发送数据且发送的第一个数据即将到达终点时,发送端已发出的比特数
时延带宽积 = 传播时延 × 带宽
往返时间 RTT
发送数据到接受到接收端的确认,经历的时延
利用率
**丢包率 **
分组丢失率,一定时间内,传输过程中丢失分组占比(用户透明)
分组传输过程中出现误码
分组到达一台队列已满的分组交换机时被丢弃,通信量较大时可能造成网络拥塞
1.6 计算机网络体系结构
常见的计算机网络体系结构:
OSI体系结构:
理论研究产物,研究出来时候TCP/IP体系结构已经抢占大部分市场,专家缺乏实际经验,无商业驱动力,实现复杂,运行效率低,制定周期太长,按OSI标准生产的设备无法及时进入市场,层次划分不合理
TCP/IP体系结构:
实际使用的体系结构
原理体系结构:
有利于对计算机网络原理的学习,所以有了我们课本上的五层模型
计算机网络体系结构分层的必要性
OSI参考模型各层作用:
形象一点表述是这样的:
TCP/IP
核心是IP协议,各层之间的作用是这样的:
重点:
各层协议
「应用层协议」 :
HTTP 协议(超文本传输协议,网页浏览常用的协议)
DHCP 协议(动态主机配置)
DNS 系统原理(域名系统)
FTP 协议(文件传输协议)
Telnet协议(远程登陆协议)
电子邮件协议等(SMTP、POP3、IMAP)
......
「传输层协议」 :
TCP 协议
报文段结构
可靠数据传输
流量控制
拥塞控制
UDP 协议
报文段结构
RDT(可靠数据传输协议)
「网络层协议」 :
IP 协议(TCP/IP 协议的基础,分为 IPv4 和 IPv6)
ARP 协议(地址解析协议,用于解析 IP 地址和 MAC 地址之间的映射)
ICMP 协议(控制报文协议,用于发送控制消息)
NAT 协议(网络地址转换协议)
RIP 协议、OSPF 协议、BGP 协议(路由选择协议)
......
「网络接口层」 :
差错检测技术
多路访问协议(信道复用技术)
CSMA/CD 协议
MAC 协议
以太网技术
1.7 计算机网络体系结构通信过程(访问浏览器页面为例)
整个过程如下:
在这个过程当中,路由器也就是网络层所做出的努力如下:
最后,在接收方:
从物理层开始依次去掉首部,并交付给上层,最后将HTTP请求报文交付给应用层,应用层对HTTP报文解析,然后发回HTTP响应报文。
1.8 计算机网络体系机构中的专用术语
实体
协议
服务
1.9 计算时延的理解(!!!)
高频考点:
这里是:湖南科大教书匠的:(主要看到,分组交换的分组时延计算)
也可以参考王道的解法,王道的解法是这样的(原理也是通过时序图推导的,而且我认为可能更加通用),这里也是只计算分组时延和传播时延,其他的时间消耗不算。
那么这里总时延=传播时延+1个分组经过n个路由转发分组的时间+剩下的分组从倒数第二个路由分组转发到目的地的分组时延!
2. 物理层
2.1 物理层的基本概念
物理层要解决的问题:
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流
物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么
物理层协议的主要任务:
机器特性 :指明借口所用的接线器的形状和尺寸、引脚数目和排序、固定和锁定装置
电气特性 :指明在接口电缆的各条线上出现的电压的范围
功能特性:指明某条线上出现的某一电平的电压表示何种意义
过程特性 :指明对于不同功能的各种可能事件的出现顺序
物理地址=MAC地址,属于数据链路层范畴
2.2 传输媒体
导引型传输媒体
同轴电缆
分类
基带同轴电缆(50 Ω) 数字传输,过去用于局域网
宽带同轴电缆(75 Ω) 模拟传输,目前用于有线电视
价格贵且布线不灵活,由双绞线代替
双绞线
光纤
非导引型传输媒体
传输方式
串行传输和并行传输
串行传输 一个个比特按时间顺序传输 远距离传输 并行传输 多个比特通过多条通信信道同时传输
速度快、成本高、近距离传输(计算机内部)
同步传输和异步传输
同步传输 通过时钟信号控制不同机器同步通信 :外同步:在收发双方之间添加一条单独的时钟信号线
内同步:发送端将时钟同步信号编码到发送数据中一起传输(曼彻斯特编码)
异步传输
字节之间异步(字节之间的时间间隔不固定) 字节中的每个比特仍然要同步(各比特的持续时间是相同的)
通过每个字节加起始位和结束位实现字节内的同步
通信交互方式
单工传输:一个方向通信 半双工传输:通信双方都能发送或接收信息,但不能同时
全双工传输:通信双方可以同时发送和接收信息,需要两条信道
2.3 编码与调制
如图:
术语
数据:
模拟数据(模拟信号):连续变化的数据或信号
数字数据(数字信号):取值仅允许为有限的几个离散数值的数据成为数字信号或者数字数据
信源: 产生和发送数据的源头
基带信号: 数字信道上,来自信源的信号,直接表达要传输的信息
码元 :一个固定时长的信号波形(数字脉冲)表示一个K进制数字,代表不同离散数值的基本波形(16进制码元->16种形态->4bit数据)
这里经常考的就是这个码元,波特率,发送率速率的题型。
例题:
【2011】若某通信链路的数据传输速率为2400bps, 采用四相位调制, 则该链路的波特率是()
A. 600 波特
B. 1200 波特
C. 4800 波特
D. 9600 波特
数据传输速率为2400bps,即链路中单位时间传输 2400 个二进制数
波特率:单位时间内传输的码元数。已知采用四相位调制,换言之要表示出四相位需要怎么组合, 00 01 10 11,当然你能记住公式更好,
log24 = 2。所以波特率=2400 / 2 =1200Bd
码元传输速率=码元速率=波形速率=符号速率=调制速率(单元时间数字通信系统所传输的码元个数)
信息传输速率=信息速率=比特率(b/s)
波特率:每秒可能发生的信号变化次数
关系
波特率 = 比特率/每码元所含比特数 = 信息传输速率/每码元所含比特数
数字数据
数字数据编码为数字信号
这里注意:以太网采用的是曼彻斯顿编码,占用两个位置
数字数据调制为模拟信号(调制器)
模拟数据
拟数据编码为数字信号(PCM编码器)
拟数据调制为模拟信号(放大器调制器)
2.4 信道的极限容量
这里就两个核心:香农定理和奈氏准则
2.5 物理层设备
3. 数据链路层
这一章内容不少,接下来两章是大头。
3.1 基本功能(概述)
数据链路层的基本概念:
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报
结点:主机、路由器。
链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
帧:链路层的协议数据单元,封装网络层数据报。
点对点信道的数据链路层(三个问题)
封装成帧 数据链路层给网络层协议数据单元添加一个帧头(数据链路层协议首部)和帧尾的操作,称为封装成帧
差错检测 使发送方确定接收方是否正确收到由其发送的数据的方法:
位错:数据中的某些位出现错误
帧错:帧的丢失、重复或失序等错误
可靠传输 尽管误码是不能完全避免的,但若能实现发送方发送什么,接收方就能收到什么,就称为可靠传输
广播信道的数据链路层
交换式局域网(使用点对点链路和链路层交换机)
**无线局域网 **
CSMA/CA协议,这里面还有隐蔽站的问题,解决方案是通过CTS,RTS进行信道预约
3.2 封装成帧
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流 后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,其中帧定界符的作用就是确定帧的界限。
考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即最大传送单元MTU
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
注意:当题目中没有说明时,以太网帧的默认大小为64B
透明传输(四种方法)
3.3 差错控制
3.3.1 差错的原因
差错检错分为检测编码和纠错编码。差错基本上都是由于噪声引起,注意两个Tips:
检错码是能检测而不能直接定位错误,因此无法纠错
纠错码虽然可以完成前向纠错,但是开销很大,在网络中也比较少使用
噪声的种类
【全局性】
由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的
解决方法:提高信噪比
【局部性】
外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因
解决办法:通常利用编码技术来解决
差错的种类
位错:0变1、1变0
帧错
丢失:【1】【3】
重复:【1】【2】【2】【3】
失序:【1】【3】【2】
链路层提供的服务种类
对于通信质量好的网络,采用无确认无连接服务
对于通信质量差的网络,采用有确认无连接服务
对于无线传输链路,采用有确认有连接服务
主要,有连接就一定有确认,不存在,无确认有连接服务
3.3.2 检错编码
奇偶校验码
在待发送的数据后面增加一位校验码,使得整个数据中的“1”个的个数为奇数 or 偶数。
缺点:只能检查出奇数个的错误,检错能力为50%
循环冗余码 CRC
这里主要记住异或试除即可:
例如:
3.3.3 BCD海明码(建议查看视频)
这里的步骤确实繁琐(建议查看视频)
.
原理 在有效信息位中加入几个校验位形成海明码,并把海明码的每个二进制位分配到几个奇偶校验组中,当某一位出错后,就会引起有关几个校验位的值发生变化,可以发现并确定错位的位置
海明距离 两个合法编码的对应比特取值不同的比特数称为码距,又称海明距离
一个有效编码集中,任意两个合法编码的海明距离的最小值,称为该编码集的海明距离
设m为有效信息的位数,r为校验位的位数
校验码一共有2^r种取值,有海明不等式: 2^r >= m+r+1(若要检测两位错,则需再增加1位校验位,即r+1)
确定校验位的分布 规定校验位在海明位号为2^(k-1)上,其余为信息位
分组形成校验关系 被校验数据位的海明位号等于校验该数位的各校验位海明位号之和
校验位取值 校验位的值为对应组的所有位求异或
海明码的校验原理
3.4 流量控制与可靠传输机制
数据链路层
流量控制是点对点的
方法:接收端收不下就不发送确认
传输层
流量控制是端到端的
方法:接收端给发送端一个窗口公告
可靠传输与流量控制
可靠传输:发送端发送什么,接收端就接收什么
流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧
滑动窗口机制
解决可靠传输:发送方自动重传
解决流量控制:在没有收到窗口确认的情况下不发送下一个
3.4.1 停止-等待协议 SW
从滑动窗口机制的角度看,停止-等待协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议
超时重传
接收端检测到数据分组有误码时,将其丢弃并等待发送方的超时重传,重传时间一般略大于平均往返时间(平均 RTT)。分组编号 为了让接收方(发送方)能够判断收到的数据分组是否重复,需要给数据(ACK)分组编号。由于停-等协议特性,只需一个比特编号即可(0、1)
如图所示:
信道利用率
这是个重点:信道利用率U = TD / (TD + RTT + TA)
3.4.2 回退N帧协议 GBN
发送方连续发送帧,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧后的所有未被确认帧n比特编号.
发送窗口大小:1