考试重点
1
2
3
4
5
6
7
8
9
10
11
12
1 绪论
OSI、TCP/IP、分层(why,好处)、协议(三要素)、沙漏模型?
2 数据链路层
交换机(地址学习、转发过滤、避免循环(stp),p114 3-33、3-30)、VLAN
CRC、速度匹配、ARQ、连续ARQ、滑动窗口、0比特填充
3 网络层
没有ip地址计算
ip、路由器(假设给一张图,通过图推算路由表或者反过来)、头部(TTL、片转移, DF、 MF)
4 传输层
TCP、UDP(他们的头部)、拥塞控制(p256 38、39、41)、ARQ、连续ARQ、滑动窗口
5应用层
FTP, TFTP, DNS

绪论

OSI、TCP/IP、分层(why,好处)、协议(三要素)、沙漏模型?

1-22 网络协议的三个要素是什么?各有什么含义?

答:网络协议:为进行网络中的数据交换而建立的规则、标准或约定。由以下三个要素组成:

(1)语法:即数据与控制信息的结构或格式。

(2)语义:1即需要发出何种控制信息,完成何种动作以及做出何种响应。

(3)同步:即事件实现顺序的详细说明。

1-27 试解释everything over IP 和IP over everthing 的含义。

TCP/IP 协议可以为各式各样的应用提供服务(所谓的everything over ip)

允许IP协议在各式各样的网络构成的互联网上运行(所谓的ip over everything)

数据链路层

交换机(地址学习、转发过滤、避免循环(stp)

VLAN

CRC

速度匹配

0比特填充

3-07****要发送的数据为1101011011。采用CRC的生成多项式是P(X)= X^4 + X + 1。试求应添加在数据后面的余数。 *若要发送的数据在传输过程中最后一个1变成了0,即变成了1101011010,问接收端能否发现?* *若要发送的数据在传输过程中最后两个1都变成了0,即变成了1101011000,问接收端能否发现?* *采用CRC检验后,数据链路层的传输是否就变成了可靠传输?*

P(X)=> 10011

1)除数:10011 被除数:11010110110000,经过模二除法,得添加在数据后面的余数为1110

2)若最后一个变为0,被除数:11010110101110,除数:10011,得到余数为0011,余数不为0,则接收端可以发现错误。

3)若最后两个成为0,被除数:11010110001110,除数:10011,得到余数为0101,余数不为0,故接收端可以发现错误。

采用CRC检验,若接收端检测到错误,则丢弃该帧,然后就不做任何操作。因此,缺乏重传机制,数据链路层的传输还不是可靠的传输。

ARQ,连续ARQ、滑动窗口

连续ARQ协议

发送窗口: 位于发送窗口内的五个分组都可以连续的发送出去,而不需要等待对方的确定。这样信道利用率就提高了。

网络层

4-48 如图4-80所示,网络145.13.0.0/16划分为四个子网N1,N2,N3和N4.这四个子网与路由器R连接的接口分别是m0,m1,m2和m3.路由器R的第五个接口m4连接到互联网。

(1)试给出路由器R的路由表 *(2)路由器R收到分组,其目的地址是145.13.160.78.试给出这个分组是怎样被转发的。*

(1) 目的网络 子网掩码 下一跳 145.13.0.0/18 255.255.192.0 m0 145.13.64.0/18 255.255.192.0 m1 145.13.128.0/18 255.255.192.0 m2 145.13.192.0/18 255.255.192.0 m3 其他 M m4

(2)145.13.160.78由m2转发

传输层

**5-21.使用连续 ARQ 协议中,发送窗口大小是 3,而序列范围 [0, 15],而传输媒体保证在接收方能够按序收到分组。在某时刻,接收方,下一个期望收到序号是 5。试问: *(1)在发送方的发送窗口中可能有出现的序号组合有哪几种?* *(2)接收方已经发送出去的、但在网络中(即还未到达发送方)的确认分组可能有哪些?说明这些确认分组是用来确认哪些序号的分组。*

答: (1)在接收方,下一个期望收到的序号是 5。这表明序号到 4 为止的分组都已收到。若这些确认都已到达发送方,则发送窗口最靠前,其范围是 [5, 7]。 假定所有的分组都丢失了,发送方都没有收到这些确认。这时,发送窗口最靠后,应为 [2, 4]。因此,发送窗口可以是 [2, 4],[3, 5],[4, 6],[5, 7] 中的任何一个。

(2)接收方期望收到的序号 5 的分组,说明序号为 2,3,4 的分组都已收到,并且发送了确认。对序号为 1 的分组的确认肯定被发送方收到了,否则发送方不可能发送 4 号分组。可见,对序号为 2,3,4 的分组的确认有可能仍滞留在网络中。这些确认是用来确认序号为 2,3,4 的分组的。

5-39.TCP 的拥塞窗口 cwnd 大小与传输轮次 n 的关系如表所示:

(1)试画出如教材中图 5-25 所示的拥塞窗口与传输轮次的关系曲线。

(2)指明 TCP 工作在慢开始阶段的时间间隔。

(3)指明 TCP 工作在拥塞避免阶段的时间间隔。

(4)在第 16 轮次和第 22 轮次之后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文段?

(5)在第 1 轮次,第 18 轮次和第 24 轮次发送时,门限 ssthresh 分别被设置为多大?(6)在第几轮次发送出第 70 个报文段?

(7)假定在第 26 轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口 cwnd 和门限 ssthresh 应设置为多大?

(2)慢开始时间间隔:[1, 6] 和 [23, 26]

(3)拥塞避免时间间隔:[6, 16] 和 [17, 22]

(4)在第 16 轮次之后发送方通过收到三个重复的确认,检测到丢失了报文段,因为题目给出,下一个轮次的拥塞窗口减半了。在第 22 轮次之后发送方通过超时,检测到丢失了报文段,因为题目给出,下一个轮次的拥塞窗口下降到 1了。

(5)在第 1 轮次发送时,门限 ssthresh 被设置为 32,因为从第 6 轮次起就进入了拥塞避免状态,拥塞窗口每个轮次加 1。 在第 18 轮次发送时,门限 ssthresh 被设置为发生拥塞时拥塞窗口 42 的一半,即 21。 在第 24 轮次发送时,门限 ssthresh 被设置为发生拥塞时拥塞窗口 26 的一半,即 13。

(6)第 1 轮次发送报文段 1。(cwnd = 1) 第 2 轮次发送报文段 2, 3。(cwnd = 2) 第 3 轮次发送报文段 4 ~ 7。(cwnd = 4) 第 4 轮次发送报文段 8 ~ 15。(cwnd = 8) 第 5 轮次发送报文段 16 ~ 31。(cwnd = 16) 第 6 轮次发送报文段 32 ~ 63。(cwnd = 32) 第 7 轮次发送报文段 64 ~ 96。(cwnd = 33) 因此第 70 报文段在第 7 轮次发送出。

(7)检测出了报文段的丢失时拥塞窗口 cwnd 是 8,因此拥塞窗口 cwnd 的数值应当减半,等于 4,而门限 ssthresh 应设置为检测出报文段丢失时的拥塞窗口 8 的一半,即 4。

应用层

UDP

1
2
3
4
5
6
7
1,无连接。发送数据之前不需要建立连接。
2,使用尽最大努力交付。即不保证可靠交付。
3,面向报文。UDP一次传送和交付一个完整的报文。
4,没有拥塞控制。网络出现的拥塞不会使源主机的发送速率降低。很适合
多媒体通信的要求。
5.支持一对一、一对多、多对一、多对多等交互通信。
6,首部开销小,只有8个字节。
  • 复用:将 UDP 用户数据报组装成不同的IP 数据报,发送到互联网。
  • 分用:根据UDP用户数据报首部中的目的端口号,将数据报分别传送到
    相应的端口,以便应用进程到端口读取数据。

首部

  • 源端口
    目的端口
    长度
    检验和
  • 首部字段:8 个字节,4 个字段,
    每个字段为 2 个字节。

错误处理

  • 接收方UDP根据首部中的目的端口号,把报文通过相应的端口
    上交给应用进程。
    如果接收方 UDP 发现收到的报文中的目的端口号不正确(即不
    存在对应于该端口号的应用进程),就丢弃该报文,并由ICMP
    发送“端口不可达”差错报文给发送方。

第二个的片段偏移量就是 第一个的1480除以8字节。之后的就是加起来的第三个是 (1480+1480)/2

TCP

面向连接、面向字节流的运输层协议

1
2
3
4
5
6
7
8
9
TCP是面向连接的运输层协议。
每一条TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点
对点的(一对一)。
TCP 提供可靠交付的服务。
TCP 提供全双工通信。
面向字节流
1. TCP中的"流" (stream)指的是流入或流出进程的字节序列。
2,面向字节流:虽然应用程序和TCP的交互是一次一个数据块,但TCP
把应用程序交下来的数据看成仅仅是一连串无结构的字节流。

字节流的完整性

  • 保证:TCP 确保接收方应用程序收到的字节流与发送方应用程序发出的字节流完全一致。也就是说,发送的每一个字节都会被接收,并且顺序正确,确保数据的完整性和准确性。
  • 不保证数据块大小:TCP 传输的数据是以字节流的形式进行的,而不是固定大小的数据块。这意味着发送方应用程序发送的数据可能被分割成多个较小的数据段(或数据包),或者多个较小的数据被合并成一个较大的数据段进行传输。

TCP 把连接作为最基本的抽象。

TCP连接的端点:套接字(socket)或插口。

1
2
3
4
5
6
7
8
9
10
11
12
13
TCP 连接,IP 地址,套接字
TCP连接就是由协议软件所提供的一种抽象。
TCP连接的端点是抽象的套接字,即(IP地址:端口号)
同一个IP地址可以有多个不同的TCP连接。
同一个端口号也可以出现在多个不同的TCP连接中。


应用编程接口API称为socket APL,简称为socket
socket API中使用的一个函数名也叫作 socket。
调用socket函数的端点称为socket。
调用socket函数时其返回值称为socket描述符,可简称为
socket
在操作系统内核中连网协议的Berkeley实现,称为socket实现。
1
2
3
4
5
6
7
8
9
10
11
12
13
处理机制对比
可靠性:

TCP 提供可靠的数据传输,确保所有数据正确、有序地到达接收端。
UDP 不提供可靠性,数据可能丢失、重复或乱序。
复杂性:

TCP 有复杂的错误检测和纠正机制,包括确认、重传、序列号、流量控制和拥塞控制。
UDP 相对简单,没有重传机制,只进行基本的错误检测(校验和)。
性能:

TCP 的可靠性和复杂性带来更高的开销,适用于需要保证数据完整性的应用(如文件传输、网页浏览)。
UDP 开销较低,适用于对速度和实时性要求较高但对数据可靠性要求较低的应用(如视频流、在线游戏)。

TCP 有复杂的错误检测和纠正机制,包括确认、重传、序列号、流量控制和拥塞控制。下面就来看看tcp的拥塞控制。

拥塞控制
  • 拥塞控制的四种算法

    • 慢开始
    • 拥塞避免
    • 快重传
    • 快恢复
  • 拥塞产生的原因
    由许多因素引起。例如:

    • 1.节点缓存容量太小;

    • 2.链路容量不足;

    • 3.处理机处理速率太慢;

    • 4.拥塞本身会进一步加剧拥塞;

  • 增加资源能解决拥塞吗?
    不能,而且还可能使网络的性能更坏。
    例如:

    • 1,增大缓存,但未提高输出链路的容量和处理机的速度,排队等待
      时间将会大大增加,引起大量超时重传,解决不了网络拥塞;
    • 2,提高处理机处理的速率会将瓶颈转移到其他地方;
    • 3,拥塞引起的重传并不会缓解网络的拥塞,反而会加剧网络的拥塞。
  • 拥塞控制与流量控制的区别

    • 拥塞控制
      • 防止过多的数据注入到网络中,避免网络中的路由器或链路过载。是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素。
    • 流量控制
      • 抑制发送端发送数据的速率,以使接收端来得及接收。点对点通信量的控制,是个端到端的问题。
  • 拥塞控制的一般原理

    • 拥塞控制的前提:网络能够承受现有的网络负荷。
    • 实践证明,拥塞控制是很难设计的,因为它是一个动态问题。
    • 分组的丢失是网络发生拥塞的征兆,而不是原因。
    • 在许多情况下,甚至正是拥塞控制本身成为引起网络性能恶化、甚至发生死锁的原因。
  • 开环控制和闭环控制

    • 开环控制
      • 在设计网络时,事先考虑周全,力求工作时不发生拥塞。
        思路:力争避免发生拥塞。但一旦整个系统运行起来,就不再中途进行改正了。
    • 闭环控制
      • 基于反馈环路的概念。根据网络当前运行状态采取相应控制措施。
        思路:在发生拥塞后,采取措施进行控制,消除拥塞。
  • 拥塞避免算法

    • 就是把ssthresh(慢开始门限)变为出现拥塞的拥塞窗口的值的1/2

    • 目的:迅速减少主机发送到网络中的分组数,使得发生拥塞的路由
      器有足够时间把队列中积压的分组处理完毕。

对TCP拥塞控制影响最大的就是路由器的分组丢弃策略

考完总结

​ 计网这个考的比操作系统还有计组要好的多,可能是之前对网络有理解或者网络上的计网速成多,反正试卷上的题目都会做。老师完全把重点透露出来了,比较友好。直接看速成课,然后对着课本补下概念,再看重点记一下考点,做下往年卷子就没啥问题了。