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

计算机网络自顶向下方法4——详解协议层次及其服务模型

详解协议层次与服务模型:理解网络架构的基石

本文深入解析分层的网络体系结构,揭示如何通过分层与封装将复杂的通信问题变得可管理。

网络通信是一个极其复杂的问题。想象一下,为了用浏览器加载一个网页,需要同时处理:

  • 在电线/光纤/无线信号上传输比特流。

  • 在共享介质中准确地将数据帧送达目标设备。

  • 在全球范围内的无数网络中找到一条通往目的地的路径。

  • 确保数据完整、有序地从你的浏览器进程送达Web服务器进程。

  • 理解浏览器请求和服务器响应的具体含义。

分层模型 的核心思想就是:通过分而治之,将这个大问题分解为一系列更小、更易管理的子问题。

一、什么是协议层次?

1. 核心思想

每一层都建立在下一层服务之上,通过封装 为上一层提供新的、更高级的服务。

  • 服务:某一层向它的上一层提供的功能。例如,网络层向传输层提供“将数据包从源主机发送到目的主机”的服务。

  • 接口:定义了下层如何向上层提供服务。上层只需要调用接口,而无需关心下层如何实现。

  • 协议:某一层内部,对等实体(比如你的电脑和服务器上的同层软件)之间通信时遵守的规则。

2. 一个生动的类比:公司内部的信件传递

假设公司A的市场部经理要给公司B的销售部经理写一封信。

  1. 经理(应用层)

    • 职责:撰写信件的具体内容(数据)。他关心的是内容的含义(协议),比如使用中文和商务格式。

    • 服务:向经理提供了“与对等经理通信”的能力。

  2. 秘书(传输层)

    • 职责:经理将信交给秘书。秘书将信装入信封,在信封上写明收件人部门和姓名。这相当于添加了传输层首部,以确保信件能到达对方公司的正确进程

    • 服务:向经理提供了“端到端的进程间通信”服务。

  3. 收发室(网络层)

    • 职责:秘书将信交给收发室。收发室将这个信封装入一个更大的快递袋,并在袋子上填写公司B的完整地址。这相当于添加了网络层首部(IP地址)。

    • 服务:向秘书提供了“将数据从任何源主机送到任何目的主机”的逻辑通信服务。

  4. 邮递员(链路层)

    • 职责:收发室将快递袋交给邮递员。邮递员并不关心最终地址,他只关心下一站是哪里。他将快递袋贴上标签,写明“下一站:本地邮局分拣中心”。这相当于添加了链路层首部(MAC地址)。

    • 服务:向收发室提供了在同一网络内将数据帧从一个节点送到下一个节点的服务。

  5. 运输队(物理层)

    • 职责:将快递袋上的所有信息转换成物理信号,通过卡车、飞机等交通工具(比特通过电线、光纤)运输出去。

    • 服务:向邮递员提供了“传输原始比特流”的服务。

整个过程就是一次完美的封装:
[数据] -> [传输层首部 | 数据] -> [网络层首部 | 传输层首部 | 数据] -> [链路层首部 | 网络层首部 | 传输层首部 | 数据] -> 比特流


二、主要的参考模型

历史上主要有两个著名的分层模型:

1. OSI 七层参考模型(理论模型)

这是一个理论上的完美模型,由国际标准化组织提出,常作为教学工具。

层次名称功能简介数据单位比喻回扣
7应用层为用户应用程序提供网络服务报文经理:信件内容
6表示层数据格式转换、加密解密报文翻译/加密员:将中文翻译成英文
5会话层建立、管理和终止会话报文会议协调员:安排会议时间、维持会议秩序
4传输层端到端的可靠传输、流量控制报文段秘书:装信封,写部门/姓名
3网络层逻辑寻址、路由选择数据包收发室:装快递袋,写公司地址
2链路层介质访问、差错控制邮递员:贴标签,写下一站地址
1物理层传输原始比特流比特运输队:将信息变成物理信号运输
2. TCP/IP 五层模型(现实标准)

这是当今互联网实际使用的、精简后的模型。它合并了OSI模型的上三层。

层次对应协议核心职责类比
5. 应用层HTTP, DNS, SMTP, FTP支持具体的网络应用经理 + 翻译 + 协调员
4. 传输层TCP, UDP进程间通信、可靠性、流量控制秘书
3. 网络层IP, ICMP主机的逻辑寻址和路由收发室
2. 链路层Ethernet, WiFi, PPP相邻节点间的帧传输邮递员
1. 物理层-比特流的透明传输运输队

网络应用程序通信流程

如下图,应用程序 A 要将数据”hello” 传给网络上另外一台主机上的应用程序 B, 数据“hello”从应用层发送给传输层后,传输层在数据前面加上 tcp 协议或 udp 协议的报头,将整条报文发给网络

层,网络层添加自己的 IP 报头,再将整条数据发送给数据链路层。数据链路层将数据封装成能在网络中独立传输的数据单元,即数据帧。封装好的数据帧通过网络传输到另一台主机,然后再从下

层依次拆包,将数据部分送往应用层。应用程序 B 就得到了数据  hello

三、服务模型:每一层提供了什么关键服务?

1. 应用层
  • 服务网络应用程序的应用进程之间的通信

  • 协议:定义了应用程序交换的报文类型、语法、语义和时序。

  • 例子:HTTP(请求网页)、SMTP(发送邮件)、DNS(解析域名)。

2. 传输层
  • 服务在主机内的应用程序进程之间传输应用层报文

  • 关键区别

    • TCP服务模型

      • 面向连接:通信前先建立连接。

      • 可靠传输:无差错、不丢失、不重复、按序到达。

      • 流量控制:发送方不会淹没接收方。

      • 拥塞控制:当网络拥堵时,抑制发送速率。

    • UDP服务模型

      • 无连接:直接发送。

      • 不可靠传输:尽最大努力交付,不保证。

  • 例子:TCP像挂号信,UDP像普通平信

3. 网络层
  • 服务将数据报从源主机移动到目的主机

  • 核心功能

    • 转发:将分组从路由器的输入链路转移到合适的输出链路。

    • 路由:使用路由算法决定分组从源到目的所经过的路径。

  • 协议:IP协议。IP是互联网的“粘合剂”,所有网络都必须支持IP才能互联。

4. 链路层
  • 服务在相邻网络节点(如两台直接相连的路由器)之间移动数据帧

  • 核心功能

    • 成帧:将网络层数据报封装成帧。

    • 差错检测:检查帧在传输过程中是否出现比特错误。

    • 介质访问控制:在共享广播信道上决定谁下一个发送数据。

5. 物理层
  • 服务将帧中的每个比特从一个节点移动到下一个节点

  • 关心问题:电压大小、引脚数量、光脉冲特性、无线电频率等物理特性。

总结:分层架构的威力

  1. 模块化与清晰分工:各层职责明确,可以独立发展和改进。例如,从以太网升级到Wi-Fi,上层协议完全不受影响。

  2. 简化复杂度:应用开发者只需关心应用层协议,无需懂得物理信号如何调制。

  3. 促进互操作性:只要遵守层次接口和协议,不同厂商、不同技术的产品可以无缝协作。

通过分层,我们将“在全球范围内将数据从你的浏览器进程可靠地送达Web服务器进程”这一宏大而复杂的问题,分解成了在五个相对简单的层面上各自解决的问题。这正是计算机网络设计的精妙之处。

http://www.dtcms.com/a/528732.html

相关文章:

  • 【开题答辩全过程】以 暴肌兔健康饮食推荐系统的设计与实现为例,包含答辩的问题和答案
  • 网站找不到首页网站开发分前台后台
  • 网站微信支付怎么做深圳品牌做网站公司哪家好
  • jEasyUI 创建异步树形菜单
  • fabric.js 中originX originY center设置问题
  • java开发手册与规范
  • 展示网站开发 大概多少钱wordpress+4.2.4中文
  • 深圳建设局官网站对网站建设需求
  • linux:查看某个文件下开启的进程占用的是哪个端口?
  • 【开题答辩过程】以《基于微信小程序的街道水电费缴纳系统》为例,不会开题答辩的可以进来看看
  • (数据结构)栈和队列
  • 体育西网站开发方案成都和奇乐网站建设公司怎么样
  • 网站管理后台 模板河南省建设厅网站总经济师
  • 网站建设难学吗广西建设厅官网站
  • Linux内核RDMA通信管理器ConfigFS配置接口深度解析
  • R语言模型分析(一)
  • gitee简易的命令入门教程
  • 永康建设局网站电话佛山建网站
  • Profinet 转 TCP/IP 协议转换网关:打破 PLC 与打标卡协议壁垒的工业通讯利器
  • 做网站花了2万多做网站的专业公司
  • OceanBase常见Hint使用
  • LeetCode算法日记 - Day 83: 乘积最大的子数组
  • 站长之家的作用什么是优化资源配置
  • FreeRTOS在MCU开发中常用应用
  • AIGC视频生成之Deepseek、百度妙笔组合实战小案例
  • wordpress 付费剧集网站免费建立网站有必要吗
  • ES数据聚合及其java实现
  • 二、模型训练与参数高效微调范式
  • 美的公司网站建设的目的网站设计注意因素
  • 手机环境光自动亮度调节系统完整实现详解