计算机网络要点归纳(一文带你快速掌握网络知识)

2023-05-16

计算机网络(谢希仁版)

可以用来期末复习,也可以用来回顾自测,发现好多都设计的网络相关的的内容,一起回顾学习吧

第一章概述

计算机网络的性能指标:

速率 比特为单位 Kb/s(K=10^3) Mb/S Gb/S 依次类推 为额定速率或者标称速率

带宽 最高数据率:b/s ,kb/s(K=2^10,M=2^20)

吞吐量 单位时间内通过某个网络的数据量

时延 发送时延=数据帧长度(b)/发送速率(b/s)

传播时延=信道长度(m)/信道上传播速率(m/s)

处理时延、排队时延

时延=发送时延+传播时延+处理时延+排队时延

时延带宽积=传播时延×带宽

往返时间RTT

利用率及其计算 D:网络当前时延 D0:网络空闲时时延 U:利用率

OSI/RM 七层协议

应用层、表示层、会话层、运输层、网络层、数据链路层、物理层

网络协议及其三要素:语义、语法、同步

划分层次及其好处,体系结构,实体、协议、服务和服务访问点。

分层好处:“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

体系结构:OSI七层协议 TCP/IP 四层协议 五层协议

实体:任何可发送或接收信息的硬件或软件进程

协议:控制两个对等实体(或多个实体)进行通信的规则集合

服务和服务访问点:在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。

服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。

第二章物理层

物理层描述的特性:机械特性,电气特性,功能特性,过程特性。

机械特性  指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。

电气特性  指明在接口电缆的各条线上出现的电压的范围。

功能特性  指明某条线上出现的某一电平的电压表示何种意义。

过程特性  指明对于不同功能的各种可能事件的出现顺序。

通信系统的三大部分:源系统,传输系统,目的系统。

消息,数据,信号,信号的分类(模拟信号,数字信号)。

数据(data)——运送消息的实体。

信号(signal)——数据的电气的或电磁的表现。

模拟的”(analogous)——代表消息的参数的取值是连续的。

数字的”(digital)——代表消息的参数的取值是离散的。

码元(code)——在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数值的基本波形。

通信双方信息交互的三种基本方式:单向通信,双向交替通信,双向同时通信。

单向通信(单工通信)——只能有一个方向的通信而没有反方向的交互。

双向交替通信(半双工通信)——通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。

双向同时通信(全双工通信)——通信的双方可以同时发送和接收信息。

基带信号,带通信号,基带调制,带通调制及其常用的方法(调幅AM,调频FM,调相PM)

基带信号(即基本频带信号)——来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号往往包含有较多的低频成分,甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。因此必须对基带信号进行调制(modulation)。  

带通信号——把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。

带通调制

调幅(AM):载波的振幅随基带数字信号而变化。

调频(FM):载波的频率随基带数字信号而变化。

调相(PM) :载波的初始相位随基带数字信号而变化。 

6、信噪比S/N,度量单位为分贝dB,转换公式: 

7、香农公式:

8、传输媒体【了解】   

9、信道复用技术:频分复用,时分复用,统计时分复用,波分复用,码分复用。 

频分复用(FDM):频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率

时分复用(TDM):时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。

统计时分复用(STDM):

波分复用(WDM):波分复用就是光的频分复用。

码分复用(DMA):常用的名词是码分多址 CDMA (Code Division Multiple Access)。

各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。

这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。

每一个比特时间划分为 m 个短的间隔,称为码片(chip)。

第3章 数据链路层

1、数据链路层使用的信道主要有两种类型:点对点信道,广播信道。

点对点信道:这种信道使用一对一的点对点通信方式。

广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发

2、链路,数据链路,帧。

链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。

一条链路只是一条通路的一个组成部分。

数据链路(data link)

    1. 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
    2. 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。
    3. 一般的适配器都包括了数据链路层和物理层这两层的功能。  

:常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。

4、数据链路层三个基本问题:封装成帧,透明传输,差错检测(循环冗余检验CRC的计算)

封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。

透明传输:转义字符:ESC的使用

差错检验:在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。

在发送端,先把数据划分为组。假定每组 k 个比特。

假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。 

用二进制的模 2 运算进行 2n M 的运算,这相当于在 M 后面添加 n 个 0。

得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少1 位,即 R n 位。

现在 k = 6, M = 101001。

n = 3, 除数 P = 1101,

被除数是 2nM = 101001000。

模 2 运算的结果是:商 Q = 110101,

           余数 R = 001。

把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2nM + R

   即:101001001,共 (k + n) 位。

5、点对点协议PPP:了解PPP协议特点(3.2.1),掌握PPP协议的帧格式(3.2.2)、了解PPP协议的工作状态(3.2.3)。

PPP 协议有三个组成部分

  •   一个将 IP 数据报封装到串行链路的方法。
  • 链路控制协议 LCP (Link Control Protocol)。
  • 网络控制协议 NCP (Network Control)

零比特填充:在发送端,只要发现有 5 个连续 1,则立即填入一个 0。接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除

6、媒体共享技术:静态划分信道,动态媒体接入控制。

静态划分信道

  1. 频分复用
  2. 时分复用
  3. 波分复用
  4. 码分复用

动态媒体接入控制(多点接入)

随机接入 随机接入的特点是所有的用户可随机的发送信息。但如果恰巧有两个或更多用户在同一时间发送信息,那么在共享媒体上就要产生碰撞(即冲突),使得这些用户的发送都失败。因此必须有解决碰撞的协议

受控接入 受控接入的特点是用户不能随机的发送信息而必须服从一定的控制。这类的典型代表有分散控制的令牌环局域网和集中控制的多点线路探询,或称为轮询

7、载波监听多点接入/碰撞检测CSMA/CD(双向交替通信),争用期(10Mb/s以太网,512比特时间),截断二进制指数退避,最短帧长(64字节),人为干扰信号,帧间最小间隔。

CSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection。

1)“多点接入”表示许多计算机以多点接入的方式连接在一根总线上。

2)“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。

3)总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。 

争用期

1)最先发送数据帧的站,在发送数据帧后至多经过时间 2t (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。

2)以太网的端到端往返时延 2t 称为争用期,或碰撞窗口。

3)经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。 

4)以太网取 51.2 ms 为争用期的长度。

5)对于 10 Mb/s 以太网,在争用期内可发送512 bit,即 64 字节。

6)以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。  

二进制指数类型退避算法

发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。

确定基本退避时间,一般是取为争用期 2t

定义重传次数 kk £ 10,即

                 k = Min[重传次数, 10]

从整数集合[0,1,…, (2k -1)]中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。

当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

最短有效帧长:

1)如果发生冲突,就一定是在发送的前 64 字节之内。

2)由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。

3)以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。

帧间最小间隔:帧间最小间隔为9.6us,相当于96比特时间,这样做是为了使刚刚收到数据帧的站的接受缓存来得及清理,做好接受下一帧的准备。

7、以太网的信道利用率: 

参数a,单程端到端时延τ与帧的发送时间T0之比

极限信道利用率: (理想状态,无任何碰撞的情况)。

8、MAC层的硬件地址MAC-48,MAC帧的格式,前同步码,帧开始定界符。

   MAC-48:

IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24  位)。

地址字段中的后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。

   MAC帧格式:   

帧开始定界符:在帧的前面插入的 8 字节中的第一个字段共 7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段是帧开始定界符,表示后面的信息就是MAC 帧。

前同步: 为了达到比特同步,在传输媒体上实际传送的要比 MAC 帧还多 8 个字节

9、扩展交换机以太网:物理层扩展,数据链路层扩展。两种扩展碰撞域的区别。

   集线器:在物理层工作形成一个更大的碰撞域

   网桥:在数据链路层工作,使各网段称为隔离开的碰撞域

10、透明网桥,源路由网桥,多接口网桥(以太网)。

透明网桥:目前使用得最多的网桥是透明网桥(transparent bridge)。

“透明”是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的。

透明网桥是一种即插即用设备,其标准是 IEEE 802.1D。

源路由网桥:透明网桥容易安装,但网络资源的利用不充分。

源路由(source route)网桥在发送帧时将详细的路由信息放在帧的首部中。

源站以广播方式向欲通信的目的站发送一个发现帧,每个发现帧都记录所经过的路由。

发现帧到达目的站时就沿各自的路由返回源站。源站在得知这些路由后,从所有可能的路由中选择出一个最佳路由。凡从该源站向该目的站发送的帧的首部,都必须携带源站所确定的这一路由信息。   

多接口网桥:以太网交换机通常都有十几个接口。因此,以太网交换机实质上就是一个多接口的网桥,可见交换机工作在数据链路层。

11、高速以太网:速率的提高对保证参数a值采取的措施:网段的最大电缆长度以及最短帧长的处理,帧间最小间隔。

100BASE-T 以太网的特点

可在全双工方式下工作而无冲突发生。因此,不使用 CSMA/CD 协议。

MAC 帧格式仍然是 802.3 标准规定的。

保持最短帧长不变,但将一个网段的最大电缆长度减小到 100 m。

帧间时间间隔从原来的 9.6 ms 改为现在的 0.96 ms。   

第4章  网络层

1、了解网络层提供的两种服务(虚电路服务和数据报服务)之间的区别。

2、重点掌握IP地址编址方法的三个阶段:

(1)分类的IP地址。

(2)划分子网。(IP 地址) AND (子网掩码) =网络地址

(3)构造超网(无分类编址CIDR):斜线记法;地址聚合;最长前缀匹配;

无分类的两级编址的记法是

 IP地址 ::= {<网络前缀>, <主机号>}           (4-3)

CIDR 还使用“斜线记法”(slash notation),它又称为CIDR记法,即在 IP 地址面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。

CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”。 

路由聚合

1)一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。

2)路由聚合也称为构成超网(supernetting)。

3)CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。

4)对于 /20  地址块,它的掩码是 20 个连续的 1。 斜线记法中的数字就是掩码中1的个数。   

最长前缀匹配:

1)使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。

2)应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefix matching)。

3)网络前缀越长,其地址块就越小,因而路由就越具体(more specific) 。

4)最长前缀匹配又称为最长匹配或最佳匹配。    

了解路由表的二叉线索查找法。

当路由表的项目数很大时,怎样设法减小路由表的查找时间就成为一个非常重要的问题。

为了进行更加有效的查找,通常是将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的就是二叉线索(binary trie)。

IP 地址中从左到右的比特值决定了从根结点逐层向下层延伸的路径,而二叉线索中的各个路径就代表路由表中存放的各个地址。

为了提高二叉线索的查找速度,广泛使用了各种压缩技术。  

了解IP地址与硬件地址的区别。

物理地址是数据链路层和物理层使用的地址,IP地址是网络层和以上各层使用的地址,是一种逻辑地址。

4、了解地址解析协议ARP(IP->物理地址)和逆地址解析协议RARP(物理地址->IP地址)。

5、重点掌握IP数据报的格式:首部长度,总长度,标志(flag),片偏移,首部检验和。

理解并运用IP层的分组转发算法,划分子网的情况下路由器转发分组的算法。

IP层的分组转发算法

(1)  从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N

(2)  若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。

(3)  若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。

(4)  若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。

(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。

(6)  报告转发分组出错。

划分子网的情况下路由器转发分组的算法:

(1) 从收到的分组的首部提取目的 IP 地址 D

(2) 先用各网络的子网掩码和 D 逐位相“与”,看是否和  相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。

(3) 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。

(4) 对路由表中的每一行的子网掩码和 D 逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。

(5) 若路由表中有一个默认路由,则将分组传送给路由中所指明的默认路由器;否则,执行(6)。

(6) 报告转发分组出错。

7、了解网际控制报文协议ICMP的种类及其相应的两个应用(PING,traceroute)。

 

   ICMP种类

ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。

ICMP 报文的前 4 个字节是统一的格式,共有三个字段:即类型、代码和检验和。接着的 4 个字节的内容与 ICMP 的类型有关。

错误报告报文:终点不可达 、源点抑制(Source quench) 、 时间超过 、参数问题 、改变路由(重定向)(Redirect)  、

  1. 了解路由选择协议的分类:内部网关协议IGP(域内路由选择)和外部网关协议EGP(域间路由选择)。

内部网关协议 IGP (Interior Gateway Protocol)    即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。

外部网关协议 EGP (External Gateway Protocol)    若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是 BGP-4。  

理解并掌握内部网关协议RIP路由信息协议)的距离向量算法。

距离向量算法:

收到相邻路由器(其地址为 X)的一个 RIP 报文:

(1) 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。

(2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤:

若项目中的目的网络不在路由表中,则把该项目加到路由表中。

    否则

       若下一跳字段给出的路由器地址是同样的,则把收到的项   目  替换原路由表中的项目。

       否则

           若收到项目中的距离小于路由表中的距离,则进行更新,

否则,什么也不做。

(3) 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16表示不可达)。

(4) 返回。

10、了解RIP的报文格式(封装在UDP中)及RIP协议的优缺点(缺点:好消(息传播得快,坏消息传播得慢)。

11、理解内部网关协议OSPF(开放最短路径优先)和RIP的区别。

1)向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。(OSPF)

2)发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息(OSPF)。“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。对于RIP,发送的信息是:“到所有网络的距离和吓一跳路由器”

3)只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。  (OSPF)

12、了解OSPF的报文格式(不使用UDP而是直接用IP数据报传送)。

13、了解OSPF的五种分组类型:问候(Hello)分组,数据库描述(Database Description)分组,链路状态请求(Link State Request)分组,链路状态更新(Link State Update)分组,链路状态确认(Link State Acknowledgment)分组。了解OSPF的基本工作过程。

基本工作过程

14、了解外部网关协议BGP的特点【BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不兜圈子),而并非要寻找一条最佳路由】。

特点:1)BGP 协议交换路由信息的结点数量级是自治系统数的量级,这要比这些自治系统

中的网络数少很多。

2)每一个自治系统中 BGP 发言人(或边界路由器)的数目是很少的。这样就使得自治系统之间的路由选择不致过分复杂。

3)BGP 支持 CIDR,因此 BGP 的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。

4)在BGP 刚刚运行时,BGP 的邻站是交换整个的 BGP 路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销方面都有好处。

15、了解BGP-4的四种报文:OPEN(打开)报文,UPDATE(更新)报文,KEEPALIVE(保活)报文,NOTIFICATION(通知)报文。

(1) 打开(OPEN)报文,用来与相邻的另一个BGP发言人建立关系。

(2) 更新(UPDATE)报文,用来发送某一路由的信息,以及列出要撤消的多条路由。

(3) 保活(KEEPALIVE)报文,用来确认打开报文和周期性地证实邻站关系。

(4) 通知(NOTIFICATION)报文,用来发送检测到的差错。

在 RFC 2918 中增加了 ROUTE-REFRESH 报文,用来请求对等端重新通告。

16、理解路由器的结构:路由选择部分和分组转发部分。路由选择部分也叫做控制部分,核心构件是路由选择处理机。分组转发部分由三部分组成:交换结构,一组输入端口和一组输出端口。而交换结构是路由器的关键构件。

17、理解“转发”和“路由选择”的区别。

转发”和“路由选择”的区别:

1)“转发”(forwarding)就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去。

2)“路由选择”(routing)则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。

3)路由表是根据路由选择算法得出的。而转发表是从路由表得出的。

4)在讨论路由选择的原理时,往往不去区分转发表和路由表的区别。  

18、理解虚拟专用网VPN的原理:由于IP地址的紧缺,再加上因特网并不很安全,一个机构内也并不需要把所有的主机都接入到外部的因特网,因此可以让这些机构内的计算机使用仅在本机构有效的IP地址(本地地址),而不需要向因特网的管理机构申请全球唯一的IP地址(全球地址)。利用公用的因特网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网VPN。

19、专用地址:只能用于一个机构的内部通信,而不能用于和因特网上的主机通信。也就是说,专用地址只能用作本地地址而不能用作全球地址。在因特网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。专用地址也称为可重用地址。

10.0.0.0 到 10.255.255.255

172.16.0.0 到 172.31.255.255

192.168.0.0 到 192.168.255.255

127.0.0.1表示本机

20、网络地址转换NAT:需要在专用网连接到因特网的路由器上安装NAT软件,NAT路由器至少有一个有效的外部全球IP地址。

21、网络地址与端口号转换NAPT:可以使多个拥有本地地址的主机,共用一个NAT路由器上的全球IP地址。

第5章  运输层

1、理解运输层分用和复用的功能。

复用:在发送方不同的应用进程都可以使用同一个运输协议传送数据

分用:接收方在运输层在剥去报文首部后能够将这些数据正确交付到目的应用程序

2、理解运输层的两种不同的运输协议:面向连接的TCP和无连接的UDP。

UDP 在传送数据之前不需要先建立连接。对方的运输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。

TCP 则提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。 

3、了解运输层端口号的分类。

熟知端口:数值一般为 0~1023。

登记端口号:数值为1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。

客户端口号或短暂端口号:数值为49152~65535,留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。

4、理解UDP的主要特点,理解UDP的首部格式,掌握UDP检验和的计算(需要用到伪首部,首部和数据部分均需要检验)。

主要特点:

  1. UDP 是无连接的,即发送数据之前不需要建立连接。
  2. UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。
  3. UDP 是面向报文的。UDP 没有拥塞控制,很适合多媒体通信的要求。
  4. UDP 支持一对一、一对多、多对一和多对多的交互通信。
  5. UDP 的首部开销小,只有 8 个字节。

首部格式:

 

检验和计算:

 

5、理解TCP最主要的特点。

特点:

  1. TCP 是面向连接的运输层协议。
  2. 每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一)。
  3. TCP 提供可靠交付的服务。
  4. TCP 提供全双工通信。
  5. 面向字节流。 

6、理解TCP的连接(每一条TCP连接有两个端点,TCP连接的端点叫套接字或插口),掌握TCP连接及套接字的表示方法。

TCP连接:

  1. TCP 把连接作为最基本的抽象。
  2. 每一条 TCP 连接有两个端点。
  3. TCP 连接的端点不是主机,不是主机的IP 地址,不是应用进程,也不是运输层的协议端口。TCP 连接的端点叫做套接字(socket)或插口。
  4. 端口号拼接到(contatenated with) IP 地址即构成了套接字。  

套接字:套接字 socket = (IP地址: 端口号)      (5-1)

每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定。即:

  TCP 连接 ::= {socket1, socket2}

             = {(IP1: port1), (IP2: port2)}     (5-2)

7、理解停止等待协议,掌握停止等待协议中信道利用率的计算:理解连续ARQ协议的工作原理及采用的累积确认方法。

停止等待协议:

  1. 在发送完一个分组后,必须暂时保留已发送的分组的副本。
  2. 分组和确认分组都必须进行编号。
  3. 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。
  4. ARQ 表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组 。

停止等待协议中信道利用率:连续ARQ协议的工作原理:发送方没收到一个确认就把发送窗口向前移动一个分组的位置

累积确认:

  1. 接收方一般采用累积确认的方式。即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了。
  2. 累积确认有的优点是:容易实现,即使确认丢失也不必重传。缺点是:不能向发送方反映出接收方已经正确收到的所有分组的信息。

8、理解TCP报文段的首部格式:源端口和目的端口各16位,序号32位(用于计算文件长度L),确认号32位,数据偏移4位(以4字节为计算单位,用于计算首部长度),确认ACK、同步SYN、终止FIN字段在TCP运输连接管理中的应用,窗口16位(表明自己的接收窗口大小),检验和的计算(需要用到伪首部,首部和数据部分均需要检验)。

 

URG紧急 URG —— 当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。

ACK确认 ACK —— 只有当 ACK = 1 时确认号字段才有效。当 ACK = 0 时,确认号无效。

PSH推送 PSH (PuSH) —— 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。 

RST复位 RST (ReSeT) —— 当 RST = 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。

SYN同步 SYN —— 同步 SYN = 1 表示这是一个连接请求或连接接受报文。

FIN终止 FIN (FINis) —— 用来释放一个连接。FIN = 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

理解TCP可靠传输的实现:滑动窗口,超时重传时间RTO的计算(α、β的默认值),选择确认SACK。

TCP 可靠通信的具体实现:

  1. TCP 连接的每一端都必须设有两个窗口——一个发送窗口和一个接收窗口。
  2.  TCP 的可靠传输机制用字节的序号进行控制。TCP 所有的确认都是基于序号而不是基于报文段。
  3.  TCP 两端的四个窗口经常处于动态变化之中。
  4. TCP连接的往返时间 RTT 也不是固定不变的。需要使用特定的算法估算较为合理的重传时间。 

滑动窗口:

 

 

选择确认SACK:

  1. 接收方收到了和前面的字节流不连续的两个字节块。
  2. 如果这些字节的序号都在接收窗口之内,那么接收方就先收下这些数据,但要把这些信息准确地告诉发送方,使发送方不要再重复发送这些已收到的数据。

10、理解TCP流量控制的实现:滑动窗口(由接收方的接收窗口的大小决定发送方的发送窗口的大小),了解传输效率。

流量控制:流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞

传输效率:可以用不同的机制来控制 TCP 报文段的发送时机:

  1. 第一种机制是 TCP 维持一个变量,它等于最大报文段长度 MSS。只要缓存中存放的数据达到 MSS 字节时,就组装成一个 TCP 报文段发送出去。
  2. 第二种机制是由发送方的应用进程指明要求发送报文段,即 TCP 支持的推送(push)操作。
  3. 第三种机制是发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但长度不能超过 MSS)发送出去。

11、TCP的拥塞控制:了解拥塞的原因,了解拥塞控制所起的作用(输入负载和吞吐量的关系),重点掌握并运用几种常用的拥塞控制的算法(慢开始,拥塞避免,快重传,快恢复),了解随机早期检测RED的相关知识点【全局同步,实现RED的要点(平均队列长度Lav,最小门限THmin,最大门限THmax,分组丢弃概率p)】。

几个变量:

拥塞窗口 cwnd  慢开始门限状态变量ssthresh  接收方窗口 rwnd

慢开始算法:(指数规律增长)

  1. 在主机刚刚开始发送报文段时可先设置拥塞窗口 cwnd = 1,即设置为一个最大报文段 MSS 的数值。
  2. 在每收到一个对新的报文段的确认后,将拥塞窗口加 1,即增加一个 MSS 的数值。
  3. 用这样的方法逐步增大发送端的拥塞窗口 cwnd,可以使分组注入到网络的速率更加合理。

拥塞避免算法: (加法增长)

拥塞避免算法的思路是让拥塞窗口 cwnd 缓慢地增大,即每经过一个往返时间 RTT 就把发送方的拥塞窗口 cwnd 加 1,而不是加倍,使拥塞窗口 cwnd 按线性规律缓慢增长。

慢开始门限 ssthresh 的用法如下:

  1. 当 cwnd < ssthresh 时,使用慢开始算法。
  2. 当 cwnd > ssthresh 时,停止使用慢开始算法而改用拥塞避免算法。
  3. 当 cwnd = ssthresh 时,既可使用慢开始算法,也可使用拥塞避免算法。

当网络出现拥塞时:ssthresh=ssthresh/2;cwnd=1.并执行慢开始算法(乘法减小)

快重传算法:

  1. 快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认。这样做可以让发送方及早知道有报文段没有到达接收方。
  2. 发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段。
  3. 不难看出,快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段。

快恢复算法:

  1. 当发送端收到连续三个重复的确认时,就执行“乘法减小”算法,把慢开始门限 ssthresh 减半。但接下去不执行慢开始算法。
  2. 由于发送方现在认为网络很可能没有发生拥塞,因此现在不执行慢开始算法,即拥塞窗口 cwnd 现在不设置为 1,而是设置为慢开始门限 ssthresh 减半后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。

随机早期检测RED:

  1. 使路由器的队列维持两个参数,即队列长度最小门限 THmin 和最大门限 THmax。
  2. RED 对每一个到达的数据报都先计算平均队列长度 LAV。
  3. 若平均队列长度小于最小门限 THmin,则将新到达的数据报放入队列进行排队。
  4. 若平均队列长度超过最大门限 THmax,则将新到达的数据报丢弃。
  5. 若平均队列长度在最小门限 THmin 和最大门限THmax 之间,则按照某一概率 p 将新到达的数据报丢弃。

12、理解TCP的运输连接管理(三个阶段:连接建立,数据传送,连接释放)。

(1)连接建立:三次握手;

(2)连接释放:两次二次握手。

 

与TCP报文段首部中的确认ACK、同步SYN、终止FIN字段综合运用,以及seq,ack的值的变化。

13、了解TCP的有限状态机各状态之间变化的条件。

 

第6章  应用层

1、了解域名系统DNS存在的必要性,了解因特网的域名结构,了解顶级域名TLD的分类(国家顶级域名,通用顶级域名,基础结构域名)。

2、了解域名服务器的分类(根域名服务器,顶级域名服务器,权限域名服务器,本地域名服务器),以及各域名服务器之间的协同工作原理。

3、提高可靠性:主域名服务器,辅助域名服务器。

  1. DNS 域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。
  2. 当主域名服务器出故障时,辅助域名服务器可以保证 DNS 的查询工作不会中断。
  3. 主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性

4、域名解析的过程:递归查询,迭代查询。

  1. 主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。
  2. 本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。

5、了解两大类文件共享协议(复制整个文件,联机访问)及其区别,了解FTP的基本工作原理。

6、了解TFTP的特点及主要优点,了解其工作过程(类似停止等待协议)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络要点归纳(一文带你快速掌握网络知识) 的相关文章

  • python刷题之链表常见操作

    链表常用操作 也可以把列表当做队列用 xff0c 只是在队列里第一加入的元素 xff0c 第一个取出来 xff1b 但是拿列表用作这样的目的效率不高 在列表的最后添加或者弹出元素速度快 xff0c 然而在列表里插入或者从头部弹出速度却不快
  • 刷题之链表

    链表相关 19 删除链表的倒数第 N 个结点 难度中等1261收藏分享切换为英文接收动态反馈 给你一个链表 xff0c 删除链表的倒数第 n 个结点 xff0c 并且返回链表的头结点 进阶 xff1a 你能尝试使用一趟扫描实现吗 xff1f
  • 高级爬虫: 使用 Selenium 浏览器

    安装Selenium和chromedriver xff1a 因为 Selenium 需要操控你的浏览器 所以安装起来比传统的 Python 模块要多几步 先在 terminal 或者 cmd 用 pip 安装 selenium python
  • python刷题之栈和队列

    20 有效的括号 难度简单2228 给定一个只包括 39 39 xff0c 39 39 xff0c 39 39 xff0c 39 39 xff0c 39 39 xff0c 39 39 的字符串 s xff0c 判断字符串是否有效 有效字符串
  • python实现堆的基本操作及堆相关练习

    堆 heap 又被为优先队列 priority queue 尽管名为优先队列 xff0c 但堆并不是队列 回忆一下 xff0c 在队列中 xff0c 我们可以进行的限定操作是dequeue和enqueue dequeue是按照进入队列的先后
  • python刷题之集合、哈希表常见操作及练习

    集合 集合是一个无序不重复元素的集 基本功能包括关系测试和消除重复元素 可以用大括号 创建集合 注意 xff1a 如果要创建一个空集合 xff0c 你必须用 set 而不是 xff1b 后者创建一个空的字典 xff0c 下一节我们会介绍这个
  • 用selenium爬取拉勾网职位信息及常见问题处理

    初步爬虫框架构造 下面采用selenium进行爬虫 xff0c 首先构造一下爬虫的框架 xff0c 将整个程序构造为一个类 xff0c 其中主要包括 xff1a 获取每个详细职位信息的链接 xff08 parse page url xff0
  • Scrapy爬虫快速入门

    Scrapy快速入门 Scrapy框架模块功能 xff1a Scrapy Engine xff08 引擎 xff09 xff1a Scrapy框架的核心部分 负责在Spider和ItemPipeline Downloader Schedul
  • 嵌入式系统USB CDROM虚拟光驱驱动程序开发

    带U盘功能的的USB接口设备已经越来越常见了 如果能够把产品说明书或者产品设备驱动程序做成一个USB CDROM xff0c 那该多方便 假设 xff1a 你已经有了USB mass storage驱动 你的任务是在此基础上增加一个USB
  • Redis集群原理详解

    一 Redis集群介绍 xff1a 1 为什么需要Redis集群 xff1f 在讲Redis集群架构之前 xff0c 我们先简单讲下Redis单实例的架构 xff0c 从最开始的一主N从 xff0c 到读写分离 xff0c 再到Sentin
  • python刷题之快慢指针与二分查找

    141 环形链表 难度简单986 给定一个链表 xff0c 判断链表中是否有环 如果链表中有某个节点 xff0c 可以通过连续跟踪 next 指针再次到达 xff0c 则链表中存在环 为了表示给定链表中的环 xff0c 我们使用整数 pos
  • LeetCode每日一题

    191 位1的个数 难度简单290 编写一个函数 xff0c 输入是一个无符号整数 xff08 以二进制串的形式 xff09 xff0c 返回其二进制表达式中数字位数为 39 1 39 的个数 xff08 也被称为汉明重量 xff09 提示
  • scrapy模拟豆瓣登录

    看的课程是21天搞定分布式爬虫 xff0c 应该是几年前的了 xff0c 课程当时还是验证码 xff0c 现在登录和之前都不一样了现在需要你拖动滑块完成拼图 之前的页面 现在验证码都变成拼图了 学学原理吧 首先创建scrapy项目 首先进入
  • 利用Scrapy框架爬取汽车之家图片(详细)

    爬取结果 爬取步骤 创建爬虫文件 进入cmd命令模式下 xff0c 进入想要存取爬虫代码的文件 xff0c 我这里是进入e盘下的E pystudy scraping文件夹内 C Users wei gt E E gt cd E pystud
  • Scrapy框架下载器和随机请求头

    下载器中间键可以为我们设置多个代理ip与请求头 xff0c 达到反反爬虫的目的 下面是scrapy为我们创建好的中间件的类 Process request self request spider 参数 request 发送请求的reques
  • scrapy爬取完整网页完整数据,简书(最新)

    需求 xff1a 简书网站整站爬虫 数据保存到mysql数据库中 将seleniume 43 chromedriver集成到scrapy 爬取结果如下 xff1a 安装Selenium和chromedriver xff1a https bl
  • 图和图的基本知识

    1 1 图的表示 1 2 图的特性 子图Subgraph 连通分量Connected Component 接通图Connected Graph 最短路径Shortest Path 图直径Diameter 1 3 图中心性 Centralit
  • BFS和DFS的python实现(要记住)

    BFS DFS python模板与实现 BFS模板 1 无需分层遍历 while queue 不空 xff1a cur 61 queue pop for 节点 in cur的所有相邻节点 xff1a if 该节点有效且未访问过 xff1a
  • BFS与 DFS题目练习(python)

    107 二叉树的层序遍历 II 难度中等423 给定一个二叉树 xff0c 返回其节点值自底向上的层序遍历 xff08 即按从叶子节点所在层到根节点所在的层 xff0c 逐层从左向右遍历 xff09 例如 xff1a 给定二叉树 3 9 2

随机推荐

  • LeetCode每日一题-合并两个有序数组

    88 合并两个有序数组 难度简单878 给你两个有序整数数组 nums1 和 nums2 xff0c 请你将 nums2 合并到 nums1 中 xff0c 使 nums1 成为一个有序数组 初始化 nums1 和 nums2 的元素数量分
  • debian 系统无声音

    系统识别了硬件 xff0c 加载了内核 可是就是没声音 在基础条件都满足的情况下 xff0c 尝试输入 xff1a sudo alsactl init 反正我是一输入声音就出来了 转载于 https my oschina net skyoo
  • 爬虫实战-爬取房天下网站全国所有城市的新房和二手房信息(最新)

    看到https www cnblogs com derek1184405959 p 9446544 html项目 xff1a 爬取房天下网站全国所有城市的新房和二手房信息和其他博客的代码 xff0c 因为网站的更新或者其他原因都不能正确爬取
  • pytorch 模型保存与加载 cpu转GPU

    model eval 的重要性 在2 中最后用到了model eval 是因为 只有在执行该命令后 34 dropout层 34 及 34 batch normalization层 34 才会进入 evalution 模态 而在 34 训练
  • 数据分析及数据分析的工作流程

    1 什么是数据分析 数据分析是根据业务问题 xff0c 对数据进行收集 xff0c 清洗 xff0c 处理和建模的过程 xff0c 用于识别有助于业务的信息 xff0c 获取关键业务结论并辅助决策 界定业务问题 xff08 以宜家为例 xf
  • SQL练习网站

    之前上过数据库的课程 xff0c 但感觉零零散散 xff0c 现在已经不记得多少 xff0c 一方面是没有总结另一方面是没有练习 https sqlbolt com 但感觉网页加载的很慢 但我发现以上两者结合起来棒棒哒 有中文 xff0c
  • SQL入门(二)查询执行顺序

    完整查询 SELECT DISTINCT column AGG FUNC column or expression FROM mytable JOIN another table ON mytable column 61 another t
  • SQL入门之基本语法

    下面是为了方便查考在GitHub上找到的一个教程 目录 开始使用 登录MySQL创建数据库创建数据库表增删改查 SELECTUPDATEINSERTDELETEWHEREAND 和 OR ANDORORDER BYINNOTUNIONASJ
  • python有向图,无向图绘制

    https www jianshu com p 52bb142314ebR语言画网络图 https blog csdn net fly hawk article details 78513257 python绘制无向图 xff0c 输入数据
  • 知识追踪待解决问题记录-交流贴

    记录遇到知识追踪的问题 xff0c 欢迎大家进行留言交流 1 DKT中的图如何画的 好像是根据这个公式 但还没画出来 2 GKT跑的效果很差 可能原因是作者对数据的特殊处理 xff0c 作者的实验数据好像不是assistment的 后面有人
  • conda安装包遇到问题An unexpected error has occurred. Conda has prepared the above report.

    之前还没问题 xff0c 现在就 base C Users wei gt conda activate tensoflow1 tensoflow1 C Users wei gt conda install seaborn Collectin
  • Requests库爬取实例

    网络爬虫的盗亦有道 网络爬虫的尺寸 爬取网页 xff0c 玩转网页 xff1a 小规模 xff0c 数据量小 xff0c 爬取速度不敏感 xff1b Requests库 爬取网站 爬取系列网站 xff1a 中规模 xff0c 数据量较大 x
  • Java8两个集合(List)取交集、并集、差集、去重并集

    Java8两个集合 List 取交集 并集 差集 去重并集 java guava 集合的操作 xff1a 交集 差集 并集 span class token keyword import span span class token name
  • XML,JSON,YAML

    信息标记的三种形式 信息的标记 xff1a 标记后的信息可形成信息组织结构 xff0c 增加了信息维度 标记后的信息可用于通信 存储和展示 标记的结构与信息一样具有重要价值标记后的信息有利于程序理解和运用 HTML的信息标记 xff1a H
  • python爬虫 2021中国大学排名定向爬虫

    最近的几篇博客来源是之前我下载的一个课件 在网上搜索了一下是一下这个课程的 xff0c 可以结合视频博客以及代码去更好地学习 Python网络爬虫与信息提取 北京理工大学 中国大学MOOC 慕课 icourse163 org 但是课程内容的
  • 爬虫小案例之爬取京东商品链接

    观察URL翻页的变化 爬取页面URL如下 base url 61 39 https search jd com Search keyword 61 39 43 keyword for x in range 1 num 43 1 url 61
  • Tensorflow,pytorch查看模型参数,模型可视化

    参数结构打印 TensorFlow1 12的打印结构 xff1a for var in tf trainable variables print 34 Listing trainable variables 34 print var Ten
  • TensorFlow学习笔记(一)

    TensorFlow版本2发布后 xff0c 使用TensorFlow变得更简单和方便 xff0c 但看网上的很多代码是使用的TensorFlow1进行完成的 xff0c 每次遇到不懂的函数去查 xff0c 理解记忆的一般 xff0c 感觉
  • 图神经网络(GNN)资源帖视频及必读论文

    最近在看图神经网络 xff0c 发现了部分宝藏 图神经网络资源大集合 图神经网络资源大集合 快来打包带走 公众号 图与推荐的博客 CSDN博客 入门博客 xff1a 从图 Graph 到图卷积 Graph Convolution xff1a
  • 计算机网络要点归纳(一文带你快速掌握网络知识)

    计算机网络 谢希仁版 可以用来期末复习 xff0c 也可以用来回顾自测 xff0c 发现好多都设计的网络相关的的内容 xff0c 一起回顾学习吧 第一章概述 计算机网络的性能指标 xff1a 速率 比特为单位 Kb s K 61 10 3