当前位置: 首页 > news >正文

计算机网络ISO七层网络模型及TCP

思维导图(通俗理解)

首先,先用最通俗的话来描述ISO七层模型,思维导图结构如下:

在这里插入图片描述

ISO七层网络模型概念

  • 应用层(Application Layer):应用层是OSI模型的最高层,直接与用户交互。它提供网络服务的接口,使用户能够访问网络资源和应用程序。常见的协议有HTTP、FTP、SMTP等。应用层负责处理用户输入和网络服务之间的交互。
  • 表示层(Presentation Layer):表示层负责数据的表示格式它将应用层数据转换成可以在网络上传输的格式,或者将接收到的数据转换成应用层可处理的格式。表示层处理数据的加密与解密、数据压缩、字符编码转换等。
  • 会话层(Session Layer):会话层负责管理和控制应用程序之间的会话(Session),即建立、维护和终止会话。它确保两个应用之间的对话能被正确地建立和维护,即使在网络中断的情况下也能够恢复会话。会话层还负责同步会话数据的交换。
  • 传输层(Transport Layer):传输层提供端到端的通信服务,确保数据在网络中可靠传输。它负责将数据分割成段(Segment),并在接收端进行重组。此外,传输层还提供流量控制、差错检测、数据恢复等功能,以保证数据的完整性和正确性。常见的协议有TCP(传输控制协议)和UDP(用户数据报协议),以及QUIC等。
  • 网络层(Network Layer):网络层负责在不同网络之间传输数据包(Packet),并确定路径选择(路由)。它处理数据包的逻辑地址(如IP地址),确保数据能够通过多个网络从源设备传输到目标设备。路由器就是工作在这一层的设备。
  • 数据链路层(Data Link Layer): 数据链路层负责在同一网络中的直接相连设备之间的可靠数据传输。它将物理层传输的比特流组织成帧(Frame),并进行差错检测与纠正。此外,数据链路层还管理网络访问权限,避免多个设备同时发送数据造成冲突。在局域网中,MAC地址(物理地址)就在这一层使用。
  • 物理层(Physical Layer):物理层负责网络中数据的物理传输。它定义了网络设备之间的物理连接方式、传输介质(如铜线、光纤、无线电波)以及数据传输的方式(如电压、电流、信号调制等)。物理层确保比特流能够通过物理媒介从一个设备传送到另一个设备,透明传输@[TOC]。

专有名词扩展概念

  1. 封装成帧:封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧,接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
  2. 透明传输:透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
  3. 差错检测:收到正确的帧就要向发送端发送确认,发送端在一定的期限内若没有收到对方的确认,就认为出现了差错,因而就进行重传,直到收到对方的确认为止。
  4. IP地址:IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。由一个IP地址由4个字节,32位组成,一般用点分十进制的方式表现。
  5. IPv6:因为IPv4地址满足不了需求,出现匮乏的情况,所以诞生了IPv6地址继续使用。v6地址由128位,16个字节组成,一般表现形式为十六进制。
  6. 静态路由:由管理员手工配置、配置方便,对系统要求低,适用于拓扑结构简单稳定的小型网络。
  7. 缺省路由:是一种特殊的路由,当报文没有在路由表中找到匹配的具体表项时才能使用的路由。
  8. 动态路由:通过动态路由协议来实现不同网段的路由互通,动态路由协议由自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量的三层设备的网络。
  9. MAC地址:是网络设备的唯一标识符,通常由48位二进制数表示,如00:1A:2B:3C:4D:5E。它用于数据链路层标识设备,确保在局域网中数据包的正确发送。MAC地址的前24位标识制造商,后24位标识设备。

TCP和UDP

TCP三次握手:
第一次客户端发送SYN:客户端发送SYN包请求连接,并包含初始序列号。
第二次服务器回应SYN-ACK:服务器回复SYN-ACK包确认请求,并发送自己的SYN请求和序列号。
第三次客户端发送ACK:客户端发送ACK包确认服务器的SYN请求,连接建立完成。
在这里插入图片描述

TCP四次挥手
第一次客户端发送FIN:客户端发送FIN包请求断开连接。
第二次服务器回应ACK:服务器确认FIN包,准备关闭连接,但可能继续发送数据。
第三次服务器发送FIN:服务器处理完数据后,发送FIN包请求断开连接。
第四次客户端回应ACK:客户端确认服务器的FIN包,连接完全断开。
在这里插入图片描述

UDP:直接发送数据包,无状态

TCP和UDP区别:
连接方式:TCP需要进行三次握手,而UDP则不需要建立连接,直接发送数据包。
可靠性:TCP提供可靠的数据传输机制,能够保证数据的完整性和顺序性;而UDP不提供可靠性保证,数据传输可能出现丢包或乱序的情况。
数据量:TCP对数据量的限制较小(最大传输单元为64KB),而UDP对数据量的限制较大(最大传输单元为65535字节)。
速度:UDP传输效率较高,因为它没有TCP那样复杂的握手、确认等过程。
流量控制:TCP有流量控制机制,可以根据网络情况调整传输速度,避免网络拥塞;而UDP没有流量控制机制,可能会导致网络拥塞。
头部开销:tcp头部开销较大,通常为20字节,因为需要携带各种控制信息(如序列号、确认号等)。udp头部开销较小,仅8字节,因为只包含了最基本的传输信息(如源端口、目的端口等)。

相关文章:

计算机网络ISO七层网络模型及TCP

思维导图(通俗理解) 首先,先用最通俗的话来描述ISO七层模型,思维导图结构如下: ISO七层网络模型概念 应用层(Application Layer):应用层是OSI模型的最高层,直接与用户交…...

机器学习知识点全面总结

一、机器学习基础概念 1、什么是机器学习 机器学习是一种人工智能技术,通过对数据的学习和分析,让计算机系统自动提高其性能。简而言之,机器学习是一种从数据中学习规律和模式的方法,通过数据来预测、分类或者决策。 机器学习的本…...

【研发日记】嵌入式处理器技能解锁(三)——TI C2000 DSP的C28x内核

文章目录 前言 背景介绍 C28x内核 浮点单元(FPU) 快速整数除法单元(FINTDIV) 三角数学单元(TMU) VCRC单元 CPU总线 指令流水线 总结 参考资料 前言 见《【研发日记】嵌入式处理器技能解锁(一)——多任务异步执行调度的三种方法》 见《【研发日记】嵌入式处理器技能解…...

LeetCode.27.移除元素

题目描述: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以…...

redis面试(十二)可重入锁总结

可重入锁总结 从实现原理以及源码的层面,真正剖析和了解到了redis分布式锁的企业级的实现,这个分布式锁实现的还是非常漂亮的,麻雀虽小,五脏俱全,分布式的可重入锁,总结一下流程 (1&#xff0…...

软件测试知识点3

063、一份测试计划应该包括哪些内容? 背景、项目简介、目的、测试范围、测试策略、人员分工、资源要求、进度计划、参考文档、常用术语、提交文档、风险分析。 065、如何定位测试用例的作用? 组织性:编写、组织性、功能覆盖、重复性、跟踪、测试确认 066、什么…...

WPF Treeview开启虚拟化后如何找到TreeViewItem

用VirtualizingStackPanel的BringIndexIntoViewPublic方法就好&#xff0c;没必要像微软给的例子那样还要继承一个VirtualizingStackPanel /// <summary> /// Recursively search for an item in this subtree. /// </summary> /// <param name"container…...

给python初学者的一些建议

写在开篇 关于Python&#xff0c;可以这么说&#xff0c;这几年借着数据科学、机器学习与人工智能的东风&#xff0c;Python 老树开新花&#xff0c;在风口浪尖上居高不下。 Python 之所以这么受大家的青睐&#xff0c;是因为它语言简洁&#xff0c;上手容易&#xff0c;让非…...

【Python学习手册(第四版)】学习笔记17-作用域

个人总结难免疏漏&#xff0c;请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。 本文介绍Python作用域&#xff0c;介绍了变量名解析的LEGB原则&#xff0c;以及内置作用域&#xff0c;全局作用域global语句&#xff0c;嵌套作用域及nonlocal语…...

大语言模型(LLM)文本预处理实战

大语言模型&#xff08;LLM&#xff09;文本预处理实战 文章目录 大语言模型&#xff08;LLM&#xff09;文本预处理实战2.1 理解词嵌入2.2 文本分词2.3 将 token 转换为 token ID2.4 添加特殊上下文 token2.5 字节对编码 (BytePair Encoding, BPE)2.6 使用滑动窗口进行数据采样…...

宠物健康新守护:智能听诊器的家庭应用

宠物已成为我们情感的寄托和生活的一部分&#xff0c;为宠物的健康守护带来了科技的温度。 科技与关怀结合 这款智能听诊器&#xff0c;以其科技感和关怀精神&#xff0c;为宠物的健康监测提供了全新的视角。 家庭友好设计&#xff1a;考虑到家庭使用环境&#xff0c;智能听…...

六、go函数

函数在任何语言中并不难理解&#xff0c;但是不论是有几年开发经验的人&#xff0c;真正想要写好一个函数并不是那么容易的 1、go语言中函数结构 func main() {fmt.Println(isEven(2)) } func isEven(x int) bool {return x%2 0 }&#xff08;这里我写了一个简单的判断是否是…...

高原型垂直起降高速无人机技术详解

1. 技术概述 高原型垂直起降高速无人机&#xff08;High-Altitude Vertical Take-off and Landing High-Speed Unmanned Aerial Vehicle, HAVTHS UAV&#xff09;是针对高原复杂环境设计的一种先进无人机系统。它结合了垂直起降的灵活性与高速飞行的能力&#xff0c;能够克服高…...

Selenium + Python 自动化测试10(unittest概念)

我们的目标是&#xff1a;按照这一套资料学习下来&#xff0c;大家可以独立完成自动化测试的任务。 上几篇我们讨论了元素的定位方法、操作方法以及一些特殊元素的操作。 在实际的测试项目组中每个模块会写多条案例&#xff0c;如第一条用例那里我们的登录。登录的话就可以有多…...

大数据-67 Kafka 高级特性 分区 分配策略 Ranger、RoundRobin、Sticky、自定义分区器

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…...

深度学习与图像修复:ADetailer插件在Stable Diffusion中的应用

文章目录 引言ADetailer插件介绍插件安装常用模型控制提示词参数配置参数详解 实践建议 示例插件的对比&#xff1a;1. ADetailer插件2. Photoshop插件&#xff08;如Nik Collection&#xff09;3. GIMP插件&#xff08;如GMIC&#xff09;4. Affinity Photo插件 结语 引言 无…...

【Pytorch】topk函数

topk 是 PyTorch 中的一个函数&#xff0c;用于从张量中选取最大&#xff08;或最小&#xff09;的 k 个元素及其对应的索引。其定义如下&#xff1a; values, indices torch.topk(input, k, dimNone, largestTrue, sortedTrue, *, outNone)参数说明 input (Tensor): 输入张…...

使用mybatis注解和xml映射执行javaWeb中增删改查等操作

Mapper接口 使用注解执行SQL语句操作和相应的Java抽象类&#xff08;对于简单的增删改查使用注解&#xff09; Mapper public interface EmpMapper {// 根据id删除员工信息Delete("delete from mybatis.emp where id#{id}")public int EmpDelete(Integer id);// 查…...

SpringBoot3 响应式编程

Spring Boot 3 中的响应式编程是一个重要的特性&#xff0c;它允许开发者构建非阻塞、异步和基于事件的应用程序&#xff0c;这对于处理高并发和实时数据流的应用场景尤为重要。以下是对Spring Boot 3响应式编程的详细解析&#xff1a; 一、响应式编程概述 响应式编程是一种编…...

【C++ 面试 - 基础题】每日 3 题(二)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么&#xff1f;它的作用是什么&#xff1f; Spring框架的核心容器是IoC&#xff08;控制反转&#xff09;容器。它的主要作用是管理对…...

如何在Windows本机安装Python并确保与Python.NET兼容

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

DeepSeek越强,Kimi越慌?

被DeepSeek吊打的Kimi&#xff0c;还有多少人在用&#xff1f; 去年&#xff0c;月之暗面创始人杨植麟别提有多风光了。90后清华学霸&#xff0c;国产大模型六小虎之一&#xff0c;手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水&#xff0c;单月光是投流就花费2个亿。 疯…...