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

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

SpringCloud负载均衡spring-cloud-starter-loadbalancer解读

《SpringCloud负载均衡spring-cloud-starter-loadbalancer解读》:本文主要介绍SpringCloud负载均衡spring-cloud-starter-loa... 目录简述主要特点使用负载均衡算法1. 轮询负载均衡策略(Round Robin)2. 随机负载均衡策略(

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

解读spring.factories文件配置详情

《解读spring.factories文件配置详情》:本文主要介绍解读spring.factories文件配置详情,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用场景作用内部原理机制SPI机制Spring Factories 实现原理用法及配置spring.f