当前位置: 首页 > ops >正文

网络通信之基础知识

一、什么是计算机网络?

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

二、网络协议与分层思想

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.xdnf.cn/news/15571.html

    相关文章:

  1. 项目的存量接口怎么低成本接入MCP?
  2. 暑期算法训练.3
  3. Android设备标识符详解:IMEI、ANDROID_ID与OAID
  4. 针对教育行业的网络安全方案有哪些
  5. 软件测试面试常见问题【含答案】
  6. Effective Modern C++ 条款13:优先考虑const_iterator而非iterator
  7. docker安装、启动jenkins服务,创建接口自动化定时任务(mac系统)
  8. Python基础--嵌套循环
  9. vuex的理解以及应用
  10. Pytorch深度学习框架实战教程03:Tensor 的创建、属性、操作与转换详解
  11. Java网络通信:UDP和TCP
  12. Python-TCP编程-UDP编程-SocketServer-IO各种概念及多路复用-asyncio-学习笔记
  13. ELK日志分析部署(小白的“升级打怪”成长之路)
  14. javaweb学习开发代码_HTML-CSS-JS
  15. 如何用 Python + LLM 构建一个智能栗子表格提取工具?
  16. AWS Lambda 最佳实践:构建高效无服务器应用的完整指南
  17. Python 网络爬虫 —— requests 库和网页源代码
  18. 永磁同步电机MTPA与MTPV曲线具体仿真实现
  19. 大模型领域主流向量模型相似度算法、架构及指标对比
  20. 在windows平台上基于OpenHarmony sdk编译三方库并暴露给ArkTS使用(详细)
  21. 数据结构 栈(1)
  22. 聚观早报 | 英伟达股价再创新高;中国联通eSIM手机业务开通上线;中国AI加速出海 阿里云提供全栈能力支持
  23. Cookie 与 Session概述
  24. 第2章通用的高并发架构设计——2.6 高并发写场景方案1:数据分片之数据库分库分表
  25. R语言基础| 基本图形绘制(条形图、堆积图、分组图、填充条形图、均值条形图)
  26. 软件项目管理学习笔记
  27. 如何在PyCharm中删除虚拟环境
  28. 项目--五子棋(模块实现)
  29. mysql备份与视图
  30. MyBatis延迟加载(Lazy Loading)之“关联查询”深度解析与实践