OSI 7层模型 TCPIP四层模型
》Ref:
1. 这个写的嘎嘎好,解释了为啥4层7层5层,还有数据包封装的问题:数据包在网络中的传输过程详解_数据包传输_张孟浩_jay的博客-CSDN博客
2. HTTP协议 与 TCP协议 的区别,作为web程序员必须要懂 - 知乎 (zhihu.com)
3. 数据包在网络中的传输过程:详解一次完整的数据包传输过程 -- 层层递进_Frank范的博客-CSDN博客
7层模型 & 4层TCP/IP 模型对照关系

然后我们的教科书为了更好地表示数据包在网络传输上的封装和解封装
7层模型:
各层的用途:
应用层:为计算机上用户提供服务
表示层:传输数据的处理:加密解密,转换翻译、压缩解压缩
会话层:使得不同主机间的用户可以建立并管理会话(完成 建立、维护、重连 应用程序之间的会话)
传输层:接受会话层的数据,必要的时候将数据进行拆分,将数据交给网络层,【保证数据段有效到达对端】TCP、UDP协议就是控制协议
网络层:路由和寻址(如逻辑地址的选择、分组传输、路由选择),决定数据在网络上的游走路径
数据链路层:将数据编码为帧的格式,并实现误差纠正控制
物理层:实现透明的在 各种硬件线路上 传输 比特流
【记不住顺序就是:应用层(一声四声)、表示层(三声四声)、会话层(四声四声)】
四层模型:
4层模型:应用层、传输层、网络层、网络接口层
1. 应用层:(交互的数据单元称为报文)
主要提供两个终端设备上的 应用程序之间信息交换的服务,
应用层 定义了信息交换的格式,即,定义了网络通信规则 :对于不同的网络应用需要不同的应用层协议(支持 Web 应用的 HTTP 协议,)
在互联网中应用层协议很多:
如支持 Web 应用的 HTTP 协议(基于 TCP 协议);
只负责邮件的发送,而不是接收的SMTP 协议(基于 TCP 协议);
邮件接收协议 POP3/IMAP(基于 TCP 协议);
在计算机之间传输文件的协议,可以屏蔽操作系统和文件存储方式 FTP(基于 TCP 协议)[FTP 是一种不安全的协议,因为它在传输过程中不会对数据进行加密。建议在传输敏感数据时使用更安全的协议,如 SFTP];
通过加密和认证机制实现安全的访问和文件传输等业务的协议SSH(基于 TCP 协议);
解决域名和 IP 地址的映射问题的DNS协议(基于 UDP 协议)
2. 传输层:
传输层的主要任务就是 负责向两台终端设备进程之间的通信提供 通用的 数据传输服务,应用进程利用该服务传送应用层报文。“通用的”是指并不针对某一个特定的网络应用,而是多种应用可以使用同一个运输层服务。
传输层协议:
TCP(Transmisson Control Protocol,传输控制协议 ):提供 面向连接 的,可靠 的数据传输服务。【生成一个个报文段】
UDP(User Datagram Protocol,用户数据协议):提供 无连接 的,尽最大努力 的数据传输服务(不保证数据传输的可靠性),简单高效。【生成一个个用户数据报】
3. 网络层:
网络层 把 传输层 产生的报文段或用户数据报 封装成分组和包 进行传送。
网络层 还负责 为分组和包 找到在网络上传递到目的地址的 路由 。
⚠️ 注意:传输层 通过UDP协议封装成的“用户数据报 和 网络层 通过IP协议封装成的 “IP 数据报” 不是一个东西奥!
网络层协议:
(1)IP(Internet Protocol,网际协议):TCP/IP 协议中最重要的协议之一
主要作用是定义数据包的格式、对数据包进行路由和寻址,以便它们可以跨网络传播并到达正确的目的地。目前 IP 协议主要分为两种,一种是过去的 IPv4,另一种是较新的 IPv6,目前这两种协议都在使用,但后者已经被提议来取代前者。
(2)ARP(Address Resolution Protocol,地址解析协议):
ARP 协议解决的是网络层地址和链路层地址之间的转换问题。因为一个 IP 数据报在物理上传输的过程中,总是需要知道下一跳(物理上的下一个目的地)该去往何处,但 IP 地址属于逻辑地址,而 MAC 地址才是物理地址,ARP 协议解决了 IP 地址转 MAC 地址的一些问题。ICMP(Internet Control Message Protocol,互联网控制报文协议):一种用于传输网络状态和错误消息的协议,常用于网络诊断和故障排除。例如,Ping 工具就使用了 ICMP 协议来测试网络连通性。NAT(Network Address Translation,网络地址转换协议):NAT 协议的应用场景如同它的名称——网络地址转换,应用于内部网到外部网的地址转换过程中。具体地说,在一个小的子网(局域网,LAN)内,各主机使用的是同一个 LAN 下的 IP 地址,但在该 LAN 以外,在广域网(WAN)中,需要一个统一的 IP 地址来标识该 LAN 在整个 Internet 上的位置。OSPF(Open Shortest Path First,开放式最短路径优先) ):一种内部网关协议(Interior Gateway Protocol,IGP),也是广泛使用的一种动态路由协议,基于链路状态算法,考虑了链路的带宽、延迟等因素来选择最佳路径。RIP(Routing Information Protocol,路由信息协议):一种内部网关协议(Interior Gateway Protocol,IGP),也是一种动态路由协议,基于距离向量算法,使用固定的跳数作为度量标准,选择跳数最少的路径作为最佳路径。BGP(Border Gateway Protocol,边界网关协议):一种用来在路由选择域之间交换网络层可达性信息(Network Layer Reachability Information,NLRI)的路由选择协议,具有高度的灵活性和可扩展性。
OSI 和 TCP/IP 网络分层模型详解(基础) | JavaGuide(Java面试 + 学习指南)
网络层是怎么根据IP地址找到路由的
路由技术详解|IP数据包是如何在网络中转发的? - 知乎 (zhihu.com)
你知道以太网数据帧在网络中如何发送和接收的吗?一文带你搞懂它 (qq.com)
OSI第五层:会话层功能及作用_dream_uping的博客-CSDN博客
【写的巨好,速看!第一个看他】数据包在网络中的传输过程详解_数据包传输_张孟浩_jay的博客-CSDN博客 网络数据包封装与解封装基本过程_数据包封装过程_itachi-uchiha的博客-CSDN博客
PC到PC之间怎么传送数据包?包括一个路由器,一个交换机,2台PC,由PCA发送经过交换机,路由器到PC2_pc1向pc0发送数据报,网络层地址及硬件地址_zb0567的博客-CSDN博客 HTTP协议 与 TCP协议 的区别,作为web程序员必须要懂 - 知乎 (zhihu.com)
相关文章:
OSI 7层模型 TCPIP四层模型
》Ref: 1. 这个写的嘎嘎好,解释了为啥4层7层5层,还有数据包封装的问题:数据包在网络中的传输过程详解_数据包传输_张孟浩_jay的博客-CSDN博客 2. HTTP协议 与 TCP协议 的区别,作为web程序员必须要懂 - 知乎 (zhihu.com) 3. 数据…...
iOS-持久化
目的 1.快速展示,提升体验 已经加载过的数据,用户下次查看时,不需要再次从网络(磁盘)加载,直接展示给用户 2.节省用户流量(节省服务器资源) 对于较大的资源数据进行缓存…...
PC音频框架学习
1.整体链路 下行播放: App下发音源→CPU Audio Engine 信号处理→DSP数字信号处理→Codec DAC→PA→SPK 上行录音: MIC拾音→集成运放→Codec ADC→DSP数字信号处理→CPU Audio Engine 信号处理→App 2.硬件 CPU PCH DSP(可选) Codec PA SPKbox MIC…...
机器学习:提取问题答案
模型BERT 任务:提取问题和答案 问题的起始位置和结束位置。 数据集 数据集 DRCDODSQA 先分词,然后tokenize 文章长度是不同的,bert的token的长度有限制,一般是512, self-attention的计算量是 O ( n 2 ) O(n^2) O(n…...
【Ansible】
目录 一、Ansible简介二、ansible 环境安装部署1、管理端安装 ansible 三、ansible 命令行模块(重点)1.command 模块2.shell 模块3、cron 模块4.user 模块5.group 模块6.copy 模块(重…...
分布式版本控制系统git详解
git 是目前世界上最先进的分布式版本控制系统 补充说明 git命令 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。 Linus虽然创建了Linux,但Linux的壮大是靠…...
如何使用Python进行数据挖掘?
使用Python进行数据挖掘需要掌握以下几个关键步骤: 数据收集:首先,你需要获取你要进行数据挖掘的数据。可以从公共数据集、API、数据库等各种来源收集数据。 数据清洗:清洗数据是一个重要的步骤,它包括去除重复数据、…...
若依-前台无法正常启动,npm run dev失败
问题场景: 使用若依Vue前端分离版-基于SpringBoot的权限管理系统进行实战。 问题描述与解决 拉取若依项目后,根据官方开发文档(项目readme文档)进行依赖下载安装后,启动失败。 出现以下几个问题: 运行n…...
Spring之IoC源码分析及设计思想(一)——BeanFactory
关于Spring的IOC Spring 是一个开源的 Java 平台,它提供了一种简化应用程序开发的框架。它是一个分层的框架,包括两个主要的内核:控制反转(IOC)和面向切面编程(AOP)。IOC 允许应用程序将组件之…...
⛳ 面向对象面试题
面向对象面试题目录 ⛳ 面向对象面试题🚜 一,成员变量,局部变量,类变量存储在内存的什么地方?🐾 1.1,类变量(静态成员变量)📝 1.2,成员变量⭐ 1.3…...
Java中使用Gson操作json数据
Java中使用Gson操作json数据 引入依赖 <dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.9.0</version></dependency>Gson工具类 package cn.test.util;import com.google.gso…...
Verilog语法学习——LV10_使用函数实现数据大小端转换
LV10_使用函数实现数据大小端转换 题目来源于牛客网 [牛客网在线编程_Verilog篇_Verilog快速入门 (nowcoder.com)](https://www.nowcoder.com/exam/oj?page1&tabVerilog篇&topicId301) 题目 描述 在数字芯片设计中,经常把实现特定功能的模块编写成函数&…...
Leetcode-每日一题【剑指 Offer II 009. 乘积小于 K 的子数组】
题目 给定一个正整数数组 nums和整数 k ,请找出该数组内乘积小于 k 的连续的子数组的个数。 示例 1: 输入: nums [10,5,2,6], k 100输出: 8解释: 8 个乘积小于 100 的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。 需要注意的是 [10,5,2]…...
html/javascript-表格的创建和使用
html中表格的创建和使用 一 摘要二 使用html table标签创建表格(在html文件中)三 使用javascript创建表格(在js文件中)四 表格属性的设置:4.1. 右边框的设置:4.2. 只给表格单元格加右边框4.3. 动态设置右边…...
[点微]同城原生微信小程序 小程序原生版 1.0.7(tom_xiaofenlei)
注意!!!这是点微后出的原生版小程序!!! 依赖点微同城分类主插件、点微同城小程序后端插件!!! 【以下为模块路径】 同城首页 pages/index/index 个人中心 pages/index/my 好店首页 pages/module/tcshop 商城首页 pages/module/tcmall 抢购首页 pages/module/tcqianggou…...
JDBC Some Templates
JDBCTemplate 是Spring对JDBC的封装,使用JDBCTemplate方便实现对数据的操作。 <!-- orm:Object relationship mapping m对象 关系 映射-->引入依赖 <!-- 基于Maven依赖的传递性,导入spring-content依赖即可导入当前所需的所有…...
dubbo启动指定ip不使用docker虚拟网络ip
java -D 配置系统属性 # 启动时加参数 -DDUBBO_IP_TO_REGISTRY 192.168.1.1 该ip为dubbo所在服务器的公网ip即可。 java -jar myDubboRpc-api.jar -DDUBBO_IP_TO_REGISTRY 192.168.1.1 # xjar启动 nohup ./xjar java -DDUBBO_IP_TO_REGISTRY11.22.33.44 -XX:UseG1GC -jar …...
Bobo String Construction
登录—专业IT笔试面试备考平台_牛客网 题目大意:给出一字符串t,求一个长为n的字符串,使tst中包含且仅包含两个t 1<n<1000;测试样例组数<1000 思路:一开始很容易想到如果t里有1,s就全0,否则s就全…...
基于java在线个人网站源码设计与实现
摘 要 随着社会及个人社交应用平台的飞速发展,人们的沟通成本逐渐降低,互联网信息的普及也进一步提升了人们对于信息的需求度,通过建立个人网站的方式来展示自己的生活信息同时利用平台结交新的朋友,借助个人网站平台的搭建不仅可…...
Ubuntu18.04下编译qgc源码
写在前面 在下载前必须说明,根据你的qgc源码版本进行下载,有的源码必须要求Qt是5.15版本以上。 个人所使用开发软件 版本QT5.12.9qgc源码V4.0Ubuntu18.04 QT下载 (1)我们可以去官网下载官网下载地址具体的下载方法这里不用多说&a…...
Kimi-VL-A3B-Thinking开源大模型实操:模型微调适配垂直领域数据
Kimi-VL-A3B-Thinking开源大模型实操:模型微调适配垂直领域数据 1. 引言:为什么你需要关注这个模型? 如果你正在寻找一个既能看懂图片,又能像人一样思考的多模态模型,那么Kimi-VL-A3B-Thinking绝对值得你花时间了解。…...
Qwen2.5-VL多模态大模型实战:如何用3090显卡高效部署7B版本(附避坑指南)
Qwen2.5-VL多模态大模型实战:3090显卡高效部署7B版本全攻略 当多模态大模型遇上消费级显卡天花板RTX 3090,会产生怎样的化学反应?作为目前最具性价比的24GB显存解决方案,3090显卡在部署7B参数规模的Qwen2.5-VL时既充满可能又暗藏…...
LabelImg图像标注工具:从零开始创建AI训练数据的完整指南
LabelImg图像标注工具:从零开始创建AI训练数据的完整指南 【免费下载链接】labelImg LabelImg is now part of the Label Studio community. The popular image annotation tool created by Tzutalin is no longer actively being developed, but you can check out…...
【CTF | pwn篇】从栈溢出到ROP:ctfshow pwn实战技巧精讲
1. 栈溢出基础:从零开始理解漏洞利用 栈溢出是PWN领域最经典的漏洞类型之一,也是CTF比赛中出现频率最高的题型。我们先从一个最简单的例子开始,看看如何利用栈溢出漏洞控制程序执行流程。 1.1 栈的结构与函数调用 当程序调用函数时࿰…...
【Linux第十四章】文件系统
前言 🚀在日常开发里,我们几乎每天都在和文件打交道:打开源码、读取日志、写入配置、删除临时文件。但从操作系统的视角看,磁盘上天然存在的并不是“文件”这种概念,底层真正能被访问的,是一块一块的存储单…...
AI Agent操作系统架构师:Harness Engineer解析
Harness Engineer:AI Agent时代的「系统架构师」,打造可执行可信赖的智能体操作系统引言 当大语言模型从「对话助手」进化为「能干活的AI Agent」,我们发现一个核心矛盾:模型的概率性灵活能力与业务的确定性执行要求始终无法调和。…...
惯性导航系统深度解析:从平台式到捷联式的技术演进与精度优化
1. 惯性导航系统的基本原理 想象一下你被蒙上眼睛放在一个陌生的城市里,只给你一个计步器和指南针,要求你记录自己的行走路线。这就是惯性导航系统(INS)工作的基本场景——它通过测量运动载体的加速度和角速度,像做数…...
STEP3-VL-10B实战案例:科研论文截图→公式识别→LaTeX还原→语义解释生成
STEP3-VL-10B实战案例:科研论文截图→公式识别→LaTeX还原→语义解释生成 1. 引言:当科研遇上多模态AI 如果你经常需要阅读英文论文,特别是那些数学、物理、计算机科学领域的文章,一定遇到过这样的困扰:论文里密密麻…...
多模态扩展:OpenClaw结合Qwen3.5-4B-Claude处理截图信息
多模态扩展:OpenClaw结合Qwen3.5-4B-Claude处理截图信息 1. 为什么需要多模态能力 作为一个长期依赖文本交互的技术爱好者,我最初对OpenClaw的理解停留在"能通过自然语言控制电脑的AI助手"层面。直到上个月需要处理大量产品截图中的文字信息…...
EEGLAB进阶实战:从原始EEG到ERP成分的精准提取与可视化分析
1. EEGLAB入门:理解ERP分析的核心流程 第一次接触EEGLAB时,我被它强大的功能和复杂的界面弄得晕头转向。经过多次实战,我发现理解ERP分析的完整流程是关键。就像做菜需要先备料再烹饪一样,EEG数据处理也需要遵循特定步骤。 原始EE…...
