OSI模型与数据的封装

2023-09-16 21:29:07

1、OSI模型

上层
   |
   |		七层模型						四层模型
   |
   |		  应用层
   |	      表示层							应用层     http/ftp/ssh/ftps
   |	      会话层
-----------------------------------------------------------------------
   |		· 传输层							传输层      tcp/udp
-----------------------------------------------------------------------
   |		  网络层							网络层     ip-> ipv4/ipv6
-----------------------------------------------------------------------
   |		 数据链路层					网络接口层   以太网帧协议
 底层       物理层

在这里插入图片描述

2、数据的封装

在这里插入图片描述

# 两台主机A,B
	1.A给B发送字符串“hello,world”,字符串不会以这种形态发送到Internet,需要在发送之前进行封装
	2.封装是由操作系统或者调用的API自动完成的,程序员无需关心
	3.如果程序员需要封装数据,一般是在应用层做处理,应用层数据可封装也可以不封装

数据 "hello,world” 在应用层进行发送
	1.在应用层对这个字符串封装(可选,程序员做的)
	2.数据往下走->传输层->根据协议格式打包数据,   tcp
	3.数据往下走->网络层->根据协议格式打包数据,ip
	4.数据往下走->网络接口层->根据协议格式打包数据,以太网帧协议
	5.数据通过网口发送给B

B接收数据,拆包
	1.网络接口层->根据协议格式拆包,以太网帧协议拆开
	2.得到了网络层的包->拆包
	3.传输层的包->拆包
	4.应用层的包
	5.应用层如果使用协议封装了数据继续拆包,如果没有封装得到了“hello, world” 
更多推荐

为何学linux及用处

目前企业使用的操作系统无非就是国产类的,windows和linux类。我们要提升自己的技能,需要学习这两款。我记得在大学时期,学习过windows以及linux,但当时觉得又不常用,就学的模棱两可。毕业之后,你会发现,其实这两种操作系统是很主流的。为什么学?下面就是一些工作中遇到的例子分享一下。我记得在企业中有次遇到数

jvm深入研究文档--整体概念

阿丹:精通JVM对于一个java工程师非常重要,要是深入了解了jvm就可以有效的面对下面的问题程序调优:JVM的配置和调优对于程序的运行有着至关重要的影响。不同的业务场景需要不同的JVM配置,比如设置不同的垃圾收集器、调整新生代和老生代的内存配置和占比等。只有深入理解JVM,才能针对不同情况进行有效的调优,以满足程序高

C++面经之多态|多态的原理|虚函数

文章目录目录一、多态的概念1.概念二、多态的定义及实现1.多态的构成条件2.虚函数3.虚函数的重写虚函数重写的两个例外:4.c++11中的override和final5.重载、覆盖(重写)、隐藏(重定义)对比三、抽象类1.概念2.接口继承和实现继承四、多态的原理1.虚函数表2.多态的原理3.动态绑定与静态绑定五、单继承

Python 中对IMU进行积分得到位姿

从数据集中收集到一些IMU传感器输出的测量值和参考位姿,现需要对他们进行积分得到位姿,并与位姿真值进行对比数据读取准备的数据以txt格式保存,每行表示一组测量,其存放格式为#时间,真实位移x,真实位移x,真实位移x,真实四元数qx,真实四元数qx,真实四元数qx,真实四元数qx,测量加速度x,测量加速度y,测量加速度z

零售超市如何应对消费者需求?非常全面!

随着科技的飞速发展和消费者期望的不断演变,零售行业正经历着一场深刻的革命。传统零售模式逐渐被新零售模式所取代,而其中一个备受关注的元素是自动售货机。自动售货机不仅在商场、车站和办公楼等高流量地点迅速扩张,还在重新定义我们如何购物、何时购物以及购物的方式。客户案例哈尔滨零售超市多年来一直面临着竞争激烈的零售市场和日益挑战

实用的嵌入式编码技巧:第三部分

每个触发器都有两个我们在风险方面违反的关键规格。“建立时间”是时钟到来之前输入数据必须稳定的最小纳秒数。“保持时间”告诉我们在时钟转换后保持数据存在多长时间。这些规格因逻辑设备而异。有些可能需要数十纳秒的设置和/或保持时间;其他人则需要少一个数量级。图9.1:建立和保持时间如果我们倾向于编织,我们将尊重这些参数,并且触

《思维与智慧》简介及投稿邮箱

《思维与智慧》自1982年创刊,经国家新闻出版署批准,由河北省教育厅主管,河北行知文化传媒有限责任公司主办的益智励志类大众文化期刊。《思维与智慧》办刊宗旨是:“开发思维,启迪智慧,滋润心灵”,以通俗形式、简明语言介绍创新思维学的基本知识,展示创新思维的哲理性、深刻性,但力戒抽象议论,而应深入浅出,夹叙夹议,寓理于事。主

Nginx之会话管理解读

目录session概念问题引进Nginx_hash高级负载均衡ip_hashhash$cookie_xxxhash$request_uri补充知识点:服务器扩容session概念Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失

我的安卓AOSP开发使用到的教程汇总【安卓12】

目录投屏软件日志打印脚本bat【gpt生成的】摄像头定位静默安装APP系统签名多线程使用APK打包APKOTA差分包制作服务和主线程通信代码注释模板阿里云ClassAOSP教程添加默认APN关闭双击电源键打开相机ubuntu安装遇到的bug投屏软件scrcpy【设置为系统变量后可以投屏的情况下使用adb并且查看log】

秒杀场景设计

1.活动页面静态化处理没有到活动时间页面静态化处理避免访问服务端2.使用cdn让用户可以获取就近的所需静态页面内容3.限制用户同一时间点击次数4.把商品库存提前放入redis,秒杀请求直接操作redis防止操作直接落库打崩数据库5.使用lua脚本操作redis保证操作原子性,确保不会发生超买超卖。具体就是先查看商品id

只需3步部署Django项目到Kubernetes上

1.目标本文讲述了如何通过3步,把Django项目部署在K8S上。本文适用读者:了解Django项目的开发。了解K8S的用途。2.具体步骤把一个Django项目部署在Kubernete环境上,只需以下3步:创建镜像部署在Kubernetes环境上配置MySQL接下来我们依次讲述具体步骤。3.第一步:创建镜像假设已有Dj

热文推荐