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

计算机网络笔记(七)——1.7计算机网络体系结构

1.7.1计算机网络体系结构的形成

一、计算机网络体系结构的形成背景

  1. 早期网络的问题

    • 各厂商独立开发网络协议(如IBM的SNA、DEC的DECnet)
    • 协议不兼容导致互联困难
    • 缺乏统一标准,网络扩展和维护成本高
  2. 核心需求推动

    • 统一标准的需求(兼容不同设备)
    • 解决复杂性问题(通过分层降低复杂度)
    • 实现"端到端"可靠通信

在这里插入图片描述

二、关键技术演进历程

  1. 分层思想的提出(1960)

    • 将网络功能分解为独立模块
    • 分层原则:每层依赖下层服务,并为上层提供服务
    • "协议栈"概念的诞生
  2. ARPANET实践(1969-1983)

    • 早期使用NCP协议
    • 1983年正式采用TCP/IP协议
  3. 标准化的竞争

    • OSI模型(1983年)
      • 理论完善但复杂度高
    • TCP/IP模型
      • 实践驱动,逐步成为事实标准

三、OSI参考模型与TCP/IP体系

在这里插入图片描述

四、核心驱动要素分析

  1. 问题驱动

    • 解决异种机互联问题
    • 实现可靠的端到端传输
    • 提高协议的可扩展性
  2. 分层优势

    • 模块化设计降低开发难度
    • 各层独立演进不影响整体
    • 明确的责任边界
  3. 协议三要素

在这里插入图片描述

五、历史经验总结

  1. OSI的失败启示

    • 过度设计导致实现复杂
    • 标准化进程滞后于实际应用
    • 未能适应快速发展的互联网需求
  2. TCP/IP成功因素

    • 实践驱动的发展模式
    • 灵活的可扩展性设计
    • 简单高效的实现方式

关键提示:现代网络体系本质是"沙漏模型",其中IP层是核心腰线,上下层可灵活扩展。理解TCP/IP四层模型的职责划分,是学习网络编程的基础。

1.7.2协议与划分层次

一、网络协议的三要素

网络协议是网络通信的基础规则,由三个核心要素构成:

要素说明
语法数据与控制信息的结构或格式(例如:IP地址的格式、HTTP请求头格式)
语义控制信息代表的含义(例如:SYN表示建立连接,FIN表示断开连接)
同步事件发生的顺序和时间关系(例如:TCP三次握手过程中的ACK确认机制)

二、协议分层的原因与优势

在这里插入图片描述

分层设计的核心优势:

  1. 解耦与独立:各层只关心本层功能实现,无需知晓其他层细节
  2. 灵活替换:单层技术升级不影响整体结构(如链路层从以太网升级到WiFi)
  3. 标准化接口:每层通过服务访问点(SAP)为上层提供统一服务接口
  4. 模块化开发:不同团队可并行开发不同层次
  5. 故障隔离:可快速定位问题层次(如网络不通时分层ping测试)

三、典型的五层协议体系

层次核心功能典型协议/设备数据单元
应用层提供用户可直接使用的网络服务HTTP/FTP/SMTP/DNS消息/报文
传输层实现端到端的可靠传输与流量控制TCP/UDP段(Segment)
网络层路由选择与IP寻址IP/ICMP/OSPF数据报(Datagram)
链路层相邻节点间的帧传输Ethernet/PPP/Wi-Fi帧(Frame)
物理层物理介质上的比特流传输RS-232/USB/光纤标准比特(Bit)

对等层通信示意图

在这里插入图片描述

四、分层的具体实现过程

以网页访问为例的分层处理流程:

  1. 应用层:浏览器生成HTTP请求报文
  2. 传输层:添加TCP头(源端口80,目标端口随机)
  3. 网络层:添加IP头(源IP 192.168.1.100,目标IP 220.181.38.148)
  4. 链路层:封装以太网帧(源MAC 00:11:22:33:44:55,目标MAC网关MAC)
  5. 物理层:转换为比特流通过网卡发送

分层处理示意图:

在这里插入图片描述

五、分层设计的工程实践

  1. 标准化接口:UNIX系统的Socket API统一网络编程接口
  2. 中间件技术:Web服务器(Nginx)基于分层架构处理请求:
    • 应用层:解析HTTP协议
    • 传输层:管理TCP连接池
    • 网络层:处理IP路由
  3. 流量整形:QoS通过分层标记实现优先传输(如VLAN标签、IP TOS字段)

1.7.3具有五层协议的体系结构

五层模型概述

计算机网络五层模型结合了OSI七层模型的详细划分和TCP/IP模型的实用性,各层职责明确,协同完成端到端的数据传输:

  1. 应用层
  2. 传输层
  3. 网络层
  4. 数据链路层
  5. 物理层

各层功能及关键协议

1. 应用层(用户交互层)

  • 功能:为用户提供直接的网络服务(如网页浏览、文件传输)。
  • 数据单元:消息(Message)/ 报文。
  • 协议举例
    • HTTP(网页加载)
    • SMTP(邮件发送)
    • DNS(域名解析)
  • 设备:终端用户设备(电脑、手机)。

2. 传输层(端到端通信)

  • 功能:确保数据在源主机到目标主机的进程间可靠传输。
  • 数据单元
    • 段(Segment)(TCP,可靠)
    • 数据报(Datagram)(UDP,快速)。
  • 关键协议
    • TCP:面向连接,可靠传输(三次握手、流量控制)。
    • UDP:无连接,高效传输(视频流、实时游戏)。
  • 核心机制:端口号区分应用程序(如80端口对应HTTP)。

3. 网络层(路径选择与寻址)

  • 功能:跨网络路由数据,解决主机间的逻辑寻址。
  • 数据单元:数据包(Packet)。
  • 协议
    • IP(无连接,尽力而为的传输)。
    • ICMP(错误检测,如ping命令)。
  • 设备:路由器(基于IP地址转发)。

4. 数据链路层(本地网络传输)

  • 功能:确保同一链路中相邻节点(如局域网内)的可靠传输。
  • 数据单元:帧(Frame)。
  • 关键机制
    • MAC地址(唯一硬件标识,如00:1A:2B:3C:4D:5E)。
    • 错误检测(CRC校验丢弃错误帧)。
  • 设备:交换机(基于MAC地址转发帧)。

5. 物理层(物理信号传输)

  • 功能:通过物理介质(电缆、光纤)传输二进制比特流。
  • 数据单元:比特(Bit)。
  • 关注点
    • 电压/光信号(如0=低电平,1=高电平)。
    • 接口标准(如RJ45网口、光纤规格)。
  • 设备:集线器(已淘汰)、中继器(放大信号)。

数据封装与解封装流程

数据从发送方到接收方需经历逐层封装和解封装:
在这里插入图片描述

分层协作示例

  1. 应用层:浏览器生成HTTP请求(“访问example.com”)。
  2. 传输层:TCP封装请求为段,加入源端口号和目标端口号(如80)。
  3. 网络层:IP协议添加源IP(192.168.1.2)、目标IP(93.184.216.34)。
  4. 数据链路层:以太网帧填入源MAC(设备网卡地址)和目标MAC(路由器地址)。
  5. 物理层:转换为电信号传输。
  6. 接收端反向解析,最终网页内容送达浏览器。

五层模型与OSI七层模型的对比

五层模型OSI七层模型
应用层应用层、表示层、会话层
传输层传输层
网络层网络层
数据链路层数据链路层
物理层物理层

总结

五层模型简化了网络设计复杂度,各司其职:

  • 应用层:用户交互。
  • 传输层:端到端通信。
  • 网络层:路由与寻址。
  • 数据链路层:链路内传输。
  • 物理层:物理信号传输。

通过分层架构,协议开发者可专注于单层设计,提升网络系统的模块化和兼容性。

1.7.4实体、协议、服务和服务访问点

一、核心概念

  1. 实体(Entity)

    • 任何可以发送或接收信息的硬件/软件进程
    • 例:客户端程序、服务器程序、路由器处理模块
  2. 协议(Protocol)

    • 控制多个实体通信的规则集合

    • 三要素:

      在这里插入图片描述

  3. 服务(Service)

    • 下层实体通过服务访问点向上层提供的功能
    • 服务类型:
      在这里插入图片描述
  4. 服务访问点SAP(Service Access Point)

    • 层间的逻辑接口(类似邮箱投递口)
      在这里插入图片描述

二、层级关系图

在这里插入图片描述

三、关键特性对比

要素协议服务
关系方向水平(对等层之间)垂直(相邻层之间)
可见性不可见(被服务屏蔽)可见(通过SAP调用)
实现方式规范对等实体交互定义层间接口功能

四、数据传输示意图

在这里插入图片描述

五、对话示例(客户-服务器模型)

在这里插入图片描述

关键总结

  1. 协议是"how"(如何通信),服务是"what"(提供什么功能)
  2. SAP是层间交互的地址门牌号
  3. PDU是协议处理单元,SDU是服务传递内容
  4. 上层通过服务访问点使用下层能力,不感知具体协议实现

相关文章:

  • 无穿戴动捕:突破穿戴式设备束缚,解锁更自由高效的动作捕捉体验
  • Linux/AndroidOS中进程间的通信线程间的同步 - IPC方式简介
  • 智能配送机器人控制系统设计
  • MySQL 8.4企业版 安装和配置审计插件
  • 0422--在网页中上传头像(图片)
  • ChatBEV:一种理解 BEV 地图的可视化语言模型
  • 【论文阅读25】-滑坡时间预测-PFTF
  • 解耦旧系统的利器:Java 中的适配器模式(Adapter Pattern)实战解析
  • bert4keras
  • UV: Python包和项目管理器(从入门到不放弃教程)
  • SQL 时间转换的CONVERT()函数应用说明
  • 实验二 多线程编程实验
  • [蓝桥杯 2025 省 Python B] 最多次数
  • HashedWheelTimer源码分析
  • Scrapy框架爬虫官网的学习
  • OpenCV 图形API(55)颜色空间转换-----将图像从 RGB 色彩空间转换为 I420 格式函数RGB2I420()
  • 第九章:Agent Protocol Implementation
  • 香港云服务器内存使用率过高如何解决此问题
  • PH热榜 | 2025-04-23
  • 【金仓数据库征文】从 HTAP 到 AI 加速,KingbaseES 的未来之路
  • 复旦大学校长金力:将配套出台多项政策推动科技成果转化
  • “家门口的图书馆”有多好?上海静安区居民给出答案
  • 过敏性鼻炎,不只是“打喷嚏”那么简单
  • 再放宽!新版市场准入负面清单发布,无人驾驶航空器、电子烟等新业态被纳入
  • 夜读丨一条鱼的使命
  • 融入长三角一体化发展,苏南名城镇江的优势和机遇何在