简答题
第一章 计算机网络和因特网
-
访问带宽小于实际物理带宽
1)网络协议限制了物理带宽的使用(如CSMA/CD、TCP可靠数据传输)
2)信道利用率低
3)分组的时延和丢失
时延:传输时延、传播时延、处理时延、排队时延
丢包:分组到达的速率大于链路传输的速率,缓冲已满造成丢失
4)流量控制:发送方速率应匹配接收方应用进程的接收速率
5)拥塞控制:数据报长度应小于拥塞窗口,也应小于流量窗口,当出现拥塞时,发送方应减小发送速率+
-
网络时延原因
1.处理时延:检查分组首部和决定将该分组导向何处所需要的时间
2.传输时延:将所有分组的比特传输向链路所需要的时间
3.传播时延:一个比特从该链路的起点到目的地所需要的时间
4.排队时延:分组在链路上等待传输,所需的时间 -
什么是协议?TCP协议的5层功能
协议:定义了在两个或多个通信实体之间交换的报文格式和次序,以及对发送或收到的报文所采取的动作
分层的好处:1.易于系统的更新和维护;2.有利于标准化;3.层次分明灵活性好
应用层:为应用层程序与协议驻留
传输层:允许源主机与目标主机上的对等实体,进行端到端的数据传输
网络层:提供不同主机间的通信服务
数据链路层:负责通过链路将数据包从一个节点传输到物理相邻的节点
物理层:将帧中的一个一个比特从一个结点移动到下一个结点
-
电路交换与分组交换
1.电路交换必须在端到端系统之间建立一条专用的连接,而且预先分配了传输链路的使用,这使得已分配而不需要的链路时间未被利用,而分组交换不需要建立连接,同时按需分配链路使用
2.分组交换不适合实时服务,而电路交换适合
3.分组交换提供了更好的带宽共享
4.分组交换比电路交换更简单,更有效
5.分组交换比电路交换具有更好的可靠性保证,当故障发生时,可以绕过发生故障的路由器,而电路交换则会导致整体崩溃
-
请解释IP地址、MAC地址、PORT地址,他们在传递分组时分别发挥什么作用
- IP地址:用于网络层的路由和寻址,确保数据包能够跨越多个网络到达目标设备。
- MAC地址:用于数据链路层的局域网通信,确保数据帧能够在同一局域网内正确转发。
- 端口地址:用于传输层的多路复用和多路分解,确保数据包能够正确地传递到相应的应用程序。
-
OSI协议的7层功能
应用层:允许访问网络
表示层:翻译、加密、压缩数据
会话层:建立、管理、终止会话
传输层:提供可靠的端到端传输和错误纠正
网络层:将数据包从源头传递到目的地,提供互联网服务
数据链路层:通过将比特组成帧,以提供一节点到另一节点的传送
物理层:通过物理介质传输比特,提供机械和电气规格
-
OSI与TCP/IP的对比
第二章 应用层
-
DNS各层的相互作用与分层查询
相互作用:为下一层提供域名和IP地址
根域名 -》 顶级域名 -》权威域名
nslookp -qt=ns …
-
邮件发送过程以及协议等
邮件系统由三部分构成:
1.用户代理:用户与邮件系统间的接口,又称电子邮件客户端软件
2.邮件服务器:按照C/S架构运行,用于发送与接收邮件,同时返回邮件传送情况
3.发送与读取协议
发送协议:SMTP、HTTP
读取协议:POP3、IMAP
SMTP:简单邮件传送协议, 规定了在两个相互通信的 SMTP 进程之间交换信息的方法
HTTP:超文本传输协议,也采用C/S架构与TCP连接
POP3:采用C/S架构,基于TCP完成客户与服务器的通信,支持用户鉴别,会删除用户读取过的邮件
IMAP:采用C/S架构,基于TCP完成客户与服务器的通信,允许收信人只读取邮件中的某一个部分,可直接在 IMAP 服务器上创建和管理文件夹
-
为什么要设置邮件服务器,而不是点对点地发送?
技术上可以直接发送邮件给收件人。
但是对于接受方而言,为了能使其及时接受在任何时候到达的新邮件,他的PC必须总是不间断的运行着并一直保持在线,这对许多因特网用户而言是不现实的。
对于发送方而言,若接收方邮件服务器未打开,发送方将无法直接发送该邮件,只能通过一次次尝试发送,无疑是耗时耗力的。 -
HTTP协议的不同版本以及RTT计算
HTTP 1.0:无状态,非持久连接
HTTP 1.1:支持长连接和流水线机制;缓存策略优化
HTTP 2.0:TCP多路复用,提高带宽利用率、降低延迟
eg:请求服务器上某HTML文件,其引用了8个非常小的对象
串行 && 非持续连接:2RTT(请求页面) + 8·2RTT(请求8个对象)
并行(具有5个并行连接) && 非持续连接:2RTT(请求页面) + 2·2RTT(2次并行连接请求8个对象)
串行 && 持续连接:2RTT(请求页面) + 8RTT(请求8个对象)
流水线 && 持续连接: 2RTT(请求页面) + RTT(流水线请求8个对象)
-
web caching 与 cookie的作用
cookie :维持用户的状态,便于其他的服务
web caching:
1.减少对客户的响应时间
2.减少机构接入链路到Internet的通信量
3.降低web网络的流量,提高应用的性能
条件get:略
-
SMTP vs HTTP
- SMTP为推协议,从发送方推向接收,HTTP是拉协议
- SMTP存在7比特ASCII限制,而HTTP无
- HTTP将每个对象封装在响应报文中,而SMTP把所有报文对象放在一个报文中
第三章 传输层
-
UDP协议介绍以及特点
简单的协议:1.分组可能会丢失乱序 2.尽力而为服务
优点:1.无需建立连接 2.无连接状态 3. 分组首部开销小 4. 可在UDP基础上在应用层实现额外的功能
-
TCP的特点(可靠数据传输、流量控制与拥塞控制)等
可靠数据传输:
发送方:单一计时器:只为最早发送还没有得到ACK响应的分组计时超时后重发该分组;发送方有发送缓存;当收到三个冗余ack之后会快速重传该分组;维护接收窗口来进行流量控制;可以感知网络的拥塞程度来限制发送速率。
接收方:采用累积确认;接收方有接收缓存;多个接收窗口;收到错误的数据包则对最近一次已经确认过的分组进行再次确认;收到乱序的数据包则根据上层应用的设置一般是缓存当完整的接受到按序的分组之后再向上递交。
流量控制:
通过发送方维持一个称为接收窗口的变量来进行流量控制。
TCP发送端
- 使用Nagle算法确定发送时机
- 使用接收窗口限制发送的数据量,已发送未确认的字节数不超过接收窗口的大小
接收方
- 使用显式的窗口通告,告知发送方可用的缓存空间大小
- 在接收窗口较小时,推迟发送确认
- 仅当接收窗口显著增加时,通告新的窗口大小
加性增、乘性减:每个RTT内cwnd线性(加性)增加1MSS,然后出现3个冗余ACK事件时cwnd减半(乘性减)
拥塞控制:
1.慢启动:在一条tcp连接开始时.cwnd的值初始设置为一个mss.每当传输的报文段首次被确认就增加一个MSS,每过一个RTT发送速率就翻倍.
2.拥塞避免:当cwnd的值超过慢启动阈值(ssthresh)的值后,慢启动过程结束,进入拥塞避免阶段,cwnd的值不再指数级往上升,开始加法增加。此时当窗口中所有的报文段都被确认时,cwnd的大小加1,cwnd的值就随着RTT开始线性增加
3.快速恢复:当收到3个重复ACK时,进入快速恢复状态,把ssthresh设置为cwnd的一半,把cwnd设置为ssthresh的值加3,然后重传丢失的报文段,加3的原因是因为收到3个重复的ACK,表明有3个“老”的数据包离开了网络。再收到重复的ACK时,拥塞窗口增加1,当收到新的数据包的ACK时,把cwnd 设置为第一步中的 ssthresh的值。原因是因为该ACK确认了新的数据,说明从重复ACK时的数据都已收到,该恢复过程已经
结束。 -
GBN与SR的对比
首先,GBN允许发送方发送多个分组(当有多个分组可用时)而无需等待确认,但是也受限于流水线中未确认分组数不能超过某个最大允许数N。当分组超时后,发送方将base到nextseqnum-1段的分组全部重发一遍。接收方没有设置窗口,当收到乱序到达分组则进行丢弃,并回复ack当前需要的分组序号,GBN是单个计时器。
SR不同于GBN的一点是SR接收方也设置了窗口,接收时可以缓存乱序到达的分组,并且回复收到分组的ack(与GBN相比少去了累计应答的机制)而发送方收到ack后,若ack=base自动移动到最近没有确认的分组。分组超时后,发送方仅仅对该超时的分组进行重发,SR是多个计时器。
-
三次握手与四次挥手
第四章&第五章 网络层
-
虚电路网络与数据报网络
虚电路网络:
①在发送数据前先建立连接;②每个分组含有一个虚电路标识;③所有分组都通过相同的路径到达目的地;④若路径中有一个路由器损坏,则所有分组都不能成功到达目的地;⑤分组是按序到达的;⑥可靠通信由网络保证;⑦差错处理和流量控制由网络或用户主机负责
数据报网络:
①在发送数据之前不必先建立连接;②在每分组首部包含目的IP地址,路由器根据其做路由转发;③所有分组可能不通过相同路径到达目的地;④若路径中有一个路由器损坏,则可能发生丢仓,剩余分组可选择其他路由器到达目的地;⑤分组不保证按序到达的;⑥可靠通信由主机保证;⑦差错处理和流量控制由用户主机负责
-
IP地址的划分方式与优缺点
- 分类的IP地址
IP地址:: = {<网络号>,<主机号>}
不同的网络号和主机号的设置决定了IP地址的分类,包括了A、B、C、D、E共5类。
缺点分类不灵活,造成ip地址浪费。 - 子网划分
IP地址:: = {<网络号>,<子网号>,<主机号>}
相比第一种分配方式灵活性高了一些,但是是存在ip地址浪费。 - 无分类编址CIDR
IP地址:: = {<网络前缀>,<主机号>}
这种方式抛弃了网络号,应该分配更加灵活,但是还是存在ip地址浪费。
- 分类的IP地址
-
主机路由 vs 默认路由
主机路由 (host route):又叫做特定主机路由。
是对特定目的主机的IP地址专门指明的一个路由。
网络前缀就是a.b.c.d/32
放在转发表的最前面。默认路由(defaultroute):一般为目的网络不在路由表内,就一律选择默认路由
不管分组的最终目的网络在哪里,都由指定的路由器R来处理 用特殊前缀0.0.0.0/0表示。
-
保证路由表正确性的方法
最大度量值、水平分割、路由中毒、毒性反转、保持时间、触发更新
-
DHCP + NAT协议解决学生上网问题(详细步骤见简答大题)
DHCP服务器分配IP地址
- 学校的DHCP服务器收到 DHCP Discover 消息后,会从IP地址池中分配一个可用的IP地址。
- DHCP服务器向学生电脑发送 DHCP Offer 消息,提供分配的IP地址、子网掩码、默认网关和DNS服务器信息。
- 学生电脑接受分配,并发送 DHCP Request 消息确认。
- DHCP服务器回复 DHCP Ack 消息,完成IP地址分配。
NAT(网络地址转换)生效
- 源地址转换:
- 将数据包的源IP地址(学生电脑的私有IP地址,如
192.168.1.100
)替换为路由器的公网IP地址(如203.0.113.1
)。
- 将数据包的源IP地址(学生电脑的私有IP地址,如
- 端口转换:
- 将数据包的源端口(如
50000
)替换为一个唯一的端口号(如40001
),以便区分多个内网设备的流量。
- 将数据包的源端口(如
NAT反向转换
- 路由器收到外部服务器的响应数据包后,会根据NAT表(记录内网IP和端口与公网IP和端口的映射关系)进行反向转换:
- 将目标IP地址从路由器的公网IP地址(如
203.0.113.1
)转换回学生电脑的私有IP地址(如192.168.1.100
)。 - 将目标端口从路由器的端口(如
40001
)转换回学生电脑的原始端口(如50000
)。
- 将目标IP地址从路由器的公网IP地址(如
- 路由器将转换后的数据包发送给学生电脑。
第六章 链路层与局域网
-
成帧的方式
1.字符计数法:在帧的头部用一个域表示帧的字符个数
2.使用控制字符:SOH标识首部,EOT标识结束
3.字节填充:在帧内的控制字段前填充ESC
4.比特填充:帧的起始与结束用一串二进制数标识
5.物理层编码违例:选定的定界符不会出现在数据部分
-
多路访问协议
- 信道划分协议:频分、时分、码分
- 随机接入协议:
- pure ALOHA:帧一到达就立即传输
- slotted ALOHA:仅当时隙的开始才传送,发生碰撞时以概率p作为等待条件
- CSMA(载波监听多路访问协议)
- 持续:一直监听直到空闲
- p持续:空闲时以p概率发送数据
- 1-坚持:(CSMA/CD)
- 非持续:信道忙则等待随机一时间发送
- 持续:一直监听直到空闲
- 轮流协议:
- 轮询:使用主节点,以循环的方式轮询结点
- 令牌:持有令牌的传输
- 缺点:开销、延迟、单点故障
-
以太网交换机以及交换机自学习和转发帧的步骤
链路层设备:1.存储与转发帧;2.检查传入帧的MAC地址,选择转发帧。
透明:主机不知道交换机的存在
即插即用、自学习、交换机无需配置
-
CSMA/CD协议的工作过程以及冲突后退指数回退算法
1.适配器从网络层一条获得数据报.准备链路层帧,并将其放入帧适配器缓存中
2.如果适配器侦听到信道空闲(即无信号能量从信道进入适配器)它开始传输帧。如果适配器侦听到信道正在忙,它将等待,直到侦听没有信号能量时才开始传输帧
3.在传输过程中,适配器监视来自其他使用该广播信道的适配器的信号能量存在
4.如果适配器传输整个帧而未检测到来自其他适配器的信号能量,该适配器就完成了帧。如果适配器在传输时检测到来自其他适配器的信号能量,它中止传输,发送人为干扰信号。
5.中止传输后,适配器进入到了一个指数后退阶段,在第m次碰撞后,适配器随机的从(0-2^m-1)中选择一个k值,适配器等待512*k比特时间,然后返回步骤2
冲突后退指数回退算法
第m次碰撞从(0-2^m-1)中选择一个k值,适配器等待512 * k比特时间,之后更新 m = min{m, 10},
当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告
-
分层路由的原因以及AS层次划分以及协议等
原因:
1.规模:路由数目太大,无法在路由表中存储所有的目的地,路由表交换会淹没网络
2.管理自治:每个网络管理员可能希望控制自己网络的路由选择,某些组织希望按自已的意愿运行路由器或者对外部隐藏其网络的内部组织面貌,一个组织应当能够按照自己的愿望运行和管理网络,并且还能够和外部网络相连接。
AS是根据同一管理下的路由器集合而划分的。
自治系统内路由选择协议:RIP、OSPF;自治系统间路由选择协议:BGP
RIP:路由信息协议,是一种距离向量协议,采用DV算法,为信息在自治系统内的转发提供路由选择表,但是其健壮性不好
OSPF:开放最短路线优先协议:一个使用洪泛链路状态信息的链路状态协议,基于dijkstra 算法
BGP:获得每个自治系统的可达信息(eBGP);将可达性信息在自治系统内部广播(iBGP)
区域内路由器:为区域内的分组进行路由转发 区域边界路由器:为传递到区域外的分组进行路由转发 网关路由器:为传递到自治系统外部的分组进行路由转发 主干路由器:运行OSPF选路限制到主干(AS内其他区域之间的流量提供路由选择);
-
ARP转发过程(详细步骤见简答大题)
主要步骤为分别将自身IP和目的IP对子网掩码进行与操作判断是否在同一个子网下,若不在则通过网关路由转发;否则利用ARP广播包得到MAC地址后利用数据链路层进行交付
计算题
-
CIDR划分IP地址块
假设我们需要将
192.168.1.0/24
划分为以下子网:- 子网A:需要60个IP地址。
- 子网B:需要30个IP地址。
- 子网C:需要10个IP地址。
- 子网D:需要10个IP地址。
(1)划分子网A(需要60个IP地址)
- 每个子网需要至少60个可用IP地址。
- 计算所需的主机位数:
2^n - 2 >= 60
,解得n = 6
(因为2^6 - 2 = 62
)。 - 子网掩码长度为:
32 - 6 = 26
(即/26
)。 - 每个
/26
子网的地址范围:192.168.1.0/26
(范围:192.168.1.0
到192.168.1.63
)
(2)划分子网B(需要30个IP地址)
- 每个子网需要至少30个可用IP地址。
- 计算所需的主机位数:
2^n - 2 >= 30
,解得n = 5
(因为2^5 - 2 = 30
)。 - 子网掩码长度为:
32 - 5 = 27
(即/27
)。 - 每个
/27
子网的地址范围:192.168.1.128/27
(范围:192.168.1.128
到192.168.1.159
)
(3)划分子网C和D(各需要10个IP地址)
- 每个子网需要至少10个可用IP地址。
- 计算所需的主机位数:
2^n - 2 >= 10
,解得n = 4
(因为2^4 - 2 = 14
)。 - 子网掩码长度为:
32 - 4 = 28
(即/28
)。 - 每个
/28
子网的地址范围:- 子网C:
192.168.1.192/28
(范围:192.168.1.192
到192.168.1.207
) - 子网D:
192.168.1.208/28
(范围:192.168.1.208
到192.168.1.223
)
- 子网C:
-
CRC校验码
- 发送方生成CRC校验码
假设发送方要发送的数据帧为:
1101011011
,生成多项式为:10011
(即 x4+x+1x4+x+1)。(1)在数据帧后附加
n
个0- 生成多项式的长度为5位,因此
n = 4
。 - 在数据帧后附加4个0,得到:
11010110110000
。
(2)进行模2除法
- 用附加0后的数据帧
11010110110000
除以生成多项式10011
。 - 模2除法的规则:按位异或(XOR),不借位。
(3)将CRC校验码附加到原始数据帧
- 原始数据帧:
1101011011
- 附加CRC校验码后:
11010110110001
- 接收方验证CRC校验码
接收方收到数据帧
11010110110001
后,用接收到的数据帧11010110110001
除以生成多项式10011
- 如果余数为
0
,说明数据帧在传输过程中没有出错。 - 如果余数不为
0
,说明数据帧在传输过程中出错,需要重传。
-
LS与DV算法计算路由表等
LS算法信息收集:1.发现邻居,了解其的网络地址;2.设置到每个邻居的成本度量;3.构造分组,包含刚刚获取的信息;4.将链路状态分组向全网广播
洪泛控制:1.设置TTL字段限制转发一个洪泛请求通过的跳数;2.设置分组最大序号,每转发一次分组序号加1
-
不同类HTTP协议计算时延
-
GBN流量窗口
-
?码分复用技术的编码计算?(略)
-
?头部校验和的计算?
- 将数累加最后按位取反即可,进位时进行回卷操作
简答大题
从web上获取特定网页的步骤(24条)
- DHCP获取用户主机ip地址等。用户主机先生成一个DHCP发现报文,该报文放入到目的端口为67,源端口为68的UDP报文段,该udp报文被放置在目的ip为全1,源ip为全0的ip数据报中,然后被封装成一个目的mac为全1的广播帧,由于交换机刚给电,交换表中增添一项该主机mac、接口、当前时间的记录,路由器在它的接口中接收到该广播帧,DHCP服务器会产生一个包含ip地址,dns服务器ip,子网掩码,默认网关的DHCP的提供报文,由于可能存在多个DHCP服务器,用户主机挑选一个进行回应,发送DHCP请求报文,服务器用DHCP ack报文对DHCP请求报文进行响应。用户主机其提供的ip地址,dns服务器ip地址记录下来,同时将默认网关的地址安装在ip转发表中。
- 通过DNS查询www.google.com的ip地址。用户主机先用子网掩码和dns服务器的ip地址与一下判断是否处于同一子网,由图可知并不处于同一个子网。然后用户主机获取网关mac地址,生成一个目的ip为网关,目的mac为全1的arp查询报文,网关路由器收到该帧,回复含有自身mac的arp应答报文。用户主机生成一个dns查询报文,目的ip为dns服务器地址,目的mac为网关mac。网关路由器通过查询其路由表(路由表按照 1. 按照本地偏好2. 最短as-path(as间路由选择协议) 3. 热土豆路由(路径长度用as内路由选择协议进行确定) 4. 附加策略,依次进行配置),按照最大匹配的原则将该报文发送至相应的接口,每到一个接口都需要判断是否在同一个子网。最终dns服务器收到该报文(如果之前有dns的题,直接说按照XX题的方式进行查找),先在本地查看是否有www.google.com的缓存记录,若有则回应用户主机一个包含用户主机名到ip的地址映射的dns回答报文,用户主机提取出该ip地址;若没有则查看是否缓存了该网址权威域名服务器ip,若有则向权威域名服务器查询该网址ip,若没有则查看是否缓存了com 顶级域名服务器,若有则向该TLD查询权威服务器,若没有则向根域名服务器查询TLD com,进行后续操作。
- 用户主机生成一个tcp套接字,进行tcp连接,生成一个具有目的端口为80的TCP SYN报文段,将报文段放在具有目的ip(谷歌)的ip数据报中发送至网关,网关利用路由器转发表将该数据报发送到www.google.com,google服务器对和用户主机之间的tcp连接产生一个套接字,产生个tcp syn ack报文段,用户主机生成一个包含获取url的http get报文,将该报文写入到套接字中,生成一个报文段,将其发送到google的服务上,google服务器从tcp套接字中读取该get报文,生成一个含有web页的响应报文,将该报文发送到tcp套接字中,发送至用户主机,用户主机从http响应体中抽取web页面的html显示网页。
参考资料
【计算机网络】题目汇总_如果它已在可访问网络的程序列表中,请尝试将它从该列表中移除,然后重新添加到其中-CSDN博客
标签:发送,复习,报文,计算机网络,分组,IP地址,服务器,路由 From: https://blog.csdn.net/2402_86659062/article/details/144953079