【软考中级攻略站】-软件设计师(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功率放大器的主要参数有什么
功率放大器是一种电子设备,通常用于放大输入信号的功率。为了评估和描述功率放大器的性能,有一些主要参数需要了解。下面将介绍一些常见的功率放大器参数。 增益:功率放大器的增益是指输出功率与输入功率之间的比值。它表示了信号经过放大器后…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...