计算机网络-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,一经查实,立即删除!

相关文章

6.2 对角化矩阵(2)

五、不能对角化的矩阵 假设 λ \lambda λ 是 A A A 的一个特征值,我们从两个方面发现这个事实: 特征向量(几何的): A x λ x A\boldsymbol x\lambda\boldsymbol x Axλx 有非零解。特征值(代数的&…

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.…

JSP执行过程及其与Servlet执行效率的比较

JSP(Java Server Pages)和Servlet都是Java Web开发中常用的技术,它们都用于动态生成Web页面。然而,JSP和Servlet在执行过程和效率上存在一些差异。本文将详细探讨JSP的执行过程,并比较JSP与Servlet的执行效率。 一、J…

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…

计算机低能儿从0刷leetcode | 38.外观数列

题目:38. 外观数列 思路:这一题感觉仅仅难在了阅读理解上,搬了评论里一位朋友的中译中: 1 11 21 1211 111221 一步一步来 给一个数,这个数是1描述上一步的数,这个数是 1 即一个1,故写作11…

iSCSI 和SCSI的概述

一、定义与基础 SCSI 定义:SCSI是一种并行接口标准,用于连接高性能设备,如硬盘驱动器、磁带机和光驱等。基础:SCSI设备通过控制器与计算机系统通信,具有很高的数据传输速率和可靠性。 iSCSI 定义:iSCSI是一…

关于 Oracle Database Express Edition 的功能和安装

Oracle Database Express Edition,简称 Oracle Database XE。是一个免费的版本,主要用于培训和一些功能要求比较简单,又需要免费分发的场景。 看看官方的说明: Whether you are a developer, a DBA, a data scientist, an educat…

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

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

day57 图论章节刷题Part08(拓扑排序、dijkstra(朴素版))

拓扑排序-117. 软件构建 思路:拓扑排序是经典的图论问题。给出一个有向图,把有向图转成线性的排序就叫拓扑排序,拓扑排序也要检测有向图是否有环,即存在循环依赖的情况,因为这种情况是不能做线性排序的,所…

同局域网ssh连接wsl2

同局域网ssh连接wsl2 简介 如果在Windows使用Ubuntu系统而不想使用虚拟机,wsl是一种不错的选择,提供了一个相对传统虚拟机还不错的功能,但是如果我们想远程这个wsl则是比较麻烦,这里主要介绍一下如何在同一个局域网下使用ssh连接…