网络原理---封装和分用

2023-11-06 20:52
文章标签 封装 原理 网络 分用

本文主要是介绍网络原理---封装和分用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 什么是封装和分用?
  • 封装
    • 应用层
    • 传输层
    • 网络层
    • 数据链路层
    • 物理层
  • 分用
    • 物理层
    • 数据链路层
    • 网络层
    • 传输层
    • 应用层

什么是封装和分用?

我们前面讲过协议会分层,每一层都有各自的功能。而在数据传输的过程中,得按照顺序把每一层协议都加上才能进行传输;在使用数据时,也得按照顺序对每一层协议进行解析才能得到数据。

所以:
封装:就是对原始数据按照顺序依次套上协议要求格式的过程;
分用:就是对传来的数据按照顺序依次解析协议格式得到原始数据的过程。

下面我们以主机A通过QQ向主机B发送“hello”为例,详细介绍封装和分用的过程。

封装

主机A发送数据的过程

应用层

QQ根据自己的应用层协议生成一个应用层的数据报,然后发送给传输层。
在这里插入图片描述

传输层

传输层这里有很多的协议,我们以TCP协议为例:
TCP协议在原数据的基础上,加上一个TCP协议的报头,然后发送给网络层。
在这里插入图片描述

网络层

网络层这里也有很多的协议,我们以IP协议为例:
IP协议在整个TCP数据报的基础上,加上一个IP协议的报头,然后发送给数据链路层。
在这里插入图片描述

数据链路层

数据链路层这里也有很多的协议,我们以以太网为例:
以太网在整个IP数据报的基础上,加上一个以太网数据帧,然后发送给物理层。
在这里插入图片描述

物理层

把整个以太网数据报的二进制bit流,转换成光信号、电信号进行传输。

分用

主机B接收数据的过程。

物理层

将收到的光信号、电信号转换为二进制的bit流,然后发送给数据链路层由以太网协议进行解析。

数据链路层

由以太网协议解析去掉帧头、帧尾,取出载荷部分,然后发送给网络层由IP协议进行解析。
在这里插入图片描述

网络层

由IP协议解析去掉IP报头,取出载荷,然后发送给传输层由TCP协议进行解析。
在这里插入图片描述

传输层

由TCP协议解析去掉TCP报头,取出载荷,然后发送给应用层进行解析。
在这里插入图片描述

应用层

由QQ根据自己的应用层协议进行解析,取出里面的数据。
在这里插入图片描述

这篇关于网络原理---封装和分用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

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.

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

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

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

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工具【通用

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

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

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.