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

网络通信之基础知识

一、什么是计算机网络?

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

二、网络协议与分层思想

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.dtcms.com/a/284396.html

    相关文章:

  1. deep learning(李宏毅)--(六)--loss
  2. day19-四剑客与正则-特殊符号正则-awk
  3. [yotroy.cool] 记一次 Git 移除某个不该提交的文件
  4. iOS WebView 调试与性能优化 跨平台团队高效协作方法解析
  5. PyTorch生成式人工智能(18)——循环神经网络详解与实现
  6. 可视化图解算法56:岛屿数量
  7. Word 中为什么我的图片一拖就乱跑,怎么精确定位?
  8. python使用pymysql库
  9. modbus 校验
  10. 泛型与类型安全深度解析及响应式API实战
  11. Java 集合框架详解:Collection 接口全解析,从基础到实战
  12. 7月17日日记
  13. 【机器学习】向量数据库选型指南:企业内网部署场景
  14. 从零开始:C++ UDP通信实战教程
  15. 河南萌新联赛2025第(一)场:河南工业大学(补题)
  16. SQLite的可视化界面软件的安装
  17. YOLO11 vs LMWP-YOLO:参数量-52.5%,mAP+22.07%,小型无人机的远距离检测
  18. 7月17日
  19. 深度学习 -- Tensor属性及torch梯度计算
  20. 大型语言模型的白日梦循环
  21. Ollama使用指南-更改默认安装路径和Model路径(安装到非C盘)
  22. 【深度学习】神经网络反向传播算法-part4
  23. Java数组补充v2
  24. Java数组中相关查找排序算法(1)
  25. 密码管理安全防御
  26. Servlet概述
  27. Hive常用命令总结
  28. 直播带货与开源AI智能名片链动2+1模式S2B2C商城小程序:重塑电商营销新格局
  29. springboot打包二次压缩Excel导致损坏
  30. 从零开始实现一个简单的 RPC 框架(Java 版)