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

计算机网络体系结构-网络原理初识

1. 网络发展史

1.1 独立模式

计算机网络是指将地理位置不同、具有独立功能的多台计算机及其外部设备,通过通信线路和通信设备连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递

1.2 网络互连

随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互连。网络互连:将多台计算机连接在一起,完成数据共享。 数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。

根据网络互连的规模不同,可以划分为局域网和广域网。

1.2.1 局域网 LAN

局域网,即 Local Area Network,简称 LAN。 Local 即标识了局域网是本地,局部组建的一种私有网络。

局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。

局域网组建网络的方式有很多种:

  1. 基于网线直连:最简单的形式,用网线直接连接多台主机,仅适用于极少设备的场景
  2. 基于集线器组建:所有主机连接到集线器 (Hub) 上,属于物理层设备,收到信号后广播给所有端口
  3. 基于交换机组建:交换机 (Switch) 工作在数据链路层,可以精准识别目标设备,定向传输数据,是局域网主流组建方式
  4. 基于交换机和路由器组建:路由器 (Router) 负责连接不同局域网,搭配交换机可实现更复杂的内网结构
1.2.2 广域网 WAN

广域网,即 Wide Area Network,简称 WAN。

通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网。

如果有北、中、南等分公司,甚至海外分公司,把这些分公司以专线方式连接起来,即称为 “广域网”。 如果属于全球化的公共型广域网,则称为互联网 (又称公网,外网),属于广域网的一个子集。 有时在不严格的环境下说的广域网,其实是指互联网。

注意:所谓 "局域网" 和 "广域网" 只是一个相对的概念。比如一个覆盖全省的专网,相对城市园区网是广域网,但相对全球互联网,又可以看做一个比较大的局域网。

2. 网络通信基础

网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据。那么,在组建的网络中,如何判断到底是从哪台主机,将数据传输到那台主机呢?这就需要使用 IP 地址来标识。

2.1 IP 地址

概念

IP 地址主要用于标识网络主机、其他网络设备 (如路由器) 的网络地址。简单说,IP 地址用于定位主机的网络地址。就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。

格式

IP 地址是一个 32 位的二进制数,通常被分割为 4 个 “8 位二进制数”(也就是 4 个字节),如:01100100.00000100.00000101.00000110

通常用 “点分十进制” 的方式来表示,即a.b.c.d的形式 (a,b,c,d 都是 0~255 之间的十进制整数)。 如:100.4.5.6

2.2 端口号

概念

在网络通信中,IP 地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。类似发送快递时,不光需要指定收货地址 (IP 地址),还需要指定收货人 (端口号)。

格式

端口号是 0~65535 范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。


问题: 有了 IP 地址和端口号,可以定位到网络中唯一的一个进程,但还存在一个问题,网络通信是基于二进制 0/1 数据来传输,如何告诉对方发送的数据是什么样的呢?网络通信传输的数据类型可能有多种:图片,视频,文本等。同一个类型的数据,格式可能也不同,如发送一个文本字符串 “你好!”:如何标识发送的数据是文本类型,及文本的编码格式呢?基于网络数据传输,需要使用协议来规定双方的数据格式。


2.3 认识协议

概念

协议,网络协议的简称,网络协议是网络通信 (即网络数据传输) 经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。

协议 (protocol) 最终体现为在网络上传输的数据包的格式。

作用

计算机之间的传输媒介是光信号和电信号。通过 "频率" 和 "强弱" 来表示 0 和 1 这样的信息。要想传递各种不同的信息,就需要约定好双方的数据格式。

  • 计算机生产厂商有很多;
  • 计算机操作系统,也有很多;
  • 计算机网络硬件设备,还是有很多;

如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来,约定一个共同的标准,大家都来遵守,这就是网络协议。

2.4 五元组

在 TCP/IP 协议中,用五元组来标识一个网络通信:

  1. 源 IP:标识源主机
  2. 源端口号:标识源主机中该次通信发送数据的进程
  3. 目的 IP:标识目的主机
  4. 目的端口号:标识目的主机中该次通信接收数据的进程
  5. 协议号:标识发送进程和接收进程双方约定的数据格式

五元组在网络通信中的作用,类似于发送快递:

  • 目的 IP:收件人地址
  • 目的端口号:收件人
  • 源 IP:寄件人地址
  • 源端口号:寄件人
  • 协议:快递类型

实操:可以在 cmd 中,输入命令查看网络数据传输中的五元组信息 如果需要过滤 (一般是通过端口号或进程 PID 过滤),可以搭配findstr关键字使用

cmd

// 查看所有活动连接的五元组 netstat -ano // 按端口号/PID过滤 netstat -ano | findstr 字符串

3. 协议分层

对于网络协议来说,往往分成几个层次进行定义。

3.1 什么是协议分层

协议分层类似于打电话时,定义不同的层次的协议:

  • 语言层:约定用汉语沟通,双方都遵循汉语的表达规则
  • 通信设备层:电话机、电话系统负责语音信号的传输

两层之间通过固定接口对接,仅在通信设备层变更时,不影响语言层的沟通;仅在语言层变更时,不影响设备层的传输。实际的网络通信会更加复杂,需要分更多的层次。

3.2 分层的作用

为什么需要网络协议的分层?分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接在代码中,类似于定义好一个接口,一方为接口的实现类 (提供方,提供服务),一方为接口的使用类 (使用方,使用服务):

  • 对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可
  • 对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可
  • 只有相邻两层可以通信
  • 上层协议调用下层协议
  • 下层协议给上层协议提供服务
  • 不能跨层通信

3.3 OSI 七层模型

OSI: 即 Open System Interconnection,开放系统互连

  • OSI 七层网络模型是一个逻辑上的定义和规范:把网络从逻辑上分为了 7 层。
  • OSI 七层模型是一种框架性的设计方法,其最主要的功能就是帮助不同类型的主机实现数据传输。

OSI 七层模型划分为以下七层,每层功能概览:

  1. 应用层:针对每个应用的协议,直接和用户程序交互
  2. 表示层:处理设备固有数据格式和网络标准格式的转换
  3. 会话层:负责通信管理,建立和断开连接,管理会话时长
  4. 传输层:确保数据被可靠地传送到目标地址,处理数据丢失等问题
  5. 网络层:负责地址管理和路由选择,规划数据传输路径
  6. 数据链路层:负责数据帧的传送与识别、差错校验
  7. 物理层:定义光电信号的传输规则、连接器与网线的规格

注意:OSI 七层模型既复杂又不实用,所以 OSI 七层模型没有落地、实现。实际组建网络时,只是以 OSI 七层模型设计中的部分分层,也即是 TCP/IP 五层 (或四层) 模型来实现。

3.4 TCP/IP 五层 (或四层) 模型

TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。 TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

  1. 应用层负责应用程序间沟通,如简单电子邮件传输 (SMTP)、文件传输协议 (FTP)、网络远程访问协议 (Telnet) 等。我们的网络编程主要就是针对应用层。 典型协议:HTTP、HTTPS、DNS、FTP、SSH、SMTP 等

  2. 传输层负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。 典型协议:TCP、UDP、UDP-Lite 等

  3. 网络层负责地址管理和路由选择。例如在 IP 协议中,通过 IP 地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路 (路由)。路由器 (Router) 工作在网路层。 典型协议:IP、ICMP、ARP 等

  4. 数据链路层负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步、冲突检测、数据差错校验等工作。有以太网、令牌环网,无线 LAN 等标准。交换机 (Switch) 工作在数据链路层。

  5. 物理层负责光 / 电信号的传递方式。比如现在以太网通用的网线 (双绞线)、早期以太网采用的的同轴电缆、光纤,现在的 wifi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器 (Hub) 工作在物理层。

注意:物理层我们考虑的比较少,因此很多时候也可以称为 TCP/IP 四层模型,即将数据链路层和物理层合并为网络接口层。

3.5 网络设备所在分层

不同的网络设备,工作的协议层级不同:

  • 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容,也即是 TCP/IP 五层模型的下四层
  • 对于一台路由器,它实现了从网络层到物理层,也即是 TCP/IP 五层模型的下三层
  • 对于一台交换机,它实现了从数据链路层到物理层,也即是 TCP/IP 五层模型的下两层
  • 对于集线器,它只实现了物理层

注意:我们这里说的是传统意义上的交换机和路由器,也称为二层交换机、三层路由器。随着现在网络设备技术的不断发展,也出现了很多 3 层或 4 层交换机,4 层路由器。我们以下说的网络设备都是传统意义上的交换机和路由器。

3.6 封装和分用

网络数据传输时,经过不同的网络节点 (主机、路由器) 时,需要经过封装和分用两个核心过程。

3.6.1 封装

不同的协议层对数据包有不同的称谓,在传输层叫做段 (segment),在网络层叫做数据报 (datagram),在链路层叫做帧 (frame)。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部 (header),称为封装 (Encapsulation)。 首部信息中包含了一些类似于首部有多长,载荷 (payload) 有多长,上层协议是什么等信息。数据封装成帧后发到传输介质上,完整的封装流程:

  1. 应用程序产生用户数据,交给应用层处理
  2. 传输层添加 TCP/UDP 首部,形成 TCP 段
  3. 网络层添加 IP 首部,形成 IP 数据报
  4. 数据链路层添加以太网首部和尾部,形成完整的以太网帧
  5. 最终转为光电信号,通过物理层传输介质发出
3.6.2 分用

到达目的主机后每层协议再剥掉相应的首部,根据首部中的 "上层协议字段" 将数据交给对应的上层协议处理,这个过程称为分用

分用的判断依据:

  • 数据链路层:根据以太网首部中的帧类型,判断上层协议是 IP 还是 ARP 等
  • 网络层:根据 IP 首部中的协议值,判断上层是 TCP 还是 UDP
  • 传输层:根据 TCP 或 UDP 首部中的端口号,将数据交给对应的应用进程

网络通信流程,例如qq发消息

1、应用层获取用户输入,构造成一个数据包,遵守应用层协议,这个协议是程序员写的,发送的时候通过序列化成二进制流/字符串,接收的时候反序列化,假如我们约定数据格式如下

2、应用层调用传输层接口,传输层提供的API,把数据交给传输层,传输层拿到数据构造传输层数据包,传输层协议主要是两个TCP/UDP

3、传输层构造好数据包以后调用网络层API,网络层继续处理,网络层主要协议IP,IP协议对上面继续封装(IP协议不关心载荷信息,同理tcp也是)

4、IP层调用数据链路层API,把数据包交给数据链路层,数据链路层核心协议以太网

5、以太网将数据包交给硬件设备,网卡,网卡会把上述二进制信息,以光信号/电信号等发送出去

6、接收数据过程从下往上解开数据包

上述过程复杂,但是速度极快,这就是大概的网络通信流程

4.

网络从独立单机模式演进到局域网、广域网互联,核心目的是实现跨主机的数据传输与资源共享; 网络通信的核心三要素是 IP 地址、端口号、协议,通过五元组可以唯一标识一次网络通信; 协议采用分层设计思想,通过解耦提升扩展性与可维护性,OSI 七层是理论参考模型,TCP/IP 五层是实际落地的工业标准; 网络数据传输的核心是封装与分用,发送端从上到下逐层加首部打包,接收端从下到上逐层拆包分发; 不同网络设备工作在不同的协议层级,主机覆盖下四层、路由器下三层、交换机下两层、集线器仅物理层。

http://www.cnnetsun.cn/news/3053285.html

相关文章:

  • 告别手速焦虑:大麦抢票自动化终极解决方案
  • 打破游戏控制器兼容性壁垒:GlosSI系统级Steam Input解决方案
  • 第87题 氮化镓(GaN)自支撑衬底氢化物气相外延(HVPE)裂纹与翘曲控制技术
  • 3个实用步骤让Win11Debloat彻底优化你的Windows系统性能
  • Web安全测试:动态URL参数收集与智能漏洞探测实战
  • TUSB4020B评估模块拆解:从电源设计到信号完整性,打造稳定USB集线器
  • OpenCore Legacy Patcher完整指南:让旧Mac免费升级最新macOS的终极方案
  • 竞赛云端网络 华为DevStation昇腾WebIDE能否安装腾讯CodeBuddy claude
  • 春考:把握升学新通道,走出更适合自己的成长路径
  • 一文读懂AI落地的三驾马车:大语言模型、RAG、多模态AI
  • BiliTools跨平台哔哩哔哩工具箱:高效下载与管理B站资源的终极指南
  • 德州仪器Value Soundbar参考设计:8周量产的高集成音频方案解析
  • 山东春考网课:让升学备考更高效、更有方向
  • 论文党速看!2026亲测靠谱的AI论文写作工具|安心版
  • 海外华商选型指南:越南批零跨境生意,如何选择适配的进销存收银系统
  • Nmap与Kali Linux实战指南:从网络扫描到自动化渗透测试
  • Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
  • 牛津大学让AI学会“物理直觉“:无需看视频就能预测物体运动
  • TLV320AIC27音频编解码器评估:硬件配置、工作模式与DSP集成实战
  • 实操-大白菜的五个实操
  • Whois域名查询API集成指南:从零搭建域名信息查询工具
  • Win11Debloat:3分钟完成Windows系统优化,彻底清理臃肿应用
  • 存储器映射
  • ChatGPT API额度耗尽前的7个致命征兆:运维老炮儿手把手教你实时监控+动态配额调度
  • 我让 Claude 写了一个贪吃蛇游戏,然后用 ccglass 看清它发给模型的真实请求AI 编程 Agent 越来越强。
  • 从满额到冻结:ChatGPT Plus额度耗尽后的72小时连锁反应(含API错误码对照表+应急回滚方案)
  • AI视频生成神器Pixelle-Video:3分钟让普通人变身视频创作高手
  • Python笔记(二):Conda 常用命令总结
  • 我的惠普tank2606打印机屏幕突然提示ER08,碳粉灯亮黄色灯,之后我加了2包碳粉,问题依旧,到维修店,师傅说要换配件,费用大概400左右,太贵没有修就带回来了,之后发现了这个软件,一分钟修好了。
  • 地产三维动画制作公司怎么选:从技术路线到交付保障的完整决策框架