SDU计算机网络复习笔记

本文最后更新于:2022年7月7日 上午

名词解释

协议

对等实体间的通信规则

网络体系结构

层和协议的集合

协议栈

一个特定的系统所使用的一组协议,即每一层一个协议

服务

指下层为相邻上层提供的功能调用

计算机网络

连接分散计算机设备以实现资源共享和信息传递的计算机系统

TCP/IP协议

传输控制协议/网际协议。是指能够在多个不同网络间实现信息传输的协议簇

多路复用

把多个信号组合起来在一条物理信道上进行传输

ARP

地址解析协议。根据IP地址获得MAC地址的TCP/IP协议

对等通信P2P

各主机地位相等,通过直接交换来共享计算机资源和服务

汇集树

从所有源节点到一个指定目的节点的最佳路径形成的以目的节点为根的树

带宽

单位时间内能够传输的数据量

DNS

域名系统。是将域名和IP地址相互映射的一个分布式数据库

NAT

网络地址转换。为缓解IPv4地址短缺问题,每个局域网有专用的内部IP地址,当内网中的主机要访问外网时,路由器通过NAT转换为公网IP,才能和因特网连接

ADSL

非对称数字用户线。上下行带宽不一致

隧道技术

将两个不同协议的数据重新封装在新的包头中通过互联网络传递

广播

发送的数据可以让该网络中的所有其他主机接收到

组播

一个发送者与多个接收者实现点对多点通信

TTL

生存时间。一个IP数据报在网络中能够被路由器转发的最大跳数

服务质量

描述网络能够提供的服务能力或网络应用的要求

常用的参数有:带宽、抖动、延迟抖动、丢失率

通信子网

网络中实现网络通信功能的设备及其软件的集合

资源子网

网络中实现数据处理的资源及网络服务

简答

什么是介质访问控制问题

当局域网中共用信道的使用产生竞争时,如何分配信道的使用权问题

CSMA协议的工作原理

发送数据前监听信道,若信道忙则不发送数据等待,若信道空闲则可以发送数据

又有1-坚持CSMA,0-坚持CSMA,p-坚持CSMA

CSMA/CD协议的工作原理

带冲突检测的载波监听多路访问

发送数据前监听信道,若信道忙则等待;若信道空闲则发送数据。

发送数据过程中持续监听信道,若检测到信道有冲突,则立刻停止发送数据,采用二进制指数后退算法等待一段时间后重发数据。

CSMA/CA协议的工作原理

带冲突避免的载波监听多路访问

发送数据前监听信道,若信道忙则等待;若信道空闲则随机后退后发送数据,发送完毕后若收到确认则发送成功,若在规定时间内没有收到确认则要以二进制指数后退重发该帧。

而在发送真实数据之前要进行信道预约,源端发送短帧RTS给目的端,目的端收到后发送短帧CTS给源端,源端收到该帧后才开始发送数据。这个过程中若其他节点收到RTS和CTS就会停止监听推迟接入到无线局域网中

为什么无线局域网不能应用CSMA/CD

对于无线传输介质,接收信号强度往往小于发送信号强度,而且信号强度动态变化范围很广,若要实现碰撞检测则硬件开销过大

在无线通信中,不是所有的站点都能够听见对方

TCP和IP两种协议的区别

TCP是面向连接的可靠的基于IP的传输层协议,实现应用进程间端对端的通信

IP是无连接的不可靠的网络层协议,规定了数据传输时的基本单元和格式,定义了数据报的递交办法和路由选择

路由器IP层执行的分组转发算法

当路由器接收到IP数据报后,检查IP数据报首部是否出错,若出错则丢弃并通知源主机;若正确则继续转发

根据报文的目的IP地址,逐条检查路由表,若有匹配路由,则选择最长前缀匹配转发;

若没有匹配路由但有默认路由,则按默认路由转发;

若没有匹配路由且没有默认路由,则丢弃并通知源主机

叙述具有五层协议的网络体系结构的要点,包括各层的主要功能

应用层:通过应用进程间的交互来实现特定网络应用

传输层:实现不同应用进程间端到端的通信

网络层:选择合适的路由实现分组在多个网络间的传输

数据链路层:在一段链路上无差错地传输以帧为单位的数据,每帧包括数据和必要的控制信息

物理层:实现比特流的透明可靠传输,并定义电缆插头及连接方法

内部网关协议RIP的工作原理

利用距离矢量算法,每个路由器维护一张状态表,表中列出当前已知的到每个目标的最佳距离以及使用的链路

初始状态,路由器仅知道自己到直连网络的跳数为1;每个路由器周期性地和自己的邻居交换并更新路由信息;若干次后每个路由器都会知道到达本自治系统的其他网络的最佳链路

链路状态路由协议的工作原理

每个路由器了解自身的网络地址并发现它的邻居节点后构造初始的链路信息包

然后将这个包发送给该网络中所有其他路由器,并接收其他路由器发来的路由状态包

最终每个路由器都可以得到完整的网络拓扑信息,执行dijkstra算法就可得到它到各节点的最佳链路

运输层中伪首部的作用

伪首部参与TCP报文段/UDP用户数据报的校验和计算,既检查了运输层报文,又对IP数据报的源IP地址和目的IP地址进行了校验。

二进制指数后退算法

首先确定基本退避时间,一般取冲突期$2\tau$

遇到冲突后,当前重发次数为$n$,则取$k=min(n,10)$

在集合$\{0,…,2^k-1\}$中随机抽取一个数$r$,等待$r$个退避时间后再重发

如果$n\geq16$,则丢弃帧并向高层报告

使用二进制指数退避算法考虑了网络负载对冲突的影响,可使重传需要推迟的平均时间随重传次数的增大而增大,因而能减低发生碰撞的概率,有利于整个系统的稳定

网桥的工作过程

每个网桥维护一张哈希表,存放物理地址和网桥端口号的映射关系

当收到一个帧时,首先登记该帧的源物理地址和源端口号,再根据目的物理地址检查哈希表

如果表中没有对应项,则泛洪转发到网桥的其他所有端口

如果表中有对应项,若目的端口与源端口不一致,则根据表内信息转发到对应端口;若目的端口与源端口一致,则直接丢弃

网络层如何使用RED算法进行拥塞控制

RED算法,随机早期检测算法

路由器维护一个运行队列长度的平均值,当某条链路上的平均队列长度超过某个阈值时,该链路就被认为即将拥塞,因此路由器随即丢弃一小部分数据包。隐式通知源发生阻塞,降低源传输数据速度。

TCP的连接建立过程

三次握手

客户端向服务器发送TCP报文,SYN=1,企图建立连接并同步信号

服务器收到客户端建立连接的请求,并同步完成,向客户端发送TCP报文,SYN=1,ACK=1

客户端收到后成功建立TCP连接,向服务器发送TCP确认报文,ACK=1

服务器收到该报文后成功建立TCP连接

TCP的连接释放过程

四次挥手

客户端停止数据发送,向服务器发送企图释放连接的TCP报文,FIN=1,然后进入等待状态

服务器收到该报文后,向客户端发送普通的TCP确认报文,ACK=1,TCP连接处于半关闭状态

客户端收到后等待并接收服务器发送的数据

直至服务器发送数据完毕,服务器发送释放连接的TCP报文,FIN=1,ACK=1,然后等待最后的确认

客户端收到该报文后,向客户端发送普通的TCP确认报文,然后等待一小段时间再释放连接

客户端收到应答后可以释放连接

慢启动算法的工作原理

设置一个慢启动阈值,初始的拥塞窗口大小为1

当拥塞窗口小于慢启动阈值时,每成功传输一轮数据,拥塞窗口扩大2倍

当拥塞窗口达到慢启动阈值时,每成功传输一轮数据,拥塞窗口加1

若传输的数据发生超时重传,则可以认为网络发生拥塞,慢启动阈值更新为当前拥塞窗口的一半大小,拥塞窗口更新为1,重新执行慢启动算法

数据链路层的滑动窗口协议

发送窗口:发送方允许发送且没有收到确认的一组连续的帧的序号。当发送方收到确认帧时才相应滑动

接收窗口:接收方允许接受的一组连续的帧的序号。当接收方收到序号为窗口下限的数据帧后就相应滑动

回退N协议:$1<$发送窗口$\leq 2^n-1$ 接收窗口$=1$ 采用累计确认,当接收方收到无序帧时直接丢弃不返回确认,接收方超时后需要重传坏帧及已发送的后续帧

选择性重发协议:$1<$接收窗口$\leq$发送窗口$\leq 2^{n-1}$ 不采用累计确认,接收方只丢弃坏帧,对于无序正确帧进行缓存并返回确认,接受方超时后只重传坏帧

如何提供流量控制:发送方可以一直发送数据直到发送缓冲区满,而缓冲区的清空依赖于接收方发来的确认,接收方可以通过发送确认的速率来控制发送方的发送速率,从而避免被过快的发送方淹没以达到流量控制的目的

电话系统

本地回路:调制解调器、ADSL、光纤到户

主干线:脉冲编码调制、时分多路复用、波分多路复用

交换局:电路交换、包交换

为什么不使用平面系统,而使用分层系统:分层可以降低设计的复杂度,方便设备间的互联互通,增强可升级性

漏桶算法和令牌桶算法

漏桶算法:数据包被放置在漏桶里,以恒定速率输出,当漏桶满了,那么新到达的数据包被丢弃

令牌桶算法:大小固定的令牌桶以恒定速率产生令牌,传送到令牌桶的数据包需要消耗令牌才能被发送出去

区别:令牌桶算法允许流量一定程度的突发;当令牌桶满了丢弃的是令牌,当漏桶满了丢弃的是数据包

TCP协议滑动窗口的工作过程

发送方发送数据给接收方

接收方收到数据后根据自己的缓冲区大小设置接收窗口,并通过确认报文告知发送方

发送方收到确认报文后,根据接收方接收窗口大小来限制自己的发送窗口大小

当接收方的缓冲区满了,则接收窗口大小变为0

发送方收到接收窗口大小为0的报文后启动计时器,若在计时器超时之前接收方发来新的窗口大小,则停止计时,继续正常工作;若计时器超时,则发送方发送零窗口探测报文获得当前接收窗口大小

访问一个网站的过程

数据在各个层次的封装过程

应用层 http

传输层 tcp+http

网络层 ip+tcp+http

数据链路层 以太网+ip+tcp+http

各个层次使用到的网络协议及其功能

应用层 HTTP:www访问协议 DNS:域名解析服务

传输层 TCP:为HTTP提供可靠的数据传输 UDP:DNS使用UDP传输

网络层 IP:IP包传输和路由选择 ICMP:提供网络传输中的差错检测 ARP:本机的默认网关IP地址映射成物理MAC地址 NAT:私有IP和公网IP的转换

通信过程中使用到的地址及转换

域名通过DNS转换为IP地址

内网IP地址通过NAT转换为公网IP地址

IP地址通过ARP转换为物理MAC地址

ARP协议的工作过程

在同一个网络内,假设A要给B发送数据包,但A只知道B的IP地址,而在通过以太网封装数据帧时还需要知道B的MAC地址,则执行ARP协议

A检查自己的本地ARP缓存,查找是否有B的匹配MAC地址

若没有,A发送带有目标IP地址、源IP地址、源MAC地址的ARP请求广播

网络中各主机收到该请求,若自己的IP地址与其不匹配则直接丢弃;B收到后正确匹配,则将A的IP地址和MAC地址存入自己的本地ARP缓存中,并发送包含自己MAC地址的ARP响应报文给A

A收到该报文后将B的IP地址和MAC地址添加到自己的ARP缓存中,然后就可以发送数据了

不在同一个网络时,假设A要给B发送数据包

A检查自己的本地ARP缓存,发现B不属于本网络,则需要把数据包发往默认网关再进行后续转发

执行同一网络内的ARP协议获得默认网关的MAC地址,目的MAC地址填写默认网关的MAC地址进行封装,发送给默认网关

默认网关收到数据包,检查目的IP地址,查询路由表进行路由转发,找到对应接口后,执行同一网络内的ARP协议获得B的MAC地址,然后源MAC地址填写自己的MAC地址,目的MAC地址填写B的MAC地址进行封装,转发给主机B

虚电路交换和数据包交换的工作原理

虚电路交换:首先建立一条虚电路,然后在所建立的连接上传输数据,传输结束后释放连接

数据包交换:每个数据包携带完整的目的地址独自选择路由进行交换

DNS的工作原理

对于一个给定的域名,需要获取它对应的IP地址,提出DNS请求

首先在本地域名服务器中查找,若有与该域名匹配的记录,则直接返回对应的IP地址

否则,去根域名服务器进行查询,查询方式分为递归查询和迭代查询,将最终查询的返回结果保存到本地域名服务器中去以备下次使用,并返回给客户机

千兆以太网如何解决传输距离短的问题

帧突发技术,使得一个工作站能够一次连续发送多个数据帧

计算机采用层次结构的主要优点

各层之间相互独立。上层无需知道下层实现细节,只需知道接口提供的服务

灵活性好。当一层发生改变,只要不改变接口关系,上下层不会受到影响

便于实现、调试和维护。

利于标准化。

为什么规定以太网帧最小帧长

使用CSMA/CD协议时,如果发送的帧太短,没有来得及检测碰撞就已经发送完了,所以整个帧的发送时间应该不小于信号的往返传输时延

逆向路径转发

用于广播路由。当一个广播数据包到达一个路由器时,路由器检查它到来的那条线路是否正是通常用来给广播源端发送数据包用的那条线路,如果是则路由器将该数据包转发到除了到来的那条线路之外的所有其他线路上;否则该数据包被当作一个可能的重复数据包丢弃


本文作者: 31
本文链接: http://uuunni.github.io/2022/07/07/ComputerNetworkReview/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!