《计算机网络——自顶向下方法》精炼——1.4到1.7

news2025/2/26 19:13:20

三更灯火五更鸡,努力学习永不止。无惧困难与挑战,砥砺前行向成功。

文章目录

  • 引言
  • 正文
    • 时延
      • 排队时延
    • 吞吐量
    • 协议层次,服务模型(重点)
    • 封装(重点)
    • 网络安全(选看)
      • 恶意软件的分类
      • 僵尸网络
      • 拒绝服务攻击(DOS)
        • 弱点攻击,连接洪泛
        • 带宽洪泛
      • 分组嗅探
      • IP哄骗

引言

计算机网络在这一学科中的重要性毋庸置疑,而黑皮书又是这一学科的教科书级经典,因此本书是计算机从业者的必读书之一。笔者用一个专栏来精炼这本书的知识,帮助想了解这方面知识的同学快速打下基础。
在该专栏中,笔者不会严格按照章节的顺序来讲述,而是会直接列出知识点并进行介绍,以帮助大家理解。

正文

时延

时延大体上分为结点处理时延、排队时延、传输时延、传播时延。所有时延加起来称为节点总时延。

  1. 结点处理时延:每个路由器内处理到达分组的各种信息造成的时延。
  2. 排队时延:分组在路由器内排队造成的时延。
  3. 传输时延:路由器将一个分组的所有比特转发进传输链路造成的时延。
  4. 传播时延:分组在传输链路内传播的造成的时延。

在这几种时延中,排队时延需要重点介绍。

排队时延

将比特到达路由器缓存的速率设为B,将比特推出路由器缓存的速率设为A,则B/A被称为流量强度。
流量强度是个很关键的概念。下图表示流量强度与排队时延的关系,由于每个分组在队伍中位置不一样,因此排队时延不同,这里取平均排队时延。
在这里插入图片描述
我们分析一下这张图:

  1. 流量强度小于1时,随着其增加,平均排队时延显著增长,很好理解。
  2. 流量强度大于1时,平均排队时延为无限,因为缓存中的分组队伍会越来越长。因此无论什么时候,流量强度也不能大于1

吞吐量

从发送主机到接收主机传输时,接收主机在一瞬间内接收到数据的速率就是瞬时吞吐量,传输一整个文件时瞬时吞吐量的平均值就是平均吞吐量。
文件的平均吞吐量取决于主机之间的瓶颈链路。举个例子,制约一个工厂的流水线速度的一定是最慢的那个步骤。

协议层次,服务模型(重点)

在多层协议组成的服务模型中,发送主机中要传输的数据由上层协议加上一些他们想加上的信息(称为封装),并选择要传递的下层协议;在接收主机中,由下层协议首先接收数据,通过在接收主机中封装上的信息选择如何在本层协议中处理这份数据并选择合适的上层协议。
以网络使用者的角度来看,每一层协议能提供的服务不仅仅只是本层协议的特有服务,也包括下层协议提供的服务。
(在这里不理解也没关系,有印象就好,在之后的讲解中会逐渐加深各层协议之间如何通过信息传递而联系起来的。)
整个服务模型所有协议的集合称为协议栈。计算机网络协议栈共有七层,但因特网只配备了五层,剩下的两层需要应用程序的开发者按照需要自己编写。下图是两种协议栈的图片:
在这里插入图片描述

  1. 应用层:存储网络应用程序及应用层协议。应用层的信息分组称为报文。
  2. 运输层:发送主机的运输层将应用程序的报文汇总,封装上自己的信息;接受主机的运输层则将接收到的数据按照封装上的信息分给各个应用程序。经过封装产生的运输层的信息分组称为报文段。
  3. 网络层:网络层在抽象层面上实现了主机到主机之间的数据传输。经过封装产生的网络层信息分组称为数据报。
  4. 链路层:链路层协助网络层进行信息传输。在主机/路由器之间传输数据时,数据从网络层下放到链路层,到下一个路由器时再上传到网络层,经过处理后再下放到链路层,一直循环到目的主机。链路层封装的信息分组称为帧。
  5. 物理层:这一层的协议负责真正从物理层面以比特为单位传输数据。

在完整的七层OSI模型中,附加了表示层和会话层,在本书中只是简要介绍这两层。

  1. 表示层:使通信的应用程序能解释交换数据的含义
  2. 会话层:提供数据交换定界和同步功能。

封装(重点)

这一概念笔者在之前经常提到。总的来说,封装就是发送主机在协议栈中的每一层,协议都会为要运输的数据加上属于自己的信息,这就称作封装。封装上的数据称为首部字段。

网络安全(选看)

有很多方法能危害到网络安全,本书只介绍常见的知识点:

恶意软件的分类

恶意软件分为病毒和蠕虫,它们之间的主要区别是:病毒需要认为进行明显交互才能侵入计算机,而蠕虫不需要明显交互,因此更难防御。

僵尸网络

恶意程序感染主机后,会利用这些被感染的主机继续攻击其他主机,被感染的主机会形成一个网络,这个网络被称为僵尸网络。

拒绝服务攻击(DOS)

拒绝服务攻击(DOS):通过给网络程序发送恶意数据使其失去工作能力。DOS攻击分为弱点攻击,带宽洪泛(重点),连接洪泛

弱点攻击,连接洪泛

  1. 弱点攻击:通过攻击主机或服务器代码中的弱点,实现只用少量数据就能够瘫痪服务。
  2. 连接洪泛:向攻击主机发起很多很多不用的连接,使收攻击主机无法接收合法连接而瘫痪服务

带宽洪泛

带宽洪泛需要向被攻击主机一次性发送极大量的分组,单靠一个发送源无法发送如此大量分组,因此一般需要多个发送源,这就叫做分布式DOS(DDOS)攻击。

分组嗅探

若在无线传输设备的附近放置一台接受所有分组的接收机,就能得到该传输设备传输的所有信息,这就叫做分组嗅探。进行分组嗅探的机器叫做分组嗅探机。
防御分组嗅探的方法就是让传输的分组变得只能被自己人辨认,也就是加密。

IP哄骗

通过制作一个拥有任意源地址,分组内容或目的地址的分组,来让接收主机或路由器误认为这是来自另外一个用户(拥有被修改源地址的真正用户),这种行为称作IP哄骗。
我们需要利用端点鉴别机制来防御IP哄骗。(将在第8章学习端点鉴别)

——————————分割线——————————
我是霜_哀,在算法之路上努力前行的一位萌新,感谢你的阅读!码文不易,如果觉得好的话,可以关注一下,我会在将来带来更多更全面的算法讲解!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/427236.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据分析与挖掘】数据预处理

目录概述一、数据清洗1.1 缺失值处理1.1.1 拉格朗日插值法1.1.2 牛顿插值法1.2 异常值处理二、数据集成2.1 实体识别2.2 冗余属性识别三、数据变换3.1 简单函数变换3.2 规范化3.3 连续属性离散化3.4 属性构造3.5 小波变换四、数据规约4.1 属性规约4.2 数值规约概述 数据挖掘过…

Spring Boot中使用Redis

目录 1.依赖 2.依赖关系 3.配置 4.RedisTemplate 5.基础操作 6.事务 1.依赖 maven依赖如下,需要说明的是,spring-boot-starter-data-redis里默认是使用lettuce作为redis客户端的驱动,但是lettuce其实用的比较少,我们常用的…

如何在 Web 实现支持虚拟背景的视频会议

前言 众所周知,市面上有比如飞书会议、腾讯会议等实现视频会议功能的应用,而且随着这几年大环境的影响,远程协作办公越来越成为常态,关于视频会议的应用也会越来越多,且在远程办公的沟通协作中对沟通软件的使用要求会…

ARMv8-A非对齐数据访问支持(Alignment support)

目录 1,对齐传输和非对齐传输 2,AArch32 Alignment support 2.1 Instruction alignment 指令对齐 2.2 Unaligned data access 非对齐数据访问 2.3 SCTLR.A Alignment check enable 3,AArch64 Alignment support 3.1 Instruction align…

Text to image论文精读GigaGAN: 生成对抗网络仍然是文本生成图像的可行选择

GigaGAN是Adobe和卡内基梅隆大学学者们提出的一种新的GAN架构,作者设计了一种新的GAN架构,推理速度、合成高分辨率、扩展性都极其有优势,其证明GAN仍然是文本生成图像的可行选择之一。 文章链接:https://arxiv.org/abs/2303.0551…

大数据周会-本周学习内容总结07

目录 01【hadoop】 1.1【编写集群分发脚本xsync】 1.2【集群部署规划】 1.3【Hadoop集群启停脚本】 02【HDFS】 2.1【HDFS的API操作】 03【MapReduce】 3.1【P077- WordCount案例】 3.2【P097-自定义分区案例】 历史总结 01【hadoop】 1.1【编写集群分发脚本xsync】…

【vue3】关于ref、toRef、toRefs那些事

😉博主:初映CY的前说(前端领域) 📒本文核心:ref、toRef、toRefs的使用方法 【前言】我们在上一节的学习当中,使用了reactive()函数将vue3中的数据变成响应式的数据,本文中所讲的三个方法也能实现将数据转化…

安全防御之IPsec VPN篇

目录 1.什么是数据认证,有什么用,有哪些实现的技术手段? 2.什么是身份认证,有什么用,有哪些实现的技术手段? 3.什么是VPN技术? 4.VPN技术有哪些分类? 5.IPsec技术能够提供哪些安…

走进小程序【八】微信小程序中使用【Vant组件库】

文章目录🌟前言🌟Vant介绍🌟Vant安装🌟npm 支持🌟使用Vant🌟引入组件🌟页面使用组件🌟样式覆盖🌟介绍🌟解除样式隔离🌟使用外部样式类&#x1f31…

基于冯洛伊曼拓扑的鲸鱼算法用于滚动轴承的故障诊断研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…

【YOLO】YOLOv8实操:环境配置/自定义数据集准备/模型训练/预测

YOLOv8实操:环境配置/自定义数据集准备/模型训练/预测引言1 环境配置2 数据集准备3 模型训练4 模型预测引言 源码链接:https://github.com/ultralytics/ultralytics yolov8和yolov5是同一作者,相比yolov5,yolov8的集成性更好了&a…

C++面向对象丨1. 内存分区模型

Author:AXYZdong 硕士在读 工科男 有一点思考,有一点想法,有一点理性! 定个小小目标,努力成为习惯!在最美的年华遇见更好的自己! CSDNAXYZdong,CSDN首发,AXYZdong原创 唯…

图解NLP模型发展:从RNN到Transformer

图解NLP模型发展:从RNN到Transformer 自然语言处理 (NLP) 是深度学习中一个颇具挑战的问题,与图像识别和计算机视觉问题不同,自然语言本身没有良好的向量或矩阵结构,且原始单词的含义也不像像素值那么确定和容易表示。一般我们需…

【随笔记】Win11、RTX3070、CUDA117的深度学习机器学习环境配置

文章目录一、创建深度学习 Conda 虚拟环境二、安装 Pytorch-Gpu三、安装 PyTorch Geometric四、安装 Sklearn五、Jupyter 配置5.1 将虚拟环境加入内核5.2 插件配置5.3 主题、字体、字号配置假设你已经安装了Anaconda3(最新Anaconda3的安装配置及使用教程&#xff08…

里程碑,ChatGPT插件影响几何?

目录插件发布网络浏览器代码解释器平台生态微软魄力总结3月15日OpenAI推出了GPT-4,引起了全球轰动,仅仅过去一周多时间,OpenAI又宣布推出插件功能。如果说ChatGPT是AI的“iPhone时刻”,那么插件就是ChatGPT的“App Store”。超强的…

SpringBoot整合Flink(施耐德PLC物联网信息采集)

SpringBoot整合Flink(施耐德PLC物联网信息采集)Linux环境安装kafka前情:施耐德PLC设备(TM200C16R)设置好信息采集程序,连接局域网,SpringBoot订阅MQTT主题,消息转至kafka&#xff0c…

【chatgpt-01】部署学术神器chatgpt_academic

目录1 chatgpt_academic简介2 前置准备3 项目下载/配置4 安装依赖5 项目配置6 运行7 测试实验性功能1 chatgpt_academic简介 chatgpt_academic是一个科研工作专用ChatGPT拓展,特别优化学术Paper润色体验,支持自定义快捷按钮,支持markdown表格…

Jenkins部署与自动化构建

Jenkins笔记 文章目录Jenkins笔记[toc]一、安装Jenkinsdocker 安装 JenkinsJava启动war包直接安装二、配置mavenGit自动构建jar包三、自动化发布到测试服务器运行超时机制数据流重定向编写清理Shell脚本四、构建触发器1. 生成API token2. Jenkins项目配置触发器3. 远程Git仓库配…

Elasticsearch:配置选项

Elasticsearch 带有大量的设置和配置,甚至可能让专家工程师感到困惑。 尽管它使用约定优于配置范例并且大部分时间使用默认值,但在将应用程序投入生产之前自定义配置是必不可少的。 在这里,我们将介绍属于不同类别的一些属性,并讨…

【风光场景生成】基于改进ISODATA的负荷曲线聚类算法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳座右铭&#…