【软考中级攻略站】-软件设计师(4)-计算机网络基础
计算机网络的分类
1. 局域网(Local Area Network, LAN)
局域网是指在一个较小的地理区域内连接的计算机网络,比如学校的机房、公司的办公室或者家里的Wi-Fi网络。在这个网络内的计算机可以直接相互通信,速度很快,延迟很低。
- 例子:学校的电脑教室里的电脑通过网线或无线网络相互连接,这样老师和学生可以方便地共享文件和打印机。
2. 城域网(Metropolitan Area Network, MAN)
城域网覆盖的范围比局域网更大,通常是一个城市或一个地区的网络。它可以连接多个局域网,让不同地点的人们可以相互交流。
- 例子:一个城市的图书馆、学校和政府办公大楼通过光纤连接起来,形成一个大的网络,这样不同部门之间可以共享信息。
3. 广域网(Wide Area Network, WAN)
广域网覆盖的范围非常广泛,可以是整个国家甚至全球。互联网就是一个典型的广域网,它连接了全世界的计算机,让人们可以跨地区、跨国界进行通信。
- 例子:你在家里的电脑上浏览美国的一个网站,或者通过电子邮件与国外的朋友通信,这些都是通过广域网实现的。
4. 个人区域网(Personal Area Network, PAN)
个人区域网通常是指一个人身边的设备组成的网络,比如手机、笔记本电脑、智能手表和其他可穿戴设备。这些设备通过蓝牙或Wi-Fi Direct等技术连接在一起。
- 例子:你用手机通过蓝牙连接耳机听音乐,或者用智能手表接收手机的通知,这些设备就构成了一个小型的个人区域网。
5. 其他类型的网络
除了以上四种主要类型,还有一些特殊的网络分类:
- 校园网:专为学校设计的网络,覆盖整个校园,连接教室、宿舍、图书馆等。
- 企业网:公司内部使用的网络,用于内部员工之间的通信和资源共享。
- 无线网:使用无线技术(如Wi-Fi)连接设备的网络,无需物理连接线。
总结
- 局域网:小范围内的网络,比如教室或家庭。
- 城域网:城市范围内的网络,连接多个局域网。
- 广域网:覆盖很大范围的网络,如互联网。
- 个人区域网:个人身边的设备组成的小网络。
1. 星型拓扑(Star Topology)
想象一下,星型拓扑就像太阳系中的行星围绕着太阳。在网络中,所有设备都连接到一个中心节点,这个中心节点通常是交换机或路由器。
-
特点:
- 每台设备都有自己的专用线路连接到中心节点。
- 如果某一台设备坏了,不会影响其他设备。
- 中心节点很重要,如果它出了问题,整个网络都会受到影响。
-
例子:家里的Wi-Fi网络,所有设备(如手机、电脑、平板)都连接到路由器。
2. 总线型拓扑(Bus Topology)
总线型拓扑就像是所有设备都串在一根绳子上,这条绳子就是总线(一条主干线路)。
-
特点:
- 所有设备都连接到同一条主干线上。
- 设备之间通信时,数据会在总线上广播。
- 如果总线坏了,整个网络都会受到影响。
- 扩展性较差,新增设备需要断开总线进行连接。
-
例子:早期的以太网(Ethernet)网络,所有计算机通过一条电缆连接。
3. 环型拓扑(Ring Topology)
环型拓扑就像是一个环形跑道,每个设备都连接到它的左右邻居,形成一个闭合的环。
-
特点:
- 数据沿着一个方向(顺时针或逆时针)传递。
- 每个设备只连接到它的左右邻居。
- 如果环路中的某个点坏了,整个环都会受到影响。
- 扩展性较差,新增设备需要断开环路进行连接。
-
例子:令牌环网络(Token Ring),数据包通过令牌传递。
4. 树型拓扑(Tree Topology)
树型拓扑就像一棵树,有一个根节点,从根节点向下分支,每个分支可以再分出更多的分支。
-
特点:
- 有一个中心节点,其他节点通过分支连接到中心节点。
- 扩展性强,可以通过增加分支节点来扩展网络。
- 如果中心节点坏了,整个网络会受到影响。
-
例子:大型企业网络,中心机房连接各个楼层的交换机。
5. 网状拓扑(Mesh Topology)
网状拓扑就像是一个蜘蛛网,每个设备都连接到多个其他设备。
-
特点:
- 每个设备都有多个连接,形成了一个复杂的网状结构。
- 即使某条连接断开,数据可以通过其他路径传输。
- 高度可靠,但成本较高,布线复杂。
-
例子:军事网络或关键基础设施网络,需要高可靠性和容错能力。
6. 混合拓扑(Hybrid Topology)
混合拓扑是将以上几种拓扑结构结合起来使用,以适应更复杂的网络需求。
-
特点:
- 结合多种拓扑结构的优点。
- 灵活性高,可以根据实际需求进行组合。
- 设计和维护相对复杂。
-
例子:现代大型企业的网络,可能结合星型、树型和网状等多种结构。
总结
- 星型拓扑:所有设备连接到一个中心节点。
- 总线型拓扑:所有设备连接到一条主干线上。
- 环型拓扑:设备形成一个闭合的环。
- 树型拓扑:层次结构,从中心节点向下分支。
- 网状拓扑:设备之间有多重连接。
- 混合拓扑:结合多种拓扑结构。
七层网络体系结构
逐层解释
1. 应用层(Application Layer)
应用层是最高层,负责与应用程序交互。它提供了应用程序所需的接口和服务,比如文件传输、邮件发送等。
- 例子:Web 浏览器、电子邮件客户端、FTP 客户端等。
2. 表示层(Presentation Layer)
表示层负责数据的编码、解码、加密和解密等处理,确保数据在发送方和接收方之间能够正确地解释。
- 例子:将文本转换成 ASCII 或 Unicode 编码,加密数据以保护隐私。
3. 会话层(Session Layer)
会话层负责建立、管理和终止会话,确保数据传输的顺序和同步。
- 例子:控制数据的传输顺序,确保发送方和接收方之间的数据同步。
4. 传输层(Transport Layer)
传输层负责端到端的数据传输,并确保数据的完整性和可靠性。常见的协议有 TCP(传输控制协议)和 UDP(用户数据报协议)。
- 例子:TCP 协议提供可靠的传输,UDP 协议提供快速但不可靠的传输。
5. 网络层(Network Layer)
网络层负责路由选择,即决定数据包如何从源主机到达目的主机。它处理 IP 地址,并确保数据包能够通过最佳路径传输。
- 例子:IP 协议(Internet Protocol)负责寻址和路由选择。
6. 数据链路层(Data Link Layer)
数据链路层负责在相邻节点之间传输数据帧,并确保数据的可靠传输。它处理 MAC 地址,并负责检测和纠正传输错误。
- 例子:以太网协议、Wi-Fi 协议等。
7. 物理层(Physical Layer)
物理层是最底层,负责定义硬件接口的标准,如电压、电缆、连接器等。它处理比特流(0 和 1)的传输。
- 例子:网线(如以太网线)、光纤、无线信号等。
TCP/IP协议族
TCP/IP作为Internet的核心协议,被广泛应用于局域网和广域网中,目前已成为事实上的国际标准。
- TCP/IP分层模型 TCP/IP协议是Internet的基础和核心,和OSI参考模型一样,也是采用层次体系结构,从上而下分为应用层、传输层、网际层和网络接口层。
- 网络接口层协议
- 网际层协议—IP
- ARP和RARP 地址解析协议(Address Resolution Protocol, ARP)及反地址解析协议(RARP)。ARP的作用是将IP地址转换为物理地址,RARP的作用是将物理地址转换为IP地址。
- 网际层协议—ICMP
- 传输层协议—TCP TCP(Transmission Control Protocol, 传输控制协议)为应用程序提供了一个可靠的、面向连接的数据传输服务。
- 传输层协议—UDP 用户数据报协议(User Datagram Protocol, UDP)是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信。TCP有助于提供可靠性,而UDP则有助于提高传输的高速率性。
ABCDE类IP地址范围
-
A类地址:
0.0.0.0
到127.255.255.255
- 特殊用途:
0.0.0.0
(默认路由)、127.0.0.0
到127.255.255.255
(回环地址)
- 特殊用途:
-
B类地址:
128.0.0.0
到191.255.255.255
-
C类地址:
192.0.0.0
到223.255.255.255
-
D类地址:
224.0.0.0
到239.255.255.255
- 多播地址
-
E类地址:
240.0.0.0
到255.255.255.255
- 保留为未来实验用途
IPv6
为了解决IPv4地址不足的问题,IPv6应运而生。IPv6使用128位的二进制数来表示地址,大大增加了可用的地址数量。
1. IPv6地址格式
IPv6地址通常用冒号十六进制表示法,即八个16位的数字,每个数字之间用冒号分隔。
-
例子:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
-
简化写法:
- 连续的零可以用一个双冒号(
::
)代替。 - 例如:
2001:0db8:85a3::8a2e:0370:7334
- 连续的零可以用一个双冒号(
-
特点:
- 由八个16位的数字组成,每个数字范围是0000到FFFF。
- 总共有大约3.4×10^38个可能的地址,远远超过了IPv4的数量。
为什么需要IPv6
- 更多地址:IPv6提供了几乎无限的地址空间,可以满足未来几十年的需求。
- 简化路由:IPv6地址的结构更加简化,减少了路由器的负担。
- 安全性增强:IPv6内置了一些安全特性,如IPsec,提高了网络的安全性。
- 更好的移动性支持:IPv6更好地支持移动设备的无缝切换。
总结
- IPv4:32位地址,格式为四个点分十进制数字,如
192.168.1.1
。 - IPv6:128位地址,格式为八个冒号十六进制数字,如
2001:0db8:85a3:0000:0000:8a2e:0370:7334
。
常见的网络服务及其使用的端口号:
- DNS域名服务:
- 使用的协议:UDP
- 端口号:53
- 远程登录服务:
- 使用的协议:TCP
- 端口号:23 (Telnet)
- 电子邮件服务:
- 协议:SMTP(发送邮件)
- 端口号:25
- 协议:POP3(接收邮件)
- 端口号:110
- 协议:SMTP(发送邮件)
- 万维网服务(WWW):
- 使用的协议:TCP
- 端口号:80
- 文件传输服务(FTP):
- 控制连接(传输命令和参数):
- 使用的协议:TCP
- 端口号:21
- 数据连接(传输文件):
- 使用的协议:TCP
- 端口号:20
- 控制连接(传输命令和参数):
相关文章:

【软考中级攻略站】-软件设计师(4)-计算机网络基础
计算机网络的分类 1. 局域网(Local Area Network, LAN) 局域网是指在一个较小的地理区域内连接的计算机网络,比如学校的机房、公司的办公室或者家里的Wi-Fi网络。在这个网络内的计算机可以直接相互通信,速度很快,延迟…...

Android以及IoT设备传感器软件开发总结
1 传感器选型 1.1 传感器选型 6 axis:Bosch BMI160(比较差),InvenSense MPU6050(DMP),ST LSM6Dxx Acc: Freescale MMA7450L (MicroMachined Accelerometer/MC Multi-Axis, iMX31), Kionix KXSD9…...
Vue2/Vue3中编程式路由导航实践总结
【1】Vue2编程式路由导航 ① router.push 除了使用 <router-link> 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现。 router.push(location, onComplete?, onAbort?)注意:在 Vue 实例内部&#…...
【nginx】ngx_http_proxy_connect_module 正向代理
50.65无法访问 服务器, (403 错误) 50.196 可以访问服务器。 那么,配置65 通过196 访问。 需要一个nginx作为代理 【nginx】搭配okhttp 配置反向代理 发送原生的nginx是不支持okhttp的CONNECT请求的。 大神竟然给出了一个java工程 GINX编译ngx_http_proxy_connect_module及做…...

单考一个OCP认证?还是OCP和OCM认证都要考?
Oracle的OCP认证是数据库行业非常经典的一个认证,从事数据库行业的人都建考一个 Oracle OCP 认证。 OCP认证内容包括: OCA部分:数据库基础知识、SQL 语言使用、基本的数据库管理技能等,如数据库安装与配置、理解数据库架构、…...

在Spring官网查看Springboot与Java的版本对应关系
查看Spring Boot与Java的版本对应关系,可以按照以下步骤操作: 访问Spring官方网站,进入Spring Boot项目页面。可以通过点击菜单中的“Projects”,然后选择“Spring Boot”来访问。Spring | Home 在Spring Boot的LEARN页签中&…...
HarmonyOS学习(十二)——数据管理(一)分布式数据
文章目录 1、分布式数据服务概述2、KV数据模型(键值对数据库)3、分布式数据服务的约束和限制4、接口说明5、分布式数据服务开发步骤5.1、导入模块5.2、构造分布式数据库管理类实例5.3、获取、创建分布式数据库5.4、订阅分布式数据库的数据变化5.5、插入数…...
3D GS 测试自己的数据
环境配置 win11 vs2019cuda11.8driver522.06python3.10pytorch 2.4.0colmap3.8(可选,用于将图像生成点云) 安装 1 minicodagit 略 2 vs2019 在装cuda前安装, 选择c桌面开发即可, 环境变量path中配置C:\Program…...

攻防世界 supersqli
supersqli 一般sql语句的题都是先判断,经过测试,是单引号注入 999 union select database(),2#可以发现很多关键字都被过滤了select,所以联合查询,报错注入,布尔和时间盲注都不能用了,可以想到堆叠注入。…...

OceanBase 运维管理工具 OCP 4.x 升级:聚焦高可用、易用性及可观测性
可视化的管控平台,对 OceanBase 这类的分布式数据库及大规模数据的运维管理来说,是提升运维效率与数据库管理水平的重要工具。OceanBase 运维管理工具 OCP 作为专为OceanBase数据库设计的企业级全生命周期管理平台,为用户提供了全面的数据库可…...

HarmonyOS应用开发( Beta5.0)HOS-用户认证服务:面部识别
介绍 User Authentication Kit(用户认证服务)提供了基于用户在设备本地注册的人脸和指纹来认证用户身份的能力。 用户向应用/系统服务请求访问某些个人数据或执行某些敏感操作时,应用/系统服务将调用系统用户身份认证控件对用户身份进行认证…...

解决Docker镜像不可下载
使用国内可信的镜像中心 可信国内镜像网址:https://hub.atomgit.com/ 点击镜像仓库 搜索想要的镜像 按如图所示,即可查看对应的版本 点击复制,即可下载使用 缺点: 可用的镜像相比于docker官方量少 并且,获取的镜像名字…...

考研报名确认上传身份证户口本学历证明照片如何压缩裁剪
随着考研季节的到来,数以万计的考生开始准备报名所需的各种材料。在这一过程中,证件照片的上传无疑是一个关键环节。正确的照片格式和尺寸不仅能确保报名流程的顺利进行,还能避免因材料不合格而造成的不必要麻烦。本文将详细介绍如何在考研报…...

DolphinScheduler应用实战笔记
DolphinScheduler应用实战笔记 一、前言二、DS执行SQL或存储过程二、DS调用DataX同步数据三、DS调用HTTP接口四、DS依赖(DEPENDENT)节点五、DS SPARK 节点六、DS Flink 节点七、DS Flink 节点八、DS SQL 节点九、DS Java程序十、DS Python节点 一、前言 DolphinScheduler&…...

IThenticate查重为何成为英语期刊论文投稿首选工具
发表一篇英语论文,我发现很多人在准备向期刊投稿之前,都会选择使用IThenticate查重系统对论文进行相似性检测。是什么魔力,让这个查重工具让投稿者如此偏爱使用它查重呢? 一、什么是IThenticate查重系统? 在了解它被…...

C++ 在项目中使用Git
目录 一:配置邮箱和姓名 二:生成SSH Key 三:git 工作区和状态 四:git log 常用法 五:git diff 常用法 六:git 分支操作 七:git 回溯分支 八:git rebase -i 压缩历史提交…...

Python(TensorFlow和PyTorch)及C++注意力网络导图
🎯要点 谱图神经网络计算注意力分数对比图神经网络、卷积网络和图注意力网络药物靶标建模学习和预测相互作用腹侧和背侧皮质下结构手写字体字符序列文本识别组织病理学图像分析长短期记忆财务模式预测相关性生物医学图像特征学习和迭代纠正 Python注意力机制 对…...
选择firewalld还是iptables
firewalld与iptables介绍 firewalld和iptables都是Linux系统中用于管理防火墙规则的重要工具,但它们在功能、使用方式和适用场景上存在显著差异。 动态性: firewalld可以动态修改单条规则,并且能够动态管理规则集。这意味着在更新规则时不会…...

C到C++入门基础知识
一:命名空间:namespace (一):命名空间的定义 注:命名空间只能定义在全局,不能定义在函数内部。 (1)类似于C语言的结构体,C语言的命名空间定义为࿱…...

Aigtek功率放大器的主要参数有什么
功率放大器是一种电子设备,通常用于放大输入信号的功率。为了评估和描述功率放大器的性能,有一些主要参数需要了解。下面将介绍一些常见的功率放大器参数。 增益:功率放大器的增益是指输出功率与输入功率之间的比值。它表示了信号经过放大器后…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...