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

相关文章

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

解读GC日志中的各项指标用法

《解读GC日志中的各项指标用法》:本文主要介绍GC日志中的各项指标用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基础 GC 日志格式(以 G1 为例)1. Minor GC 日志2. Full GC 日志二、关键指标解析1. GC 类型与触发原因2. 堆

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MySQL之InnoDB存储页的独立表空间解读

《MySQL之InnoDB存储页的独立表空间解读》:本文主要介绍MySQL之InnoDB存储页的独立表空间,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、独立表空间【1】表空间大小【2】区【3】组【4】段【5】区的类型【6】XDES Entry区结构【

MySQL主从复制与读写分离的用法解读

《MySQL主从复制与读写分离的用法解读》:本文主要介绍MySQL主从复制与读写分离的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、主从复制mysql主从复制原理实验案例二、读写分离实验案例安装并配置mycat 软件设置mycat读写分离验证mycat读

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过