【网络奇遇记】那年我与计算机网络的浅相知
🌈个人主页:聆风吟
🔥系列专栏:网络奇遇记、数据结构
🔖少年有梦不应止于心动,更要付诸行动。
文章目录
- 一. 计算机网络的定义
- 1.1 计算机早期的一个最简单的定义
- 1.2 现阶段计算机网络的一个较好的定义
- 二. 计算机网络的分类
- 2.1 按网络的覆盖范围分类
- 2.2 按网络的使用者分类
- 2.3 按其他角度分类
- 三. 计算机网络体系结构中的专用术语
- 3.1 实体与对等实体
- 3.2 协议
- 3.2.1 协议的定义
- 3.2.2 协议的三要素
- 3.3 服务
- 📝全文总结
一. 计算机网络的定义
1.1 计算机早期的一个最简单的定义
定义:一些互连的、自治的计算机的集合。
- “互连” 是指计算机之间可以进行数据通信;
- “自治” 是指独立的计算机,它有自己的软硬件,可以独立运行。
1.2 现阶段计算机网络的一个较好的定义
定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- “可编程的硬件” 不限于计算机,还包括智能手机、具有网络功能的传感器以及智能家电等智能硬件,这些硬件一定包含有中央处理单元(CPU);
- “各类应用” 计算机网络并非只用来传送数据,而是能够基于数据传送进而实现各种各样的应用,包括今后可能出现各种应用。
二. 计算机网络的分类
计算机网络有多种类别,下面从不同角度对计算机网络进行分类。
2.1 按网络的覆盖范围分类
(1)广域网(WAN):覆盖范围通常为几十千米到几千千米。广域网是因特网的核心部分,它为因特网核心路由器提供远距离高速连接,互连分布在不同国家和地区的城域网和局域网。
(2)城域网(MAN):覆盖范围一般为 5 ~ 50km。城域网通常作为城市骨干网,互连大量机构、企业及校园局域网。
(3)局域网(LAN):覆盖范围一般为 1km。局域网通常由微型计算机或工作站通过速率为 10Mb/s 以上的高速链路相连。一个企业或一个学校可能就会有多个互连得局域网,这样的网络常称为校园网或企业网。
(4)个域网(PAN):个域网是个人区域网的简称,其覆盖范围一般为 10m。个域网主要用于个人工作的地方,它把属于个人使用的笔记本电脑、耳机等电子设备用Wi-Fi或蓝牙等无线技术连接起来,因此也常称为无线个域网(WPAN)。
2.2 按网络的使用者分类
(1)公用网:通常是由电信公司出资建造的大型网络。公众只要按照电信公司的规定缴纳费用就可以使用这种网络。
(2)专用网:通常是由某个部门为满足本单位特殊业务的需要而建造的网络,例如银行、电力、铁路、军队等部门的专用网。这种网络不向本单位以外的人提供服务。
2.3 按其他角度分类
除上述两种分类角度外,计算机网络还有很多分类角度。
- 按传输介质分类:有线网和无线网;
- 按网络拓扑分类:总线型、星型、环型、网状型;
- 按交换方式分类:电路交换、报文交换、分组交换;
- 按传输技术分类:点对点、广播……
三. 计算机网络体系结构中的专用术语
上一节我们已经学习了计算机网络的体系结构,今天我们在来介绍一下计算机网络体系结构中的一些术语,以便大家对计算机网络的体系结构有更深入的理解。
需要注意的是,这些专用术语来源于OSI的七层体系结构,但也适用于TCP/IP的四层体系结构和五层原理体系结构。我们将这些专用术语中最具代表性的三个作为分类名称,它们分别是实体、协议、以及服务。
3.1 实体与对等实体
实体的定义:是指任何可发送或接收信息的硬件或软件进程。如下图所示,通信双方五层原理体系结构的各层中,我们用标有字母的方格表示实体。
对等实体的定义:是指通信双方相同层次中的实体。如下图所示,实体A与实体F互为对等实体,实体B与实体G互为对等实体,实体C与实体H互为对等实体,实体D与实体I互为对等实体,实体E与实体J互为对等实体。
3.2 协议
3.2.1 协议的定义
协议的定义:是控制两个对等实体在“水平方向”进行“逻辑通信”的规则集合。如下图所示:
- 物理层对等实体使用物理层协议进行逻辑通信,例如传统的以太网使用曼切斯特编码;
- 数据链路层对等实体使用数据链路层协议进行逻辑通信,例如传统以太网使用CSMA/CD协议;
- 网络层对等实体使用网络层协议进行逻辑通信,例如IP协议;
- 运输层对等实体使用运输层协议进行逻辑通信,例如TCP协议或UDP协议;
- 应用层对等实体使用应用层协议进行逻辑通信,例如HTTP协议,FTP协议以及SMTP协议等。
3.2.2 协议的三要素
计算机网络协议有三个要素,它们分别是语法、语义以及同步。
(1)语法:定义通信双发所交换的信息格式;
(2)语义:定义通信双发所要完成的操作;
(3)同步:定义通信双发的时序关系。
3.3 服务
在协议的控制下,两个对等实体在水平方向的逻辑通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。如下图所示:
需要注意的是:
协议是“水平的”,而服务是“垂直的”。实体能够看到下层提供的服务,但并不知道实现该服务的具体协议。这就好比我们能看到手机给我们提供的各种服务,但我们只是享受这些服务,而没有必要每个人都弄懂手机的工作原理。
在同一系统中相邻两层的实体交换信息的逻辑接口称为服务访问点。服务访问点用于区分不同的服务类型。例如,数据链路层的服务访问点为帧的 “类型” 字段,网络层的服务访问点为IP数据报的 “协议” 字段,运输层的服务访问点为 “端口号” 字段。上层要使用下层所提供的服务,必须通过与下层交换一些命令,这些命令称为服务原语。
拓展:
对等层次之间传送的数据包称为该层的协议数据单元(PDU)。 例如:
- 物理层对等实体间逻辑通信的数据包称为比特流;
- 数据链路层对等实体间逻辑通信的数据包称为帧;
- 网络层对等实体间逻辑通信的数据包称为分组,如果使用IP协议,也称为IP数据报;
- 运输层对等实体间逻辑通信的数据包一般根据协议而定,若使用TCP协议,则称为TCP报文段,若使用UDP协议,则称为UDP用户数据报;
- 应用层对等实体间逻辑通信的数据包一般称为应用报文;
上述各层数据包统称为协议数据单元(PDU)。
同一系统内层与层之间交换的数据包称为服务数据单元(SDU),多个SDU可以合成为一个PDU,而一个SDU也可以划分为几个PDU。
📝全文总结
本文主要讲解:
本文主要深入讲解了计算机网络的定义、各种分类,并对计算机网络体系结构中的专用术语进行了简单介绍。
今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!
相关文章:

【网络奇遇记】那年我与计算机网络的浅相知
🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. 计算机网络的定义1.1 计算机早期的一个最简单的定义1.2 现阶段计算机网络的一个较好的定义 二. …...

LeetCode26.删除有序数组中的重复项(双指针法)
LeetCode26.删除有序数组中的重复项 1.问题描述2.解题思路3.代码 1.问题描述 给你一个 非严格递增排列 的数组 nums ,请你** 原地** 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然…...

原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!-----系列8
文章目录 前言一、原始代码二、对每一行代码的解释:总结 前言 这是该系列原型网络的最后一段代码及其详细解释,感谢各位的阅读! 一、原始代码 if __name__ __main__:##载入数据labels_trainData, labels_testData load_data() # labels_…...

黑马点评回顾 redis实现共享session
文章目录 传统session缺点整体访问流程代码实现生成验证码登录 问题具体思路 传统session缺点 传统单体项目一般是把session存入tomcat,但是每个tomcat中都有一份属于自己的session,假设用户第一次访问第一台tomcat,并且把自己的信息存放到第一台服务器…...

Redis篇---第八篇
系列文章目录 文章目录 系列文章目录前言一、说说 Redis 哈希槽的概念?二、Redis 常见性能问题和解决方案有哪些?三、假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?前言 前些天发现了一个巨牛的人工智能学习网站…...

Unity使用Visual Studio Code 调试
Unity 使用Visual Studio Code 调试C# PackageManager安装Visual Studio EditorVisual Studio Code安装Unity 插件修改Unity配置调试 PackageManager安装Visual Studio Editor 打开 Window->PackageManger卸载 Visual Studio Code Editor ,这个已经被官方废弃安…...

【Linux】进程替换|exec系列函数
文章目录 一、看一看单进程版的进程替换二、进程替换的原理三、多进程版——验证各种程序替换接口exec系列函数execlexeclpexecvexecvp tipsexecleexecve 四、总结 一、看一看单进程版的进程替换 #include<stdio.h> #include<unistd.h> #include<stdlib.h>i…...

Java编程技巧:将图片导出成pdf文件
目录 一、pom依赖二、代码三、测试链接 一、pom依赖 <!-- pdf插件 start --> <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.3</version> </dependency> <dependency…...

二项分布和泊松分布
一、二项分布 1.1 n重伯努利试验 若是二项分布,则必是n重伯努利试验概型。即:每次试验只有两种结果 与 ,且在每次试验中A发生的概率相等,即P(A)p,将这种试验独立重复n次,则称这种试验为n重伯努利试验&#…...

【飞控调试】DJIF450机架+Pixhawk6c mini+v1.13.3固件+好盈Platinium 40A电调无人机调试
1 背景 由于使用了一种新的航电设备组合,在调试无人机起飞的时候遇到了之前没有遇到的问题。之前用的飞控(Pixhawk 6c)和电调(Hobbywing X-Rotor 40A),在QGC里按默认参数配置来基本就能平稳飞行࿰…...

Android studio配置Flutter开发环境报错问题解决
博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家 👉点击跳转到教程 报错问题截图 报错原因已经给出: You need Java 11 or higher to build your app with this version of G…...

2023.11.18 -自用hadoop高可用环境搭建命令
启动hadoop高可用环境 # 1.先恢复快照到高可用环境 # 2.三台服务器启动zookeeper服务 [rootnode1 ~]# zkServer.sh start [rootnode2 ~]# zkServer.sh start [rootnode3 ~]# zkServer.sh start 查看服务状态: [rootnode]# zkServer.sh status 关闭zk服务的命令是: [rootnode]# …...

【Linux】常用系统工作命令
一、Linux文档目录结构 在Linux系统中,目录、字符设备、套接字、硬盘、光驱、打印机等都被抽象成文件形式,“Linux系统中一切都是文件”。Linux系统中的一切文件都是从"根"目录(/)开始的,并按照文件系统层次…...

深入理解网络协议:通信世界的基石
💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在当今数字化时代,网络协议是连接世…...

PL/SQL编程
一、Oracle常用函数 concat:用于连接两个字符串。 CONCAT(Oraok, .com) -- Result: Oraok.com ceil:小数点向上取整。 secect ceil(7.3) from dual --Result: 8 dual表是oracle系统为计算设计的一张临时表 select sysdate as 系统日期 from dual…...

Prompt提示词——什么是CRISPE框架?QCIPSPE框架?
框架介绍 【CRISPE】框架 是由 Matt Nigh 提出并发布的提示词书写框架,共由五部分组成。 这个框架(CRISPE)主要包括五个部分,用于指导用户向ChatGPT提问。首先,通过设定ChatGPT的角色(Capacity and Role&…...

Nginx的核心配置文件
Nginx的核心配置文件 学习Nginx首先需要对它的核心配置文件有一定的认识,这个文件位于Nginx的安装目录/usr/local/nginx/conf目录下,名字为nginx.conf 详细配置,可以参考resources目录下的<<nginx配置中文详解.conf>> Nginx的核…...

Java,集合框架,关于Collection接口(子接口List和Set)
目录 数组储存多个数据方面的特点: Java集合框架体系:(Java.util包下) Collection接口中的方法测试: 迭代器(Iterator)的作用:用来遍历集合元素。 增强for循环(即for…...

已安装的nginx追加ssl模块
Nginx开启SSL模块1 切换到源码包: cd /usr/local/src/nginx-1.11.3 2 查看nginx原有的模块 /usr/local/nginx/sbin/nginx -V 在configure arguments:后面显示的原有的configure参数如下: –prefix/usr/local/nginx --with-http_stub_status_module …...

大语言模型|人工智能领域中备受关注的技术
个人主页:【😊个人主页】 系列专栏:【❤️其他领域】 文章目录 前言关于大语言模型大语言模型是什么?大语言模型有什么用?文案写作知识库回答文本分类代码生成 AWS 如何通过 LLM 提供帮助?Amazon BedrockAmazon SageM…...

Docker之DockerFile解析
DockerFile解析 是什么 Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。 概述 官网 https://docs.docker.com/engine/reference/builder/ 构建三步骤 编写Dockerfile文件 docker build命令构建镜像 docker run依镜像运…...

NSSCTF第13页(2)
[HNCTF 2022 Week1]Challenge__rce 提示?hint 访问看到了源码 <?php error_reporting(0); if (isset($_GET[hint])) { highlight_file(__FILE__); } if (isset($_POST[rce])) { $rce $_POST[rce]; if (strlen($rce) < 120) { if (is_string($rce…...

基于吉萨金字塔建造算法优化概率神经网络PNN的分类预测 - 附代码
基于吉萨金字塔建造算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于吉萨金字塔建造算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于吉萨金字塔建造优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&a…...

Git详解及 github使用
1.1 关于版本控制 开始之前先看一个没有版本控制的例子 1.1.1 本地版本控制 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的 好处就是简单,但是特别容易犯错。有时候会混淆所在…...

iOS源码-工程目录讲解
1、 工程目录 1.1、xib 主要的界面渲染控制,ios开发常用的界面,可以在这里快速开发出来 1.2、base 基本的类,子类继承base类,就具备父类的方法,无需在重写 1.3、util 基础的类一些,处理时间等 1.4、…...

ESP32 Arduino实战协议篇-搭建独立的 Web 服务器
在此项目中,您将创建一个带有 ESP32 的独立 Web 服务器,该服务器使用 Arduino IDE 编程环境控制输出(两个 LED)。Web 服务器是移动响应的,可以使用本地网络上的任何浏览器设备进行访问。我们将向您展示如何创建 Web 服务器以及代码如何逐步工作。 项目概况 在直接进入项目…...

多维时序 | MATLAB实现PSO-BiLSTM-Attention粒子群优化双向长短期记忆神经网络融合注意力机制的多变量时间序列预测
多维时序 | MATLAB实现PSO-BiLSTM-Attention粒子群优化双向长短期记忆神经网络融合注意力机制的多变量时间序列预测 目录 多维时序 | MATLAB实现PSO-BiLSTM-Attention粒子群优化双向长短期记忆神经网络融合注意力机制的多变量时间序列预测预测效果基本介绍模型描述程序设计参考…...

【开源】基于Vue.js的在线课程教学系统的设计和实现
项目编号: S 014 ,文末获取源码。 \color{red}{项目编号:S014,文末获取源码。} 项目编号:S014,文末获取源码。 目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2…...

CentOS 安装etcd集群 —— 筑梦之路
环境说明 192.168.1.11 192.168.1.12 192.168.1.13 yum在线安装 yum install etcd -y #etcd01 cat > /etc/etcd/etcd.conf <<EOF ETCD_NAMEetcd01 ETCD_LISTEN_PEER_URLS"http://0.0.0.0:2380" ETCD_LISTEN_CLIENT_URLS"http://0.0.0.0:2379&quo…...

mysql 实现去重
个人网站 首发于公众号小肖学数据分析 1、试题描述 数据表user_test如下,请你查询所有投递用户user_id并且进行去重展示,查询结果和返回顺序如下 查询结果和返回顺序如下所示 解题思路: (1) 对user_id列直接去重: ÿ…...