高级计算机网络---常用知识梳理

基础知识提纲

(1)以太网的基本原理,帧格式;
(2)ARP,DHCP,ICMP协议原理,以及ping命令的工作原理
(3)VLAN基本原理;
(4)交换机工作原理,包括地址自学习,生成树 算法,以太网帧交换流程;
(5)RIP,OSPF,BGP路由协议工作原理;
(6)路由器工作原理,包括控制平面与数据平面的概念,最长前缀转发,输出调度等;
(7)DNS工作原理;
(8)TCP流量控制,拥塞控制和差错控制原理;
(9)http,邮件等常见应用的原理

一、以太网基本原理、帧格式

请简述以太网的工作原理和数据传输过程

https://blog.csdn.net/u011329762/article/details/40507587

以太网设备工作原理

https://blog.csdn.net/qq_34127958/article/details/70144322

以太网帧结构解析

https://blog.csdn.net/u010487568/article/details/39329791

二、ARP,DHCP,ICMP协议原理,以及ping命令的工作原理

ARP与RARP详细解析

https://blog.csdn.net/zln99/article/details/51050472

DHCP协议原理及抓包分析

https://blog.csdn.net/andy_93/article/details/78238931

ping原理与ICMP协议

https://blog.csdn.net/m0_37806112/article/details/82776806

三、VLAN基本原理;

vlan原理解释

https://www.jianshu.com/p/077755c89d82

交换机工作原理,包括地址自学习,生成树算法,以太网帧交换流程

MAC表学习过程:

任何桢发送到交换机上时至少包含源MAC,因此交换机就可以记录一条(端口,MAC)记录到“端口MAC映射表”

交换机的工作原理

http://www.softbar.com/blog/post/123.html

路由器与交换机的基本工作原理

https://blog.csdn.net/qq_35580883/article/details/78879848

扫描二维码关注公众号,回复: 3658875 查看本文章

RIP,OSPF,BGP路由协议工作原理

“RIP、OSPF、BGP”这三个动态路由协议在工作原理上的区别是什么?

https://zhidao.baidu.com/question/524944341797526205.html

常见的动态路由协议(RIP、OSPF、ISIS、BGP)

https://blog.csdn.net/btcover/article/details/50468886

路由器工作原理,包括控制平面与数据平面的概念,最长前缀转发,输出调度等

路由器两大基本功能

1、数据通道功能。数据通道功能包括转发决定、转发以及输出数据链路调度等,一般由硬件来完成;
2、控制功能。一般用软件来实现,包括与相邻路由器之间的信息交换、系统配置、系统管理等。

路由器与交换机的基本工作原理

https://blog.csdn.net/qq_35580883/article/details/78879848

控制平面与数据平面

高端路由器由控制平面control plane和数据平面data plane(也称为转发平面)组成。每个平面都有自己的CPU和内存。控制平面负责执行路由选择协议,管理路由选择处理必备的数据库信息并生成FIB表(Forward Information Base,转发信息库).FIB信息将会被转发到用于接收传输分组的数据平面中。
   控制平面和数据平面分离的优点在于,当需要转发的通信量剧增导致数据平面资源枯竭时,虽然无法继续进行分组转发,但对控制平面上的路由选择处理所涉及的资源没有任何影响。同样,当路由选择处理负载剧增导致控制平面资源枯竭时,也不会给数据平面的资源以及分组转发带来任何影响。
低端路由器的控制平面和数据平面一般不分离,使用唯一的CPU和内存进行处理。当处理的通信量达到极限时,会出现无法完成分组转发,同时路由选择处理也会停止的情况。

路由查找最长前缀匹配

路由掩码最长匹配原则是指IP网络中当路由表中有多条条目可以匹配目的ip时,一般就采用掩码最长的一条作为匹配项并确定下一跳。(也叫最长前缀匹配,是路由器在查找路由表进行选路的算法)
https://blog.csdn.net/jeason29/article/details/45364885

DNS工作原理

DNS服务

DNS是域名系统(Domain Name System)的缩写,是一种组织域层次结构的计算机和网络服务命名系统。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与此名称相关的IP地址信息。
用户在使用网络服务时喜欢在浏览器的地址栏中输入使用主机名和域名组成的名称,如computer.myblog.com,因为这样的名称更容易被用户记住。但是,计算机在网络上是使用IP地址来通信的。为了能够实现网络计算机之间通信,DNS服务器所提供的服务就是将用户所使用的计算机或服务名称映射为IP地址。

DNS步骤

DNS的工作原理及过程分下面几个步骤:
第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五步:重复第四步,直到找到正确的纪录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
例子见:
https://blog.csdn.net/u014774781/article/details/48376123

DNS原理总结及其解析过程详解

https://blog.csdn.net/chenxianru1/article/details/78782728

DNS的工作原理及解析

https://blog.csdn.net/root_robot/article/details/53872812

TCP流量控制,拥塞控制和差错控制原理

TCP协议的流量控制、拥塞控制和差错控制

https://blog.csdn.net/tspangle/article/details/45072919

- 流量控制:

1、流量控制是管理两端的流量,以免会产生发送过块导致收端溢出,或者因收端处理太快而浪费时间的状态。用的是:滑动窗口,以字节为单位

2、窗口有3种动作:展开(右边向右),合拢(左边向右),收缩(右边向左)这三种动作受接收端的控制。
合拢:表示已经收到相应字节的确认了
展开:表示允许缓存发送更多的字节
收缩(非常不希望出现的,某些实现是禁止的):表示本来可以发送的,现在不能发送;但是如果收缩的是那些已经发出的,就会有问题;为了避免,收端会等待到缓存中有更多缓存空间时才进行通信。
发端窗口的大小取决于收端的窗口大小rwnd(TCP报文的窗口大小字段)和拥塞窗口大小cwnd(见拥塞控制)
发端窗口大小 = min{ rwnd , cwnd };

3、关闭窗口:窗口缩回有个例外,就是发送rwnd=0表示暂时不愿意接收数据。这种情况下,发端不是把窗口收缩,二是停止发送数据。(为了比避免死锁,会用一些探测报定时发送试探,见定时器一节)

4、问题:某些时候,由于发端或收端的数据很慢,会引起大量的1字节数据痛惜,浪费很多资源。
(1)、发端的进程产生数据很慢时候,时不时的来个1字节数据,那么TCP就会1字节1字节的发送,效率很低。
解决方法(Nagle算法):
a、将第一块数据发出去
b、然后等到发送缓存有足够多的数据(最大报文段长度),或者等到收端确认的ACK时再发送数据。
c、重复b的过程
(2)、收端进程由于消耗数据很慢,所以可能会有这么一种情况,收端会发送其窗口大小为1的信息,然后有是1字节的传输
解决办法(2种)
a、Clark方法:在接收缓存的一半变空,或者有足够空间放最大报文长度之前,宣告接收窗口大小为0
b、推迟确认:在对收到的报文段确认之前等待到足够的接收缓存,或者等待到一个时间段(现在一般定义500ms)

  • 拥塞控制:

1、如果网络上的负载(发送到网络上的分组数)大于网络上的容量(网络同时能处理的分组数),就可能引起拥塞,判断网络拥塞的两个因素:延时和吞吐量。拥塞控制机制是:开环(预防)和闭环(消除)(见网络原理相关书籍,略)
tcp处理拥塞的三种策略:慢启动(指数增大),拥塞避免(加法增大),拥塞检测(除2减少,或叫做乘法减少)

2、慢启动:指数增大
/* ssthresh是慢开始门限,slow start threshold表示一个上限,一般的实现为65535B */
cwnd = 1;(1表示一个MSS报文段,不是一个字节)
while ( cwnd < ssthresh )
if( 发出的报文段确认 )
cwd *= 2;

3、拥塞避免:加法增大
当到达ssthresh之后,就是加法阶段了,每收到一个确认,cwd += 1;

4、拥塞检测:乘法减少(除2减少)
当报文需要重传时,说明拥塞可能发生了,由于重传有2种情况,所以也分两种处理
(1)、由于超时重传,这是拥塞的可能性比较大,如下做强反映调整
a、 ssthresh /= 2;
b、 cwnd = 1;
重新慢启动过程
(2)、由于收到3个重复的ACK的重传,采取弱反映:
a、ssthresh /= 2;
b、cwnd = ssthresh;
c、开始拥塞避免过程

  • 差错控制:

1、TCP必须保证数据:按序,没有差错,没有部分丢失,没有重复的交给应用层。方法就是:校验和,确认,超时重传

2、校验和:和UDP的做法一样,也要伪首部,和UDP不同的是这个功能在TCP中是必须的

3、确认:ACK的确认机制(下面是一些原则)
a、ACK报文不需要确认,也不消耗序号
b、当一端发送数据时,尽量包含捎带确认。
c、收端推迟发送ACK报文段,如果仅有一个未确认的按序报文段;延迟到500ms,或者有第二个报文段接收时(转d),或者有数据要发送时(转b)
d、任何时候,不能有两个(以上)未确认的报文段(就是说如果收端有两个未确认的按序报文段,就马上发送ACK报文段进行确认)
e、当收到一个序号比期望序号还大的报文段时,马上发送ACK,让发端进行快重传
f、收到重复的报文段,就立即发送确认(解决ACK丢失问题)
g、丢失的报文段到达,发送确认,表示已经收到了丢失的报文

4、确认类型
累计确认:收端忽略掉所有失序报文,告知发端他期待下一个收到的序号,叫做肯定累计ACK。肯定是说:丢弃的,丢失的,重复的都不报告。
选择确认(SACK):在某些新TCP实现里面实现了这个东西,报告失序和重复的数据,作伪TCP首部选项字段的一部分。

5、重传(两种情况) : 重传定时器时间到,或者 发端收到重复的三个ACK(快重传)

http、邮件工作原理

深入理解HTTP协议、HTTP协议原理分析

https://www.cnblogs.com/chenliyang/p/6558756.html

HTTP原理

https://blog.csdn.net/qq_32953079/article/details/59110427

猜你喜欢

转载自blog.csdn.net/xys430381_1/article/details/83048189