TCP/IP协议簇及封装与解封装

  TCP/IP协议簇

 现如今用的参考模型TCP/IP 是一个协议簇,它组建了整个互联网
最主要的是TCP/IP 和这两个协议,所以起名为TCP/IP

TCP/IP模型

TCP/IP标准模型——四层

TCP/IP对等模型——五层

数据链路层分为两个子层:

LLC子层:逻辑链路控制子层

MAC子层:介质访问控制子层

PDU (协议数据单元)—— 数据在不同层中的单位

它是在不同层次协议中传输的最小数据单元,用于在网络中传递信息。PDU的大小和结构取决于所用协议的要求和设计。PDU在计算机网络中有着重要的作用。它通过封装和解封装的过程,在不同层次的协议之间进行数据传输和交互。PDU的作用是将上层协议的数据封装成适合下层协议传输的格式,同时也负责将接收到的数据解封装并传递给上层协议进行处理。 

OSI中可分为:

L1PDU

L2PDU

L3PDU

L4PDU

L5PDU

L6PDU

L7PDU

在TCP、IP中被称作:

  • 应用层:APDU
  • 表示层:PPDU
  • 会话层:SPDU
  • 传输层:段(segment)
  • 网络层:包(packet)
  • 数据链路层:帧(frame)
  • 物理层:比特(bit)

封装和解封装

封装:将数据变为比特流的过程中,在参考模型的每一层需要添加上特定的协议报头动作。从高层往低层依次封装,在每一层使用特定的协议,对数据进行处理,在数据前添加特定的协议报头。

解封装 :封装的逆过程,数据从比特流还原为数据的过程。从底层往高层依次解封装,每解封装一层,就去除相应的协议头部。

应用层存在封装,只不过,应用层的封装内容取决于不同的应用协议

常见的协议有

  1. HTTP ---超文本传输协议---获取网页信息---80(TCP 80
  2. HTTPS ---HTTP + SSL(安全传输协议)/TLS ---443(TCP 443
  3. FTP ---文件传输协议---TCP 20 21
  4. Tftp ---简单文件传输协议---UDP 69
  5. Telnet ---远程登陆协议---TCP 23
  6. SSH ---Telnet + SSL ---TCP 22
  7. DHCP ---动态主机配置协议---UDP 67 68
  8. DNS ---域名解析协议---TCP/UDP 53

tftpftp有什么区别?

tftp只能文件上传和下载 ftp有认证
 

HTTPS = HTTP + SSL(现在叫TLS)是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性-------TCP443号端口

接下来我们一起来学习一下各层的封装与解封装过程 :

封装过程:

应用层:原始数据被转换成二进制数据

传输层(实现端到端的传输):二进制数据被分割成小的数据段,并封装TCP头部 (数据段)
(TCP头部的关键信息–端口号)

网络层:传输层传来的数据被封装上IP头部 (数据包)
(IP头部的关键信息–IP地址)

数据链路层(控制物理层):网络层传来的数据被封装上MAC头部 (数据帧)
(MAC头部的关键信息–MAC地址)

物理层:二进制数据组成的比特流转化为电信号在网络中传输 (比特流)

解封装过程:

物理层:将电号转化为二进制数据,并将其送至数据链路层


数据链路层:查看MAC地址,地址是自己,就拆掉MAC头部,继续传输;地址不是自己,就丢弃数据


网络层:查看IP地址,IP地址是自己,就拆掉IP头部,继续传输;如果IP地址不是自己,则会路由表查找去往该网段的下一跳地址。如果存在转发路径,会为数据包添加一个新的二层帧头和帧尾部。


传输层:查看TCP头部,判断应该传到哪里,然后重组数据,传输到应用层


应用层:二进制转化为原始数据

封装和解封装图

网络层封装所需 IP协议

TTL (生存时间):数据包每经过一个路由器的转发,其数值减1,当一个数据包的TTL值为0是,路由器将不再转发而直接丢弃。

协议号:上层所适用的协议类型

TCP——6

UDP ——17

IP协议最短是20个字节

IP的分片和TCP的分段:

MTU (最大传输单元 ):默认值1500字节

MSS (最大段长度): 理论值1460字节,这个值需要进行协商,这个参数在TCP的SYN包携带,如果双方不一致,则将按照小的执行。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《基于卷积神经网络的星图弱小目标检测》论文精读

Dim small target detection based on convolutinal neural network in star image 摘要 由于低信噪比目标和复杂背景,星图中弱小目标的检测是一项具有挑战性的任务。本文提出了一种深度学习方法,用于在背景不均匀和不同类型的噪声下检测单帧星图中的弱…

如何选择Ubuntu版本

一、为什么要选择Ubuntu系统? CentOS官方已全面停止维护CentOS Linux项目 。具体来说,CentOS 8已于2021年12月31日停止维护,而CentOS 7则在2024年6月30日结束了生命周期 。这意味着这些版本不再接收官方的安全更新、bug修复或技术支持 二、…

计算机视觉算法实战——视频分析(Video Analysis)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​​​​ ​​​​​​​​​​​​ ​​​​​ 视频分析是计算机视觉中的一个重要领域,旨在从视频数据中提取有用的信息&…

O2O同城系统架构与功能分析

2015工作至今,10年资深全栈工程师,CTO,擅长带团队、攻克各种技术难题、研发各类软件产品,我的代码态度:代码虐我千百遍,我待代码如初恋,我的工作态度:极致,责任&#xff…

讲一下ZooKeeper的持久化机制?

大家好,我是锋哥。今天分享关于【讲一下ZooKeeper的持久化机制?】面试题。希望对大家有帮助; 讲一下ZooKeeper的持久化机制? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 ZooKeeper 是一个开源的分布式协调服务&…

C++ 文字识别OCR

一.引言 文字识别,也称为光学字符识别(Optical Character Recognition, OCR),是一种将不同形式的文档(如扫描的纸质文档、PDF文件或数字相机拍摄的图片)中的文字转换成可编辑和可搜索的数据的技术。随着技…

数据库(MySQL)练习

数据库(MySQL)练习 一、练习1.15练习1.16练习 二、注意事项2.1 第四天 一、练习 1.15练习 win11安装配置MySQL超详细教程: https://baijiahao.baidu.com/s?id1786910666566008458&wfrspider&forpc 准备工作: mysql -uroot -p #以…

【HTML+CSS+JS+VUE】web前端教程-35-字体图标

优点: 轻量性:加载速度快,减少http请求 灵活性:可以利用CSS设置大小颜色等 兼容性:网页字体支持所有现代浏览器,包括IE低版本 使用字体图标: 1、注册账户并登录 2、选取图标或搜索图标 3、添加购物车 4、下载代码 5、选择font-class引用 iconfont Logo:https://www.ic…

YOLOv8模型改进 第二十九讲 添加可学习小波变换节点 Learnable Wavelet Transform Node 提高小目标检测能力,增强细节特征

在图像去模糊领域,多尺度架构虽被广泛应用,但存在固有缺陷。在渐进恢复过程中,由于底层空间分辨率小,向上传递的特征语义精确但空间模糊,导致多尺度网络在空间细节恢复能力上受限。为提升高频细节部分的恢复质量&#…

数据库基础实验1(创建表,设置外键,检查,不为空,主键等约束)安装mysql详细步骤

安装MySQL详细步骤 1. 下载 MySQL 安装程序 访问 MySQL 官方网站:MySQL Downloads。在下载页面,选择 "MySQL Community (GPL) Downloads"。在 "MySQL Community Server" 部分,根据你的操作系统(Windows&…

CSRF(跨站请求伪造)深度解析

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

详解如何自定义 Android Dex VMP 保护壳

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 前言 Android Dex VMP(Virtual Machine Protection,虚拟机保护)壳是一种常见的应用保护技术,主要用于保护 And…

rabbitmqp安装延迟队列

在RabbitMQ中,延迟队列是一种特殊的队列类型。当消息被发送到此类队列后,不会立即投递给消费者,而是会等待预设的一段时间,待延迟期满后才进行投递。这种队列在多种场景下都极具价值,比如可用于处理需要在特定时间触发…

向量数据库如何助力Text2SQL处理高基数类别数据

01. 导语 Agent工作流和 LLMs (大语言模型)的出现,让我们能够以自然语言交互的模式执行复杂的SQL查询,并彻底改变Text2SQL系统的运行方式。其典型代表是如何处理High-Cardinality Categorical Data (高基数类别数据&am…

Docker实践:部署Docker管理工具DockerUI

Docker实践:部署Docker管理工具DockerUI 前言一、DockerUI介绍1.1 DockerUI概述1.2 镜像说明 二、检查本地Docker环境三、拉取DockerUI镜像四、创建DockerUI容器五、访问DockerUI六、DockerUI的基本使用6.1 查询宿主机容器情况6.2 查询Docker镜像列表6.3 查看容器配…

【excel】VBA股票数据获取(搜狐股票)

文章目录 一、序二、excel 自动刷新股票数据三、付费获取 一、序 我其实不会 excel 的函数和 visual basic。因为都可以用matlab和python完成。 今天用了下VBA,还挺不错的。分享下。 上传写了个matlab获取股票数据的,是雅虎财经的。这次是搜狐股票的数…

解锁企业数据管理统一身份认证难题,EasyMR助力企业敏捷提效

在数字经济迅猛发展的当下,企业数据量正以令人惊叹的速度持续增长。据IDC研究显示,至2025年,全球数据总量预计将超175 ZB。数据的爆发式增长对企业而言,既是机遇,更是巨大挑战。 如今,大数据已然成为企业决…

IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南

IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南 什么是 Type Hierarchy? Type Hierarchy 是 IntelliJ IDEA 提供的一个工具,允许开发者查看某个类的继承关系及其实现的接口结构。它是理解类关系的重要工具,尤其在处理复杂的继承体系…

ukui-quick 计数器

作品简介 使用ukui-quick框架进行开发,实现了在任务栏中计数器的插件,方便用户的日常使用。 技术架构 用于实现一个具有点击计数功能的QML应用程序。这个架构将包括C后端和QML前端,通过Qt的信号和属性绑定机制进行交互。 实现过程 开发环…

Flutter:封装ActionSheet 操作菜单

演示效果图 action_sheet_util.dart import package:ducafe_ui_core/ducafe_ui_core.dart; import package:flutter/material.dart; import package:demo/common/index.dart;class ActionSheetUtil {/// 底部操作表/// [context] 上下文/// [title] 标题/// [items] 选项列表 …