网络编程——封装和分用(图解)

news2024/10/2 9:59:21

一、什么是封装

💌💌💌网络编程中的封装,并不是Java面向对象思想里的封装,继承,多态的封装.它是应用程序通过TCP协议传送数据时,每一次进行包装送入网络中,像极了发快递时的你.

思考:男生A给女神B发了一段表白的话,在主机A里会怎么传输呢?

2、图例

  1. 应用层,程序猿自己制订协议,构造出一个应用层的协议报文.

🐻🐻应用层——数据传输的基本单位为报文,负责数据传输过去之后,如何使用.主要包含的协议有:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol).

  1. 应用层——>传输层,构造一个传输层的协议报文.

🐻🐻传输层——负责两个点之间的通信,分为可靠传输和不可靠传输.主要包含的协议有 TCP 协议(可靠传输),UDP 协议(不可靠传输), TCP协议报文里面最重要的就是源端口和目的端口.

  1. 传输层——>网络层

🐻🐻网络层——负责两个点之间的路径规划,基本是数据单位是IP数据报, 路由器是工作在网路层的设备. 主要包含的协议有:IP协议(Internet Protocol,因特网互联协议);ICMP协议(Internet Control Message Protocol,因特网控制报文协议);ARP协议(Address Resolution Protocol,地址解析协议);
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议). IP的协议报头里面最重要的信息就是源IP和目的IP.

  1. 网络层——>数据链路层

🐻🐻数据链路层——负责两个相邻的节点之间如何传输, 基本数据单位为帧,交换机工作在数据链路层。主要包含的协议有:以太网协议.帧头一直发生变化,以相邻传输地址为主,帧尾就是校验和,相当于验证数据的完整性(steam下载完游戏,都会进行效验).

  1. 数据链路层——>物理层

🐻🐻物理层——网络通信的基础设施,该层为上层协议提供了一个传输数据的可靠的物理媒体,通过把以太网数据帧变成高低电平,通过网线传输出去, 或者以太网数据帧变成无线电磁波,通过光纤,无线网进行传播.

这就是封装的全过程,但是男生A的告白还停留在自己的操作系统上,女神并没有收到,需要分用才能传到女神B的客户端里,下面分享女神是如何收到消息的(分用),她会答应你吗 ……

二、什么是分用

💡上面咱们说的是封装全过程,此时女神并没有收到,要想收到消息,还需要经历路由器,交换机等设备的传输,需要分用才能传到女神B的客户端里,然后人家答不答应你心里难道不知道吗,💕💕💕哈哈?

2、图例

1.物理层(硬件)——>数据链路层,把电平或电磁波转化成以太网数据帧.

🕊️对于一个集线器(Hub)来说,它只实现了物理层, 主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上.

2.数据链路层(驱动程序)——>网络层,去掉帧头和帧尾.

🕊️对于一台交换机来说,它实现了从数据链路层到物理层,主要功能是按照通信两端传输信息的需要,把要传输的信息送到符合要求的相应路由上.

3.网络层——>传输层,去掉IP协议报头.

🕊️对于一台路由器来说,它实现了从网络层到物理层,主要功能是连接两个或多个网络的硬件设备,在网络间起网关的作用,可以分析不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,再根据路由算法把数据包按传送到指定位置.

4.传输层——>应用层,去掉TCP协议报文,应用层调用socket api解析里面的数据报,这时客户端就能正常显示了.

🕊️对于一台主机,它在操作系统内核实现了从传输层到物理层的内容.
如果中间有很多传输设备,过程也是如此:

网络系统分层的特点:
  • 灵活性高. 如果我们要对某一层进行修改,其他层间的接口保持不变,修改内部代码即可, 这层以上或以下各层均不受影响.
  • 使用成本低. 对于使用方来说,并不需要关心内部是如何实现的,调用接口即可使用.
  • 隐秘性强. 对于提供方来说,可以隐藏实现的细节,只需要接口即可.
  • 提高标准化工作. 因为每一层的功能有了明确的说明, 便于后来的程序员维护升级.
此时分用过程完毕,偷偷告诉你,女神也喜欢你!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/7259.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FFplay文档解读-51-多媒体资源

33. 多媒体资源 以下是当前可用多媒体源的说明。 33.1 amovie 这与电影源相同,但默认情况下会选择音频流。 33.2 movie 从电影容器中读取音频和/或视频流。 它接受以下参数: filename要读取的资源的名称(不一定是文件;它也可以是通过某…

[附源码]java毕业设计基于web的健康信息管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Oracle Primavera Unifier文档管理器(Document Manager)

目录 引言 介绍 引言 在 Oracle Primavera Unifier 中,文档管理器维护项目的所有文件和文档。每个项目/外壳都包含自己的文档管理器,另一个文档管理器驻留在公司级别。管理员确保员工和项目/shell 成员始终使用最新版本的文档,并使访问和分…

热成像仪在LED产品的应用

热成像仪对LED产品的检测 LED产品检测 LED作为取代传统照明工具(如白炽灯、卤素灯等)的新型光源,但其散热效果严重影响LED的实际使用寿命,散热工艺成为LED应用和发展的关键因素,红外热像仪可以进行LED温度检测,帮助验证散热工艺。…

如何对珍贵水生物标本提供三维重建,数字化技术助力长江大保护...

近日,由武汉白鱀豚保护基金会发起的“看见长江的美好”系列长江大保护行动中,英特尔 Evo X BMW i 打造了“移动数字探索工作室”,携手【云端地球】团队来到了拥有百年生命印记的地方,这里收藏着包括白鲟、白鱀豚、中华鲟、长江江豚…

密码在智能汽车数据安全领域的应用研究报告

开放隐私计算 开放隐私计算 开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神,专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的传播,愿成为中国 “隐私计算最后一公里的服务区”。 177篇原创内容 …

HTTP状态码301和302的区别

简介 在HTTP状态码中,3XX表示重定向,指网页发生了转移,重定向到目标地址中。 301:表示永久性转移 (Permanently Moved) 302:表示临时性转移(Temporarily Moved) 说明…

java基础新

目录 集合总结 ​编辑Java异常体系 常见的运行时异常? Object类有哪些方法 ​编辑权限修饰符 分布式锁 Redis和Zookeeper实现分布式所哪个效率高 分布式事务 事务失效的8种原因 TCC 如果出现网络连不通怎么办? CAP理论 CAP有哪些组合方式&…

3环境变量

文章目录前言1. 概念引入2. 环境变量PATH3. 本地环境变量与系统环境变量4. set 和 env5. main函数带参数前言 大家一开始学习Linux时候,是否对其各种命令感到过好奇,为何这样输入不同就会执行不同,他的底层实现逻辑到底是怎么样的呢? 在解答这个疑惑之前,我们需要学习环境变…

计算机网络-网络层(移动IP通信过程,网络层设备路由器,路由表与路由转发)

文章目录1. 移动IP2. 网络层设备(路由器)1. 移动IP 移动IP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能. 并保证了基于网络lP的网络权限在漫游过程中不发生任何改变。 重点知识点: 移动结点…

互联网食堂大比拼,谁才是互联网养猪场?

虽然疫情导致经济不景气,但是互联网行业怎么会如此不禁波折呢? 果不其然,疫情下的大厂还是大厂! 互联网大厂的福利多多,其中最容易让人忽视,但也最让人羡慕的就是互联网大厂的食堂了。 民以食为天&#xff…

线粒体 ClpP 介导的蛋白水解作用可选择性诱导癌细胞死亡

图1. 本篇文章的几大亮点 首先,研究人员利用基因工程的方法,在人 ClpP 上建造了一个有持续活性地点突变(Y118A)。基于 OCL-AML3 和 Z138 肿瘤细胞系,研究人员研究 Y118A 点突变对于肿瘤细胞的影响。研究发现&#xff…

耗时半月,终于把牛客网上的Java面试八股文整理成了PDF合集

前段时间有不少小伙伴们私信我,最近的面试题越来越困难了,要背的八股文也越来越多了,考核的也越来越细腻了,摆明了就是想让我们面试造航母嘛,真的是太为难我们这些程序员了。。。 这不,为了帮大家节约时间…

如何对低代码/无代码平台进行分类?

如何对低代码/无代码平台进行分类?一个例子就能讲清楚! 周末你外出露营,在野外需要搭一个帐篷。有两种方法: 一种是最原始的搭帐篷方法,即有隔水布、外账、内账、营柱骨架等等......另一种是直接“封装好”的&#x…

MOCO----Momentum Contrast

对比学习 这个博客写的很好,去看他的吧 对比学习是一种在高维(即指图片)的连续的输入信号上去构建字典的一种方式,这个字典是动态,因为这个字典里的key都是随机去取样的,而且用来给这些key做编码的也是在训练过程中不停地改变的…

程序环境和预处理

文章目录1.程序的翻译环境和执行环境2.详解编译 链接2.1 翻译环境2.3 运行环境3.预处理详解3.1 预定义符号3.2 #define3.3 宏和函数对比3.4 #undef3.5 条件编译1.程序的翻译环境和执行环境 在ANSI C的任何一种实现中,存在两个不同的环境。 第一种是翻译环境&#…

AlexNet网络详解

目录:AlexNet网络详解一、背景二、模型结构三、网络的参数配置四、每一层作详细的分析一、背景 2012年,Alex Krizhevsky等人在多伦多大学的实验室设计出了一个深层的卷积神经网络AlexNet,夺得了2012年ImageNet LSVRC的冠军,且准确…

Redis学习(1)—— 下载、安装、启动服务、连接redis服务

Redis是基于内存的数据结构存储系统,可以作为数据库、缓存、任务队列、消息队列、分布式锁 Redis是key-value数据库,非关系型数据库 一. Windows 1. 下载 下载地址:https://github.com/microsoftarchive/redis/releases 2. 安装 直接…

UNet - unet网络

目录 1. u-net介绍 2. u-net网络结构 3. u-net 网络搭建 3.1 DoubleConv 3.2 Down 下采样 3.3 Up 上采样 3.4 网络输出 3.5 UNet 网络 UNet 网络 forward 前向传播 3.6 网络的参数 4. 完整代码 1. u-net介绍 Unet网络是医学图像分割领域常用的分割网络&#xff0…

软件测试找bug小技巧总结,从初级跨入中级测试......

目录:导读前言一、必备知识二、定位技巧三、常用小技巧方法1、分析问题场景进行预判2、关注请求体的状态码3、关注请求的入参与响应数据4、查看日志5、经验法则四、总结前言 测试工作 测试的过程就是一个寻找影响产品功能和用户体验bug的过程,测试人员发…