计算机网络和因特网
-
什么是主机/端系统、分组、协议?
主机/端系统:连接到计算机网络并运行网络应用的设备。
分组:网络传输数据的基本单位。
协议:通信双方为实现网络通信而必须共同遵守的规则集合。
-
客户、服务器?
客户:发起通信的进程
服务器:在会话开始时等待接受的进程
-
电路交换和分组交换的区别?
电路交换 分组交换 是否建立连接 是 否 通信路径 固定、专用 动态、共享 资源利用 低 高 适合业务 实时(时延小)、持续传输(如语音) 突发、间歇传输(如数据) 此外,电路交换设备控制较为简单,既能传输模拟信号,也能传输数字信号,顺序发送数据不失序
-
节点处理时延、排队时延、传输时延、传播时延、吞吐量?
处理时延:检查分组首部和决定将该分组导向何处所需要的时间,检查比特级别的差错所需要的时间
排队时延:分组在链路上等待传输
传输时延:,将所有分组的比特推向链路所需要的时间
传播时延:将比特从链路的起点到终点(例如路由器B)传播所需要的时间
吞吐量:瞬时吞吐量、平均吞吐量,
-
5层因特网协议栈?每层的作用?(术语:报文、报文段、数据报、帧)
自低到高
- 物理层:定义了网络的电气、机械、功能和过程特性;负责在实际媒体上传输比特数据流。
- 链路层:在相邻节点之间提供可靠的数据传输服务;处理物理层上发生的数据传输错误;进行帧编码、检查和重传等操作。
- 网络层:负责在网络上传递数据包;进行逻辑寻址(IP地址)、路由选择等操作;实现网络设备之间的互联。
- 运输层:建立端到端的通信链接;保证数据传输的可靠性和顺序;实现流量控制、拥塞控制等功能。
- 应用层:向用户提供各种网络服务和接口;处理应用程序间的通信工作;常见的应用层协议有HTTP、FTP、SMTP等。
每一层都在下面一层的基础上构建,向上层提供提供服务。通过分层的设计,可以简化复杂系统的构建,提高灵活性和可维护性。各层之间通过定义好的接口进行通信,实现数据在整个网络中的传输。
- 报文:应用层报文是应用层协议用于交换数据的基本单位,例如HTTP请求/响应报文、FTP命令等。应用层报文包含了应用程序需要发送或接受的数据。
- 报文段:运输层报文段是TCP或UDP在传输数据时所使用的数据单位。TCP报文段或UDP报文段中包含了应用层报文以及一些控制信息,如序列号、确认号和检验和等,用于实现可靠传输和流量控制等功能。
- 数据报:网络层数据报是IP协议在进行数据转发时所采用的数据单位。IP数据报由首部和数据区组成,首部包含源IP地址、目标IP地址等路由信息,数据区则是运输层报文段。
- 帧:链路层帧是链路层协议在实际传输介质上传输数据所采用的单位。帧由数据链路层首部、数据区(网络层数据报)和尾部组成。首部和尾部包含了MAC地址、校验序列等控制信息,用于实现可靠传输和寻址等功能。
应用层
-
客户-服务器体系结构、对等体系结构?
客户-服务器体系结构中,由一台总是打开的服务器(固定、周知的地址),服务于来自许多其他称为客户的主机的请求
对等体系结构中,应用程序在间断连接的主机对之间使用直接通信,这些主机被称为对等方
-
TCP和UDP的区别?
- TCP面向连接,需要三次握手建立连接;UDP不需要
- TCP可靠、保证有序、丢包重传
- TCP较慢,UDP较快
- TCP有流量控制和拥塞控制
- TCP头部字段较多(至少20字节),UDP头部简洁(8字节,)
-
什么是HTTP?HTTP的请求-响应行为?URL由哪两部分组成?
HTTP:超文本传输协议
请求-响应:当用户请求一个Web页面时,浏览器向服务器发出对该页面中所包含对象的HTTP请求报文,服务器接收到请求并用包含这些对象的HTTP响应报文进行响应
-
因特网电子邮件的三个组成部分?每部分的主要作用?
用户代理:提供用户界面,用于编写、发送、读取和管理电子邮件
邮件服务器:存储和转发电子邮件
简单邮件传输协议:SMTP(发), POP3(收), IMAP(收)
-
SMTP的基本操作?(A向B发送一条报文的过程)
graph LR Alice的代理--HTTP-->Alice的邮件服务器--SMTP-->Bob的邮件服务器--IMAP/POP3-->Bob的代理
-
推协议、拉协议?
推协议:一般SMTP,发送方服务器,邮件服务器之间传输
拉协议:IMAP/POP3,接收方客户端,客户端从服务器获取邮件
-
域名系统的作用?DNS服务器的层次结构?DNS中的递归查询和迭代查询?
域名系统(DNS)的作用:进行主机名/域名到IP地址转换的目录服务。
DNS服务器的层次结构:根DNS服务器、顶级域DNS服务器、权威DNS服务器、本地DNS服务器
递归查询:查询方只发送一次请求,服务器负责后续的所有查询过程,一般本地域名服务器提供递归服务
迭代查询:每一步服务器只给”部分答案“,查询者(通常是本地DNS)需要多次发送请求
运输层
-
运输层的多路复用与多路分解?
运输层的多路复用与多路分解:将主机间交付拓展到进程间交付。
多路分解:将运输层报文段中的数据交付到正确的套接字的工作。
多路复用:在源主机从不同套接字中收集数据块,并为每个数据块封装上首部信息(这将在以后用于分解)从而生成报文段,然后将报文段传递到网络层。
-
UDP套接字?TCP套接字?
UDP套接字:目的IP、目的端口号
TCP套接字:源IP、源端口号、目的IP、目的端口号
-
为什么有些应用更适合用UDP?UDP中的检验和计算?
- 关于何时发送什么数据以及何时发送的应用层控制更为精细。
- 无须建立连接。
- 无连接状态。无须维护连接状态和相关内容
- 分组首部开销小。TCP首部20字节起,UDP首部8字节
检验和计算:16比特求和后进行取反。
-
TCP的肯定确认、否定确认、自动重传请求协议?
接收方通过肯定确认(ACK),与否定确认(NAK)让发送方知道哪些信息被正确接受,哪些信息有误需要重复。基于这样重传机制的可靠数据传输协议称为自动重传请求协议(ARQ),ARQ还需要另外三种协议功能来处理比特差错:差错检测、接收方反馈、重传
-
停等协议、比特交替协议的基本原理?
停等协议rdt2.0
比特交替协议rdt3.0
-
回退N步、选择重传的基本原理?
GBN协议,又称滑动窗口协议,N为窗口长度,会进行累积确认。使用序号、累积确认、检验和和超时/重传操作
选择重传,发送方和接收方的窗口并不总是一致。
选择重传中,窗口长度必须小于或等于序号空间大小的一半,这是为了防止序号重复
-
什么是流量控制、拥塞控制?
流量控制:TCP提供的流量控制服务,消除发送发使接收方缓存溢出的可能性,是一种速度匹配服务,即发送方的发送速率与接收方应用程序的读取速率相匹配。
拥塞控制:TCP发送方因为IP网络的拥塞而被遏制。
-
TCP的3次握手?
- 客户端的TCP首先向服务器端的TCP发送一个特殊的TCP报文段。不包含应用层数据,但是首部中的SYN被置为1,因此被称为SYN报文段,客户端还会选择一个初始序号
client_isn
,并将此编号放置于该起始的TCP SYN报文段的序号字段中 - 服务器为该TCP分配缓存和变量,将首部中的确认号字段置为
client_isn+1
,服务器选择自己的初始序号server_isn
,将其置于TCP报文段首部的序号字段中。被称为SYNACK报文段 - 客户端为该连接分配缓存和变量,将
server_isn+1
置于首部的确认字段。被称为ACK报文段
- 客户端的TCP首先向服务器端的TCP发送一个特殊的TCP报文段。不包含应用层数据,但是首部中的SYN被置为1,因此被称为SYN报文段,客户端还会选择一个初始序号
-
TCP拥塞控制方法:慢启动、拥塞避免、快速恢复?
慢启动:
cwnd
的值以1个MSS开始,以2的指数增加,直到达到ssthresh,或者遇到超时,冗余ACK事件拥塞避免:每个
RTT
只将cwnd
的值增加一个MSS快速恢复:
cwnd=ssthresh+3MSS
(Reno/CUBIC)
网络层:数据平面
-
数据平面、控制平面的主要作用?转发、路由选择?
数据平面:转发:当一个分组到达某路由器的一条输出链路时,该路由器必须将该分组移动到适当的输出链路。
控制平面:路由选择:当分组从发送方流向接受方时,网络层必须决定这些分组所采用的路由或路径。
-
路由器的4个组件?
输入端口:在路由器中执行终结入物理链路的物理层功能,与位于入链路远端的数据链路层交互操作来执行数据链路层功能,执行查找功能
交换结构:交换结构将路由器的输入端口连接到它的输出端口
输出端口:存储从交换结构接收的分组,并通过执行必要的链路层和物理层功能在输出链路上传输这些分组
路由选择处理器:执行控制平面功能
-
路由器中的最长前缀匹配规则?
最长前缀匹配规则:在路由表中寻找最长的匹配项,并向与最长前缀匹配相关联的链路接口转发分组。
-
三种交换技术?
经内存交换,经总线交换,经互联网交换。
-
分组调度:先进先出、优先权排队、循环和加权公平排队?
先进先出FIFO
优先权排队Priority Queue
循环排队规则
加权公平排队:与循环排队类似,区别是赋予每个类一个优先权,服务部分为
-
IPv4编址:二进制/十进制IP地址、子网、无类别域间路由选择?
使用子网寻址时,32比特的IP地址被划分为两部分,并且也具有点分十进制数形式
a.b.c.d/x
无类别域间路由选择是因特网的地址分配策略
-
动态主机配置协议的工作原理?
- DHCP服务器发现。一个新到达的主机通过发送目的地址
FF.FF.FF.FF
的广播IP数据报发现一个要与其交互的DHCP服务器。 - DHCP服务器提供。DHCP服务器收到一个DHCP发现报文后,用DHCP提供报文向客户做出响应,也是向子网所有节点广播,仍使用
FF.FF.FF.FF
广播IP - DHCP请求。客户从一个或多个服务器提供中选择一个,并向选中的服务器用DHCP请求报文响应
- DHCP ACK。服务器用DHCP ACK报文对DHCP请求报文进行响应,验证所要求的参数
- DHCP服务器发现。一个新到达的主机通过发送目的地址
-
网络地址转换的工作原理?
将端口号用于主机+端口寻址,建立NAT转换表
-
IPv4向IPv6迁移中采用的建隧道方法?
将整个IPv6数据报放到一个IPv4数据报的数据(有效载荷)字段中
网络层:控制平面
-
每路由器控制、逻辑集中式控制?
每路由器控制:每台路由器中运行一种路由选择算法,每台路由器都包含转发和路由选择功能。
逻辑集中式控制:逻辑集中式控制器计算并分发转发表以供每台路由器使用
-
链路状态算法的工作原理?
Dijsktra算法, 下一步前往x点,则x点不再被遍历
-
==距离向量算法==的工作原理?
Bellman-Ford算法,维护多个表
-
什么是OSPF?
开放最短路优先OSPF,是一种链路状态协议,使用泛洪链路状态信息和Dijsktra最低开销路径算法
-
边界网关协议BGP的工作原理?
跨越两个AS的BGP连接称为eBGP,在相同AS中的两台路由器之间的BGP会话为iBGP
热土豆路由选择(OSPF+BGP),路由器选择算法???
-
SDN体系结构的4个关键特征?
- 基于流的转发
- 数据平面与控制平面分离
- 网络控制功能
- 可编程的网络
-
什么是ICMP?
因特网控制报文协议,被主机和路由器用来彼此沟通网络层的信息,最典型的用途是查错报告。
ICMP通常被认为是IP的一部分,但其报文承载在IP分组中,是IP有效载荷
-
网络管理的关键组件?
管理服务器、被管设备、数据、网络管理代理、网络管理协议、CLI、SNMP/MIB、NETCONF/YANG
-
什么是SNMP?
简单网络管理协议,一个应用层协议,用于在管理服务器和代表管理服务器执行的代理之间传递网络管理控制和信息报文。
链路层和局域网
-
什么是节点、链路?
节点:运行链路层协议的任何设备
主机、路由器、交换机和WIFI接入点
链路:沿着通信路径连接相邻节点的通信信道
-
链路层提供的可能服务包括?链路层在何处实现?
成帧:封装网络层数据报为链路层帧
链路接入:介质访问协议MAC协议规定了帧在链路上传输的规则
可靠交付:能保证无差错地经链路层移动每个网络层数据报
差错检测和纠正:使用检验和等技术
链路层是在称为网络适配器的芯片上实现的,有时也称为网路接口控制器(NIC)
-
奇偶校验、检验和、循环冗余检测的基本原理?
奇偶校验:单个奇偶校验位,或二维奇偶校验
检验和:将数据的字节作为16比特的整数对待并求和后取反
循环冗余检测:CRC编码
-
多路访问协议分为哪三种类型?每种类型的工作原理?
信道划分协议:时分多路复用,频分多路复用,码分多址(CDMA)
随机接入协议:时隙ALOHA,ALOHA,载波侦听多路访问CSMA,具有碰撞检测的载波侦听多路访问CSMA/CD
轮流协议:轮询协议,令牌传递协议
-
什么是CSMA?什么是CSMA/CD?它们的工作原理和区别是什么?
CSMA:载波侦听多路访问
- 工作原理:侦听到信道空闲才开始传输帧
CSMA/CD:具有碰撞检测的CSMA
- 工作原理:除了CSMA的基本功能,检测到碰撞将立即停止传输
区别:CSMA/CD检测到碰撞将立即停止传输
-
MAC地址的表示方式?
48位二进制,即6字节,前三字节OUI为IEEE分配给厂商,后三字节厂商自行分配,确保唯一
-
地址解析协议的工作原理?
ARP
- 查询ARP缓存表
- 构造ARP请求,目标MAC为广播地址
FF:FF:FF:FF:FF:FF
- 接收方响应,构造ARP响应
- 更新ARP缓存
-
交换机和路由器的区别?
集线器 路由器 交换机 流量隔离 无 有 有 即插即用 有 无 有 优化路由 无 有 无 -
多协议标签交换技术?
即MPLS,使用固定长度标签,可以改善IP路由器的转发速度
-
数据中心网络的等级拓扑?
无线网络和移动网络
-
什么是无线主机、无线链路、基站?什么是基础设施模式、自组织网络?
无线主机:可能移动、也可能不移动的运行应用程序的端系统设备
无线链路:主机通过无线通信链路连接到一个基站或者另一台无线主机
基站:负责向与之关联的无线主机发送数据(例如分组)并从主机那里接收数据,负责协调与之相关联的多个无线主机的传输
基础设施模式:与基站相关联的主机通常以基础设施模式运行,所有传统的网络服务(如地址分配和路由选择)都由网络向通过基站相连的主机提供
自组织网络:主机本身必须提供诸如路由选择、地址分配以及类似于DNS的名字转换等服务
-
什么是多径传播、信噪比?隐藏终端问题?
多径传播(multipath propagation):当电磁波的一部分受物体和地面反射,在发送方和接收方之间走了不同长度的路径
信噪比(Signal-to-Noise Ratio, SNR):所收到的信号和噪声强度的相对测量
隐藏终端问题:A向B,C向B,A和C的传输会在B发生干扰,但是环境的物理阻拦会妨碍A和C互相听到对方的传输
-
CDMA的基本工作原理?
CDMA码分多址Code Division Multiple Access
要发送的每个比特都通过乘以一个信号(编码)的比特来进行编码,这个信号的变化速率(码片速率)比初始数据比特序列速率快得多
-
被动扫描、主动扫描?
- 被动扫描:终端设备监听信道上的信标帧(Beacon Frame),被动接受
- 主动扫描:终端设备主动发送探测请求帧到各信道,附近AP接收到探测请求帧后返回探测响应帧
相比之下,被动扫描扫描速度慢,能耗低,网络负载低,不一定能发现隐藏网络
移动设备中,两种方式配合使用,初始连接使用主动扫描,之后使用被动扫描
-
CSMA/CA的工作原理?
- 监听信道
- 等待DIFS时间
- 启动退避计时器
- 发送数据帧
- 等待ACK(未收到则触发指数退避)
-
4G LTE架构的部件?
- 用户设备UE:
- eNode演进型节点:
- EPC演进分组核心网:
-
到移动设备的间接路由?到移动设备的直接路由?
间接路由方法中,通信者简单地将数据报定位到移动设备的永久地址,并将数据报发送到网络中,不需要直到移动设备是在其归属网络中还是在被访网络中,因此,移动性对通信者来说是完全透明的,但会引入三角路由选择问题
直接路由方法中,克服三角路由选择的低效,但是会增加复杂性
-
移动设备从源基站切换到目标基站的步骤?
7步
计算机网络中的安全
-
安全通信包括哪四个方面的性质?
- 机密性
- 报文完整性
- 端点鉴别
- 运行安全性
-
对称密钥系统与公开密钥系统的区别?
- 对称密钥系统中,通信的双方使用的密钥是相同的并且是秘密的
- 公开密钥系统中,使用一对密钥,公钥为全世界所知道,而私钥只有一个用户知道
-
RSA算法的工作原理?
目前没有已知的算法可以快速进行一个数的因数分解
首先选择两个大质数和
计算和
选择小于的一个数,且使和没有(非1的)公因数(即,互素)
求一个数,使可以被整除,
公钥为一对数,私钥为一对数
加密:一个报文m(唯一地表示为整数),
解密:
-
因为且,所以
-
-
密码散列函数的性质?
找到任意两个不同的报文和使得,在计算上是不可能的
-
数字签名的基本原理?
无论是谁签署这个报文,都必定在计算签名的过程中使用了这个私钥,使
知道这个私钥的唯一的人是其所有者(假设为Bob)
-
鉴别协议及其安全性?
ap2.0:
ap3.0:
ap3.1:
ap4.0:
-
IPSec协议族中的两个重要协议?
鉴别首部(AH)协议:
封装安全性载荷(ESP)协议:
-
防火墙包括哪三类?这三类的主要区别?入侵检测系统与防火墙的主要区别?
传统分组过滤器、状态过滤器、应用程序网关
区别:传统分组过滤器会独立检查每个数据报,然后基于管理员特定的规则决定该数据报应当允许通过还是应当丢弃,过滤决定基于多个因素:IP源或目的地址、协议字段、端口号等;状态过滤器实际跟踪TCP连接,并使用这种只是作出过滤决定;应用程序网关还会基于数据来做策略决定。