OSI七层模型、TCP/IP五层模型理解(个人解读,如何理解网络模型)

2024-04-23 07:36

本文主要是介绍OSI七层模型、TCP/IP五层模型理解(个人解读,如何理解网络模型),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OSI七层模型

七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。

  1. 应用层:网络服务与用户的接口
  2. 表示层:数据的表示、安全、压缩
  3. 会话层:会话的建立、管理、断开
  4. 传输层:通过协议端口号定义对方上层服务,流量控制、差错校验
  5. 网络层:通过IP地址进行逻辑寻址
  6. 数据链路层:通过物理地址(MAC)进行寻址,差错校验
  7. 物理层:通过物理信号传输比特流,维护物理连接

TCP/IP五层模型

TCP/IP通讯协议采用了5层的层级结构,每一层都传输到它的下一层所提供的网络来完成自己的需求。

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

我们可以理解为TCP/IP模型把OSI的前三层(应用层、表示层、会话层)统一归为应用层。

大致过程(个人解读)

发送端

0. 用户

       用户通过应用程序发送完整数据

1. 应用层 

        应用层接收数据,将数据分组,各分组数据加上报文头AH,组成应用层报文,将数据交给传输层

2. 传输层

        传输层接收到应用层报文数据,在该报文基础上再加上TH报文头(数据发送和目的地端口信息),组成传输层报文,将数据交给网络层

3. 网络层

        网络层接收到传输层报文,在该报文基础上加上IP报文头(发送方和接收方IP等信息),组成网络层报文

4. 数据链路层

        数据链路层接收到网络层数据,在该报文基础上加上FH报文头和FCS报文尾(网卡MAC地址等信息),组成帧数据

5. 物理层

        帧数据根据报文的相关信息IP、MAC地址等信息,选择适合自己的路线,在路由器、交换机、光纤/双绞线 等介质中传输

接收方

5. 物理层

        帧数据根据报文的相关信息IP、MAC地址等信息,在路由器、交换机、光纤/双绞线 等介质中传输,根据MAC地址,交给接收方的数据链路层

4. 数据链路层

        接收方数据链路层获取数据,去除帧数据的报文头FH和报文尾FCS,就是网络层能解读的数据,交给网络层

3. 网络层

        网络层接收数据,去除报文的的头IH,就是传输层数据,交给传输层

2. 传输层

        传输层接收数据,去除报文头TH,就是分组的应用层数据,交给应用层

1. 应用层

        应用层接收到数据,进行数据的校验和差错控制等,对数据进行重组,就是用户能理解的完整的用户数据

0. 用户

        用户读取数据。

理解为寄快递的过程

0 用户寄快递交给快递员  (用户)

1 快递员根据用户寄东西的数量,选择适当的包裹数量分组寄 (快递员——应用层)

2 快递员将包裹交给服务网点,并写上包裹发件方和寄件方地址(街道网点——传输层)

3 服务网点对包裹初步分拣打包,按市区划分(分拨中心——网络层)

4 服务网点将打包好的包裹交给中转中心继续打包,中转中心继续按省划分(中转中心——数据链路层)

5 中转中心交按目的区将或交给货运(铁路、公路、航空),选择合适路线派发送货(发往上海——物理层)

5 货物在根据包裹发送到目的地(到达上海),货运司机将或交给上海中转中心(物理层)

4 中转中心收到货对货物按市区进行拆包(如浦东新区包裹),发往浦东分拨中心(数据链路层)

3 浦东分拨中心将货物再次拆包(XX街道包裹),根据地址,交给指定街道网点(网络层)

2 街道网点将快递继续拆包(单个包裹),交给快递员 (传输层)

1 快递员将包裹派发给用户 (应用层)

0 用户收件

这篇关于OSI七层模型、TCP/IP五层模型理解(个人解读,如何理解网络模型)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/928171

相关文章

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

深入理解go中interface机制

《深入理解go中interface机制》本文主要介绍了深入理解go中interface机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前言interface使用类型判断总结前言go的interface是一组method的集合,不

C语言自定义类型之联合和枚举解读

《C语言自定义类型之联合和枚举解读》联合体共享内存,大小由最大成员决定,遵循对齐规则;枚举类型列举可能值,提升可读性和类型安全性,两者在C语言中用于优化内存和程序效率... 目录一、联合体1.1 联合体类型的声明1.2 联合体的特点1.2.1 特点11.2.2 特点21.2.3 特点31.3 联合体的大小1

Linux之UDP和TCP报头管理方式

《Linux之UDP和TCP报头管理方式》文章系统讲解了传输层协议UDP与TCP的核心区别:UDP无连接、不可靠,适合实时传输(如视频),通过端口号标识应用;TCP有连接、可靠,通过确认应答、序号、窗... 目录一、关于端口号1.1 端口号的理解1.2 端口号范围的划分1.3 认识知名端口号1.4 一个进程

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻