计算机网络笔记(更新中)

news2024/11/20 20:20:07

本文是个人笔记,都是概念,没基础不建议看。

绪论

计算机网络的定义

  • 最简单的定义:计算机网络是一些互相连接的、自治的计算机的集合
  • 因特网(Internet)是“网络的网络”

计算机网络的组成(物理组成)

物理组成来看,计算机网络包括硬件、软件、协议

  • 硬件包括主机、通信处理机、通信线路和交换设备(交换机、路由器、中继器等连接设备)
  • 软件主要包括实现资源共享的软件和方便用户使用的各种工具软件
  • 协议就是一种数据在线路上传输必须遵循的规则

计算机网络的组成(工作方式)

可以划分为两大块:

  • 边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视屏)和资源共享。
  • 核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)

计算机网络的组成

在这里插入图片描述
边缘部分:处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统。

普通个人电脑
大型计算机

边缘部分:“主机A 和 主机B 进行通信” 实际上是指:“运行在主机 A 上的某个程序和运行在主机 B 上的另一个程序(进程)进行通信”。

端系统之间的通信方式通常可划分为两大类:

  • (C/S方式)客户——服务器方式 即 Client/Server 方式
  • (P2P方式)对等方式 即 Peer-to-Peer 方式

核心部分:网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接受各种形式的数据)

  • 在网络核心起特殊作用的是路由器(router)
  • 路由器是实现分组交换和路由选择的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能
  • 分组转发和路由选择是网络核心部分最重要的功能

因特网中的服务

通信服务可以分为两大类

  • 面向连接服务(connect-oriented service)

面向连接服务的数据传输过程必须经过连接建立、连接维护与释放连接的三个过程(TCP)

面向连接数据传输的收发顺序不变,传输可靠性好,但是协议复杂,通信效率不高。

  • 无连接服务(connectless service)

无连接服务的每个分组都携带完整的目的节点地址,各分组在系统中是独立传送的

无连接服务中的数据传输过程不需要结果连接建立、连接维护和释放练级的三个过程

数据分组传输过程中,目的结点接收的数据分组可能出现乱序、重复与丢失的现象

无连接服务的可靠性不好,但是协议相对简单,通信效率较高

可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地

不可靠服务是指网络只是尽量正确、可靠地传送,但不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。

可靠服务 ≠ 面向连接
PPP协议是面向连接的,但 PPP协议 是不可靠的

不可靠服务 ≠ 面向无连接
HTTP协议是面向无连接的,但 HTTP协议 是可靠协议

有应答服务是指接收方在收到数据后向发送方给出相应的应答(文件传输服务)

无应答服务是指接收方收到数据后不自动给出应答

计算机网络的特点

  • 连通性(Connectivity)

使上网用户之间都可以交换信息(数据,以及各种音频视频),好像这些用户的计算机都可以彼此直接连通一样

互联网具有虚拟的特点,无法准确知道对方是谁,也无法做到对方的位置

  • 共享(Sharing)

指资源共享

资源共享的含义是多方面的。可以是信息共享、软件共享,也可以是硬件共享。

由于网络的存在,这些资源好像就在用户身边一样,方便使用

计算机网络的功能

  • 数据通信:数据通信是计算机网络最基本和最重要的功能,包括连接控制、传输控制、差错控制、流量控制、路由选择、多路复用等子功能
  • 资源共享:包括数据资源、软件资源以及硬件资源
  • 分布式处理:当计算机网络中的某个计算机系统负荷过重时,可以将部分任务传送给网络中的其他计算机系统进行处理,利用空闲计算机资源提高整个系统的利用率
  • 信息综合处理:将分散在各地计算机中的数据资料进行集中处理或分级处理

计算机网络的分类

按交换技术分类

  • 电路交换网络
  • 报文交换网络
  • 分组交换网络

按传输介质分类

  • 有线网络:光纤,同轴电路,双绞线
  • 无线网络:卫星通信,电磁波,红外线,声波

按拓扑结构分类

  • 星型网络(Star)
  • 总线型网络(Bus)
  • 环形网络(Ring)
  • 网状型网络(Mesh)

按分布范围分类

  • 广域网 WAN (Wide Area Network)
  • 局域网 LAN(Local Network)
  • 城域往 MAN(Metropolitan Area Network)
  • 个人区域网 PAN(Personal Area Network)

按网络的使用者进行分类

  • 公用网(public network)
  • 专用网(private network)

按传输技术分类

  • 广播式网络
  • 点对点网络

计算机网络的性能指标

速率(计算机网络每秒可以发宋的数据)

速率即数据率(Data Rate) 或比特率 (Bit Rate) ,是计算机网络中重要的一个性能指标。速率的单位可以是b/s,kb/s,Mb/s,Gb/s等。速率往往是指额定速率或标称速率。

带宽

带宽是指信号具有的频带宽度,单位是赫(或千赫、兆赫、吉赫等)。现在“带宽”是数字信道所能传送的“最高数据率”的同义词,单位是b/s

延迟时延

数据从网络或链路的一端传送到另一端所需要的时间称为时延,有时也称为延迟迟延。

  • 发送时延 发送数据时,数据帧从结点进入到传输媒体所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最有一个比特发送完毕所需的时间。

发送时延 = 数据帧长度/发送速率(带宽)

  • 传播时延 电磁波在信道中需要传播一定的距离而花费的时间

信号发送速率和信号在信道上的传播速度时完全不同的概念。

传播时延 = 信道长度(米) / 信号在信道上的传播速率(米/秒)

  • 处理时延 交换结点为存储转发而进行一些必要的处理所花费的时间。
  • 排队时延 结点缓存队列中分组排队所经历的时延。排队时延的长短往往取决于网络中当时的通信量

总时延

  • 数据经历的总时延就是发送时延、传播时延、处理时延和排队时延之和
  • 对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率
  • 提高链路带宽减小了数据的发送时延

时延带宽积
在这里插入图片描述

时延带宽积 = 传播时延 ✖️ 带宽

链路的时延带宽积又称为以比特为单位的链路长度

长度的计量方式可以使用m等大家熟悉的单位,还可以使用其他度量单位。时延带宽积就是一种利用比特(b)来作为度量长度,例如A和B两点之间的传播时延是100时,每秒可以发送一个比特(b)数据,那么A和B之间的长度就是100b,这就是时延带宽积

吞吐量

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

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

相关文章

STM32单片机(七)ADC模拟数字转换器----第一节:ADC模数转换器

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…

autoDL上A100运行wiki出错:NVIDIA A100-PCIE-40GB(最后安装好torch+dgl了);学校服务器加2.X版本pytorch

1、A100运行wiki出错:NVIDIA A100-PCIE-40GB with CUDA capability sm_80 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70. If you want to use the NVIDIA A100-PCIE…

CTFshow-pwn入门-pwn26-pwn28

什么是ASLR 大多数的攻击都基于这样一个前提,即攻击者知道程序的内存布局,需要提前知道shellcode或者其他一些数据的位置。因此,引入内存布局的随机化能够有效增加漏洞利用的难度,其中一种技术就是ASLR(Address Space…

Qt颜色、文件、字体对话框

项目目录 界面 一、颜色对话框 QColor color QColorDialog::getColor(QColor(255,0,0));qDebug()<<"r"<<color.red()<<" g "<<color.green()<<" b "<<color.blue(); 二、文件对话框 //文件对话框QString…

《网络安全0-100》-网络攻击方式

网络攻击方式 DoS DDoS攻击 DoS攻击和DDoS攻击都是网络攻击的一种&#xff0c;它们的区别如下&#xff1a; DoS攻击(Denial of Service&#xff0c;拒绝服务攻击)&#xff1a;指攻击者通过向目标计算机或网络发送大量的合法请求&#xff0c;占用其网络资源和带宽&#xff0c;…

Java API

目录 1.JSON 2.多线程 3.网络编程 1.JSON &#xff08;1&#xff09;定义&#xff1a; 1.轻量级的文本数据交换格式 2.具有自我描述性【看到某个JSON数据就能知道它的特点】 3.比XML传输速度快【跨平台】 (2)语法规则&#xff1a; 1.语法&#xff1a; 2.构成要素&#xff…

Cortext-M3系列:M3内核概述(1)

引言&#xff1a; 本系列博客记录的是博主以前学习单片机时期的一些关于MCU内核方面的知识点和笔记&#xff0c;分享给一起学习的小伙伴&#xff0c;也作为复习用处。文中出现的Cortex-M3、CM3、M3均指的是ARM公司的产品Cortex-M3&#xff0c;后面不再赘述。本系列的博客仅仅只…

基于Java共享客栈管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精…

Go语言包设计指南

1. Go包的认知 1.1 Go包是基本功能单元 我们知道Go包是Go编程语言中的一个重要概念&#xff0c;它是一组相关的Go源代码文件。并且&#xff0c;在Go中&#xff0c;每个Go源文件都必须属于一个包。 Go包是一个逻辑上独立的单元&#xff0c;是Go的基本功能单元&#xff0c;用来做…

Redis安装说明(heima)

Redis安装说明&#xff08;heima&#xff09; 笔者的redis(Linux版)的下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87926624 笔者的redis图形化桌面客户端&#xff0c;下载链接地址为&#xff1a;https://download.csdn.net/download/weixin…

Python单元测试框架之pytest -- 断言

对于测试来讲&#xff0c;不管是功能测试&#xff0c;自动化测试&#xff0c;还是单元测试。一般都会预设一个正确的预期结果&#xff0c;而在测试执行的过程中会得到一个实际的结果。测试的成功与否就是拿实际的结果与预期的结果进行比较。这个比的过程实际就是断言&#xff0…

PHP实战开发24-一定要知道PHP中反射的强大应用

文章目录 一、前言1.1 关于反射1.2 PHP中的反射 二、反射的应用2.1 自动注入2.2 动态调用方法2.3 注解解析 总结 一、前言 本文已收录于PHP全栈系列专栏&#xff1a;PHP快速入门与实战 1.1 关于反射 反射是一种编程语言的特性&#xff0c;它允许程序在运行时获取和操作对象的…

kotlin从入门到精通之内置类型

基本类型 声明变量 val&#xff08;value的简写&#xff09;用来声明一个不可变的变量&#xff0c;这种变量在初始赋值之后就再也不能重新赋值&#xff0c;对应Java中的final变量。 var&#xff08;variable的简写&#xff09;用来声明一个可变的变量&#xff0c;这种变量在初始…

CUDA线程的线程层次结构,以及单个线程threadIdx如何使用stride来进行跳步操作,同时对多个数据进行计算

线程层次的概念&#xff1a; 简单说&#xff0c;就是一个grid有多个block,一个block有多个thread. grid有多大&#xff0c;用gridDim表示它有多少个block&#xff0c;具体分为gridDim.x, gridDim.y&#xff0c;gridDim.z。 block有多大&#xff0c;用blockDim表示它有多少个t…

SpringBoot项目结合@Slf4j将日志记录到磁盘和数据库

文章目录 1、背景介绍2、存本地2.1、配置文件2.2、使用 3、存数据库3.1、配置文件改造3.2、过滤器编写3.3、表准备3.4、添加依赖3.5、测试 4、优化4.1、日志定期删除4.2、分库处理4.3、环境 5、总结 1、背景介绍 现在我一个SpringBoot项目想记录日志&#xff0c;大概可以分为下…

深度学习助力版面分析技术,图像“还原”有方

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精…

【Python 随练】分数序列

题目&#xff1a; 有一分数序列&#xff1a;2/1&#xff0c;3/2&#xff0c;5/3&#xff0c;8/5&#xff0c;13/8&#xff0c;21/13… 求出这个数列的前 20 项之和。 简介&#xff1a; 在本篇博客中&#xff0c;我们将研究一个有趣的数学问题&#xff1a;求解一个特殊数列的…

MySQL出现Specified key was too long; max key length is 3072 bytes解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

算法篇——动态规划 01背包问题 (js版)

416. 分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 链接&#xff1a;力扣 解题思路&#xff1a; 这道题看似是比较简单的背包问题&#xff1a; 首先可以通过判断数组和是否是…

MVC框架的model,view,controllr如何运作

第一步&#xff1a; MVC 是&#xff1a;model&#xff0c;view&#xff0c;controller 的缩写。 第二步&#xff1a; view负责界面显示&#xff0c;也就是jsp&#xff0c;html页面 controller是控制业务流程&#xff0c;也就是servlet&#xff0c;service等java文件 model是…