一、什么是计算机网络?

        计算机网络是指由若干主机、通信链路和网络设备(如路由器、交换机等)组成的系统,借助通信协议,实现信息共享和资源互联。
其本质是:多台设备之间通过协议进行数据交换。

二、网络协议与分层思想

2.1 为什么要分层?

  • 简化复杂系统的设计

  • 各层职责清晰、可独立开发与维护

  • 不同协议之间解耦,提高可移植性与可替换性

2.2 常见的网络模型

模型层数特点
OSI 模型7理论模型,标准化程度高,用于理论研究
五层模型5实用简化模型,更贴近 TCP/IP 实现
TCP/IP 模型4实际部署中广泛采用,协议主导

名称作用说明
应用层 面向用户,提供网络应用接口,如浏览网页、发邮件、下载文件。如HTTP、FTP、SMTP、DNS。
表示层 处理数据表现形式,进行编码转换、加密/解密、压缩/解压,确保不同系统间可识别数据格式。如:SSL/TLS 加密、ASCII、UTF-8。
会话层 管理会话/对话连接,负责建立、维护和终止通信会话。支持会话恢复和同步。协议示例:NetBIOS、RPC。
传输层 提供端到端可靠或不可靠的数据传输,包括流量控制、差错检测、重传机制、数据排序。协议:TCP(可靠)、UDP(不可靠)。
网络层 实现主机间通信,负责逻辑地址(IP)分配和路径选择(路由),让数据跨网段传输。如:IP、ICMP。
数据链路层 局域网中节点间通信,将网络层数据封装成帧,加入 MAC 地址,进行差错检测与纠正。协议:Ethernet等
物理层负责比特流在物理介质上传输,如电信号、光信号、无线信号等。规定电气标准、接口类型。如:网线、光纤、网卡。

三、OSI模型与TCP/IP模型的比较

四、以太网协议

    以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输:

    以太网帧结构:

    1. 类型:标识上层协议(2字节)
    2. 目的地址和源地址:MAC地址(每个6字节)
    3. 数据:封装的上层协议的分组(46~1500字节)
    4. CRC:循环冗余码(4字节)
    5. 以太网最短帧:以太网帧最短64字节(其中数据最短46字节);

    MAC地址:

    1. MAC地址长度为6字节,48位;
    2. MAC地址具有唯一性,每个网络适配器对应一个MAC地址;
    3. 通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来;
    4. MAC广播地址:FF-FF-FF-FF-FF-FF。

    五、HTTP 与 HTTPS 协议

    4.1 HTTP 是什么?

    • HTTP(HyperText Transfer Protocol) 是 Web 通信的核心协议。

    • 位于 应用层

    • 特点:

      • 无状态:每个请求独立

      • 明文传输:安全性差

      • 基于 TCP 传输,端口号默认 80

    4.2 HTTPS 是什么?

    • HTTPS = HTTP + TLS/SSL 加密层

    • 加密通信:防止窃听和中间人攻击

    • 使用证书验证身份(X.509 证书)

    • 默认端口 443

    • 位于 应用层 + 表示层(加密处理在表示层逻辑)

    4.3 HTTP vs HTTPS 对比

    特性HTTPHTTPS
    安全性无加密,易被窃听加密传输,支持身份认证
    端口80443
    协议栈位置应用层应用层 + 加密逻辑
    性能更快多一次握手、加密计算稍慢

    4.4 HTTP状态码

    状态码类型含义常见场景/说明
    200成功请求成功,返回预期响应内容GET/POST 请求成功
    201成功成功创建资源POST 提交新数据(如用户注册、上传)
    204成功请求成功,但无响应内容DELETE 请求成功,无需返回内容
    301重定向永久重定向页面永久迁移,新 URL 更新
    302重定向临时重定向登录后跳转原页面
    304缓存优化资源未修改,使用本地缓存浏览器缓存机制,结合 ETag 使用
    400客户端错误请求格式错误或参数无效请求参数错误、JSON 格式异常
    401客户端错误未认证,需登录JWT 过期、Token 缺失、用户未登录
    403客户端错误已登录但无权限访问权限不足、越权访问
    404客户端错误请求资源不存在接口路径错误,路由未定义
    405客户端错误请求方法不允许POST 请求了一个只允许 GET 的接口
    429客户端错误请求过于频繁接口限流、反爬虫保护
    500服务端错误服务器内部错误未处理的异常、代码崩溃
    502服务端错误网关错误反向代理连接后端服务失败(如 Nginx)
    503服务端错误服务暂时不可用应用维护中、限流熔断中
    504服务端错误网关超时后端超时,代理层(如 Nginx)响应超时错误

    六、比特(bit)与字节(Byte)

    1、定义

    • 比特:二进制数系统中,每个0或1就是一个位(bit)。位是数据存储(计算机中信息)的最小单位。计算机中的CPU位数指的是CPU一次能处理的最大位数。
    • 字节:8比特就称为一个字节, 即1Byte=8bit,是计算机中信息的基本单位。

    2、基础关系

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

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

    相关文章

    Java 设计模式及应用场景

    Java 设计模式是解决软件开发中常见问题的通用方案,通过合理的设计模式可以提高代码的可维护性、可扩展性和复用性。下面将介绍 Java 中常见的设计模式及其原理。一、设计模式的分类设计模式主要分为三大类,共 23 种经典模式:创建型模式&…

    GitHub Jekyll博客本地Win开发环境搭建

    GitHub Jekyll博客本地Win开发环境搭建 标签 后端 blog jekyll 全文链接 GitHub Jekyll博客本地Win开发环境搭建 概述 本文详细介绍了在Windows系统上搭建Jekyll博客本地开发环境的完整步骤,为GitHub Pages博客开发提供本地预览和调试能力。 环境依赖 Ruby环…

    浏览器防录屏是怎样提高视频安全性?

    文章目录前言一、什么是浏览器防录屏二、浏览器防录屏的原理是什么?(javascript)三、如何实现浏览器防录屏总结前言 在数字内容版权保护面临严峻挑战的今天,浏览器防录屏技术作为视频安全体系的关键一环,其重要性日益…

    uni-app项目配置通用链接拉起ios应用android应用

    uniapp开发ios&android可拉起app的辛酸历程IOS配置指南1、登录[apple Developer](https://developer.apple.com/account/resources/identifiers/list)账户找到自己开发的对应的项目2、确保对应项目的Associated Domains是打开状态3、本地创建一个 apple-app-site-associati…

    deep learning(李宏毅)--(六)--loss

    一,关于分类问题及其损失函数的一些讨论。 在构建分类模型是,我们的最后一层往往是softmax函数(起到归一化的作用),如果是二分类问题也可以用sigmoid函数。 在loss函数的选择上,一般采用交叉熵损失函数(…

    Python绑定及其在Mujoco仿真器中的作用

    好的,这是一个非常核心且重要的问题。我来分两部分为你详细解释:首先是“什么是Python绑定”,然后是“它在MuJoCo中具体的作用”。第一部分:什么是Python绑定 (Python Binding)? 简单来说,Python绑定是一座…

    数学建模从入门到国奖——备赛规划优秀论文学习方法

    数学建模从入门到国奖——备赛规划 数学建模国一:我的逆袭经验分享在大二,我们团队初次参加妈妈杯,遗憾未获奖,后来经过5个月的时间,在大三上学期的9月,我们团队以C题数据挖掘机器学习创新斩获国赛一等奖&a…

    大型语言模型的白日梦循环

    每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

    【Gaussian Haircut论文】在Deepseek和Chatgpt的帮助下慢速了解核心方法

    3.Method 一、 1.核心目标 输入:多张从不同角度拍摄的头发照片。输出:3D发型模型,且模型由发丝构成(即每根头发被建模为独立的曲线/线段,而非体积/网络)。 2.数据预处理 在正式重建前,需要从输入…

    众趣SDK重磅升级:空间物联IOT新视界,赋能实景三维场景深度应用

    近日,空间数字孪生云服务行业领导者—众趣科技宣布旗下核心产品云服务平台Qverse SDK迎来里程碑式升级!本次升级聚焦行业前沿需求,重磅推出IoT设备监控系统、iframe跨平台页面无缝集成、BI数据智能三大解决方案,旨在将三维空间计算…

    021_自然语言处理应用

    自然语言处理应用 目录 NLP应用概述文本理解技术文本生成应用语言分析工具多语言处理专业领域应用实践案例 NLP应用概述 核心能力范围 文本理解 语义理解:深度理解文本含义和上下文实体识别:识别人名、地名、机构名等命名实体关系提取:…

    小程序中状态管理Redux

    Redux 是一个 集中式 状态管理框架,所有状态存储在一个 全局 Store 中,并通过 Action 触发 Reducer 进行数据更新。。1.安装npm install redux miniprogram-computed2.创建// store.js import { createStore } from "redux";// 定义初始状态 c…

    c++:类型转换函数

    简介 在C++中,类型转换运算符(也称为类型转换函数或转换函数)是一种特殊的成员函数,它允许将一个类类型的对象转换为其他类型。转换运算符的声明形式如下: operator type() const; 关键点 ​​声明​​:在类内部声明,没有返回类型(因为type已经表示了返回类型),没…

    Java 8 jdk1.8下载及安装教程和环境变量配置

    1. 概述 本文介绍如何在 Windows 10 系统下下载并安装 Java 开发工具包(JDK 1.8),适合 Java 初学者或需要搭建开发环境的用户。 2. 安装包下载 2.1 安装包获取 由于 Oracle 官网下载需注册登录,可选择以下替代方式获取 JDK 安装…

    git@github.com: Permission denied (publickey).

    摘要:记录新电脑需要clone和push代码到GitHub error: Cloning into FPGA_common… gitgithub.com: Permission denied (publickey). fatal: Could not read from remote repository. 遇到的这个错误信息: gitgithub.com: Permission denied…

    【Linux基础知识系列】第五十四篇 - 网络协议基础:TCP/IP

    在网络通信中,TCP/IP 协议是实现设备之间数据传输的基础。TCP/IP 协议栈定义了数据在网络中传输的方式,从应用层到网络层,再到物理层,每一层都有其特定的功能和协议。理解 TCP/IP 协议的基本概念和工作原理,对于网络管…

    《python语言程序设计》2018版第8章8题编写函数实现二进制转十进制(字符串变整数)!!整数没法进行下标

    二进制转十进制前言第1章幻想的草稿第2章如何把这些幻想的数字带到现实的算式中第3章看来是我想多了第4章 空值不一定是最好的选择第5章 成功了前言 将字符串变成整数,但是整数没法像字符串一样做下标 反复尝试最好的手段,是多多打印 第1章幻想的草稿 …

    LeetCode20

    一个新手小白开始算法的学习之路,以后会不定期分享个人做完一些题目的笔记,使用语言为JavaScript//声明一个名为isValid的函数,接收一个参数s(要检查的字符串) let isValid function(s) {//初始化栈//创建一个空数组s…

    Spring Boot 自动配置:从 spring.factories 到 AutoConfiguration.imports 的演变

    引言 Spring Boot 的自动配置机制是其【开箱即用】特性的核心支撑,通过减少显式配置和简化开发流程,显著提升了开发效率。随着 Spring Boot 版本的迭代,自动配置的实现机制也在不断优化。本文将深入解析 spring.factories 和 AutoConfigurat…