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

计算机网络学习记录之网络通讯原理

在 计算机网络的学习过程中,了解网络通讯原理是非常重要的,它有助于我们开发出更强大的网络应用程序。下面就来详细探讨一下互联网协议相关内容。

互联网协议概述

互联网协议主要解决两个关键问题:一是描述计算机应该如何接入 Internet,二是规定计算机通讯所遵从的标准。

OSI 七层协议

OSI 的全称是 Open System Interconnect,即开放式网络互联,简称为 OSI 通讯模型。它是由 ISO(国际化标准组织)在 1985 年定义的一种网络通讯模型,从硬件到软件再到通讯,都做了相对完善的规划。需要注意的是,下三层和硬件相关,中间的传输层和通讯紧密相关,上三层则和软件相关。

TCP 5 层模型

TCP 5 层模型包括物理层、数据链路层、网络层、传输层和应用层。

1. 物理层

计算机进行通讯需要借助媒介来搭建网络。硬件层面是通过电信号(0 和 1)来完成通讯的,其中 1 代表高电压,0 代表低电压。计算机底层只能使用 0/1 二进制进行通讯。

2. 数据链路层

单纯由物理层传输的 0 和 1 本身没有意义,必须是具有特定组合的 0 和 1 才行。数据链路层遵从以太网协议,它有以下规定:

  • 传输时,数据以 “数据包” 的形式传输,称作 “帧”。每一帧分为 “帧头” 和 “数据” 两部分。
  • 帧头(head)中包含源 MAC 地址目标 MAC 地址以及数据类型。数据需要以字节(Byte)为单位进行传输,1M = 1024KB,1KB = 1024B(字节),一帧数据大概为 1KB。
  • MAC 地址是网卡自带的唯一标识,由厂商分配。其中前 6 位代表生产厂商,后 6 位代表网卡生产序号。

ARP 协议(Address Resolution Protocol,地址解析协议)是在网络范围内寻找 MAC 地址的一种通讯协议,它采用广播模式通讯(就像调到特定频道后 24 小时接受信息一样)。其优点是能在一定范围内找到 MAC 地址,但缺点是无法应对数量庞大的通讯请求。

3. 网络层

由于以太协议采用广播通讯协议,导致全世界的电脑在任何时间都会接收到大量无效数据。为应对这一问题,采取的策略是划分子网

网络层的作用就是划分网络,它遵从网络 IP 协议和网络地址相关规则。我们通过子网掩码来判断多个 IP 地址是否在同一子网范围内。

4. 传输层

计算机之间的通讯,本质上是应用软件和应用软件之间的通讯。

问:那么软件是如何区分不同的软件呢?

答:端口号

端口号的取值范围是 0 - 65535,其中 1024 以下为系统端口,比如 3306 是 MySQL 数据库端口,22 是 Linux 服务器端口,1521 是 Oracle 端口。

传输层的作用是建立端口到端口的通讯,主要有 TCP 协议和 UDP 协议

TCP 协议:其特点是安全、可靠、高效,依赖连接,遵从一问一答模式,就好比我们和 AI 进行提问交流一样。

TCP 协议通讯时的步骤如下:

  • 建立连接:包含三次握手。第 1 次,客户端发起请求,请求建立连接;第 2 次,服务器返回响应,告知客户端服务器状态正常;第 3 次,客户端再次发起请求,告诉服务器客户端状态正常。
    • 数据传输:在连接建立后进行数据的传输。
  • 关闭连接:遵从 四 次挥手。第 1 次,客户端发起请求,请求断开连接;第 2 次,服务端返回响应,告知客户端服务器已知晓;第 3 次,服务器再次返回响应,告诉客户端可以正式断开;第 4 次,客户端发送消息,正式断开连接。
  • UDP 协议:类似于发短信、发邮件、邮寄信封,无法保证数据在传输过程中的实时性和可靠性。因此,绝大多数的应用软件底层在传输时都使用 TCP 协议。由于 TCP 协议底层需要使用 IP 协议,所以也被称为 TCP/IP 协议。
5. 应用层

HTTP 协议是 Web 系统遵从的协议。

通过对网络通讯原理中互联网协议的学习,我们对计算机网络通讯的底层机制有了更清晰的认识,


http://www.kler.cn/a/549504.html

相关文章:

  • QT 读写锁
  • 关于单片机内部时钟校准的原理和方法
  • 进程与线程的区别与联系
  • 什么是网关?网关有什么作用?API网关的主要功能,SpringCloud可以选择有哪些API网关?什么是限流算法?网关如何实现限流?一篇文章读懂网关的前世今生
  • 掌握SQLite_轻量级数据库的全面指南
  • 前端AI对话框项目实现
  • OceanBase使用ob-loader-dumper导出表报ORA-00600
  • 用Python turtle模块模拟梵高《星夜》的动画程序,包含动态笔触效果和色彩还原
  • JavaScript设计模式 -- 代理模式
  • mac 意外退出移动硬盘后再次插入移动硬盘不显示怎么办
  • C# 添加图标
  • 本地部署MindSearch(开源 AI 搜索引擎框架),然后上传到 hugging face的Spaces——L2G6
  • 在 Azure 上部署 DeepSeek 并集成 Open WebUI
  • linux 释放9090端口
  • Ubuntu终端的常用快捷键
  • 第42天:Web开发-JavaEE应用Servlet技术路由配置生命周期过滤器Filter监听器Listen
  • 【强化学习】Q-learning算法详解:含MATLAB和Python实现代码
  • Python —— format函数的使用
  • 基于图像处理的裂缝检测与特征提取
  • Jmeter断言、关联、录制脚本