Yurou

导航

 

2025年6月16日实训作业

一、网络基础

(一)OSI 七层模型

1. 物理层

  • 功能:解决物理连接问题,与物理特性(如电缆传输特性、接口标准)相关。
  • 主要知识点
    • 网卡:实现设备网络接入的硬件,负责信号转换。
    • 网络拓扑结构:包括总线型、星型、环型等,决定网络物理布局与数据传输路径,影响网络可靠性、拓展性。

2. 数据链路层

  • 功能:解决链路沟通问题,保障数据在链路中有效传输,处理帧同步、差错控制(检测与纠正传输错误)等。
  • 主要知识点
    • 以太网协议:定义链路层基本通信规则。
    • 数据发送格式:包含收件人 MAC 地址、发件人 MAC 地址、内容、帧校验序列(用于差错检测),通过 MAC 地址识别通信双方。

3. 网络层

  • 功能:解决分网问题,实现不同网络间的数据转发,进行逻辑寻址、路由选择(确定数据传输最佳路径)。
  • 主要知识点
    • IP 地址:分 IPv4、IPv6,标识网络中主机逻辑地址。
    • 路由器:具备路由表,依据 IP 地址转发数据包,可连接不同类型网络,构建互联网络。

4. 传输层

  • 功能:解决端到端连接问题,负责端到端的数据传输连接管理,保障数据可靠或高效传输,区分不同应用数据。
  • 主要知识点
    • Socket 连接:涵盖 TCP 和 UDP 协议。
      • TCP:面向连接,通过三次握手(建立连接)和四次挥手(释放连接)建立可靠连接,有流量控制、拥塞控制机制,适用于大文件传输、电话等对可靠性要求高的场景。
      • UDP:面向无连接,无需建立连接,传输效率高,适用于直播、视频等对实时性要求高的场景。
    • 端口:每个应用在电脑运行时,有独一无二的端口号(0-65535),知名端口如 80 对应 http、21 对应 ftp,用于区分不同应用的网络通信,使传输层能精准将数据交付给对应应用。

5. 高三层(会话层、应用层、表示层)

  • 会话层:负责建立、管理和终止表示层实体之间的通信会话,如会话同步(恢复中断会话)、会话隔离(区分不同应用会话),远程登录会话的建立与管理依赖会话层。
  • 应用层:涉及 http(超文本传输协议,用于网页浏览)、ftp(文件传输协议,实现文件上传下载)、DNS(域名系统,将域名解析为 IP 地址)等应用协议,是用户直接接触的网络应用服务基础,支撑网页浏览、文件传输、邮件收发等场景。
  • 表示层:负责处理两个通信系统中交换信息的表示方式,如加密、解密、编码转换、压缩解压等,让应用层数据能在不同系统间统一格式传输。

(二)常见的网线

  • 双绞线
    • 分屏蔽(STP,抗干扰强,用于复杂环境)与非屏蔽(UTP,成本低,常用)。
    • 常见超5类、6类线,传输距离约100米,适用于一般网络环境短距离布线,通过 twisted-pair 结构减少电磁干扰。
  • 光纤
    • 分单模(传输距离远,千米级,用于长距骨干网)、多模(传输距离短,几百米,用于园区网等)。
    • 传输速率高(万兆及以上)、抗干扰能力强,通过光信号传输数据,需光模块转换电-光信号,适合长距离、高速率场景。
  • wifi
    • 基于 IEEE 802.11 标准的无线局域网技术,有 2.4G(覆盖广、速率稍低)和 5G(速率高、干扰少)频段。
    • 摆脱线缆束缚,依赖无线路由器发射信号,涉及 WPA2、WPA3 等安全协议,但存在信号衰减、干扰问题。

二、编程语言基础

(一)编程语言基础概念

编程语言是具备相关翻译工具与语法规则,用于指挥计算机完成各类任务开发的工具,是人与计算机交互的“桥梁”,让开发者能将需求转化为计算机可执行指令。

(二)Python 语言特点

1. 优点

  • 语法简洁:代码书写简洁直观,如 print("Hello, World!") 可快速实现输出,降低学习与编码门槛,让开发者聚焦逻辑而非复杂语法格式。
  • 跨平台兼容:一套代码可在 Windows、Linux、macOS 等主流操作系统运行,无需针对不同系统大幅修改,如开发简单数据处理脚本,多系统通用。
  • 应用场景广泛
    • 游戏开发:借助 Pygame 等库打造 2D 游戏。
    • 网站开发:搭配 Django、Flask 等框架搭建网站后端。
    • 小程序开发:结合相关工具开发后端服务及逻辑。
    • 软件测试:通过 Selenium 等库编写脚本实现自动化测试。
    • 爬虫领域:依托 requests、BeautifulSoup、Scrapy 等库抓取网页数据。
    • 数据分析:利用 Pandas、NumPy 等库进行数据处理、统计与可视化。
    • 机器学习/深度学习:通过 TensorFlow、PyTorch、Scikit-learn 等框架构建模型。
  • 开发效率高:丰富的标准库和第三方库可直接调用功能模块,减少重复编码,如用 openpyxl 库几行代码即可完成 Excel 文件读写。

2. 缺点

执行效率相对低,相较于 C、C++ 等编译型语言,解释执行过程有额外开销,对性能要求极高(如高频交易系统)的场景,需结合其他技术优化或改用更高效语言。

(三)字符编码

字符编码是将字符转换为计算机可识别二进制数据的规则,解决不同语言字符存储、显示问题:

  • ASCII:美国标准信息交换码,8位编码,最多表示256个字符,涵盖英文字母、数字、标点等,无法表示中文等非英文字符。
  • GBK:中文编码扩展标准,16位+编码,兼容 GB2312,可表示两万多汉字及符号,满足中文等东亚语言日常使用。
  • Unicode:万国码,24位+编码(有 UTF-16、UTF-32 等形式),涵盖全球几乎所有语言字符,解决编码冲突,但存储占用空间较大。
  • utf-8:Unicode 的可变长实现方式,按字符需求用1-4字节编码(英文1字节,中文3字节左右),节省存储与传输成本,是互联网主流编码。
  • 编码使用差异:Windows 系统默认 GBK 编码,Linux、macOS 及多数网络服务默认 utf-8 编码,开发时若编码不统一易出现中文乱码(如 Windows 下 GBK 保存的文件在 Linux 用 utf-8 读取会出错)。

(四)编程语言分类

1. 编译型语言(以 Java 为例)

  • 需通过编译器将整个源代码一次性编译成机器可执行的二进制文件(如 Java 编译生成字节码文件,再由 JVM 执行)。
  • 优势:运行效率高,适合开发对性能要求高、大规模部署的软件(如企业级应用系统)。
  • 缺点:开发周期长,修改代码后需重新编译,跨平台需考虑不同系统编译适配(Java 借助 JVM 缓解此问题)。

2. 解释型语言(以 Python 为例)

  • 依托解释器逐行读取并执行源代码,无需提前整体编译,开发时修改代码可立即运行查看效果,迭代灵活,适合快速开发、脚本编写场景。
  • 缺点:运行效率低于编译型语言(但 JIT 即时编译技术在 Python 中应用后,性能差距缩小)。

3. 两类语言核心区别

编译型语言编译阶段会生成独立新文件(编译文件),运行基于该文件;解释型语言无独立预编译生成的机器码文件,直接解释执行源码(或转换为中间代码实时执行)。

三、计算机基础

(一)冯・诺依曼体系

1. 核心原理

  • 存储程序控制:所有程序与数据需存储于存储器,计算机工作本质是运行程序的过程,奠定现代计算机自动执行的基本模式。
  • 存储形式:数据和指令均以二进制形式存储,契合计算机硬件电路的物理特性,便于底层存储与运算。

2. 硬件组成

  • 输入输出设备:承担数据输入与结果输出功能,是计算机与外界交互的桥梁(如键盘、鼠标输入,显示器、打印机输出)。
  • 存储器
    • 内存:基于半导体,解决硬盘与 CPU 速度差问题,读写速度约3纳秒,断电内容消失(易失性存储),造价昂贵,是 CPU 直接交互的“高速暂存区”。
    • 外存:以磁介质(硬盘)、光介质(光盘)、半导体(固态硬盘)为主,价格便宜、容量大,可永久保存数据(非易失性存储),用于长期存储系统、用户数据等。
  • CPU / 中央处理器:包含运算器(负责算术运算、逻辑运算)与控制器(把控计算机操作流程),是计算机“大脑”,性能直接决定整体运算能力。

(二)计算机的发展

1. 机械计算机

  • 以差分机为代表,依靠机械齿轮驱动,运算速度1秒一次,是计算机发展早期探索,为后续电子计算机积累设计思路。

2. 电子计算机

  • 典型如埃尼阿克(ENIAC),借助电运行,运算能力可达5000次加法或400次乘法,标志计算机进入电子时代,采用电子管元件,虽体积庞大、功耗高,但为后续革新奠定基础。

3. 超级计算机

  • 代表高性能发展方向,具备强大运算处理能力,满足科研(气象模拟、基因测序)、军事、工业(复杂工业仿真)等需求,采用大规模并行计算架构,运算速度以每秒千万亿次衡量,是国家科技实力的体现。
posted on 2025-06-16 15:50  鱼肉梦想家  阅读(18)  评论(0)    收藏  举报