四层网络模型

互联网由终端主机、链路和路由器组成,数据通过逐跳的方式,依次经过每条链路进行传输。

网络层的工作是将数据包从源端到目的端,跨越整个互联网。


网络层的数据包称为数据报。网络将数据报交给链路层,指示它通过第一条链路发送数据报。

网络层协议:Internet Protocol(IP)
最常见的传输层协议是(Transmission Control Protocol)TCP,传输控制协议
TCP的任务是确保在互联网一端发送的应用程序数据能够正确、按顺序地送达互联网另一端的应用程序。
如果网络层丢弃了一些数据报,TCP会在必要时多次重传。
如果网络层无序地送达数据报,可能是因为两个数据包通过不同路径到达目的地,TCP会将数据重排。
TCP为运行在网络层服务之上的应用程序提供了一种保证数据正确、有序送达的服务。
网络层在底层提供的是一种不可靠的数据传递服务。
并非所有应用程序都需要数据被正确送达,如果视频会议应用程序正在发送一个数据包中的视频片段,多次等待数据包重传可能毫无意义,最好是继续传输。
有些应用程序根本不需要TCP服务,如果应用程序不需要可靠的送达,可以使用更简单的UDP。
UDP(User Datagram Protocol,用户数据包协议)
UDP是一种替代的传输层协议,它将应用程序数据打包,并将其交给网络层以传递到另一端。
UDP完全不提供送达保证,应用程序至少有两种不同的传输层服务选择:TCP和UDP。
最顶层是应用层,互联网有成千上万的应用程序,虽然每个应用程序各不相同,但它们可以通过使用应用层到TCP和UDP服务的明确定义的API来复用传输层。
应用层:保证应用程序之间的双向可靠字节流。
传输层:保证数据端到端的正确有序传递,并控制拥塞。
网络层:负责端到端的数据报传递,提供尽力而为的传递服务,不做任何保证。
链路层:负责在终端主机与路由器之间或两个路由器之间通过单一链路传递数据。


相关文章:
四层网络模型
互联网由终端主机、链路和路由器组成,数据通过逐跳的方式,依次经过每条链路进行传输。 网络层的工作是将数据包从源端到目的端,跨越整个互联网。 网络层的数据包称为数据报。网络将数据报交给链路层,指示它通过第一条链路发送数据…...
CUDA学习-内存访问
一 访存合并 1.1 说明 本部分内容主要参考: 搞懂 CUDA Shared Memory 上的 bank conflicts 和向量化指令(LDS.128 / float4)的访存特点 - 知乎 1.2 share memory结构 图1.1 share memory结构 放在 shared memory 中的数据是以 4 bytes(即 32 bits)作为 1 个 word,依…...
进程通讯——类型和发展
进程常用交互方法如上...
在 Windows 11 中为 SMB 3.x 文件共享协议提供 RDMA 支持
注:机翻,未校。 Enable SMB Direct in Windows 11 在 Windows 11 中启用 SMB Direct Provides RDMA support for the SMB 3.x file sharing protocol 为 SMB 3.x 文件共享协议提供 RDMA 支持 Vigneshwaran Vijayakumar November 3, 2024 Last Updat…...
C 标准库 - `<errno.h>`
C 标准库 - <errno.h> 引言 在C语言编程中,正确处理错误是保证程序稳定性和可靠性的关键。C标准库中的<errno.h>头文件提供了错误码定义和宏,使得开发者能够更好地管理和处理程序运行过程中可能出现的错误。本文将详细介绍<errno.h>头文件的作用、常用错…...
2025年01月28日Github流行趋势
项目名称:maybe 项目地址url:https://github.com/maybe-finance/maybe项目语言:Ruby历史star数:37540今日star数:1004项目维护者:zachgoll, apps/dependabot, tmyracle, Shpigford, crnsh项目简介ÿ…...
7. 马科维茨资产组合模型+金融研报AI长文本智能体(Qwen-Long)增强方案(理论+Python实战)
目录 0. 承前1. 深度金融研报准备2. 核心AI函数代码讲解2.1 函数概述2.2 输入参数2.3 主要流程2.4 异常处理2.5 清理工作2.7 get_ai_weights函数汇总 3. 汇总代码4. 反思4.1 不足之处4.2 提升思路 5. 启后 0. 承前 本篇博文是对前两篇文章,链接: 5. 马科维茨资产组…...
Android 启动流程
一 Bootloader 在嵌入式系统中,Bootloader的引导过程与传统的PC环境有所不同,主要是因为嵌入式系统的硬件配置和应用场景更加多样化。以下是嵌入式系统中Bootloader被引导的一般流程: 1. 硬件复位 当嵌入式设备上电或复位时,处…...
庆祝2025到来:C++编程的新篇章
作者:w(゚Д゚)w吓洗宝宝了 发布时间:2025年1月19日00:00 引言 新年伊始,万象更新。在这充满希望的2025年,我们迎来了新的机遇和挑战。作为C编程爱好者的一员,我感到无比激动和自豪。C作为一种强…...
基于STM32的智能家用温控器设计
目录 引言系统设计 硬件设计软件设计 系统功能模块 温度监测模块自动加热与制冷模块用户交互与显示模块节能模式与定时功能模块远程控制与数据上传模块 控制算法 温度调节算法定时任务与节能优化算法数据记录与反馈算法 代码实现 温度监测与自动控制代码定时与节能模式代码数据…...
扣子平台音频功能:让声音也能“智能”起来。扣子免费系列教程(14)
在数字化时代,音频内容的重要性不言而喻。无论是在线课程、有声读物,还是各种多媒体应用,音频都是传递信息、增强体验的关键元素。扣子平台的音频功能,为开发者和内容创作者提供了一个强大而灵活的工具,让音频的使用和…...
Dismissible组件的用法
文章目录 1 概念介绍2 使用方法3 示例代码我们在上一章回中介绍了GestureDetector Widget相关的内容,本章回中将介绍Dismissible Widget.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里介绍的Dismissible是一个事件响应Widget,它和GestureDetector类似,不过它只…...
C语言--数据在内存中的存储
在C语言中,数据在内存中的存储方式主要取决于数据的类型和存储位置。以下是C语言中数据在内存中的存储方式的详细说明: 1. 数据类型与存储方式 基本数据类型 • 整数类型(如int、short、long等): • 存储方式&#x…...
CPP-存储区域
CPP支持手动开辟和释放内存,所以对于内存的理解非常重要! 在C中,内存存储通常可以大致分为几个区域,这些区域根据存储的数据类型、生命周期和作用域来划分。这些区域主要包括: 代码区(Code Segment/Text S…...
9.中断系统、EXTI外部中断
中断系统原理 中断 中断系统是管理和执行中断的逻辑结构,外部中断是众多能产生中断的外设之一,所以本节我们就借助外部中断来学习一下中断系统。在以后学习其它外设的时候,也是会经常和中断打交道的。 中断:在主程序运行过程中…...
新增文章功能
总说 过程参考黑马程序员SpringBoot3Vue3全套视频教程,springbootvue企业级全栈开发从基础、实战到面试一套通关_哔哩哔哩_bilibili 之前又偷懒几天。回老家没事干,玩也玩不好,一玩老是被家里人说。写代码吧还是,他们都看不懂&a…...
《HelloGitHub》第 106 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…...
使用Ollama 在Ubuntu运行deepseek大模型:以DeepSeek-coder为例
DeepSeek大模型这几天冲上热搜啦! 咱们来亲身感受下DeepSeek模型的魅力吧! 整个操作流程非常简单方便,只需要2步,先安装Ollama,然后执行大模型即可。 安装Ollama 在Ubuntu下安装Ollama非常简单,直接sna…...
ROS应用之SwarmSim在ROS 中的协同路径规划
SwarmSim 在 ROS 中的协同路径规划 前言 在多机器人系统(Multi-Robot Systems, MRS)中,SwarmSim 是一个常用的模拟工具,可以对多机器人进行仿真以实现复杂任务的协同。除了任务分配逻辑以外,SwarmSim 在协同路径规划方…...
ARM64平台Flutter环境搭建
ARM64平台Flutter环境搭建 Flutter简介问题背景搭建步骤1. 安装ARM64 Android Studio2. 安装Oracle的JDK3. 安装 Dart和 Flutter 开发插件4. 安装 Android SDK5. 安装 Flutter SDK6. 同意 Android 条款7. 运行 Flutter 示例项目8. 修正 aapt2 报错9. 修正 CMake 报错10. 修正 N…...
2步实现格式自由:Save Image as Type让网页图片转换体验升级10倍
2步实现格式自由:Save Image as Type让网页图片转换体验升级10倍 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mirrors…...
Qwen3-ASR-1.7B服务管理技巧:使用Supervisor监控与重启服务
Qwen3-ASR-1.7B服务管理技巧:使用Supervisor监控与重启服务 当你把Qwen3-ASR-1.7B语音识别模型部署到服务器上,准备让它7x24小时稳定工作时,有没有遇到过这样的问题: 半夜服务突然挂了,第二天早上才发现,…...
从‘知识冲突’到‘对齐’:图解ProGrad如何让CLIP微调既专又通
ProGrad:用向量几何重新思考多模态模型的微调艺术 想象一下,你正在训练一位精通多国语言的老教授学习一门新方言。如果完全放任他自由发挥,可能会丢失原有的语言体系;如果限制太多,又无法适应新语境。这正是CLIP等预训…...
Kubernetes资源监控与告警:从指标到行动的完整闭环
Kubernetes资源监控与告警:从指标到行动的完整闭环没有监控的集群就是黑盒,没有告警的监控就是摆设。监控体系架构 一个完整的K8s监控体系包含三个层次: ┌────────────────────────────────────────…...
Q345A、Q345B、Q345C、Q345D、Q345E钢材的性能差异分析
Q345A、Q345B、Q345C、Q345D、Q345E 钢材的性能差异分析 Q345是一种钢材的材质。它是低合金钢(C<0.2%),广泛应用于建筑,桥梁、车辆、船舶、压力容器等。Q代表的是这种材质的屈服强度,后面的345,就是指这种材质的屈服值,在345MPa左右。并会随着材质的厚度的增加而使其…...
Windows下QGIS 3.28.6二次开发环境配置避坑指南(Qt5.15+VS2022实战)
Windows下QGIS 3.28.6二次开发环境配置实战:Qt5.15与VS2022深度适配指南 当GIS开发者决定在Windows平台进行QGIS二次开发时,版本兼容性问题往往成为第一道门槛。本文将深入剖析Qt5.15与Visual Studio 2022的组合在QGIS 3.28.6开发中的关键配置细节&#…...
ReactPy服务端渲染终极指南:如何在Python中构建现代Web应用
ReactPy服务端渲染终极指南:如何在Python中构建现代Web应用 【免费下载链接】reactpy Its React, but in Python 项目地址: https://gitcode.com/gh_mirrors/re/reactpy ReactPy是Python中构建用户界面的革命性库,让你无需JavaScript就能创建现代…...
Phi-3-Mini-128K高并发服务架构设计:负载均衡与自动扩缩容策略
Phi-3-Mini-128K高并发服务架构设计:负载均衡与自动扩缩容策略 你是不是也遇到过这种情况?自己部署的AI模型服务,平时用着挺好,一旦用户量稍微上来点,或者有人发了个长请求,服务就卡死甚至直接挂掉。然后就…...
Wan2.2-I2V-A14B镜像应用案例:快速生成高质量短视频,助力内容创作
Wan2.2-I2V-A14B镜像应用案例:快速生成高质量短视频,助力内容创作 1. 引言:短视频创作的新范式 在数字内容爆炸式增长的今天,短视频已成为最主流的内容形式之一。无论是电商平台的商品展示、社交媒体上的创意内容,还…...
揭秘USDT混币器:从智能合约代码到浏览器控制台,一次匿名转账的完整技术栈解析
揭秘USDT混币器:从智能合约代码到浏览器控制台的技术全景 在区块链世界中,隐私保护与交易透明性似乎是一对永恒的矛盾。当每一笔USDT转账都能被链上浏览器追踪到资金流向时,一种名为"混币器"的技术方案正在用密码学重新定义匿名边界…...
