计算机网络基础总总复习(知识点硬货)

易错点

1、端口-16位比特(标识同一台主机中的不同进程)

在这里插入图片描述

2、UDP\TCP报文段

在这里插入图片描述
在这里插入图片描述
TCP首部20字节,UDP首部8字节

3、TCP连接与释放

看后面计算题部分

4、IP数据报

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、分类的IP地址

在这里插入图片描述在这里插入图片描述
说明:如果题目要求是分类网络那么全0全1网络不能用,但如果是CIDR,那么是可以用的!
说明:回路指的是在本机各进程之间进行的通信测试

6、IP划分发展历程

在这里插入图片描述

7、以太网帧结构

在这里插入图片描述

8、局域网拓扑结构

在这里插入图片描述

9、三类网络体系结构(OSI、IP/TCP、五层协议)

在这里插入图片描述在这里插入图片描述在这里插入图片描述
发送端:

  1. 应用进程数据传送到应用层,加上应用层首部,成为应用层报文
  2. 应用层报文传输到运输层,加上运输层首部,成为运输层报文段
  3. 运输层报文段传送到网络层,加上网络层首部,成为IP数据报(或分组)
  4. IP数据包再传送到数据链路层,加上链路层首部和尾部,成为数据链路层帧
  5. 数据链路层帧传送到物理层,最下面的物理层把比特流传送到物理媒体(电信号或光信号在物理媒体中传播,从发送端物理层传送到接收端物理层)

接收端:

  1. 物理层接收到比特流,上交给数据链路层
  2. 数据链路层剥去帧首部和帧尾部,取出数据部分,上交给网络层
  3. 网络层剥去首部,取出数据部分,上交给运输层
  4. 运输层剥去首部,取出数据部分,上交给应用层
  5. 应用层剥去首部,取出应用程序数据,上交给应用进程

计算题

1、校验和(回卷)

在这里插入图片描述
易错:有回卷时该如何处理!最后结果要取反码才是检验和!
为什么UDP也需要校验和?
UDP校验和只负责校验此数据是否有错,并不纠错,如果错了,就丢失。应用层也只有在收到全部的数据后才上交个网络层。

如果发现校验和错误,那么只能要求重发了,因为校验和只是尽量帮助发现错误。

2、GBN算法实例分析

在这里插入图片描述

GBN与SR 区别!

在GBN中确认值(ACK) 是累计的,它定义了下一个希望接收的分组序号,同时也证实了此前所有的分组都已经被完好的接收了。在SR中,确认号(ACK)只定义完好接收的那一个分组的序号,并不反馈任何其他分组的信息。

即所谓:GBN累计确认,所有有很多冗余ACK,SR选择重传,每次只选择怀疑是有损坏的重传,不是累计的!
在这里插入图片描述在这里插入图片描述

3、TCP连接与释放,确认号(ACK)与序号(SEQ)

在这里插入图片描述
注意:TCP、UDP报文段中放的是源、目的端口!

1、报文段的序号: 该报文段数据字段首字节的序号
2、报文段的确认号: 该主机正在等待的数据的下一个字节序号
在这里插入图片描述
图中:
主机A:(客户)发送的第一个报文段的序号为42确认号为79,即期待(等待)服务器发送给客户字节79。
主机B:(服务器)
有两个目的:
1)首先为该服务器收到的数据提供一个确认:在确认号中填入43(42+1),服务器告诉客户:它已经成功地接收到字节42及以前的所有字节,现在正等待字节43的出现。
2)回显字符C,然后发送给主机A:报文段序号为79,因为主机A期待收到它。
注意: 对客户到服务器的数据的确认被装载在一个承载服务器到客户的数据的报文段中,这种确认被称为是捎带在服务器到客户的数据报文段中的。(就是被数据报文段顺便带过去的)
在这里插入图片描述
在这里插入图片描述
说明:第四问中,因为第一个报文段丢失了,B没有收到,就算B到达了但也没用,要先保证第一个报文段到了才行,所以要发回确认号70,让A知道第一个报文段没发成功!

TCP的连接步骤

  • 第一步:客户端的TCP首先向服务器端的TCP发送一个特殊的TCP报文段。该报文段中不包含应用层数据。但是在报文段的首部中的一个标志位(即SYN比特被置为1。因此,这个特殊报文段被称为SYN报文段。另外,客户会随机地选择一个初始序号(client_isn),并将此编号放置于该起始的TCP SYN 报文段的序号字段中。该报文段会被封装在一个IP数据报中,并发送给服务器。
  • 第二步:一旦包含TCP SYN报文段的IP数据报到达服务器主机(假定它的确到达了!),服务器会从该数据报中提取出TCP SYN报文段为该TCP连接分配TCP缓存和变量,并向该客户TCP发送允许连接的报文段。这个允许连接的报文段也不包含应用层数据。但是,在报文段的首部却包含3个重要的信息。首先,SYN比特被置为1。其次,该TCP报文段首部的确认号字段被置为client_isn + 1代表服务器已经收到了client_isn及之前序号的数据,现在期望收到client_isn+1的数据)。最后,服务器选择自己的初始序号 (server_isn),并将其放置到TCP报文段首部的序号字段中。这个允许连接的报文段实际上表明了:“我收到了你发起建立连接的SYN分组,该分组带有初始序号 client_isn,我同意建立该连接。我自己的初始序号是server_isn, 该允许连接的报文段被称为SYNACK报文段(SYNACK segment)。
  • 第三步:在收到SYNACK报文段后,客户也要给该连接分配缓存和变量。客户主机则向服务器发送另外一个报文段;这最后一个报文段对服务器的允许连接的报文段进行了确认(该客户通过将值server_isn + 1放置到TCP报文段首部的确认字段中来完成此项工作)。因为连接已经建立了,所以该SYN比特被置为0。该三次握手的第三个阶段可以在报文段负载中携带客户到服务器的数据
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    三次握手!

说明:既有冗余ACK,也有累计ack(确认号)

当连接结束后,主机中的“资源”(即缓存和变量)将被释放。

关闭连接的步骤

客户应用进程发出一个关闭连接命令。这会引起客户TCP向服务器进程发送一个特殊的TCP报文段。这个特殊的报文段让其首部中的一个标志位即FIN比特被设置为1。当服务器接收到该报文段后,就向发送方回送一个确认报文段。然后,服务器发送它自己的终止报文段,其FIN比特被置为1。最后,该客户对这个服务器的终止报文段进行确认。此时,在两台主机上用于该连接的所有资源都被释放了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、IP数据报分片(首部长度)

在这里插入图片描述
片偏移:在分片后某片在原分组中的相对位置,片偏移以8个字节为一个偏移单位,即:每个分片的长度一定是8字节的整数倍!

所以!分片的时候要用起始序号/8(字节)如果是比特要转成字节(1字节=8比特)

第一个片的起始序号从0开始。

例一:
在这里插入图片描述
片偏移值:
片1:起始序号(0)/ 8(字节)= 0 ,所以片位移值:0
片2:起始序号(800)/ 8 (字节)= 100, 所以片位移值:100
片3:起始序号(1600)/ 8 (字节)= 200,所以片位移值=200
在这里插入图片描述
注意:
265:代表数据报、片的标识同一个数据报分出去的片的标识相同!
820、820、620:片的总长度=首部长度(最少为20字节)+数据长度
0、100、200:片偏移值。片偏移值 :使用去除了首部长度的纯数据长度部分进行计算!

数据报也有首部长度,所以原始数据报总长度=2000+20,数据编码号为:0—2199(2000个字节)

例二:
在这里插入图片描述
说明:
分片的时候不要去管首部长度,直接对数据长度部分进行处理,处理完了之后,再在头部加上20字节。(800+20)在这里插入图片描述

分片练习(首部有20字节!!!)

在这里插入图片描述
答案:
在这里插入图片描述

5、IP地址转换

在这里插入图片描述

6、子网划分与子网掩码

在这里插入图片描述
1)
在这里插入图片描述
2)
在这里插入图片描述
3)/26

子网掩码的作用

在这里插入图片描述
在这里插入图片描述
这里出现了几个子网呢?
3个子网:223.1.1.0/24、223.1. 2. 0/24和223. 1.3.0/ 24
只有这些吗???
注意到在本例中还有其他3个子网: 一个子网是223.1.9. 0/24,用于连接路由器R1与R2的接口;另外一个子网是223. 1.8. 0/24,用于连接路由器R2与R3的接口;第三个子网是223. 1.7.0/24,用于连接路由器R3与R1 的接口

在这里插入图片描述
在这里插入图片描述

子网划分练习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
练习:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、距离向量(DV)路由算法

在这里插入图片描述
在这里插入图片描述
说明:c(x,m)指的是从x到邻居(m-即某一个,但要遍历所有可能),dm(y)指的是从邻居m到达目的地y的费用(距离)(也是要遍历)在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
说明:
Dy(x)=min{c(y,x)+Dx(x),c(y,z)+Dz(x)}=min{2+0,1+7}=2(之后同理)
在这里插入图片描述

将DV算法应用到路由表的更新练习

在这里插入图片描述
说明:RIP将距离定义为跳数。跳数指从源端口到达目的端口所经过的路由个数,每经过一个路由器,跳数加1。

在这里插入图片描述
例:
假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”)
N1   7  A
N2   2  C
N6   8  F
N8   4  E
N9   4  D
现在收到从C发来的路由信息(这两列分别表示“目的网络”和“距离” ):
N2   7
N3   2  
N4   8
N8   2
N7   4

试求出路由器B更新后的路由表。并说明理由

答案:

N1 7 A
N2 2 C
N3 3 C 新的目的网络,跳数加1
N4 9 C 同上
N6 8 F
N7 5 C 新的目的网络,跳数加1
N8 3 C 路由器原的D值减1比C的还要大,更新,并加1(跳数)
N9 4 D

说明:注意新来的网络要加到路由表中并且跳数加1,之后再看如果有比当前路由表项距离更短的就替换成它,跳数加1

8、CRC(循环冗余编码、多项式编码)

在这里插入图片描述

余数R的个数为生成多项式的编码个数-1,即除数110101(6位)-1=5位!
(一般为计算方便,会把那五位余数当成0先补在被除数后面)
最后的CRC即为多项式K(X)编码+5位余数!

多项式K即为数据编码,为被除数;多项式G即为比特模式,为除数。
下面的110101即为每个多项式的系数(有的就是1,没有就是0)

说明:这里采用模二运算,加法和减法一样(加法中不进位,减法中不借位)

9、各种时延计算

在这里插入图片描述
1、处理时延: 检查比特差错、决定输出链路(微秒级或更低)
在这里插入图片描述

2、排队时延: 分组等待在链路上传输的排队时间在这里插入图片描述
在这里插入图片描述
3、传输时延: 存储转发时延在这里插入图片描述在这里插入图片描述
4、传播时延: 一个比特从链路的起点到下一节点(路由器)传播所需要的时间
在这里插入图片描述
在这里插入图片描述
注意区别:传播时延与传输时延

传输时延:在这里插入图片描述

在这里插入图片描述

传播时延:在这里插入图片描述
在这里插入图片描述
例一:
在这里插入图片描述
例二:在这里插入图片描述
节点总时延:
在这里插入图片描述
在这里插入图片描述

10、交换机转发表的更新

在这里插入图片描述
说明:源LAN与目的LAN一样是指局域网一样,被同一个交换机连接管理
(网桥和交换机功能基本一样)
在这里插入图片描述
在这里插入图片描述

说明:交换机转发表的自学习,根据到达交换机的链路层帧的信息来进行记录(记录源MAC地址和其端口)、转发、丢弃。(链路层帧中有源、目的MAC地址)
在这里插入图片描述
分析:
(1)H1->H5: 满足算法第三个要求,将广播该帧,所以网桥1中记录下(源MAC地址:MAC1,与端口号:1);之后该帧通过网桥2的端口1进入网桥2,所以对于网桥2而言,(源MAC地址:MAC1,与端口号:1),网桥1、2都是转发并将其写入转发表。
(2)H3->H2: 同(1)满足算法第三个要求,广播该帧,网桥1中记录下(MAC3,2);之后通过网桥2的端口1进入网桥2,所以对于网桥2而言,记录下(MAC3,1),网桥1、2都是转发并将其写入转发表。
(3)H4->H3: 满足算法第二个要求,目的LAN与源LAN不同,在网桥2转发表中记录下(MAC4,2),查询到转发表中有(MAC3,1),所以将帧从1端口发出,然后从网桥1的端口2进入网桥1,所以在网桥1转发表中记录下(MAC4,2)
(4)H2->H1: 先发出来到网桥1,记录下(MAC2,1),此时由于H2与H1处于同一个LAN (网桥的同一个端口),所以网桥会丢弃该帧,网桥2无法收到(转发表中不记录)。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@u@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值