计算机网络(基础)笔记与总结

前言

你好,我是苏青羽,是一名默默无闻的计算机爱好者。

本笔记是我在学习计算机网络时所总结的学习笔记,主要记录了计算机网络的一些基础知识点,在这里分享给大家,希望通过该笔记能帮助更多的人去理解计算机网络。

笔记中参考了网上的很多博客、公众号、网课、面经等等,这些均在笔记末尾的参考资料中有所展示,大家可自行查看,做更深入的了解。

本笔记主要用于在学习上的复盘,并不适合初学者学习。如果在笔记中遇到了不懂的知识点,一定要去自己看书或者上网查询相关知识点!

如果发现本文有较大的硬性错误、或者是某些内容存在侵权、以及有什么想补充的问题和内容,请点击“关于”,通过里面预留的联系方式同我联系!

本笔记正在实时更新中,若是想获取笔记的最新PDF版以及了解关于我的更多信息,可扫描下方二维码,或微信搜索公众号“苏青羽”关注我!

前提基础

学习本笔记前,请事先掌握以下基础知识

  • C语言基础(或C++基础)
  • 数据结构与算法
  • 操作系统

计算机网络体系

1. 计算机网络是什么?

(1) 计算机网络是一个将分散的的计算机通过通信设备与线路连接起来的系统。

(2) 从功能组成上看,计算机网络由通信子网和资源子网组成。

(3) 计算机网络具备数据通信和资源共享两大功能,其中数据通信是最基本和最重要的功能。

(4) 计算机网络可分为以交换技术为基础的广域网,和以广播技术为基础的局域网

2. 计算机网络的性能指标有什么?

带宽(最高数据传输速率)、发送时延(传输时延,将数据全部传输至链路上的时间)、传播时延(数据在链路上从一端到另一端的时间)、时延带宽积(传播时延信道带宽)、往返时延(发送端发出数据到接收确认的时间)、吞吐量(单位时间内某个网络接口的数据量)

3. OSI 的七层模型分别是?各自的功能是什么?

(1) 应用层:为应用程序提供服务

(2) 表示层:数据格式化、数据加密

(3) 会话层:建立、管理和维护会话

(4) 传输层:建立、管理和维护端到端的连接

(5) 网络层:IP选址及路由选择

(6) 数据链路层:提供介质访问和链路管理

(7) 物理层:定义网络设备接口标准,电气标准

4. 除了OSI,还有两种分层模型,能说说吗?

(1) OSI七层模型是一个标准,而非实现

(2) TCP/IP四层模型是一个实现的应用模型

(3) 五层参考模型是一种理论模型,容易理解。

(4) 不管是什么分层,计算机网络所需要的功能总体不变,不过是各层之间的简化与合并。

5. OSI和TCP/IP的区别?

(1) OSI在网络层支持无连接和有连接,在传输层只支持有连接。

(2) TCP/IP在网络层只支持无连接,在传输层支持有连接和无连接。

(3) 在OSI体系中,数据链路层和网络层具备了流量控制功能,网络层具备拥塞控制功能

(4) 在TCP/IP中,流量控制和拥塞控制都被移动到了传输层。

6. 网络分层的好处?

隔层之间是独立的、灵活性好、结构上可以分隔开、易于实现和维护、能促进标准化工作。

7. 各层传输的数据单位是什么?

(1) 应用层:报文(message);

(2) 传输层:报文段(Segments)、用户数据报;

(3) 网络层:数据包、数据报(Packages);

(4) 数据链路层:帧(Frames);

(5) 物理层:比特流(Bits);

8. 数据在网络各层的变化情况?(以http请求包为例)

(1) 应用层:给数据加上请求行和请求头部,形成报文。

(2) 传输层:在收到应用层的报文后,会根据传输层协议(TCP/UDP),给报文加上头部字段(源端口、目的端口),形成报文段或用户数据报。

(3) 网络层:在收到传输层的报文段后,会给报文段加上IP协议头部字段(源IP地址,目的IP地址),形成数据包。

(4) 数据链路层:在收到网络层的数据包后,会在数据包的头部中加入发送方和接收方的MAC地址,在尾部加上校验和,形成帧。数据链路层比较特殊,需要在尾部加上数据

(5) 物理层:将数据链路层的帧转化成一连串的0/1比特流,利用网络接口将这些比特流传输到链路中,进行网络传输。物理层不添加数据,只进行数据转换

(6) 通过网络传输,在目标计算机收到数据后,会将数据从下往上进行拆封,得到相应数据。

9. 在网络中工作的各种设备都分属于哪一层?

(1) 网络层:路由器、三层交换机(能隔离冲突域、能隔离广播域

(2) 数据链路层:网桥、网卡、以太网交换机(能隔离冲突域、不能隔离广播域

(3) 物理层:双绞线、中继器、集线器(不能隔离冲突域、不能隔离广播域

10. 什么是冲突域(碰撞域)和广播域?

(1) 一块网卡发送信息时,只要有可能和另一块网卡冲突,那么这些可能冲突的网卡就构成冲突域。一般来说,冲突域指的是连接到同一物理介质上的所有结点的集合,这些结点之间存在介质争用现象。

(2) 一块网卡发出一个广播时,能收到这个广播的所有网卡的集合称为一个广播域。

(3) 一般来说,一个网段(由数据链路层设备所隔离的)就是一个冲突域,一个局域网(由网络层设备所隔离的)就是一个广播域。

11. 网络设备是否可以连接不同协议?

(1) 一般来说,如果某个网络设备具备了存储转发功能,那么它就可以互联两个使用不同的协议的网络(只能是它所工作的那一层协议)。

(2) 大部分设备都具备存储转发功能,但物理层设备都不具备该功能,故像中继器、集线器之类的设备所连接的网段必须使用同一个物理层协议。

物理层

1. 物理层的功能?

物理层定义了网络设备接口标准和电气标准,使连接各台计算机的传输媒体可以传输数据。

2. 说说物理层的三种通讯方式?

3. 说说物理层的两种数据传输方式?

4. 说说物理层设备?

(1) 中继器:将数字信号进行整形放大(信号再生)再转发出去,以消除信号的失真和衰减。

(2) 集线器(Hub):多端口中继器,每个端口会平分带宽

(3) 传输介质:双绞线、同轴电缆、光纤

5. 说说5-4-3原则?

在采用粗同轴电缆的10BASE5以太网规范中,用4个中继器串联的5段传输介质中只有3段可以挂接计算机

数据链路层

1. 数据链路层的功能?

数据链路层的功能包括提供介质访问和链路管理、帧定界和帧同步、差错控制、流量控制(后被移动到传输层),它所控制的是一种点到点的连接

2. 为什么数据链路层没有拥塞控制功能?

因为数据链路层管理的是点到点的连接,而拥塞是一种多点网络上的定义,是对于网络全局来说的,所以数据链路层不具备拥塞控制功能。

3. 数据链路层为网络层提供的服务有多少种?

数据链路层为网络层提供服务,具体如下:

(1) 无确认的无连接服务:无须建立连接,收到数据报无需确认,适用于实时通信和误码率较低的通信信道,如以太网

(2) 有确认的无连接服务:无须建立连接,收到数据报需要发回确认,适用于误码率较高的通信信道,如无线通信

(3) 有确认的面向连接服务:事先建立连接,收到数据报需要发回确认,适用于可靠性要求较高的场合

注意:有连接就一定要有确认,不存在无确认的面向连接的服务。

4. 局域网的网络拓扑结构有多少种?

星型拓扑、总线型拓扑、环型拓扑、树型拓扑

5. 实现可靠传输的三种基本协议了解吗?

这三种协议都是基于滑动窗口的传输协议,只是在发送窗口和接收窗口大小上有差别,而且这三种协议的窗口大小在传输过程中都是固定的。

(1) 停止等待协议(停等协议)

① 单窗口的滑动窗口协议,发送窗口 = 1 ,接收窗口 = 1

② 发送方:发送一个帧,等待对方发送确认帧,若未收到则进行超时重传。

③ 接收方:接收到帧后返回该帧的ack,收到重复帧则会丢弃,并重发确认帧。

④ 发送方:接收到ack后发送下一个帧

⑤ 优点:最简单的控制协议

⑥ 缺点:性能较弱,信道利用率低。大部分时间数据都在路上,发送方很长时间闲置,资源浪费。

(2) 后退N帧协议(GBN):

① GBN是滑动窗口中的一种,其中 发送窗口 > 1 ,接收窗口 = 1 ,因发送错误后需要退回到最后收到的正确连续帧位置开始重发,故而得名。

② 发送方:在将发送窗口内的数据连续发送

③ 接收方:收到一个之后向接收端发送累计确认的ack

④ 发送方:收到ack后窗口后移,发送后面的数据

⑤ 累计确认:允许接收端不用每一个帧都发送ack。确认帧代表其前面的帧都已正确接收到。

⑥ 后退N帧:当前面的帧出错之后,后面的帧无论是否发送成功都要进行重传,所以需要退回到最后收到的正确连续帧位置开始重发。

⑦ 优点:信道利用率高(发送方可连续发送数据帧)

⑧ 缺点:累计确认使得该方法不能接受乱序的帧,错误重传浪费严重。

(3) 选择重传协议(SR)

① SR协议可以说是GBN的plus版本,在GBN的基础上改回每一个帧都要确认的机制,解决了累计确认只能接收顺序帧的弊端,发送方只需要重发错误帧。SR的发送窗口 > 1 ,接收窗口 > 1 ,接收窗口 = 发送窗口

② 发送端:将窗口内的数据连续发送

③ 接收端:收到一个帧就将该帧缓存到窗口中并回复一个ack

④ 接收端:接收到顺序帧后将数据提交给上层并接收窗口后移(若接收到的帧不是连续的顺序帧时,接收窗口不移动)

⑤ 发送端:接收到顺序帧的ack后发送窗口后移(同理,发送窗口接收到的ack不连续时,也不移动)

⑥ 优点:信道利用率最高

⑦ 缺点:需要在发送方和接受方都维持一个滑动窗口进行缓存。

6. 为什么可靠传输协议是在数据链路层?

(1) 早些时候,链路的质量还没有那么可靠的时候,就需要数据链路层负责起可靠传输的功能,用到可靠传输协议。

(2) 随着链路质量的不断发展,链路的通信已经非常的可靠,点到点的传输出错概率较小,现在不需要数据链路层担负可靠传输的任务,而是让传输层的TCP协议负责,但其基本的三种协议没有太大的变化。

(3) 这也是我在前言时提到的,不要太拘泥于此,理解协议才是关键

7. 什么是随机访问-介质访问控制?

在一条多点接入的通信信道中,如果各点之间不经过协调就发送数据,会导致数据冲突,相互干扰,导致所有数据均发送失败,因此我们必须采取一定的手段控制各点的信息发送权,这就是随机访问-介质访问控制,具备这种能力的协议被称为随机访问-介质访问控制协议随机访问-介质访问控制实质上是一种将广播信道转化为点到点信道的行为

8. 说说随机访问-介质访问控制协议?

(1) ALOHA协议:任意点可随意发送数据,如果未收到确认,则该点等待一段时间后再重发,直至发送成功。缺点是网络吞吐量很低

(2) 时隙ALOHA协议:在ALOHA基础上,将时间划分为一段段等长的时隙,只能在每个时隙开始时才能发送一个帧。减少了数据冲突的可能性,吞吐量有较大提升

(3) CSMA协议:载波监听多路访问协议,它会在数据发送前监听信道,信道空闲时再发送数据

① 坚持CSMA:信道空闲立即发送数据,信道忙则持续监听,直至空闲。

② 非坚持CSMA:信道空闲立即发送数据,信道忙则放弃监听,等待随机时间后再监听。

③ p-坚持CSMA:只用于时分信道,信道空闲以概率p发送数据,以概率1-p推迟到下一个时隙,信道忙则持续监听(推迟到下一个时隙再监听),直至空闲。

(4) CSMA/CD协议:载波监听多路访问/碰撞检测协议,在CSMA的基础上,引入了“边发送边监听”的机制,网络接口一边发送数据一边检测信道,判断自己在发送数据时其他节点是否也在发送数据。如果没有其它节点在使用信道,则传输数据。如果发生碰撞,会停止传输剩下的数据,等待一个随机时间后,再进行重发。

(5) CSMA/CA协议:载波监听多路访问/碰撞避免协议,在CSMA的基础上,引入了“预约信道”的机制,在发送数据时广播其他结点,让其他结点在某段时间内不要发送数据,以免出现碰撞。注意,该方法并不能完全避免碰撞,只是尽量降低碰撞发生的概率

9. 说说轮询访问-介质访问控制协议(令牌传递协议)?

节点的信息发送权由令牌赋予,令牌会沿着环形总线在各节点计算机间依次传递,实际上令牌是一个特殊的MAC控制帧,不包含具体信息,它用于确保同一时刻只有一个站点独占信道。

10. 说说一些数据链路层的常见协议和应用场景?

(1) PPP:点对点协议。主要是用来通过拨号或专线方式建立点对点连接发送数据。

(2) CSMA/CD:载波监听多点接入/碰撞检测协议。用于以太网有线通信。

(3) CSMA/CA:载波监听多路访问/碰撞避免协议,用于无线局域网。

11. 什么是以太网?

(1) 通常来说,我们把满足了IEEE 802.3标准的局域网称为以太网,是现在应用最普遍的局域网。

(2) IEEE 802.3标准是基带总线形的局域网标准,它定义了物理层和数据链路层的实现方法,提供了无确认的无连接服务,采用CSMA/CD协议来进行随机访问介质-访问控制。

(3) 以太网(局域网)的地址被称为MAC地址,长度为6字节,由网卡生产厂商决定,全球唯一

(4) 以太网的最短帧长为64字节(CSMA/CD限制),在数据链路层,以太网会为网络层的数据进行封装,包括首部目的地址(6字节)、源地址(6字节)、类型(2字节),和尾部的FCS校验码(4字节),因此规定了最短数据长度为46字节

(5) 以太网的最长数据长度(网络层数据)为1500字节,被称为MTU(最大传输单元),这是标准所规定的。

(6) 为了实现通信双方的时钟同步和帧定界,以太网还会在MAC帧之前插入8字节的同步码,这一段只在传输给物理层时会加上,并不算在整个MAC帧中。

(7) 以下是以太网帧格式

12. 说说数据链路层设备?

(1) 网桥:两个或多个以太网通过网桥连接后,可以成为一个范围更大的以太网,而原来的每个以太网被称为一个网段。网桥可以隔离碰撞域,还可以进行帧转发

(2) 交换机:相当于多端口网桥,每个端口共享带宽,具备自学习功能,会自动更新交换表。交换机分为直通式交换机和存储转发式交换机。直通式交换机只检测目的地址,只具备转发功能,而存储转发式交换机还具备存储功能和差错控制功能,可靠性更高。

网络层

1. 数据交换方式有多少种?

(1) 电路交换:在进行数据传输前,两个结点必须事先建立一条专用(双方独占)的物理通信链路。该路径可能经过许多中间结点,在整个数据传输期间会被一直独占,直到通信结束后才被释放。该方法的传输时延最小,但没有差错控制。

(2) 报文交换:数据交换的单位是报文,报文携带有目标地址、源地址等信息,无须建立连接,通信双方不固定占用物理通信链路,每个报文动态分配路线。报文在经过结点时需要进行存储转发,会增加转发时延。因为报文大小无限制,要求结点需要较大的缓存

(3) 分组交换(数据报):分组交换沿用报文交换机制,只是限制了每次传输的数据大小,把一个大报文分为多个小分组进行传输。它具备了报文交换的优点,同时又因为分组较短,简化了网络结点的存储管理开销,提高了可靠性,减少了传输时延。但需要传输额外的控制信息(源地址和目的地址以及额外的可靠性开销

(4) 虚电路:虚电路是分组交换模式下的特别方式,在分组发送前,在两个结点之间建立一条逻辑上和物理上相连的虚电路。以虚电路号标识一条虚电路,分组传输时只需携带虚电路号即可,它的控制信息开销更小。相比起电路交换,虚电路的中间结点不再被某条虚电路独占,而是可以同时与多个结点建立虚电路。虚电路方式的缺点是当某个中间结点故障时,会导致该结点所连接的所有虚电路被破坏

2. 网络层的功能?

网络层向上提供简单灵活的、无连接的、尽最大努力交付的数据报服务(分组交换)。提供了异构网络互连、路由与转发、拥塞控制等功能。

3. 什么是异构网络?

网络层提供了异构网络互连的功能,所谓的异构网络指的是在物理层、数据链路层、网络层不完全相同的网络系统。异构网络互连使得这些网络的异构性被隐藏,互联网主机在进行通信时就像在单个网络通信一样。

4. 网络层的拥塞控制怎么体现?

网络层的拥塞控制指的是路由器在进行路由转发时会根据网络拥塞情况进行丢包,减轻网络负载。

5. 什么是IPv4?

网络层最主要的协议为IP协议,它定义了网络层数据传输单元——IP分组。现在最普遍使用的是IP协议的IPv4版本,以下是IPv4分组格式。

6. IPv4地址是什么?

(1) 分类地址:在互联网早期,采用分类IP地址,每台主机都被分配了唯一的IP地址

(2) 特殊地址:特别的,在网络中设置一些特殊地址,有着特殊用途

(3) A类网络可用网络数只有27-2,因为网络号全0和网络号为127是特殊地址,不可被分配。

7. 私有地址和NAT是什么?

(1) 私有地址:为了网络安全和网络地址复用,划出了部分IP地址为私有IP地址。

(2) NAT:即网络地址转换,它通过将私有地址转换为公用地址,对外隐藏了内部管理的IP地址。

(3) 私有地址只用于局域网,若想与外网进行通信,必须使用NAT路由器来进行地址转换。数据包在经过NAT路由器时,会被修改源IP地址和源端口,从而与外网进行正常通信,因此NAT路由器很特殊,它工作在传输层。通过NAT,多个私有地址可以被映射到一个公有地址

8. CIDR是什么?

随着互联网规模增大,分类地址逐渐被无分类编址CIDR所取代。CIDR取消了传统网络分类,使用了变长子网掩码来划分网络前缀和主机号,可以更有效地分配IPv4的地址空间,解决传输分类地址的利用率较低和不灵活等缺点。

9. CIDR的最长前缀匹配是什么?

使用CIDR时,路由表的每个表项由“网络前缀”和“下一跳地址”组成,在查找路由表时可能会得到不止一个匹配结果。此时,应当从匹配结果中选择具有最长网络前缀的路由,因为网络前缀越长,其地址块就越小,因而路由就具体

10. 详细说说ARP协议?

(1) ARP协议,即地址解析协议。通常发生在只知道对方的IP地址而不知道对方的MAC地址的情况下

(2) 由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址,而ARP协议就是用来完成主机或路由器IP地址到MAC地址的映射。

(3) ARP协议的工作流程为:检查ARP高速缓存是否存在与目的IP地址对应的MAC地址,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求,同一局域网中所有主机都能收到该请求。目的主机收到请求后就会向源主机单播一个ARP响应,源主机收到后将目的主机的IP地址和MAC地址写入ARP缓存(10-20min更新一次)。

11. 详细说说RARP协议?

(1) RARP协议,即反向地址解析协议。RARP与ARP相反, 发生在只知道自己的MAC地址而不知道自己的IP地址的情况下

(2) RARP协议的工作流程为:主机从网卡上读取MAC地址,然后在网络上广播一个RARP请求的数据包,请求RARP服务器回复该主机的IP地址。RARP服务器收到了该请求数据包后,为其分配IP地址,并通过广播回应主机。主机就可以使用IP地址进行通信。

(3) RARP是DHCP协议的前身,现在互联网基本不使用RARP协议了

12. 详细说说DHCP协议?

(1) DHCP——动态主机配置协议,用于给主机动态地分配IP地址,提供了即插即用的联网机制,允许一台计算机加入新的网络和获取IP地址而不用手动配置。

(2) DHCP是应用层协议,基于UDP,使用C/S模式

(3) DHCP的客户端与服务器需要通过广播方式进行交互。

13. 说说ICMP协议?

(1) ICMP(网际控制报文协议),网络层协议,它可以提高IP数据报交付成功的几率

(2) ICMP有五种差错报文:终点不可达、源点抑制(拥塞无法交付,已被弃用)、时间超过(TTL为0)、参数问题、重定向。

(3) ICMP有四种ICMP询问报文:回送请求和回答报文(Ping命令)、时间戳请求和回答报文(进行时钟同步)、掩码地址请求和回答报文(已弃用)、路由器询问和通告报文(已弃用)。

(4) ICMP报文会作为网络层数据包的数据,在首部封装成IP数据包再进行发送。

14. PING和Traceroute的区别?

(1) Ping和Traceroute都是ICMP协议最常见的应用,用来进行网络探测。

(2) Ping使用了ICMP回送请求和回答报文,Traceroute使用了ICMP时间超过报文

(3) Ping工作在应用层,但它直接使用ICMP,而未使用传输层的TCP或UDP。Traceroute工作在网络层

15. 你知道有哪些路由选择协议,说来看看?

路由选择协议分为内部网关协议外部网关协议,区别在于该协议是否只在一个自治系统(AS)内使用。常见的内部网关协议有:RIP、OSPF。常见的外部网关协议有:BGP

(1) RIP

① RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。

② RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录。

③ 距离:通常为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从路由器到与其直连的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。也因此特性,RIP只适用于小互联网

④ 当网络出现故障时,RIP协议要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器,因此说它是“慢收敛”的。

⑤ RIP是应用层协议,它使用UDP传送数据

⑥ RIP选择的路径不一定是时间最短的,但一定具有最少路由器的路径。因为它是根据最少跳数来进行路径选择的

(2) OSPF

① OSPF是使用分布式的链路状态协议,它使用了Dijkstra提出的最短路径算法SPF。

② OSPF使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息。每一个相邻路由器又再次将此信息发往其所有的相邻路由器。最终整个区域内所有路由器都得到了这个信息的一个副本。

③ 发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价――费用、距离、时延、带宽等)。

④ OSPF是“快收敛”的。

⑤ OSPF是网络层协议,它不使用UDP或TCP,而直接用IP数据报传送

(3) BGP:与其他AS的邻站BGP发言人交换信息,交换的是一组路径向量,即到达某个网络所要经过的一系列AS。BGP是应用层协议,它是基于TCP的

(4) 下图是三种路由选择协议对比

16. IPV4和IPV6的区别?

(1) lPv6将地址从32位(4B)扩大到128位(16B),更大的地址空间。

(2) Pv6将IPv4的校验和字段彻底移除,以减少每跳的处理时间。

(3) IPv6将IPv4的可选字段移出首部,变成了扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率。

(4) IPv6支持即插即用(即自动配置),不需要DHCP协议。

(5) IPv6首部长度必须是8B的整数倍,IPv4首部是4B的整数倍

(6) IPv6只能在主机处分片,IPv4可以在路由器和主机处分片,因此可说IPv6不支持分片

17. 说说隧道技术?

(1) 隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送

(2) 举个例子,比方说源主机和目的主机使用IPV6通信,而网络中的路由器使用IPV4通信,IPV6和IPV4两者并不兼容,那如何传输数据呢?我们可以使用隧道技术解决这一问题。在网络传输时,IPV6的数据报到了IPV4路由器,就用IPV4协议进行重新封装,把IPV6数据报前面加上IPV4首部伪装成IPV4数据报继续传输,直至到了末端的IPV6路由器再解开封装,重新以IPV4进行传输。

18. 网络层常见协议你知道多少?

(1) IP协议:网际协议。IP协议定义了网络层数据传输时的基本单元和格式。

(2) ICMP:网际控制报文协议。ICMP就是一个“错误侦测与回报机制”。

(3) IGMP:网际组管理协议。用于实现组播、广播等通信。

(4) OSPF:分布式的链路状态协议,用于路由选择。

(5) ARP协议和RARP协议定义比较模糊,有些教材认为是网络层协议,有些教材认为是数据链路层协议。

(6) DHCP、RIP、BGP协议是应用层协议

19. 说说网络层设备?

(1) 路由器是一种具有多个输入/输出端口的专用计算机,其任务是连接异构网络并完成路由转发

(2) 路由器具备路由选择和分组转发功能,路由选择涉及很多路由器,一个路由器的路由表是许多路由器协同工作的结果,而转发功能则是路由器根据路由表将数据报从合适的端口转发出去,仅涉及一个路由器。

(3) 路由器可以隔离冲突域和广播域

20. 在互联网中,能否用一个大的交换机来代替互联网中的很多路由器?

如果互联网中所有网络都是同类型的,这个方法可行,但若是这些网络是异构的,那么就必须使用路由器。

21. 尽最大努力交付和可靠交付的差别?

(1) 可靠交付:数据会无差错地、在某一规定的时间内、按顺序、不重复地交付给目标主机。

(2) 尽最大努力交付:不保证以上几点

22. 网络层的复用和分用是什么意思?

(1) 复用:发送方不同协议的数据都可以封装成IP数据报发送出去

(2) 分用:接收方的网络层在剥去首部后把数据交付给相应的协议。

传输层

1. 传输层的功能?

传输层提供了不同主机的应用进程之间的逻辑通信(即端到端的通信)。

2. 传输层功能与数据链路层、网络层的不同?

(1) 数据链路层提供的是点到点的通信,这两个点之间有一条直接的物理链路进行连接

(2) 网络层提供的是两台主机之间的通信,这两台主机之间中间可以经过很多结点而不直接相连,但对这两台主机来说,他们之间的通信好像是直连的。

(3) 传输层提供了不同主机的应用进程之间的逻辑通信,两台主机之间的通信实际上指的是两台主机应用进程之间的通信,他们之间通过传输层进行连接,使得这两个进程之间的通信好像是直连的。

3. 传输层的端口号?

(1) 端口号是传输层的标识符,它标识了主机中的应用进程。

(2) 端口号长度为16bit,因此能表示从0-65535的65536个不同端口

(3) 实际上端口号的使用范围没有那么广,像是0-1023为熟知端口号,被指派给了TCP/IP最重要的一些应用程序,而1024-49151为登记端口号,要使用必须事先登记,防止重复,所以可用的动态端口号范围为49151到65535

(4) 传输层的TCP和UDP都拥有自己独立的端口号,互不干扰

4. 说说TCP和UDP,以及他们两者的区别?

(1) TCP

① 面向连接,基于字节流的,可靠的传输控制协议

② 传送数据之前必须建立连接,数据传送结束后要释放连接。

③ 每一条TCP连接只能是点到点的,不提供广播或多播服务

④ 由于TCP要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销,如确认、流量控制、计时器及连接管理等。

⑤ TCP对应用层交下来的报文看成是一连串的无结构的字节流,会进行适当的合并与拆分。

⑥ TCP首部开销大,需要20个字节

⑦ 可靠,面向连接,时延大,适用于大文件

(2) UDP:

① 无连接的,面向报文的,不可靠的用户数据报协议

② 传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。

③ UDP支持一对一,一对多,多对一和多对多的交互通信。

④ UDP尽最大努力交付,不保证可靠交付,因此相比起TCP,UDP不需要确认、流量控制、计时器及连接管理等复杂机制

⑤ UDP对应用层交下来的报文,不合并,不拆分,需要应用层控制报文的大小。

⑥ UDP的首部开销小,只有8个字节

⑦ 不可靠,无连接,时延小,适用于小文件

5. UDP的首部格式是什么?

6. UDP的可靠性怎么保证?

UDP不保证可靠交付,但这并不意味着应用对数据的要求是不可靠的,所有维护可靠性的工作可由用户在应用层来完成。

7. TCP首部字段有哪些?

8. TCP首部有哪些比较重要的字段?

(1) 源端口号、目的端口号:传输层以端口号为地址进行数据传输。

(2) 序列号(seq):TCP是面向字节流的,所以TCP连接传送的字节流中的每个字节都按顺序编号,序列号指的是本报文段所发送的数据的第一个字节的序号

(3) 确认号(ack): 确认号是主机期望收到对方下一个报文段的第一个数据字节的序号,若确认号为N,则表明到序号N-1为止的所有数据都已正确收到。只有当控制位中的确认位(ACK)置1 时,该确认号的字段才被认为有效。

(4) 控制位(flag):在TCP首部字段有6个特殊的控制位,主要是用于控制TCP的状态

① 紧急位URG:URG=1时,发送方会将该数据从缓存中提前到第一个传输。

② 确认位ACK:ACK=1时,确认号有效,连接建立后所有传输报文段都须把ACK置1。

③ 推送位PSH:PSH=1时,接收方尽快交付应用层,不再等到缓存填满再向上交付。

④ 复位RST::RST=1时,表明连接出现严重差错,必须重新建立传输连接。

⑤ 同步位SYN:SYN=1时,表示需要建立连接。

⑥ 终止位FIN:FIN=1时,表明此报文段的发送方数据己发完,要求释放连接。

(5) 窗口(Window size):滑动窗口的大小,用来进行流量控制。

9. 什么是MSS,和MTU有什么区别?

(1) MTU:最大传输单元,作用在数据链路层,规定了数据帧的数据字段的最大长度。

(2) MSS:最大报文段长度,作用在传输层,规定了TCP报文段中的数据字段的最大长度。

(3) MSS值为MTU值减去IPv4 Header(20Byte)和TCP header(20 Byte)得到

10. 说说TCP的三次握手?

客户端想与服务器建立一条TCP连接,会经历以下步骤:

(1) 初始状态:客户端处于closed(关闭)状态,服务器处于listen(监听) 状态

(2) 第一次握手:客户端会发送一个连接请求报文。这个报文的同步位(SYN)会置1,然后设置了客户端报文的初始序列号seq = x,发送之后客户端处于同步发送(SYN_SENT)状态

(3) 第二次握手:服务端收到请求报文后,如果同意连接,则会发送一个连接应答报文。这个报文的同步位(SYN)和确认位(ACK)会置1,然后设置了服务端的初始序列号seq = y,确认号ack = x+ 1,发送完之后服务端为同步接收(SYN_RCVD)状态

(4) 第三次握手:客户端接收到应答报文后,还要向服务器发送一个确认报文。这个报文的确认位(ACK)会置1,当然之后传输的每个数据包确认位都需要置1,确认号ack = y + 1,序列号 seq = x + 1,客户端转为连接建立(ESTABLISHED)状态。当然,服务端在收到该报文后也会转为ESTABLISHED状态,然后进行正常数据传输。

11. TCP连接为什么需要三次握手,两次不行吗?

因为TCP连接是一种全双工连接,需要先确认双方的收发能力是否正常才能进行数据传输。三次握手是确认收发能力的最少次数,下面来进行详细说明。

(1) 第一次握手:客户端发包,服务端收到了。 这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的

(2) 第二次握手:服务端发包,客户端收到了。 这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。

(3) 第三次握手:客户端发包,服务端收到了。 这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常

12. 三次握手过程中发送的请求应答包可以携带数据吗?

(1) 第一次、第二次握手不可以携带数据,第三次握手可以携带数据

(2) 目的是为了连接双方的安全。假如第一次握手可以携带数据的话,客户端就不理会服务端的收发能力是否正常以及数据处理能力的上限,发送大量数据给服务器,导致服务器的负载加大。第二次握手同理,只不过对象变成了客户端。

(3) 第三次握手由于已经建立起连接了,知道了服务器的收发能力是正常的,而且所以可以携带数据。

(4) 即使第一次和第二次握手不能携带数据,但这两个报文仍要消耗掉一个序号。

13. TCP三次握手中的初始序列号(ISN)是固定的吗?

(1) 初始序列号ISN(Initial Sequence Number)即TCP连接中序列号seq的初始值

(2) ISN一般是一个随机值,会随时间而变化,因此每个连接都将具有不同的ISN。

(3) 如果 ISN 是固定的,攻击者很容易猜出后续的序列号,从而遭受攻击

(4) 假设TCP连接由于网络原因一直断开重连,可能会发生上个连接发送的过时的报文在新连接建立后到达,如果ISN是固定的,则会导致序列号混乱,产生错误。

14. TCP的半连接队列和全连接队列了解吗?

(1) 半连接队列:服务器第一次收到客户端的连接请求之后,就会处于SYN_RCVD 状态,此时双方还没有完全建立其连接,服务器会把此种状态下的连接分配系统资源,放在一个队列里,我们把这种队列称之为半连接队列

(2) 全连接队列:已经完成三次握手而建立起连接的,就会放在全连接队列中。

15. TCP连接的SYN攻击和DDos攻击了解吗?

(1) SYN攻击是网络黑客利用TCP三次握手的特性而发起的网络攻击:服务器端的资源分配是在二次握手时分配的,客户端的资源是在完成三次握手时分配的

(2) 利用该特性,攻击者会伪造大量不存在的IP地址,并向服务端请求连接,这些伪造的连接会占用服务端的半连接队列。服务端需要不断重发确认包直至超时,才会将这些连接从半连接队列中删除,导致正常的连接请求因为队列满而被丢弃,从而引起网络拥塞甚至系统瘫痪。SYN 攻击是一种典型的 DoS/DDoS 攻击

(3) 检测方法:在服务器上看到大量的随机IP地址的半连接,基本可断定为SYN攻击。

(4) 常见的防御方法有:缩短超时时间 、增加最大半连接数 、过滤网关

16. 说说TCP的四次挥手?

TCP连接的任何一端都能终止该连接,假设由客户端终止连接,则会经历以下步骤:

(1) 第一次挥手:客户端打算关闭连接时,会发送终止连接报文(终止位FIN置1)给服务端并停止发送数据,发完该报文后,客户端将处于终止等待状态1(FIN_WAIT_1),等待服务端确认释放连接。

(2) 第二次挥手:服务端收到终止连接报文后,会发送一个终止应答报文给客户端,发送后服务端处于等待关闭状态(CLOSE_WAIT),客户端收到报文后会处于终止等待状态2(FIN_WAIT_2),此时客户端到服务器的连接被释放,但服务器仍能发数据给客户端

(3) 第三次挥手:如果服务端数据已全部发送,则会发送终止连接报文(终止位FIN置1)给客户端,请求关闭服务器到客户端的TCP连接。发送之后服务端状态处于最终确认状态(LAST_ACK),等待客户端确认释放连接。

(4) 第四次挥手:客户端收到终止连接报文后,会发送一个终止应答报文给服务端。发送完之后客户端进入时间等待状态(TIME_WAIT),需要经过2MSL的时间后,客户端才进入CLOSED状态。而服务端收到该报文之后才会进入CLOSED状态,连接才真正被释放

17. TCP断开连接为什么需要四次挥手?

TCP是一种全双工通信协议,但同时它又允许某一端进入半关闭状态,即断开某个数据传输方向的单向信道,但保留相反方向的单向信道。正因为这些特性,TCP断开连接需要四次挥手。假如客户端首先终止连接:

(1) 第一/二次挥手会断开客户端到服务端方向的数据传输连接,但因为服务端到客户端的数据传输连接没有被断开,因此客户端还可以继续接受服务端的数据,只是无法再传输数据到服务端。

(2) 第三/四次挥手会断开服务端到客户端方向的数据传输连接,因为之前已经断开了一条单向传输连接,因此此次断开会将TCP的双向连接全部关闭。至此,TCP连接才会被真正关闭。

18. 四次挥手后TCP连接就立即关闭了吗,为什么?

(1) 不是的。在发送第四次挥手的报文后,会先进入一个时间等待状态(TIME_WAIT),在此状态下连接还未被释放。只有等2MSL的时间后,才会关闭连接,而另一端在收到第四次挥手的报文之后则会马上关闭连接。

(2) 2MSL:MSL(Maximum Segment Lifetime)——“最长报文段寿命”,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。2MSL刚好是一个报文及其确认在网络上存在的最长时间,也是能让本端知道某个报文是否到达对端的最长等待时间

(3) 设置时间等待状态(TIME_WAIT)主要是为了第四次挥手的报文能够到达对端。因为这个报文有可能丢失,从而导致对端收不到确认报文,无法释放连接。我们必须要设置一个等待时间看对端是否有发出重传请求,保证第四次挥手的报文能到达对端。

19. 说说TCP的粘包/拆包?

(1) 拆包:一个完整的报文可能会被TCP拆分成多个包进行发送

(2) 粘包:TCP有可能把多个小的数据包封装成一个大的数据包发送

(3) 其原因是TCP面向的是无序的字节流,不把应用层传下来的数据看成有序的数据包,所以会在将不满足大小的数据进行粘包/拆包,然后再进行传输。

(4) UDP是面向数据部并且是无连接的,他不会产生这种现象

(5) 粘包/拆包会使接收方接收到无序的数据流,导致无法区分数据是分属哪一个报文

(6) 解决方案

① 消息定长。

② 在包尾部增加回车或者空格符等特殊字符进行分割。

③ 在应用层上增加一个用以区分数据边界的协议。

20. TCP 协议如何保证可靠传输?

(1) 基于连接:通信前确认通信实体存在。

(2) 序号机制:确保了数据是按序、完整到达。

(3) 数据校验:检验数据是否出错。

(4) 超时重传:保证因链路故障未能到达的数据能够被重发。

(5) 窗口机制:提供流量控制,避免过量发送。

(6) 拥塞控制:提供拥塞控制,避免链路拥塞。

21. RTO,RTT和超时重传之间的关系?

(1) 超时重传:发送端发送报文后若因为某种原因长时间未收到确认,则需要重发该报文。

(2) RTT:数据从发送到接收,再到收到对方确认之间的时间间隔,即数据报在网络中一个往返时延,大小不稳定。

(3) RTO:超时重传的重传间隔,即发送报文后的等待确认时间。通常每次RTO是前一次RTO的两倍,计量单位是RTT。例:1RTT,2RTT,4RTT,8RTT……重传次数到达上限之后停止重传

22. TCP拥塞控制和流量控制的区别?

(1) 流量控制属于通信双方协商;拥塞控制涉及通信链路全局

(2) 流量控制需要通信双方各维护一个发送窗、一个接收窗。对任意一方,接收窗大小由自身决定,发送窗口大小由接收方的TCP报文段中的窗口值确定

(3) 拥塞控制的拥塞窗口大小由试探性发送一定数据量数据探查网络状况后而自适应调整

(4) 实际最终发送窗口 = min{发送窗口,拥塞窗口}。

23. 说说TCP的流量控制?

(1) TCP提供流量控制来控制通信双方的数据发送速率,避免使接收方缓存区溢出

(2) TCP提供一种基于滑动窗口的流量控制机制,在通信过程中,接收方根据自己接收缓存的大小,设置TCP报文段的“窗口”字段,动态地调整发送方的发送窗口大小

24. 说说TCP的拥塞控制?

拥塞控制用来避免过多的数据注入到网络中,导致网络拥塞。实现原理是在通信双方维持一个拥塞控制窗口(单位为MSS),用特定的拥塞控制算法来调整窗口大小。拥塞控制有四种算法:慢开始、拥塞避免、快重传、快恢复。虽然是四种算法,但通常是两两结合使用。

(1) 慢开始和拥塞避免

① 在拥塞窗口中会维持一个门限值ssthresh,一开始会给这个门限值设置一个初始值。一旦拥塞窗口值大于这个门限值则代表当前传输的报文较多,需要进行算法转换。

② 慢开始会将拥塞窗口值设置为1,然后每经过一个传输轮次(往返时延RTT)后就会成倍增长,如1、2、4、8这样的增长速度。

③ 拥塞避免是在拥塞窗口值到达ssthresh之后切换的算法,他每经过一个传输轮次之后会进行一个线性增大,即每次只增加1。

(2) 快重传和快恢复

① 快重传是在网络出现拥塞时会使用的算法。快重传会立即将拥塞窗口值设置为当前窗口值的一半,并将该值设置为新的门限值ssthresh。

② 快恢复会在拥塞窗口减半后,从当前拥塞窗口值开始使用拥塞避免算法,而不是从1开始。

(3) 拥塞控制算法的使用:在刚建立TCP连接和网络出现超时时会使用慢开始和拥塞避免,因为网络出现超时则表明网络拥塞情况比较严重,需要最大限度地抑制数据发送量,将拥塞窗口值重置为1并重新开始慢开始和拥塞避免。当发送方接收到冗余ACK确认包时,采用快重传和快恢复,此时的拥塞情况比较轻,不需要大的调整。

(4) 拥塞控制算法并不能完全避免拥塞,只能使网络比较不容易出现拥塞

25. 快重传的时机为什么是收到3个重复ACK而不是2个?

(1) 主要的考虑还是要区分包的丢失是由于链路故障还是乱序等其他因素引发

(2) 两次重复ACK时很可能是传输数据时的乱序造成的,而三次重复ACK则更可能是网络拥塞导致的丢包造成的。

(3) 随着次数的增大,丢包的可能性就更大,但如果把这个值设置得过大,会导致响应策略过慢,实践之后确认了使用3这个数字作为快重传的基准值。

26. 传输层的复用和分用是什么意思?

(1) 复用:发送方不同的应用进程都可使用同一个传输层协议传送数据。

(2) 分用:接收方的传输层在剥去报文的首部后,能够把这些数据正确交付到目的应用进程。

27. 套接字Socket是什么?

在网络中通过IP地址来标识和区别不同主机,通过端口号来标识一台主机中的不同应用进程,端口号与IP地址的拼接构成了套接字Socket,它唯一地标识网络中的一台主机和其上的一个应用进程

28. MSS的大小能随意设置吗?

(1) 不能。规定最大报文段MSS的大小并不是考虑到接收方的缓存可能放不下TCP报文段,而是考虑其网络利用率和传输开销

(2) 若TCP报文段只含有1B的数据,那么TCP+IP首部的字段至少有40B,这样网络利用率会很低。

(3) 若TCP报文段很长,那么在IP层传输时还要进行分片和组装,这些会使传输开销增大。

29. TCP使用的是GBN还是选择重传?

(1) TCP使用累积确认机制,但是正确收到但失序的报文并不会丢弃,而是缓存起来,并且发送冗余ACK指明期望收到的下一个报文,这是与GBN和选择重传的显著区别。

(2) TCP可视为GBN和选择重传的混合体

30. 假设链路全都无差错且结点不故障,那么TCP的可靠性是否会多余?

即使这样仍有可能会出现以下情况,只有可靠交付才能解决。

(1) 数据经过IP层传输,每个IP数据报独自确定传输路径,有可能会失序

(2) 网络拥塞时路由器可能会丢弃数据包,导致数据包无法到达

应用层

1. 网络应用模型?

(1) 客户/服务器(C/S)模型:有一个总是打开的主机称为服务器,它服务于许多来自其他称为客户机的主机请求。

① 网络中各计算的地位不平等,服务器可使用用户权限来限制客户机。

② 客户机相互之间不直接通信。

③ 可扩展性不佳,服务器支持的客户机数量有限。

(2) P2P模型:网络中的内容不再被保存在服务器上,每个结点都同时具有下载上传的功能

① 减轻了服务器压力,大大提高了系统效率和资源利用率。

② 可扩展性好,数量上没有限制。

③ 网络健壮性好,单个结点的失效不会影响其他结点。

④ 在获取服务的同时还要为其他主机提供服务,会占用较多内存,影响整机速度。

2. 详细说说DNS?

(1) DNS:Domain Name System(域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址。

(2) 域名解析:通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析。

(3) 域名的层级关系:域名的结构由若干个分量组成,各分量之间用“点”隔开,分别代表不同级别的域名。

(4) 域名服务器:域名服务器可以完成域名解析,而且还具有连向其他域名服务器的信息,当自己不能完成域名解析时,能够知道到什么地方找其他域名服务器。域名服务器分为三类:根域名服务器、顶级域名服务器、授权域名服务器

(5) 本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器,由本地域名服务器帮助主机查询,减轻主机负担。它不算在域名系统层次结构内,特点是离主机比较近。一个本地域名服务器也可作为权限域名服务器

(6) 域名解析过程:域名解析包含两种查询方式,分别是递归查询和迭代查询

① 递归查询:如果本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以DNS客户端的身份,向其他根域名服务器继续发出查询请求报文,即替主机继续查询,而不是让主机自己进行下一步查询。

② 迭代查询:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP 地址,要么告诉本地服务器下一步应该找哪个域名服务器进行查询,然后让本地服务器进行后续的查询。

③ 由于递归查询对于根域名服务器负担太大,通常采用以下模式:从请求主机到本地域名服务器的查询是递归查询,而其余的查询是迭代查询

(7) 高速缓存:为了提高DNS的查询效率,减轻服务器负荷,在查询的过程中,不管是主机还是服务器都设置有高速缓存,用来存放最近查询过的域名解析结果。

3. DNS使用TCP还是UDP?

(1) DNS是应用层协议,它的底层传输协议很多人会说使用UDP,但它也有用TCP

(2) 当进行区域传送(DNS使用了主从复制,区域传送即指进行主从数据同步)时会使用 TCP,因为数据同步传送的数据量比较多,为了保证数据的正确性,会使用基于可靠连接的 TCP。

(3) 当进行域名解析时,返回的查询结果一般不会超过 UDP 报文的最大长度。用 UDP 传输时,不需要经过 TCP 三次握手的过程,大大提高了响应速度,但这要求主机和域名服务器都必须自己保证可靠性。端口号为53

4. 说说DNS负载均衡?

(1) 当一个网站有足够多的用户的时候,假如每次请求的资源都位于同一台机器上面,那么这台机器随时可能会崩溃。

(2) 处理这种问题的办法就是用DNS负载均衡技术,它的原理是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询返回不同的解析结果,将客户端的访问引导到不同的服务器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。

(3) DNS返回的解析结果可以根据每台服务器当前的负载量,该机器离用户地理位置的距离等等而进行决定。

5. 说说FTP协议?

(1) 文件传送协议FTP (File Transfer Protocol),提供不同主机系统(硬、软件体系等都可以不同)之间的文件传输。

(2) FTP是基于C/S模型的协议。用户通过一个客户进程连接到远程服务器上的FTP服务进程,一个服务器可为多个客户进程提供服务。

(3) FTP使用TCP来保证数据传输的可靠性。

(4) TCP会占用两个端口,21端口用来控制连接,在过程中始终保持。20端口用来进行数据传输,传输完即断开。

(5) FTP有两种数据传输方式:主动方式和被动方式

① 主动方式:要进行数据传输时,由客户端随机开放一个端口并告知服务器,服务器通过20端口与之连接并进行数据传输。

② 被动方式:要进行数据传输时,由服务器随机开放一个端口并告知客户端,客户端使用随机端口(不一定是20)与之连接并进行数据传输。

③ 这两种方式的选择权在客户端,但其主被动的区别在于服务器,主动方式是服务器主动连接到客户端的端口,而被动模式是服务器被客户端所连接。

6. 电子邮件的原理?

(1) 电子邮件是一种异步通信方式,通信时不需要双方同时在场。

(2) SMTP:简单邮件传输协议,是一种提供可靠且有效的电子邮件传输的协议,采用C/S模型和TCP协议,端口号为25

(3) POP3:邮局协议,是一个非常简单但功能有限的邮件读取协议,采用C/S模型和TCP协议,端口号为110

(4) 电子邮件的组成结构如下所示,SMTP负责发送,而POP3负责接收

(5) 由于万维网的流行,出现了很多基于万维网的电子邮件,这种电子邮件的特点是用户浏览器与邮件服务器之间的邮件发送和接收都使用HTTP,仅在不同邮件服务器之间使用SMTP

7. 应用层常见协议知道多少?

更新记录

更新日期 更新详情
(2022年05月20日) 内容汇总,主要吸收了拓跋阿秀校招笔记的内容,以及部分面经
(2023年04月22日) 排版升级,分区域总结,如物理层、数据链路层,更容易查找相关内容。进行笔记整理,新增与删减了部分笔记,不再以面经为导向,而是专注于考研408的计算机网络,重新编写一些不清晰的表述。
(2023年08月31日) 将各个大板块重新编号,现在各个版块都有独立的题目编号,互不干扰。将更新记录中的版本号替换为年份日期,取消版本号机制,方便记录更新。
(2023年09月17日) 修改首页文字布局,统一化布局。修改前言。添加前提基础模块。更改正文和标题字体。修改部分问题描述。更新目录。更改笔记名字为计算机网络(基础)。修改参考资料。所有的更新日期都添加前置0,统一长度。

参考资料

《2023年计算机网络考研复习指导——王道考研系列》

《计算机网络》:https://interviewguide.cn/notes/03-hunting_job/02-interview/03-01-net.html

《王道计算机考研 计算机网络》:https://www.bilibili.com/video/BV19E411D78Q

《计算机网络》:https://blog.csdn.net/weixin_45067603/category_10139126.html

《计算机网络笔记——数据链路层(停等协议、GBN、SR)》:https://www.jianshu.com/p/1d6df6c61c3b

《多张图带你彻底搞懂DNS域名解析过程》:https://juejin.cn/post/7065238621866950693

《数据包在网络中的传输过程详解》:https://blog.csdn.net/qq_40276626/article/details/120171326


计算机网络(基础)笔记与总结
http://example.com/2023/09/17/计算机网络(基础)笔记与总结/
作者
苏青羽
发布于
2023年9月17日
许可协议