三更灯火五更鸡,努力学习永不止。无惧困难与挑战,砥砺前行向成功。
文章目录
- 引言
- 正文
- 时延
- 排队时延
- 吞吐量
- 协议层次,服务模型(重点)
- 封装(重点)
- 网络安全(选看)
- 恶意软件的分类
- 僵尸网络
- 拒绝服务攻击(DOS)
- 弱点攻击,连接洪泛
- 带宽洪泛
- 分组嗅探
- IP哄骗
引言
计算机网络在这一学科中的重要性毋庸置疑,而黑皮书又是这一学科的教科书级经典,因此本书是计算机从业者的必读书之一。笔者用一个专栏来精炼这本书的知识,帮助想了解这方面知识的同学快速打下基础。
在该专栏中,笔者不会严格按照章节的顺序来讲述,而是会直接列出知识点并进行介绍,以帮助大家理解。
正文
时延
时延大体上分为结点处理时延、排队时延、传输时延、传播时延。所有时延加起来称为节点总时延。
- 结点处理时延:每个路由器内处理到达分组的各种信息造成的时延。
- 排队时延:分组在路由器内排队造成的时延。
- 传输时延:路由器将一个分组的所有比特转发进传输链路造成的时延。
- 传播时延:分组在传输链路内传播的造成的时延。
在这几种时延中,排队时延需要重点介绍。
排队时延
将比特到达路由器缓存的速率设为B,将比特推出路由器缓存的速率设为A,则B/A被称为流量强度。
流量强度是个很关键的概念。下图表示流量强度与排队时延的关系,由于每个分组在队伍中位置不一样,因此排队时延不同,这里取平均排队时延。
我们分析一下这张图:
- 流量强度小于1时,随着其增加,平均排队时延显著增长,很好理解。
- 流量强度大于1时,平均排队时延为无限,因为缓存中的分组队伍会越来越长。因此无论什么时候,流量强度也不能大于1
吞吐量
从发送主机到接收主机传输时,接收主机在一瞬间内接收到数据的速率就是瞬时吞吐量,传输一整个文件时瞬时吞吐量的平均值就是平均吞吐量。
文件的平均吞吐量取决于主机之间的瓶颈链路。举个例子,制约一个工厂的流水线速度的一定是最慢的那个步骤。
协议层次,服务模型(重点)
在多层协议组成的服务模型中,发送主机中要传输的数据由上层协议加上一些他们想加上的信息(称为封装),并选择要传递的下层协议;在接收主机中,由下层协议首先接收数据,通过在接收主机中封装上的信息选择如何在本层协议中处理这份数据并选择合适的上层协议。
以网络使用者的角度来看,每一层协议能提供的服务不仅仅只是本层协议的特有服务,也包括下层协议提供的服务。
(在这里不理解也没关系,有印象就好,在之后的讲解中会逐渐加深各层协议之间如何通过信息传递而联系起来的。)
整个服务模型所有协议的集合称为协议栈。计算机网络协议栈共有七层,但因特网只配备了五层,剩下的两层需要应用程序的开发者按照需要自己编写。下图是两种协议栈的图片:
- 应用层:存储网络应用程序及应用层协议。应用层的信息分组称为报文。
- 运输层:发送主机的运输层将应用程序的报文汇总,封装上自己的信息;接受主机的运输层则将接收到的数据按照封装上的信息分给各个应用程序。经过封装产生的运输层的信息分组称为报文段。
- 网络层:网络层在抽象层面上实现了主机到主机之间的数据传输。经过封装产生的网络层信息分组称为数据报。
- 链路层:链路层协助网络层进行信息传输。在主机/路由器之间传输数据时,数据从网络层下放到链路层,到下一个路由器时再上传到网络层,经过处理后再下放到链路层,一直循环到目的主机。链路层封装的信息分组称为帧。
- 物理层:这一层的协议负责真正从物理层面以比特为单位传输数据。
在完整的七层OSI模型中,附加了表示层和会话层,在本书中只是简要介绍这两层。
- 表示层:使通信的应用程序能解释交换数据的含义
- 会话层:提供数据交换定界和同步功能。
封装(重点)
这一概念笔者在之前经常提到。总的来说,封装就是发送主机在协议栈中的每一层,协议都会为要运输的数据加上属于自己的信息,这就称作封装。封装上的数据称为首部字段。
网络安全(选看)
有很多方法能危害到网络安全,本书只介绍常见的知识点:
恶意软件的分类
恶意软件分为病毒和蠕虫,它们之间的主要区别是:病毒需要认为进行明显交互才能侵入计算机,而蠕虫不需要明显交互,因此更难防御。
僵尸网络
恶意程序感染主机后,会利用这些被感染的主机继续攻击其他主机,被感染的主机会形成一个网络,这个网络被称为僵尸网络。
拒绝服务攻击(DOS)
拒绝服务攻击(DOS):通过给网络程序发送恶意数据使其失去工作能力。DOS攻击分为弱点攻击,带宽洪泛(重点),连接洪泛
弱点攻击,连接洪泛
- 弱点攻击:通过攻击主机或服务器代码中的弱点,实现只用少量数据就能够瘫痪服务。
- 连接洪泛:向攻击主机发起很多很多不用的连接,使收攻击主机无法接收合法连接而瘫痪服务
带宽洪泛
带宽洪泛需要向被攻击主机一次性发送极大量的分组,单靠一个发送源无法发送如此大量分组,因此一般需要多个发送源,这就叫做分布式DOS(DDOS)攻击。
分组嗅探
若在无线传输设备的附近放置一台接受所有分组的接收机,就能得到该传输设备传输的所有信息,这就叫做分组嗅探。进行分组嗅探的机器叫做分组嗅探机。
防御分组嗅探的方法就是让传输的分组变得只能被自己人辨认,也就是加密。
IP哄骗
通过制作一个拥有任意源地址,分组内容或目的地址的分组,来让接收主机或路由器误认为这是来自另外一个用户(拥有被修改源地址的真正用户),这种行为称作IP哄骗。
我们需要利用端点鉴别机制来防御IP哄骗。(将在第8章学习端点鉴别)
——————————分割线——————————
我是霜_哀,在算法之路上努力前行的一位萌新,感谢你的阅读!码文不易,如果觉得好的话,可以关注一下,我会在将来带来更多更全面的算法讲解!