当前位置: 首页 > news >正文

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

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

文章目录

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

引言

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

正文

时延

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

  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章学习端点鉴别)

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

相关文章:

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

三更灯火五更鸡,努力学习永不止。无惧困难与挑战,砥砺前行向成功。 文章目录 引言正文时延排队时延 吞吐量协议层次,服务模型(重点)封装(重点)网络安全(选看)恶意软件的分…...

消息队列 (Message Queue)

消息队列 What 消息队列 是消息的队列;是消息的临时缓冲;是发布/订阅模式的兄弟;在多个进程/线程间实现异步通讯模式。 Why 消息队列在多个进程/线程中实现了异步通讯模式。 这里我们先介绍下同步消息处理。对于同步消息处理&#xff0…...

JavaScript原型链污染学习记录

1.JS原型和继承机制 0> 原型及其搜索机制 NodeJS原型机制,比较官方的定义: 我们创建的每个函数都有一个 prototype(原型)属性,这个属性是一个指针,指向一个对象, 而这个对象的用途是包含可…...

顶级白帽黑客必备的十大黑客技术

1.熟悉Linux系统和命令行操作: Linux是黑客的基石,几乎所有黑客工具和技术都是在Linux平台上运行的,熟悉Linux系统和命令行操作是必须的。 2.掌握网络协议和TCP/IP模型: 了解TCP/IP模型、网络协议和通信流程是黑客攻击的基础&a…...

【关于认证鉴权一些概念梳理】

关于认证鉴权一些概念梳理 记录一些灵感瞬间聊聊Session,Cookie和Token三剑客的特性前后端分离登录中的springsecurity与不分离的异同三更up关于springSecurity的讲解B站知乎上关于springSecurity的讲解掘金大佬SpringSecurityJWT认证流程解析一个权限对应一个资源&…...

16.网络爬虫—字体反爬(实战演示)

网络爬虫—字体反爬 一字体反爬原理二字体反爬模块FonttoolsTTF文件 三FontCreator 14.0.0.2790FontCreatorPortable下载与安装 四实战演示五后记 前言: 🏘️🏘️个人简介:以山河作礼。 🎖️🎖️:Python领域…...

BOM概述

目录 什么是BOM 浏览器对象模型(Browser Object Model (BOM)) Window对象 一些常用方法 JavaScript Window Screen Window Screen Window Screen 高度 Window Screen 可用宽度 Window Screen 可用高度 Window Screen 色深 Window Screen 像素深…...

3.Docker实用技术

Docker实用篇 0.学习目标 1.初识Docker 1.1.什么是Docker 微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署…...

群体无人机:协同作战的未来

摘要:本文将探讨群体无人机技术的发展及其在多个领域的应用,特别是在军事作战、救援任务和物流方面的潜力。我们将分析群体无人机在协同作战中的优势,以及如何通过协同控制和通信技术实现更高效的任务完成。 内容: 引言 简要介绍…...

如何在Windows AD域中驻留ACL后门

前言 当拿下域控权限时,为了维持权限,常常需要驻留一些后门,从而达到长期控制的目的。Windows AD域后门五花八门,除了常规的的添加隐藏用户、启动项、计划任务、抓取登录时的密码,还有一些基于ACL的后门。 ACL介绍 …...

LVGL移植——stm32f4

LVGL移植说明 移植LVGL版本:8.3.6 主控:STM32F407ZGT6 github链接:https://github.com/lvgl/lvgl.git 文章目录 LVGL移植说明STM32移植LVGL①需要的依赖文件②移植显示驱动文件③将文件加入工程当中④配置心跳④修改栈堆的空间⑤编译链接 STM…...

ASEMI代理ADP5054ACPZ-R7原装ADI车规级ADP5054ACPZ-R7

编辑:ll ASEMI代理ADP5054ACPZ-R7原装ADI车规级ADP5054ACPZ-R7 型号:ADP5054ACPZ-R7 品牌:ADI/亚德诺 封装:LFCSP-48 批号:2023 引脚数量:48 工作温度:-40C~125C 安装类型:表…...

TCP/IP相关面试题

1. 什么是TCP/IP协议?它的作用是什么? TCP/IP(Transmission Control Protocol/Internet Protocol)互联网中最常用的协议,是计算机网络通信的基础。由TCP协议和IP协议两部分组成。IP协议负责数据的传输和路由选择&#…...

MySQL数据库——MySQL存储过程是什么?

我们前面所学习的 MySQL 语句都是针对一个表或几个表的单条 SQL 语句,但是在数据库的实际操作中,经常会有需要多条 SQL 语句处理多个表才能完成的操作。 例如,为了确认学生能否毕业,需要同时查询学生档案表、成绩表和综合表&…...

消息队列中的事务消息

大家好,我是易安!今天我们谈一谈消息队列中的事务消息这个话题。 一说起事务,你可能自然会联想到数据库。我们日常使用事务的场景,绝大部分都是在操作数据库的时候。像MySQL、Oracle这些主流的关系型数据库,也都提供了…...

03. 路由参数.重定向.视图

学习要点: 1.路由参数 2.路由重定向 3.路由视图 本节课我们来开始进入学习路由的参数设置、重定向和路由的视图。 一.路由参数 1. 上一节课,我们已经学习了部分路由参数的功能,比如动态传递{id}; 2. 那么,有…...

Flowable入门

Flowable初体验 Flowable是什么 Flowable 是一个使用 Java 编写的轻量级业务流程引擎,常用于需要人工审批相关的业务,比如请假、报销、采购等业务。 为什么要使用工作流呢? 对于复杂的业务流程,通过数据库的状态字段难以控制和…...

Scala Option类型,异常处理,IO,高阶函数

Option类型 实际开发中, 在返回一些数据时, 难免会遇到空指针异常(NullPointerException), 遇到一次就处理一次相对来讲还是比较繁琐的. 在Scala中, 我们返回某些数据时,可以返回一个Option类型的对象来封装具体的数据,从而实现有效的避免空指针异常。S…...

unity进阶学习笔记:单例模式

游戏框架: 游戏框架一般包括消息框架,状态机,管理器,工具类。 消息框架指游戏物体之的通信框架,虽然unity引擎自带一套消息框架,但该框架只能用于父子物体之间通信,无法实现大部分非父子关系的…...

软件测试——性能指标

登录功能示例: 并发用户数500; 响应时间2S; TPS到500; CPU不得超过75%; 性能指标有哪些? 响应时间 并发用户数 TPS CPU 内存 磁盘吞吐量 网络吞吐量 移动端FPS 移动端耗电量 APP启动时间 性能…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来&#xf…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...