软考-软件设计师中级备考 11、计算机网络

1、计算机网络的分类

  • 按分布范围分类
    • 局域网(LAN):覆盖范围通常在几百米到几千米以内,一般用于连接一个建筑物内或一个园区内的计算机设备,如学校的校园网、企业的办公楼网络等。其特点是传输速率高、延迟低、误码率低,易于管理和维护。
    • 城域网(MAN):覆盖范围一般为一个城市,跨度通常在几千米到几十千米。它主要用于连接城市中的多个局域网,实现城市范围内的数据通信和资源共享,如城市的公交智能系统网络。
    • 广域网(WAN):覆盖范围广阔,可跨越多个城市、国家甚至全球。它通过租用通信线路或卫星等方式将不同地区的局域网或城域网连接起来,如国际互联网就是最大的广域网。广域网传输距离长,传输速率相对较低,延迟较高。
  • 按拓扑结构分类
    • 总线型拓扑:所有设备都连接在一条总线上,数据沿着总线进行传输,任何设备发送的数据都能被总线上的其他设备接收。优点是布线简单、成本低;缺点是可靠性差,一旦总线出现故障,整个网络就会瘫痪,而且传输效率低,同一时刻只能有一个设备发送数据。
    • 星型拓扑:有一个中心节点(如交换机、集线器),其他节点都与中心节点相连,数据通过中心节点进行转发。优点是易于管理和维护,某个节点出现故障不影响其他节点;缺点是中心节点负担重,一旦中心节点故障,整个网络瘫痪,且网络扩展能力有限。
    • 环型拓扑:网络中的节点通过点到点链路连接成一个闭合的环,数据在环中沿着一个方向逐站传输。优点是数据传输具有确定性,每个节点都有平等的访问权;缺点是任何一个节点或链路出现故障都会导致整个网络瘫痪,而且重新配置网络比较困难。
    • 树型拓扑:节点按照层次进行连接,形状像一棵倒置的树,顶端是根节点,向下分支连接多个子节点。它结合了星型和总线型拓扑的特点,易于扩展,但对根节点的依赖性较大。
    • 网状型拓扑:网络中的节点之间存在多条链路相互连接,形成一个网状结构。优点是可靠性高,任何一条链路出现故障不影响数据传输,网络的冗余度高;缺点是布线复杂、成本高,网络的管理和维护难度大。

2、七层网络体系结构

  • 物理层:负责处理物理介质上的信号传输,包括电缆、光纤、无线等传输介质,以及信号的编码、解码、调制、解调等,如规定了网线的接口类型、信号的电平标准等。
  • 数据链路层:主要功能是将物理层接收到的信号转换为数据帧,并进行差错检测和纠正,同时实现介质访问控制,确保多个设备能正确地共享传输介质,如以太网的数据链路层协议规定了如何在以太网上进行数据帧的封装和传输。
  • 网络层:负责将数据从源节点传输到目标节点,主要功能包括寻址、路由选择、数据包转发等,如 IP 协议就是网络层的核心协议,它为每个设备分配 IP 地址,并通过路由算法确定数据传输的路径。
  • 传输层:为应用程序提供端到端的通信服务,主要功能是实现可靠的传输(如 TCP 协议)或不可靠的传输(如 UDP 协议),确保数据的完整性和顺序性,同时进行流量控制和差错控制。
  • 会话层:负责建立、维护和管理会话,如会话的建立、拆除、同步等,在不同的应用程序之间建立逻辑连接。
  • 表示层:主要处理数据的表示和转换,包括加密解密、压缩解压缩、数据格式转换等,确保不同系统之间能够正确地理解和处理数据。
  • 应用层:为用户提供各种网络应用服务,如 HTTP(网页浏览)、SMTP(邮件发送)、FTP(文件传输)等协议都属于应用层协议。

3、网络的设备

  • 路由器:工作在网络层,主要用于连接不同的网络,实现网络之间的数据路由和转发。它根据目的 IP 地址来选择最佳的传输路径,将数据包从一个网络发送到另一个网络。
  • 交换机:通常工作在数据链路层,用于连接多个设备组成局域网。它能够根据 MAC 地址转发数据帧,实现本地网络内设备之间的高速数据交换。
  • 集线器:工作在物理层,它将接收到的信号进行放大和转发,所有连接到集线器的设备都在同一个冲突域内,共享网络带宽,现在已逐渐被交换机取代。
  • 调制解调器:用于实现数字信号和模拟信号之间的转换,以便在模拟线路(如电话线)上传输数字数据。

网络的标准

  • 网络标准是为了确保不同厂商的网络设备和软件能够相互兼容和互操作而制定的一系列规范和协议。常见的网络标准有 IEEE 802 标准系列,包括 IEEE 802.3 以太网标准、IEEE 802.11 无线网络标准等。这些标准规定了网络的物理层和数据链路层的相关规范,如信号传输方式、数据帧格式、介质访问控制方法等。

4、TCP/IP 协议族

  • 应用层
    • HTTP(超文本传输协议):用于在网络上传输网页等超文本信息,浏览器与服务器之间通过 HTTP 协议进行数据交互。默认端口为 80,HTTPS(HTTP over SSL/TLS)作为 HTTP 的安全版本,默认端口为 443。     
    • SMTP(简单邮件传输协议):用于发送电子邮件,邮件客户端将邮件发送到邮件服务器,以及邮件服务器之间传递邮件都依赖 SMTP。默认端口为 25。
    • POP3(邮局协议版本 3):主要用于邮件客户端从邮件服务器接收电子邮件。默认端口为 110。
    • DNS(域名系统):将域名转换为 IP 地址,使人们能够用易于记忆的域名访问网络资源。默认端口为 53。
  • 传输层
    • TCP(传输控制协议):提供可靠的、面向连接的数据传输服务。以文件传输为例,TCP 通过三次握手建立连接,传输中进行差错检测、纠正和流量控制,确保文件数据完整有序地从源端到目的端。不同应用基于 TCP 的默认端口不同,如 HTTP 用 80,SMTP 用 25,POP3 用 110。
    • UDP(用户数据报协议):提供无连接、不可靠的数据传输服务,常用于对实时性要求高、能容忍一定数据丢失的场景,如视频直播、音频通话等。例如,DNS 在进行域名解析时,既可以使用 TCP 53 端口,也常使用 UDP 53 端口。
  • 网络层
    • IP(网际协议):负责在不同网络间进行寻址和路由选择,根据目的 IP 地址确定数据传输路径,使数据包能从源主机到达目的主机。IP 协议本身无默认端口,为上层协议如 TCP、UDP 提供服务,由它们使用不同端口。
    • ICMP(互联网控制报文协议):用于在 IP 主机、路由器之间传递控制消息,如报告错误、提供网络信息等。它基于 IP 协议,没有明确的默认端口概念,通过 IP 数据包的协议字段来标识。
  • 网络接口层
    • ARP(地址解析协议):将 IP 地址解析为物理地址(MAC 地址),当主机要向另一主机发送数据时,通过 ARP 获取对方 MAC 地址。ARP 无默认端口,通过广播在本地网络进行地址解析。

5、IP 地址和 IPv6 简介

  • IP 地址:是分配给网络设备的逻辑地址,用于在网络中标识设备的位置。目前常用的是 IPv4 地址,它由 32 位二进制数组成,通常用点分十进制表示,如 192.168.1.1。IPv4 地址空间有限,随着网络设备的大量增加,逐渐出现地址不足的问题。 

     网络故障 1)ping 127.0.0.1   2)ping 本机局域网ip 3)ping 网关  4)ping 百度
  • IPv6:是为了解决 IPv4 地址耗尽问题而提出的下一代 IP 协议。它采用 128 位二进制数表示地址,地址空间非常巨大,可以为每一个设备甚至每一个传感器分配一个唯一的 IP 地址。IPv6 还具有更好的安全性、自动配置功能和对移动设备的支持等优点。

6、Internet 服务

  • 万维网(WWW)服务:基于 HTTP 协议,默认端口 80(HTTPS 为 443),用户通过浏览器访问各种网站,获取网页信息。
  • 电子邮件服务:依赖 SMTP(发邮件,端口 25)、POP3(收邮件,端口 110)或 IMAP(互联网消息访问协议,常用端口 143)等协议,实现邮件的发送、接收和管理。
  • 文件传输服务(FTP):用于在网络上进行文件的上传和下载。FTP 使用两个端口,20 端口用于数据传输,21 端口用于控制连接,客户端与服务器通过这两个端口进行交互,完成文件传输操作。
  • 远程登录服务(Telnet):允许用户通过网络远程登录到其他计算机系统,进行命令执行和系统管理等操作。默认端口为 23。不过,由于 Telnet 以明文传输数据,存在安全风险,现在逐渐被更安全的 SSH(安全外壳协议,默认端口 22)所取代。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C#】.net core6.0无法访问到控制器方法,直接404。由于自己的不仔细,出现个低级错误,这让DeepSeek看出来了,是什么错误呢,来瞧瞧

🌹欢迎来到《小5讲堂》🌹 🌹这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解。🌹 🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!&#…

当LLM遇上Agent:AI三大流派的“复仇者联盟”

你一定听说过ChatGPT和DeepSeek,也知道它们背后的LLM(大语言模型)有多牛——能写诗、写代码、甚至假装人类。但如果你以为这就是AI的极限,那你就too young too simple了! 最近,**Agent(智能体&a…

Spring Boot多模块划分设计

在Spring Boot多模块项目中,模块划分主要有两种思路:​​技术分层划分​​和​​业务功能划分​​。两种方式各有优缺点,需要根据项目规模、团队结构和业务特点来选择。 ​​1. 技术分层划分(横向拆分)​​ 结构示例&…

两次解析格式化字符串 + 使用SQLAlchemy的relationship执行任意命令 -- link-shortener b01lersCTF 2025

题目描述: A fast and reliable link shortener service, with a new feature to add private links! 我们走一遍逻辑 注册 app.route("/register", methods[GET, POST]) def register(): """ 用户注册路由,处理用户注册请求&#xff…

后端id类型为long类型时,返回给前端浏览器四舍五入,导致id精度缺失问题

背景 今天在代码里,掉了别人写的接口,有个id的字段是long类型的,我这边加点参数返回给前端,然后前端根据id修改,结果修改的数据记录有,但是没起作用,后来发现根据他传给我的id在后台数据库查不…

Scartch038(四季变换)

知识回顾 1.了解和简单使用音乐和视频侦测模块 2.使用克隆体做出波纹特效 3.取色器妙用侦测背景颜色 前言 我国幅员辽阔,不同地方的四季会有不同的美丽景色,这节课我带你使用程序做一个体现北方四季变化的程序 之前的程序基本都是好玩的,这节课做一个能够赏心悦目的程序。…

JVM happens-before 原则有哪些?

理解Java Memory Model (JMM) 中的 happens-before 原则对于编写并发程序有很大帮助。 Happens-before 关系是 JMM 用来描述两个操作之间的内存可见性以及执行顺序的抽象概念。如果一个操作 A happens-before 另一个操作 B (记作 A hb B),那么 JMM 向你保证&#x…

从 Eclipse Papyrus / XText 转向.NET —— SCADE MBD技术的演化

从KPN[1]的萌芽开始,到SCADE的推出[2],再到Scade 6的技术更迭[3],SCADE 基于模型的开发技术已经历许多。现在,Scade One 已开启全新的探索 —— 从 Eclipse Papyrus / XText 转向.NET 8跨平台应用。 [1]: KPN, Kahn进程网络 (197…

osquery在网络安全入侵场景中的应用实战(二)

背景 上次写了osquery在网络安全入侵场景中的应用实战(一)结果还不错,这次篇目二再增加一些场景。osquery主要解决的时员工被入侵之后电脑该如何溯源取证的问题。通常EDR会有日志,但是不会上报全量的日志。发现机器有恶意文件需要上级取证的时候,往往是比较麻烦的,会有这…

opencv+opencv_contrib+cuda和VS2022编译

本文介绍使用OpenCV和OpenCV_Contrib源码及Cuda进行编译的过程,编译过程中会用到OpenCV、OpenCV_Contrib、Toolkit、Cmake、VS2022等工具,最终编译OpenCV的Cuda版本。 一、OpenCV下载地址 OpenCV官网下载地址:https://opencv.org/releases/#&#xff0…

spring中的@ConfigurationProperties注解详解

一、核心功能与作用 ConfigurationProperties 是Spring Boot中用于将外部配置(如application.properties或application.yml中的属性)绑定到Java对象的核心注解。其核心功能包括: 配置集中管理:将分散的配置属性按前缀绑定到Java类…

【C/C++】函数模板

🎯 C 学习笔记:函数模板(Function Template) 本文是面向 C 初学者的函数模板学习笔记,内容包括基本概念、定义与使用、实例化过程、注意事项等,附带示例代码,便于理解与复现。 📌 一…

电子病历高质量语料库构建方法与架构项目(智能数据目录篇)

电子病历高质量语料库的构建是医疗人工智能发展的基础性工作,而智能数据目录作为数据治理的核心组件,能够有效管理这些语料资源。本文将系统阐述电子病历高质量语料库的构建方法与架构,特别聚焦于智能数据目录的设计与实现,包括数据目录的功能定位、元数据管理、构建步骤以…

前端懒加载(Lazy Loading)实战指南

🚀 前端懒加载(Lazy Loading)实战指南 懒加载是现代 Web 性能优化的“常规操作”。它的目标简单直接:让用户只加载“当下真正需要的资源”。从静态资源、组件、模块到数据,每一层都可以使用懒加载技术,构建…

在 Ubuntu 系统中,查看已安装程序的方法

在 Ubuntu 系统中,查看已安装程序的方法取决于软件的安装方式(如通过 apt、snap、flatpak 或手动安装)。以下是几种常见方法: 通过 apt 包管理器安装的软件 适用于通过 apt 或 dpkg 安装的 .deb 包。 列出所有已安装的软件包&…

性能优化实践:性能监控体系

性能优化实践:性能监控体系 在Flutter应用开发中,建立一个完善的性能监控体系对于保证应用质量和用户体验至关重要。本文将从实战角度深入讲解如何搭建Flutter应用的性能监控体系,包括监控指标的设计、数据采集实现、分析平台搭建等内容。 …

kotlin 02flow-sharedFlow 完整教程

一 sharedFlow是什么 SharedFlow 是 Kotlin 协程中 Flow 的一种 热流(Hot Flow),用于在多个订阅者之间 共享事件或数据流。它适合处理 一次性事件(如导航、弹窗、Toast、刷新通知等),而不是持续状态。 ✅ …

模拟开发授权平台

这次只是实现应用的curd和公私钥的校验以及第三方的通知dmeo项目,大家可以拓开视野来编写 进入主题 项目链接:桌角的眼镜/develop_auth_platform 直接下拉并运行就行 回调应用代码在test包中 回调应用测试代码 package mainimport ("encoding/…

STM32 USART串口

一、通信接口 二、串口通信 串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用…

uniapp开发06-视频组件video的使用注意事项

uniapp开发-视频组件video的使用注意事项&#xff01;实际项目开发中&#xff0c;经常会遇到视频播放的业务需求。下面简单讲解一下&#xff0c;uniapp官方提供的视频播放组件video的常见参数和实际效果。 1&#xff1a;先看代码&#xff1a; <!--视频组件的使用展示-->…