计算机网络之概述
一、概述
1.1因特网概述
定义
- 网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成。
- 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)因此,互联网是“网络的网络(Netwrok of Networks)”。
- 因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)。
发展阶段
ISP:用户主机通过ISP获得IP地址接入因特网。

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

早期计算机网络主要是广域网,它从逻辑功能上分为资源子网和通信子网两个部分:
- 资源子网一负责数据处理的主计算机与终端,资源包括:计算机硬件、软件和数据
- 通信子网一负责数据通信处理的通信控制处理机与通信线路如路由器和光纤
1.2三种交换方式
名词:
路由器:最重要的分组交换机,负责将各种网络互连起来,并对接收到的分组进行转发。
报文:表示消息的整块数据。
分组(包):在发送报文之前,先将其划分成为一个个更小的等长数据段,加上一些由必要的控制信息组成的首部(包头)后形成分组。
首部:包含分组的目的地址。
过程:
发送方:构造和发送分组。
路由器:存储和转发分组。
接收方:接收分组和还原报文。
(1).电路交换:
电话交换机接通电话线的方式称为电路交换;
通信之前首先要建立连接,使用已建立好的连接进行数据传送,
数据传送结束后,需要释放连接,以归还之前建立连接所占用的通信线路资源。
电路交换三个步骤
- 建立连接(分配通信资源):例如在使用电路交换打电话前,必须先拨号请求建立连接,当被叫用户听到电话交换机送来的拨号音并拿起电话后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信中不会被其他用户占用
- 通话(一直占用通信资源):分配的资源始终被占用
- 释放连接(归还通信资源)
(2).分组交换
可以随时发送报文,而不需要事先建立连接,
构成原始报文的一个个分组,依次在各结点交换机上存储转发,结点交换机在发送分组的同时,还缓存接收到的分组。
分组相比报文交换:提高了可靠性,减少了转发时延。
- 发送方:①构建分组 ②发送分组
- 路由器:①缓存分组 ②转发分组
- 接收方:①接收分组 ②还原报文
(3).报文交换
可以随时发送报文,而不需要事先建立连接,
整个报文先传送到相邻结点交换机,全部存储下来后进行查表转发到下一个结点交换机。
(4)对比


1.3计算机网络定义和分类
定义
定义:将地理位置不同的具有独立功能的多个计算机系统利用通信设备和线路互相连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信
息传递的计算机系统
- 互连:指计算机之间可以通过有线或无线的方式进行数据通信
- 自治:指独立的计算机,它有自己的硬件和软件,可以单独运行使用
- 集合:指至少需要两台计算机
分类
作用范围的不同,可分为:广域网(WAN)、城域网(MAN)、局域网(LAN)、个人区域网(PAN)
拓扑结构:总线型星型(依赖根节点)、环型(实时性好)、网状型、树型、蜂窝
局域网 广域网的区别
新的理解:不单单从网络覆盖范围区分局域网和广域网
应用了广域网技术
应用了局域网技术局域网:自己购买设备,自己维护,带宽固定 100M 1000M 距离100米以内
广域网:花钱买服务,花钱买带宽
通信方式

1.4计算机网络的性能指标
性能指标可以从不同的方面来度量计算机网络的性能
速率
注意区分数据量和速率中表示相同而大小、单位不同。
带宽

吞吐量

时延
发送速率:由网卡的发送速率、信道带宽和接口速率最小值决定。
电磁波的传播速率:
自由空间: 3x108m/s
铜线: 2.3x108m/s
光纤: 2.0x108m/s
时延带宽积

往返时间RTT
利用率

丢包率
1.5计算机网络体系结构(重难点)
常见结构
- OSI体系结构
- TCP/IP体系结构(最主要)
- 原理体系结构(用于教学)

HTTP协议:支持万维网应用
SMTP协议:支持电子邮件
FTP协议:支持文件传送
TCP协议:可靠传输
UDP协议:不可靠传输
IP协议(网际协议):1. 互联不同的网络接口 2. 为各种网络应用提供服务

专用术语
- 实体:任何可发送或接收信息的硬件或软件进程。
对等实体:收发双方相同层次中的实体。 - 协议:控制两个对等实体进行逻辑通信的规则的集合。
- 服务:在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下一层所提供的服务。
协议是“水平的",服务是“垂直的”。
实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是"透明的"。 - 网络层的服务访问点为IP数据报首部中的”协议字段”;
运输层的服务访问点为“端口号”。
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令, 这些命令称为服务原语。服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
数据链路层的服务访问点为帧的“类型字段”
协议的三要素:语法(定义所交换信息的格式)、语义(定义收发双方所要完成的操作)、同步(定义收发双方的时序关系)。
协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元。
服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据单元。
多个SDU可以合成为一个PDU;一个SDU也可划分为几个PDU。

相关文章:
计算机网络之概述
一、概述 1.1因特网概述 定义 网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成。多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)因此,互联网是“网络的网络…...
git stash save untracked not staged
git stash save untracked not staged 如图 解决方案: git stash save "tag标记信息" --include-untracked或者: git stash save -u "tag标记信息" git stash clear清空本地暂存代码_zhangphil的博客-CSDN博客文章浏览阅读486次。…...
spring-boot集成mybatis-generator
通用 Mapper 在 1.0.0 版本的时候增加了 MyBatis Generator (以下简称 MBG) 插件,使用该插件可以很方便的生成实体类、Mapper 接口以及对应的 XML 文件。 下面介绍了 mybatis-generator 在 spring-boot 中的使用过程 一、引入pom依赖 <dependencies><de…...
C++中用于动态内存的new和delete操作符
文章目录 1、动态分配内存的应用2、动态分配内存与分配给普通变量的内存有什么不同?3、C 中如何分配/释放内存4、new 操作符4.1 使用new的语法4.2 初始化内存4.3 分配内存块4.4 普通数组声明 Vs 使用new4.5 如果运行时没有足够内存可用怎么办? 5、delete 操作符 C/…...
什么是美颜sdk?集成第三方美颜sdk的步骤
本文将深入探讨如何集成第三方美颜sdk,为直播平台引入更先进、更具吸引力的美颜特效。 第一步:选择合适的第三方美颜sdk 在开始集成美颜sdk之前,首要任务是选择适合自己直播平台需求的第三方美颜sdk。不同的sdk可能具有不同的特色和性能&a…...
Gogs服务搭建及软件的使用
Gogs基本操作使用:https://blog.51cto.com/yangxingzhen/5980346 Gitea—私有git服务器搭建教程:https://huaweicloud.csdn.net/638db200dacf622b8df8c7f1.html?spm1001.2101.3001.6650.3&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7ECTR…...
Python基础语法之学习运算符
Python基础语法之学习运算符 一、代码二、效果 一、代码 print("1 1 ", 1 1) print("1 - 1 ", 1 - 1) print("1 * 1 ", 1 * 1) print("11 / 5 ", 11 / 5) print("11 // 5 ", 11 // 5) print("9 % 5 ", 9…...
freertos任务调度机制深度分析(以RISC-V架构为例)
1、前言 本文是以RISC-V架构为例进行讲解,在汇编代码层面和ARM架构不一样,但是整体框架是一样的侧重任务调度底层机制讲解,讲解代码只保留了基本功能,可配置的功能基本都已经删除本文是以可抢占式调度机制进行讲解RISC-V架构只支持…...
深入了解Spring Boot中@Async注解的8大坑点
文章目录 1. 缺少EnableAsync注解2. 异步方法需独立3. 不同的异步方法间无法相互调用4. 返回值为void的异步方法无法捕获异常5. 外部无法直接调用带有Async注解的方法6. Async方法不适用于private方法7. 缺失异步线程池配置8. 异步方法与事务的兼容结语 🎉深入了解S…...
C语言——深入理解指针(3)
目录 1. 字符指针 2. 数组指针 2.1 数组指针变量 2.2 数组指针变量的初始化 3.二维数组传参(本质) 4. 函数指针 4.1 函数指针变量的创建 4.2 函数指针的使用 4.3 typedef 5. 函数指针数组 6. 转移表(函数指针数组的使用ÿ…...
图书管理系统源码,图书管理系统开发,图书借阅系统源码配置和运行图解源码已附加
目录 配置简介和软件条件 数据库附件配置 vs应用程序web.config配置数据库链接字符串 数据库文件脚本代码 配置简介和软件条件 所需要的软件是Vs2017以上数据库是Sqlserver2012以上,如果数据库附件不了可以使用数据库脚本附件数据库脚本会在文章末尾写出来。可以…...
FFmpeg介绍
官方网站:http://www.ffmpeg.org/ 项目组成 libavformat 封装模块,封装了Protocol层和Demuxer、Muxer层,使得协议和格式对于开发者来说是透明的。FFmpeg能否支持一种封装格式的视频的封装与解封装,完全取决于这个库,…...
修改网卡PHY的灯-RK3568
文章目录 前言1.定制PHY的灯2.通过命令修改LED状态3.修改驱动效果前言 前面我们已经移植了网卡到开发板上面,也能够正常的进行通信,但是,我们会发现座子上面的灯并没有全部亮起来,而且这些灯的含义是什么,并没有讲解到,这里,就此问题,展开学习。 PHY 有一个重要的功能…...
11月29日作业
作业: 自己封装一个矩形类(Rect),拥有私有属性:宽度(width)、高度(height), 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show(…...
【从删库到跑路 | MySQL总结篇】表的增删查改(进阶下)
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 目录 一、联合…...
【机器学习 | 可视化系列】可视化系列 之 决策树可视化
🤵♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...
配置阿里云的yum仓库
目录 配置阿里云的yum源 清理官方yum源 下载阿里云的yum源 centos7下载阿里云yum源: 清理yum缓存:yum cleam all 生成自己的yum缓存:yum makecache 使用centos自带的官方yum源下载很慢,那今天来跟大家说说配置阿里云的yum仓…...
Kubernetes之kubeadm日志展示篇—K8S私有云worker节点gluster安装部署
文章目录 一. 服务器信息1.1 环境准备1.2 配置hosts解析记录 二. 安装与部署2.1 配置仓库 (所有节点)2.2 安装服务 (所有节点)2.3 启动服务 (所有节点)2.4 配置资源池 (主节点)2.5 创…...
P3368 【模板】树状数组 2 (区间修改,单点查询)
本题链接:【模板】树状数组 2 - 洛谷 题目: 输入 5 5 1 5 4 2 3 1 2 4 2 2 3 1 1 5 -1 1 3 5 7 2 4 输出 6 10 思路: 根据题意,这里是需要区间添加值,单点查询值。如果区间添加值中暴力去一个个加值,肯定…...
智慧城市运营管理平台解决方案:PPT全文61页,附下载
关键词:智慧城市建设方案,智慧城市解决方案,智慧城市的发展前景和趋势,智慧城市建设内容,智慧城市运营管理平台 一、智慧城市运营平台建设背景 随着城市化进程的加速,城市面临着诸多挑战,如环…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...




