计算机网络和因特网

Internet:

主机/端系统(end System / host):

  • 硬件

  • 操作系统

  • 网络应用程序

通信链路:

  • 光纤、网络电缆、无线电、卫星

  • 传输效率:带宽(bps)

分组交换设备:转达分组

包括:路由器和交换机

协议:

作用:控制发送信息、接收信息

定义:在两个或多个通讯实体之间交换的报文格式次序,以及在报文传输和接受或其他事件方面所采取的动作 

主要协议:TCP协议、UDP协议、IP协议等

因特网的标准:

REC:评价文档

IETF:因特网工程任务组


网络结构:

网络边缘:

接入网:将端系统物理连接到其边缘路由器的网络

物理媒体

作用:运行应用程序(Web,email等)

客户/服务器模式:

  • 客户端向服务器请求、接受服务
  • 如Web浏览器/服务器,Email客户端/服务器等

对等(peer-peer)模式:

  • 很少(甚至没有)专门的服务器
  • 如Gnutella、KaZaA、Emule

目标:在端系统之间传输数据

UDP:用户数据报协议(流媒体、远程会议、DNS、Internet电话)
  • 无连接
  • 不可靠数据传输
  • 无流量控制
  • 无拥塞控制

网络核心:路由器的网状网络

电路交换(circuit switch)端到端的资源被分配给源端到目标端的呼叫 

定义:图中,每段链路有4条线路:该呼叫采用了上面链路的第2个线路,右边链路的第一个线路(piece)

特点:
  • 独享资源:不同享(每个呼叫一旦简历2起来就能够保证性能)
  • 如果呼叫没有数据发送,被分配的资源就会被浪费
  • 通常被传统电话网络采用
  • 为呼叫预留端-端资源
  1. 链路带宽、交换能力
  2. 专用资源:不共享
  3. 保证性能
  4. 要求建立呼叫连接

  缺点:

  • 线路交换不适合计算机之间的通信:因为其建立时间长,计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多,并且可靠性也不高

      电路交换网络中的复用:

  • FDM(频分)

  • TDM(时分)

分组交换(packet switch):

实质:存储-转发
分类:(按照有无网络层的连接)
  • 数据报网络
  1. 分组的目标地址决定下一跳
  2. 在不同的阶段,路由可以改变
  3. 类似:问路

数据报的工作原理:
  • 在通信之前,无需建立起一个连接,有数据就传输
  • 每一个分组都独立路由(路径不一样,可能会失序)
  • 路由器根据分组的目标地址进行路由

  • 虚电路网络
  1. 每个分组都带标签(虚电路标记VCID,标签决定下一跳)
  2. 在呼叫建立时决定路径,在整个呼叫中路径保持不变
  3. 路由器维持每个时间的状态信息
  4. X.25 和 ATM
公式:在一个速率为R bps的链路,一个长度为L bps的分组的存储转发延时:L/R s

排队延迟和丢失 :

到达速率 > 链路输出速率:

  • 分组将会排队,等待传输
  • 如果路由器的缓存用完了,分组将会被抛弃

分组交换 VS 电路交换:

  • 总的来说,分组交换允许更多用户使用网络!
  • 电路交换最多支持10个用户同时使用,而分组交换最多可支持35个用户同时使用,且活跃用户>=10的概率为0.0004

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DAP-seq助力揭示转录因子在草地贪夜蛾Bt抗性中重要作用

2024年4月6日,武汉生物工程学院生命科学与技术学院刘磊磊课题组在International Journal of Biological Macromolecules(中科院一区,影响因子8.2)期刊在线发表了“Contribution of the transcription factor SfGATAe to Bt Cry to…

# 从浅入深 学习 SpringCloud 微服务架构(六)Feign(3)

从浅入深 学习 SpringCloud 微服务架构(六)Feign(3) 一、组件的使用方式总结 1、注册中心 1) Eureka 搭建注册中心 引入依赖 spring-cloud-starter-netflix-eureka-server。 配置 EurekaServer。 通过 EnableEure…

Delta模拟器:iOS上的复古游戏天堂

Delta模拟器:iOS上的复古游戏天堂 在数字时代,我们有时会怀念起那些早期的电子游戏,它们简单、纯粹,带给我们无尽的乐趣。虽然现在的游戏在画质和玩法上都有了巨大的提升,但那种复古的感觉却始终无法替代。幸运的是&a…

Pytorch迁移学习训练病变分类模型

划分数据集 1.创建训练集文件夹和测试集文件夹 # 创建 train 文件夹 os.mkdir(os.path.join(dataset_path, train))# 创建 test 文件夹 os.mkdir(os.path.join(dataset_path, val))# 在 train 和 test 文件夹中创建各类别子文件夹 for Retinopathy in classes:os.mkdir(os.pa…

抽象工厂模式(Redis 集群升级)

目录 定义 Redis 集群升级 模拟单机服务 RedisUtils 模拟集群 EGM 模拟集群 IIR 定义使⽤接⼝ 实现调⽤代码 代码实现 定义适配接⼝ 实现集群使⽤服务 EGMCacheAdapter IIRCacheAdapter 定义抽象⼯程代理类和实现 JDKProxy JDKInvocationHandler 测试验证 定义 …

ClickHouse 如何实现数据一致性

文章目录 ReplacingMegreTree 引擎数据一致性实现方式1.ReplacingMegreTree 引擎2.ReplacingMegreTree 引擎 手动合并3.ReplacingMegreTree 引擎 FINAL 查询4.ReplacingMegreTree 引擎 标记 GroupBy5.允许偏差 前言:在大数据中,基本上所有组件都要求…

硬件玩物 | 性价比超高的NAS,威联通【TS-464-C2】快速上手初体验!

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路。] 大家好,我是【WeiyiGeek/唯一极客】一个正在向全栈工程师(SecDevOps)前进的技术爱好者 作者微信:WeiyiGeeker 公众号/知识星球:全栈工程师修炼指南 主页博…

1、k8s问题pod从service中剔除

一、起因 redis原来由两服务器的集群变为三服务器的集群,通过statefulset扩展了两节点,并把redis-app-0和redis-app-3从集群中去除,但是由于service路由后端不变,导致程序连接后端仍然可能到redis-app-0和redis-app-3 二、处理 …

【Unity 实用工具篇】 | UIEffect 实现一系列UGUI特效,描边及阴影特效

前言 【Unity 实用工具篇】 | UIEffect 实现一系列UGUI特效,描边及阴影特效一、UGUI特效插件:UIEffect1.1 介绍 二、组件属性面板三、代码操作组件 总结 前言 在Unity中 UGUI 的使用几乎是必不可少的,虽然也有NGUI、FGUI等可以使用&#xff…

Spring Kafka——基于 Spring Kafka 实现动态管理 Kafka 连接和 topic 的监听

文章目录 使用 Spring Kafka 动态管理 Kafka 连接和主题监听1. 前言2. 简单的消费程序配置3. Spring Kafka 主要的相关类的说明4. KafkaListener 注解的加载执行流程解析5. 动态监听消费订阅的设计与实现 使用 Spring Kafka 动态管理 Kafka 连接和主题监听 文章内容较长&#x…

Error opening file a bytes-like object is required,not ‘NoneType‘

错误显示,打开的是一个无效路径的文件 查看json文件内容,索引的路径与json文件保存的路径不同 方法:使用python脚本统一修改json文件路径 import json import os import argparse import cv2 from tqdm import tqdm import numpy as np impo…

组合优于继承:什么情况下可以使用继承?

C设计模式专栏:http://t.csdnimg.cn/8Ulj3 目录 1.引言 2.为什么不推荐使用继承 3.相比继承,组合有哪些优势 4.如何决定是使用组合还是使用继承 1.引言 面向对象编程中有一条经典的设计原则:组合优于继承,也常被描述为多用组合&#xff0…

JavaScript原理篇——深入理解作用域、作用域链、闭包、this指向

执行上下文描述了代码执行时的环境,包括变量对象、作用域链和 this 值;而作用域则决定了变量和函数的可访问性范围,分为全局作用域和局部作用域。 变量对象用于存储变量和函数声明:是与执行上下文相关联的数据结构,用于…

USB设备的音频类UAC

一、UAC简介 UAC(USB Audio Class)是USB设备的音频类,它定义了USB音频设备与主机计算机通信的方式。UAC标准是USB规范的一部分,并受到各种操作系统(包括Windows、macOS和Linux)的支持。 UAC是基于libusb,实…

代码随想录算法训练营第五十一天| 309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费,总结

题目与题解 参考资料:买卖股票总结 309.最佳买卖股票时机含冷冻期 题目链接:309.最佳买卖股票时机含冷冻期 代码随想录题解:309.最佳买卖股票时机含冷冻期 视频讲解:动态规划来决定最佳时机,这次有冷冻期!|…

【自然语言处理】InstructGPT、GPT-4 概述

InstructGPT官方论文地址:https://arxiv.org/pdf/2203.02155.pdf GPT-4 Technical Report:https://arxiv.org/pdf/2303.08774.pdf GPT-4:GPT-4 目录 1 InstructGPT 2 GPT-4 1 InstructGPT 在了解ChatGPT之前,我们先看看Instr…

k8s pod 无法启动一直ContainerCreating

情况如下,更新 pod 时,一直在ContainerCreating 查看详细信息如下 Failed to create pod sandbox: rpc error: code Unknown desc [failed to set up sandbox container “334d991a478b9640c66c67b46305122d7f0eefc98b2b4e671301f1981d9b9bc6” networ…

Jsoncpp搭建交叉编译环境(移植到arm)

1. 官网下载源码 github地址:GitHub - open-source-parsers/jsoncpp at update 2. 交叉编译环境 当前平台/开发平台-编译环境: [rootlocalroot ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [rootlocalroot ~]# uname -a Lin…

Django框架之Django安装与使用

一、Django框架下载 首先我们需要先确定好自己电脑上的python解释器环境,否则会导致后面项目所需要的库安装不了以及项目无法运行的问题。 要下载Django并开始使用它,你可以按照以下步骤进行: 1、安装Python 首先,确保你的计算…

C/C++开发,opencv-ml库学习,支持向量机(SVM)应用

目录 一、OpenCV支持向量机(SVM)模块 1.1 openCV的机器学习库 1.2 SVM(支持向量机)模块 1.3 支持向量机(SVM)应用步骤 二、支持向量机(SVM)应用示例 2.1 训练及验证数据获取 2…