计算机网络-1.2分层结构

文章目录

    • 三种分层结构
      • OSI 七层模型(Open Systems Interconnection Model)
      • TCP/IP 四层模型
      • 混合模型
      • 各层之间的关系
      • PDU,SDU,PCI
        • PDU(Protocol Data Unit)
        • SDU(Service Data Unit)
        • PCI(Protocol Control Information)
        • 三者关系
        • 示例
      • 协议的三要素
      • 语法
      • 语义
      • 时序
    • OSI参考模型
      • 应用层
      • 表示层
      • 会话层
      • 传输层
      • 网络层
      • 数据链路层
      • 物理层
    • TCP/IP模型
      • 应用层
      • 传输层
      • 网络层(互联网层)
      • 网络接口层(数据链路层和物理层)

三种分层结构

OSI 七层模型(Open Systems Interconnection Model)

OSI 模型是一个理论上标准的参考模型,将网络通信过程划分为七个层次,每层都有特定的功能:

  • 第七层 - 应用层:提供用户接口,支持网络服务,如 HTTP、FTP、SMTP。
  • 第六层 - 表示层:负责数据格式转换和加密/解密。
  • 第五层 - 会话层:管理会话,控制对话的建立、维护和终止。
  • 第四层 - 传输层:提供可靠的端到端通信,如 TCP、UDP 协议。
  • 第三层 - 网络层:负责路径选择和路由,如 IP 协议。
  • 第二层 - 数据链路层:将数据帧传输到相邻节点,如以太网、PPP。
  • 第一层 - 物理层:涉及传输介质和信号,如光纤、电缆。

TCP/IP 四层模型

TCP/IP 模型是网络实际使用中最广泛采用的模型,由于其灵活性和实用性,常用于互联网和局域网。它分为以下四个层次:

  • 应用层:结合了 OSI 模型的应用层、表示层和会话层的功能,支持应用程序,如 HTTP、SMTP、FTP。
  • 传输层:对应 OSI 模型的传输层,提供端到端传输服务,如 TCP 和 UDP。
  • 网络层(或互联网层):负责路由和路径选择,与 OSI 模型的网络层功能相同,如 IP 协议。
  • 网络接口层(或数据链路层和物理层):实现数据帧传输和物理信号传输,结合了 OSI 模型的物理层和数据链路层功能。

混合模型

在实践中,网络结构可能会综合使用 OSI 模型和 TCP/IP 模型,形成混合模型,以更好地匹配实际需求。混合模型通常参考 OSI 的分层理念,但具体实现中更类似于 TCP/IP 模型的结构,包含以下层次:

  • 应用层:类似于 TCP/IP 应用层,整合了 OSI 的应用、表示和会话层。
  • 传输层:如 TCP 和 UDP,提供端到端的传输服务。
  • 网络层:使用 IP 协议进行路由选择和转发。
  • 链路层:处理数据帧传输。
  • 物理层:负责信号传输和物理媒介。

各层之间的关系

  1. 上下层关系:每一层都提供特定的服务给其上一层,并从其下一层接收服务。比如,传输层为应用层提供端到端的传输服务,而自身依赖网络层提供的路由服务。
  2. 接口和协议:每层定义了接口和协议,接口描述了相邻层之间如何交互,而协议描述了同一层的不同设备之间如何通信。
  3. 功能分离:各层独立运行,便于系统更新和维护。例如,网络层可以升级路由协议而不影响应用层协议。
  4. 实体: 第n层实体
  5. 服务: 下层为紧邻的上层提供的功能调用
    在这里插入图片描述

PDU,SDU,PCI

PDU(Protocol Data Unit)

PDU,即协议数据单元,是网络通信中在每一层传递的数据包的总称。每一层的PDU定义了该层如何处理数据并向下传递。例如:

  • 应用层:PDU通常被称为数据。
  • 传输层:在TCP中,PDU称为段(segment),在UDP中称为数据报(datagram)。
  • 网络层:PDU为数据包(packet)。
  • 数据链路层:PDU为帧(frame)。
  • 物理层:PDU为比特(bits)。

每一层通过封装和解封装PDU,将数据发送到下一层或从上一层接收数据。

SDU(Service Data Unit)

SDU,即服务数据单元,是指上层协议交给下层协议进行传输的数据。SDU在传递给下层后,会被下层封装,并附加控制信息形成新的PDU。例如:

  • SDU在网络层:是来自传输层的数据。
  • SDU在数据链路层:是来自网络层的包。

当SDU在传递过程中经过封装时,它会被附加上层协议所需的控制信息,形成一个完整的PDU。

PCI(Protocol Control Information)

PCI,即协议控制信息,是指在PDU中用于传输控制的额外信息。它通常包括首部或尾部,用于帮助协议的正常操作和数据管理,例如:

  • TCP段首部:包括源端口、目的端口、序列号、确认号等信息。
  • IP数据包首部:包含源IP地址、目的IP地址、协议版本等。
三者关系

当数据从高层向低层传递时:

  1. SDU(服务数据单元)是上层传递给下层的数据负载。
  2. 下层会添加PCI(协议控制信息),形成新的PDU(协议数据单元)。
  3. 该PDU被传递到下一层,重复上述过程,直到数据传输到物理层。
    n-SDU+n-PCI=n-PDU=(n-1)SDU
示例

在这里插入图片描述

协议的三要素

协议三要素包括语法语义时序

语法

语法是指数据格式和结构的规定,包括编码、信号电平、数据的排列方式等。

语义

语义定义了通信双方的控制信息和数据解释的意义。它描述了每个字段代表的含义,以及如何对这些信息进行解释和响应。

时序

时序是指事件发生的顺序及时间关系,包括数据的传输顺序、速度、超时重传和同步方法。例如,TCP的三次握手过程就涉及时序,通过协调数据的发送和确认,使通信双方同步连接状态。

OSI参考模型

物链网输会示用

在这里插入图片描述

应用层

应用层是OSI模型的最高层,直接面向用户和应用程序。它提供用户访问网络服务的接口,支持各种应用,如文件传输、电子邮件和网络浏览。常见的协议包括HTTP、FTP、SMTP、DNS等。应用层的主要功能是确定通信对象、数据传输同步以及数据格式化。

表示层

表示层负责数据的语法和语义的转换,确保应用层的数据能够被网络中的其他系统理解。此层提供数据格式转换、数据加密和解密、数据压缩等服务

会话层

会话层负责建立、管理和终止通信会话。它控制通信双方之间的对话,使数据能够有序和同步地传输。会话层还可以插入检查点,使通信在中断后能够恢复。

传输层

传输层提供端到端的可靠数据传输服务,确保数据从发送端传输到接收端。确保复用和分用
它主要使用两种协议:面向连接的传输控制协议(TCP)和无连接的用户数据报协议(UDP)。传输层还负责流量控制、差错检测和恢复,确保数据按正确顺序传递。

网络层

网络层负责数据包的路径选择和路由。它根据网络拓扑和拥塞情况选择最佳路径,将数据从源节点传输到目标节点。网络层的主要协议是IP协议,该协议为每个网络设备分配唯一的IP地址,以实现数据包的转发和路由。

数据链路层

数据链路层确保物理链路上的数据传输可靠。它将来自网络层的数据封装成帧,并在同一局域网内传输数据帧。该层负责差错检测与纠正、流量控制以及介质访问控制(MAC)。以太网和PPP是常见的数据链路层协议。

物理层

物理层是OSI模型的最底层,定义了物理连接的电气、光学、机械和功能特性,如电缆类型、信号传输速率、接口的引脚排列等。物理层负责将数据比特转换为电信号或光信号,并通过传输介质传输,例如以太网电缆、光纤和无线信道。
在这里插入图片描述

TCP/IP模型

巧记:接网输用
会话层和表示层不是必须的。

应用层

应用层是TCP/IP模型的最高层,直接为用户和应用程序提供网络服务。它结合了OSI模型的应用层、表示层和会话层的功能。常见的应用层协议包括:

  • HTTP:用于网页浏览,支持Web应用的数据传输。
  • FTP:用于文件传输,提供文件上传和下载服务。
  • SMTP:用于电子邮件的发送和接收。
  • DNS:用于将域名解析为IP地址。

应用层的职责是为应用程序提供接口和数据格式化服务,使其可以通过网络进行通信。

传输层

传输层负责数据在源端和目的端之间的传输控制和可靠性保障。它有两个主要的协议:

  • TCP(Transmission Control Protocol):提供面向连接的、可靠的数据传输服务。它通过三次握手建立连接,并支持数据的分段、重组、流量控制和错误检测。
  • UDP(User Datagram Protocol):提供无连接的、不保证可靠传输的服务,适用于对实时性要求高、但对数据完整性要求较低的应用,如视频流和在线游戏。

传输层主要解决端到端的通信问题,保证数据包的有序传输和数据完整性。

网络层(互联网层)

网络层负责数据包的路径选择和路由,确保数据能够通过不同的网络中继设备到达目的地。该层的核心协议是:

  • IP(Internet Protocol):负责数据包的寻址和转发。IP协议有两个版本:IPv4和IPv6,分别用于32位和128位地址空间。
  • ICMP(Internet Control Message Protocol):用于网络设备之间发送错误报告和诊断信息,例如ping命令。
  • ARP(Address Resolution Protocol):将网络层的IP地址转换为数据链路层的MAC地址。

网络层的主要功能是提供跨网络的无连接数据传输和路由选择。

网络接口层(数据链路层和物理层)

网络接口层是TCP/IP模型的最低层,负责处理实际的数据传输。它涵盖了OSI模型中的数据链路层和物理层。只要网络层能用就行,实现功能进行扩展和创新。该层涉及的技术包括:

  • 以太网:局域网的标准协议,提供数据帧封装和传输。
  • PPP(Point-to-Point Protocol):用于点对点的通信。
  • Wi-Fi:无线局域网协议,支持无线数据传输。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++玩转物联网-从零开始:树莓派Pico的“Hello World”项目入门指南

树莓派Pico是一款功能强大且价格实惠的微控制器,非常适合编程初学者和电子爱好者。本文将以“Hello World”项目为例,带您快速入门树莓派Pico的基本操作和配置,为日后探索更复杂的项目奠定基础。 1. 项目概述 “Hello World”项目是树莓派P…

启动本地开发环境(自带热启动)yarn serve

文章目录 1. 安装 Yarn使用 npm 安装 Yarn使用 Chocolatey 安装 Yarn(Windows 用户)使用 Homebrew 安装 Yarn(macOS 用户) 2. 安装项目依赖3. 启动项目开发模式启动生产模式启动 4. 构建项目开发模式构建生产模式构建 5. 其他常用…

nodejs 020: React语法规则 props和state

props和state 在 React 中,props 和 state 是管理数据流的两种核心机制。理解它们之间的区别和用途是构建 React 应用程序的基础。 一、props 和 state的区别 特性propsstate定义方式由父组件传递给子组件的数据组件内部管理的本地数据是否可修改不可变&#xff…

架构师备考-概念背诵(软件工程)

软件工程 软件开发生命周期: 软件定义时期:包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标,具体可分成问题定义、可行性研究、需求分析等。软件开发时期:就是软件的设计与实现,可分成概要设计、详细设计、编码、测试等。软件运行和维护:就是…

刷题强训(day06) -- 大数加法、链表相加、大数乘法

目录 1、大数加法 1.1 题目 1.2 思路 1.3 代码实现 2、链表相加(二) 2.1 题目 2.2 思路 2.3 代码实现 3、大数乘法 3.1 题目 3.2 思路 3.3 代码实现 1、大数加法 1.1 题目 1.2 思路 这道题可以模拟列竖式相加解答, 将每一位都转…

Java多线程编程(四)- 阻塞队列,生产者消费者模型,线程池

目录: 一.阻塞队列 二.线程池 一.阻塞队列 1.阻塞队列是⼀种特殊的队列. 也遵守 "先进先出" 的原则 阻塞队列能是⼀种线程安全的数据结构, 并且具有以下特性: 1.1.当队列满的时候, 继续入队列就会阻塞, 直到有其他线程从队列中取走元素 1.…

open3d

open3d open3d用于 3D 数据处理的现代库。 简介 Open3D 是一个开源库,支持快速开发处理 3D 数据的软件。Open3D 前端公开了一组精心挑选的 C 和 Python 数据结构和算法。后端经过高度优化,并设置为并行化。Open3D 是从零开始开发的,具有一更…

洞察鸿蒙生态,把握开发新机遇

随着科技的不断进步,鸿蒙系统以其独特的分布式架构和跨设备协同能力,逐渐在智能手机、智能穿戴、车载、家居等多个领域崭露头角,与安卓、iOS形成三足鼎立之势。作为一名开发者,我对鸿蒙生态的认知和了解如下: 一、鸿蒙…

adb 如何通过wifi连接手机

1. 电脑通过USB线连接手机 1.1手机开启开发者模式 以小米手机为例:连续点击OS版本系统(设置–>我的设备–>全部参数) 1.2在开发者模式下,启动允许USB安装与USB调试 操作步骤:设置>更多设置>开发者选项&g…

【webrtc】 RTP 中的 MID(Media Stream Identifier)

RTP 中的 MID(Media Stream Identifier) RID及其与MID的区别 cname与mid的对比【webrtc】CNAME 是rtprtcp中的Canonical Name(规范化名称) 同样都是RTP头部扩展: 基于mediasoup的最新的代码,学习,发现mid在创建RtpSendStream时是必须传递的参数: 例如 D:\XTRANS\soup\…

brother:什么是兄弟,你悟了吗?

brother(兄弟)这个单词好奇怪哦,它为什么就会是兄弟呢?为什么这样书写、这些字母组合在一起,就是兄弟呢?而且,西方人的兄弟brother一词和姐妹sister一词,并不是像中国人所称呼明确指…

如何在谷歌浏览器中优化内存使用

在日常使用电脑的过程中,我们经常会遇到系统资源被大量占用的情况,尤其是内存。谷歌浏览器作为一个广泛使用的网络浏览器,其内存占用问题也备受关注。本文将详细介绍如何在谷歌浏览器中优化内存使用,以提升浏览体验和系统性能。&a…

谷歌浏览器支持的开发者工具详解

谷歌浏览器(Google Chrome)是全球最受欢迎的网页浏览器之一,它不仅提供了快速、安全的浏览体验,还为开发者提供了强大的开发者工具。本文将详细介绍如何使用谷歌浏览器的开发者工具,并解答一些常见问题。(本…

推荐一款多物理场模拟仿真软件:STAR-CCM+

Siemens STAR-CCM是一款功能强大的计算流体力学(CFD)软件,由西门子公司推出。它集成了现代软件工程技术、先进的连续介质力学数值技术和卓越的设计,为工程师提供了一个全面的多物理场仿真平台。主要特点与优势:多物理场仿真、自动化与高效、高…

无人机飞手考证,地面站培训技术详解

无人机飞手考证及地面站培训技术涉及多个关键方面,以下是对这些方面的详细解析: 一、无人机飞手考证流程与要求 1. 证书类型 民用无人机驾驶员证书:这是国家民航局颁发的无人机操作人员资质证书,分为视距内驾驶员、超视距驾驶员…

SpringMVC全面复习

Javaweb SpringMVC Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。它通过清晰的分离关注点,简化了Web应用各部分的开发。Spring MVC提供了强大的绑定机制,能够将请求参数绑定…

python基础大杂烩

命令提示符程序,输入python,运行python程序 代码通过解释器程序翻译给计算机去执行 命令提示符输入的python本质上就是调用D:/dev/python/python3.12.5/python.exe这个解释器程序 有python程序将输入的代码翻译成二进制的0和1,去向计算机去运…

MathGPT的原理介绍,在中小学数学教学的应用场景,以及代码样例实现

大家好,我是微学AI,今天给大家介绍一下MathGPT的原理介绍,在中小学数学教学的应用场景,以及代码样例实现。MathGPT的核心架构是一个精心设计的多层次系统,旨在有效处理复杂的数学问题。其主要组成部分包括 数学知识图谱…

算法演练----24点游戏

给定4个整数,数字范围在1~13之间任意使用-*/(),构造出一个表达式,使得最终结果为24, 方法一 算法分析:加括号和取出重复表达式 # 导入精确除法模块,使得在Python2中除法运算的行为更…

关于指针p有关的3个值

1,他的类型是int*; 2,*p是解用,指向的是对象 3,&p指向的是p的地址,是指针的地址