计算机网络相关知识点总结(二)





比特bit是计算机中数据量的最小单位,可简记为b。字节Byte也是计算机中数据量的单位,可简记为B,1B=8bit。常用的数据量单位还有kB、MB、GB、TB等,其中k、M、G、T的数值分别为 2 10 2^{10} 210, 2 20 2^{20} 220, 2 30 2^{30} 230, 2 40 2^{40} 240

K, M, G, T 分别对应以下英文字母表示的单位:

  • K:千(kilo)
  • M:兆(mega)
  • G:吉(giga)
  • T:太(tera)

2 10 = 1024 ≈ 1000 2^{10}=1024\approx 1000 210=10241000,即千(K),往后以此类推。


连接在计算机网络上的主机在数字信道上传送比特的速率也称为比特率或数据率,其最小单位为bps,常用单位还有kbps、Mbps、Gbps、Tbps等,其中k、M、G、T的数值分别为 1 0 3 = 1000 10^{3}=1000 103=1000, 1 0 6 = 1000 000 10^{6}=1000\ 000 106=1000 000, 2 9 = 1000 000 000 2^{9}=1000\ 000\ 000 29=1000 000 000, 2 12 = 1000 000 000 000 2^{12}=1000\ 000\ 000\ 000 212=1000 000 000 000

计算机中内存空间的计算方式是以二进制的形式计算的,而网络中的传输比特速率是以十进制的形式计算的,所以出现了以上的单位差别。




假设在某段链路上传输某个10MB的数据块,链路带宽为10Mb/s,信号传播速率为200000km/s,链路长度为1000km,则数据块的发送时延约为 8.4 s ‾ \underline{\ \ \ \ 8.4\ s\ \ \ \ }     8.4 s    

发送时延可由以下公式计算:

发送时延 = 数据块大小 / 发送带宽

对于这个问题,数据块大小为10MB,链路带宽为10Mb/s。需要注意的是,速率单位要一致,所以需要将数据块大小转换成位(bit)。

1字节(Byte)= 8位(bit)

10MB = 10 * 8 * 1024 * 1024 bits(将MB转换成bits)

发送时延 = (10 * 8 * 1024 * 1024) / 10Mb/s

10 × 8 × 1024 × 1024 = 83886080 ÷ 10 000 000 = 8.388608 ≈ 8.4 ( s ) 10\times8\times1024\times1024=83886080\div10\ 000\ 000=8.388608\approx8.4\ (s) 10×8×1024×1024=83886080÷10 000 000=8.3886088.4 (s)

计算结果为:

发送时延约为 8.3886 秒。




假设主机A和B之间的链路带宽为100Mbps,主机A的网卡速率为1Gbps,主机B的网卡速率为10Mbps,主机A给主机B发送数据的最高理论速率为 10 M b p s ‾ \underline{\ \ \ \ 10Mbps\ \ \ \ }     10Mbps    

主机与主机之间的最大传输速率受限于传输速率最低的链路。




设主机A的发送时延为10ms,链路带宽为20Mbit/s,传播时延为20ms,则该链路的时延带宽积为 400 000 b i t ‾ \underline{\ \ \ \ \ 400\ 000\ bit\ \ \ \ \ }      400 000 bit     

时延带宽积=传播时延 x 链路带宽,需要换算单位。

时延带宽积的现实含义:一条有一定长度的物理链路,一个数据包从一端到另一端所需要的时间为 传播时延,链路带宽为该链路的速率,它们两个相乘便得到了该链路的比特容量,即在这个传播时延的时间内,它最大可以容纳多少比特量,从而衡量该链路的指标,它提供了一种对网络性能和传输效率的估计。

现实含义上,时延带宽积可以用来衡量网络的容量和延迟之间的权衡。它表示在给定的链路上,同时存在的数据包的数量的上限。当时延带宽积较小时,意味着链路的容量不足以容纳大量的数据包,可能导致拥塞和丢包;而当时延带宽积较大时,链路具有更高的容量,可以容纳更多的数据包并减少丢包的可能性。

时延带宽积还与应用程序的性质和需求有关。例如,在实时视频流或语音通信等对延迟敏感的应用中,较小的时延带宽积是更为理想的,因为它可以减少传输时延,并保证实时性。而对于大规模文件传输或数据备份等对吞吐量要求较高的应用,较大的时延带宽积可以充分利用链路带宽,提高传输效率。

总之,时延带宽积是一个重要的参数,可以帮助我们评估网络性能,并在设计和优化网络时进行合理的权衡和调整。




传播时延最大的链路是 同步卫星链路       ‾ \underline{\ \ \ \ \ \ \ 同步卫星链路\ \ \ \ \ \ }        同步卫星链路      

常见的物理链路包括以下几种种类:

  • 以太网(Ethernet):以太网是一种最常用的有线局域网技术,使用双绞线或光纤作为传输介质。它具有较高的带宽和低延迟,并支持多种速率,如10Mbps、100Mbps、1Gbps、10Gbps等。

  • 光纤链路:光纤链路使用光纤作为传输介质,通过光信号来传输数据。光纤链路具有高带宽、低损耗、抗干扰能力强的优点,适用于长距离传输和高速数据传输需求。

  • 无线链路:无线链路是通过电磁波无线传输数据的链路,常见的无线链路包括Wi-Fi、蓝牙、移动通信(如4G、5G)等。无线链路具有灵活性和便携性,但相对有线链路,可能存在信号衰减、干扰、传输速率受限等问题。

  • 卫星链路:卫星链路利用卫星进行数据传输,适用于远距离通信,覆盖范围广。卫星链路的传播时延相对较高,主要取决于信号的传播距离和经过的卫星数量。
    卫星链路曾被认为是传播时延最大的链路,但是随着科技的发展,未来它的传输性能可能会逐渐提高。同步卫星为了与地球的自转保持同步,其轨道半径交大,离地远,所以传播时延较高。而大名鼎鼎的星链卫星,其运行在近地轨道,从而提升传输性能,多个近地卫星之间进行通信,弥补了其覆盖范围较小的缺点。




假定网络的利用率达到了90%,则当前的网络时延是网络空闲时的时延的 10 倍     ‾ \underline{\ \ \ 10倍\ \ \ \ }    10    

假设网络的利用率达到了90%,根据公式 “网络时延 = 1 / (带宽 * (1 - 利用率))”,我们可以计算当前的网络时延相对于网络空闲时的时延的倍数。

当网络处于空闲状态时,利用率为0,此时网络时延为:

网络时延(空闲)= 1 / (带宽 * (1 - 0)) = 1 / 带宽

而当网络利用率达到90%时,网络时延变为:

网络时延(当前)= 1 / (带宽 * (1 - 0.9)) = 1 / (0.1 * 带宽)

所以,当前的网络时延相对于网络空闲时的时延的倍数为 1 / (0.1 * 带宽) * 1 / 带宽 = 10倍。

换句话说,当前网络的时延是网络空闲时的时延的10倍。


因特网采用的网络体系结构是 TCP/IP体系结构


TCP/IP体系结构中的 网络接口层 对应OSI/RM体系结构的 物理层、数据链路层


在OSI参考模型中,对等实体是指 收发双方相同层次中的实体。、

在OSI参考模型中,对等实体指的是在通信过程中相互交互和通信的两个网络节点或主机。它们可以通过各层之间定义的协议进行通信,并在数据传输过程中进行数据的封装、传输和解析等操作。每一层都有相应的对等实体来处理特定层级所需的功能和任务。




在TCP/IP参考模型中,运输层的相邻下层实现的主要功能是 IP数据报在多个网络间的传输




在OSI参考模型中,控制两个对等实体进行逻辑通信的规则的集合称为 协议




TCP通信双方在基于TCP连接进行通信之前,首先要通过“三报文握手”来建立TCP连接,三次报文握手是为了确保可靠建立TCP连接并同步双方的初始序列号(ISN)。

  • 第一次握手(SYN):客户端发送一个带有SYN标志的TCP包到服务器,请求建立连接。此时客户端进入SYN_SENT状态。

  • 第二次握手(SYN+ACK):服务器接收到客户端的请求后,会发送一个带有SYN和ACK标志的TCP包作为响应。ACK确认号设置为客户端发送的序列号加1,同时服务器也选择一个自己的初始序列号。此时服务器进入SYN_RCVD状态。

  • 第三次握手(ACK):客户端接收到服务器的确认后,向服务器发送一个带有ACK标志的TCP包,确认收到服务器的响应。客户端的ACK确认号设置为服务器发送的序列号加1。此时,服务器进入ESTABLISHED状态,客户端也进入ESTABLISHED状态,TCP连接建立完成。

为什么需要三次握手呢?

第一次握手可以让服务器确认客户端的存在,并确保客户端能够接收到服务器的回复。但此时客户端不知道服务器是否收到了自己的请求。

第二次握手服务器发送了响应,此时客户端可确认自己的请求已经送达到服务器,并能够接收到服务器的响应。但此时服务器仍然不知道客户端是否真的能接收到自己的响应。

第三次握手客户端发送了确认,此时服务器可以确认自己的响应已经成功送达到客户端,并且客户端也能接收到服务器的响应。至此,双方都可以信任对方,并认为连接已经建立起来。

通过三次握手,可以确保TCP连接的可靠性和同步性,避免了由于网络传输延迟、丢包或失序等原因引起的问题。这种机制能够保证客户端和服务器双方互相确认彼此的能力,并建立起稳定的通信环境。


物理层、数据链路层、网络层、运输层的传输单位(或称协议数据单元PDU)分别是 比特、帧、分组(数据报)、报文段




------------------------------------------------------end--------------------------------------------------

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

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

相关文章

JDK、JRE、JVM三者之间的关系以及区别

一、关系 JDK JRE Java 开发工具包 [Java,Javac,Javadoc,Javap等] JRE JVM Java 的核心类库 二、JDK,JRE与JVM介绍 1、JDK JDK是用于Java程序开发的最小环境,包含:Java程序设计语言,Java虚拟机(JVM)&#xff0…

Spring:Bean生命周期

Bean 生命周期生命周期 Bean 生命周期是 bean 对象从创建到销毁的整个过程。 简单的 Bean 生命周期的过程: 1.实例化(调用构造方法对 bean 进行实例化) 2.依赖注入(调用 set 方法对 bean 进行赋值) 3.初始化(手动配置 xml 文件中 bean 标签的 init-method 属性值,来指…

集成算法的参数空间与网格优化

目录 1. 探索参数空间 1.1 学习曲线 1.2. 决策树对象Tree 2. 使用网格搜索在随机森林上进行调参 1. 探索参数空间 随机森林集成算法的超参数种类繁多、取值丰富,且参数之间会相互影响、共同作用于算法的最终结果,因此集成算法的调参是一个难度很高的过…

Git 常见问题

Git 常见问题 Git 常见问题分支没有跟踪信息通常错误信息提示如下:解决方案 Git 常见问题 分支没有跟踪信息 如果在执行 git pull 时出现这个错误信息,通常是因为当前分支没有设置跟踪信息,Git不知道应该去哪个远程分支拉取代码。 通常错误信息提示如下&#xff…

什么是GPT?

文章目录 1、什么是GPT?2、gpt版本时间线3、我们能用GPT做什么?4、如何快速体验GPT?5、作为一名开发者,如何在代码中使用GPT?6、如何在现有项目中使用和部署GPT?7、GPT的优缺点?8、对于人工智能…

【Matlab】智能优化算法_麻雀搜索算法SSA

【Matlab】智能优化算法_麻雀搜索算法SSA 1.背景介绍2.数学模型3.文件结构4.伪代码5.详细代码及注释5.1 Get_Functions_details.m5.2 main.m5.3 SSA.m 6.运行结果7.参考文献 1.背景介绍 麻雀通常是群居的鸟类,有很多种类。它们分布在世界的大部分地区,喜…

【【51单片机的蜂鸣器-11】】

51单片机的蜂鸣器 DS1302我一直有问题搁置了几百天了 先来看看蜂鸣器 搞了一个礼拜verilog然后出去吃饭 估计自己得有10多天没看c语言和51单片机了 现在先处理一下蜂鸣器的问题 蜂鸣器 蜂鸣器分为有源蜂鸣器和无源蜂鸣器 有源内部自带震荡源,将正负极接上直流电压…

Spring的创建和使用

文章目录 一、通过Maven创建一个Spring项目准备工作(第一次需要配置)1.创建一个Maven项目2.引入依赖(spring-context、spring-beans)3.添加启动类 二、存储Bean对象1.创建一个Bean对象2.把Bean对象存储到Spring中 三、获取Bean对象…

招聘小程序制作:连接人才与企业

随着人才市场的竞争日益激烈,招聘小程序成为了企业寻找优秀人才和求职者找到理想工作的重要工具。通过招聘小程序,企业可以发布招聘信息、筛选简历,而求职者可以浏览职位、提交简历等。 招聘小程序的好处 精准匹配人才:招聘小程序…

二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: [] 代…

k8s Label 2

在 k8s 中,我们会轻轻松松的部署几十上百个微服务,这些微服务的版本,副本数的不同进而会带出更多的 pod 这么多的 pod ,如何才能高效的将他们组织起来的,如果组织不好便会让管理微服务变得混乱不堪,杂乱无…

VScode 右键菜单加入使用用VSCode打开文件和文件夹【Windows】

VScode 右键菜单加入使用用VSCode打开文件和文件夹【Windows】 介绍修改注册表添加右键打开文件属性修改注册表添加右键打开文件夹属性修改注册表添加右键空白区域属性 介绍 鼠标右击文件或者文件夹,可直接用VSCode打开,非常方便。但如果我们在安装VSCo…

工厂方法模式详解

文章目录 前言一、工厂方法模式的定义二、举个例子三、工厂方法模式的缺点总结 前言 工厂方法模式是应用比较广泛的一种设计模式,它相对于简单工厂模式进行了一些优化,如果再增加一个具体产品不用修改代码,也不会违反开闭原则。 一、工厂方法…

暴雪娱乐遭DDoS攻击,《暗黑破坏神》等多款游戏受影响

6月25日上午11点,有游戏玩家反应Blizzard Battle.net无法登入、连线缓慢及网站问题,暴雪也证实其电玩平台遭到DDoS攻击。 暴雪娱乐的 Battle.net在线服务遭到分布式拒绝服务(DDoS)攻击,导致玩家无法正常登录游戏或游戏…

vue中export和export default

参考:vue中export和export default的使用 参考:vue里的export default

VSCode下载安装(保姆级--一步到胃)

前言 Visual Studio Code(简称“VSCode” )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且…

SAP CAP篇十:理解Fiori UI的Annoation定义

本文目录 本系列此前的文章官方文档和基础概念SAP CAP对Fiori UI的支持package.json的新增内容Annotation定义List Page 生成的Edmx文件 对应代码及branch 本系列此前的文章 SAP CAP篇一: 快速创建一个Service,基于Java的实现 SAP CAP篇二:为Service加上…

Python爬虫学习笔记(四)————XPath解析

目录 0.xpath最新下载地址和安装教程 1.xpath安装 2.xpath基本使用 3.xpath基本语法 4.实例 (1)xpath解析本地文件 (2)xpath解析服务器响应的数据 ①获取百度网站的“百度一下”四个字 ②获取站长素材网站情侣图片前十页的…

TypeScript 学习笔记(七):条件类型

条件类型 TS中的条件类型就是在类型中添加条件分支,以支持更加灵活的泛型,满足更多的使用场景。内置条件类型是TS内部封装好的一些类型处理,使用起来更加便利。 一、基本用法 当T类型可以赋值给U类型时,则返回X类型&#xff0c…

小程序首页轮播图设计

效果图 微信小程序的数据详解 indicator-dots:是否显示面板指示点【默认false 】 indicator-color:指示点颜色【默认rgba(0, 0, 0, .3)】 indicator-active-color:当前选中的指示点颜色【默认#000000】 autoplay:是否自动切换…