笔记2——网络参考模型

一、OSI参考模型:

应用层:

报文

给应用程序提供接口

表示层:

进行数据格式的转换

会话层:

在通讯双方之间建立、管理和终止会话

传输层:

数据段;建立、维护、取消一次端到端的数据传输过程;控制数据传输的快慢;调整数据的排序等

网络层:

数据包;定义逻辑地址,实现数据从源到目的的转发

数据链路层:

数据帧;在数据链路上实现数据的点到点、或点到多点方式的直接通信(直连、在同一广播域);差错检测(通过报文尾部)

物理层:

在媒介上传输比特流(信号转换,保证数据能够在传输介质上传递)

二、TCP/IP对等模型:

物理层、数据链路层、网络层、传输层、应用层

三、应用层:

HTTP:80/www,超文本传输协议,提供浏览网页服务

Telnet:23,远程登录协议,提供远程管理服务

FTP:20,21,文件传输协议,提供互联网文件资源共享服务

实验1:Telnet链接

四、传输层:

TCP:传输控制协议

特点:面向连接的可靠性传输

应用:文件传输

TCP报文格式:

源端口(source port):指明数据由哪个应用产生

目的端口(destination port):指明数据有哪个应用接受

端口号:范围0-65535,0-1023为知名端口,1024-65535为非知名端口

序列号(sequence number):保证数据的有序性

确认序列号(Acknowledgement number):ACK,确认数据是否收到

头部长度(header length):TCP报文头部

保留字段(reservced)

控制位:

  1. SYN开始位,置1表示希望和对方建立链接
  2. FIN停止位,置1表示希望和对方断开链接
  3. ACK确认位,置1表示确认序列号(ack)有效

窗口大小:用于控制TCP传输流量大小

校验和:校验TCP的数据和格式

紧急指针(Urgent Pointer)

选项(Options)

TCP三次握手和四次挥手:

TCP(传输控制协议)的三次握手和四次挥手是建立和终止TCP连接的过程。这些过程确保了连接的可靠性和安全性。

三次握手(建立连接)

第一次握手:

客户端发送一个SYN(同步序列编号)报文到服务器,请求建立连接。

报文中包含客户端的初始序列号(ISN)。

客户端进入SYN_SENT状态,等待服务器的确认。

第二次握手:

服务器接收到SYN报文后,回复一个SYN-ACK(同步确认)报文。

报文中包含服务器的初始序列号和对客户端SYN的确认(ACK)。

服务器进入SYN_RECEIVED状态,等待客户端的确认。

第三次握手:

客户端接收到SYN-ACK报文后,发送一个ACK报文给服务器,确认收到服务器的SYN-ACK。

客户端和服务器都进入ESTABLISHED状态,连接建立成功。

四次挥手(终止连接)

第一次挥手:

主动关闭方(通常是客户端)发送一个FIN(结束)报文给被动关闭方(服务器),请求终止连接。

主动关闭方进入FIN_WAIT_1状态,等待被动关闭方的确认。

第二次挥手:

被动关闭方接收到FIN报文后,发送一个ACK报文给主动关闭方,确认收到FIN。

被动关闭方进入CLOSE_WAIT状态,等待应用程序通知它关闭连接。

第三次挥手:

被动关闭方完成数据传输后,发送一个FIN报文给主动关闭方,请求终止连接。

被动关闭方进入LAST_ACK状态,等待主动关闭方的确认。

第四次挥手:

主动关闭方接收到FIN报文后,发送一个ACK报文给被动关闭方,确认收到FIN。

主动关闭方进入TIME_WAIT状态,等待一段时间以确保被动关闭方收到ACK。

被动关闭方收到ACK后,进入CLOSED状态,连接完全关闭。

通过三次握手和四次挥手,TCP确保了连接的可靠建立和终止,避免了数据丢失和重复传输的问题。

UDP:用户数据保协议

特点:面向无连接的不可靠传输

应用:视频、语音 这种高速率场景下

  • 网络层

负责报文从元到目的的转发

作用:1.为网络中设备提供逻辑地址

  1. 负责数据包的寻址和转发

常见协议:IPV4、IPV6、ICMP、IGMP

六、数据链路层

负责向网络层提供“段内通信”

作用:1.负责组针

  1. 物理编制
  2. 差错控制

以太网:一种广播方式数据链路层协议,支持多点接入

Ppp

Pppoe

MAC地址:网卡出厂就有,全球唯一

作用:在一个IP的网段内,能够具体的找到某一个主机

泛洪:当交换机或集线器接收到一个广播数据帧时,它会将这个数据帧发送到所有连接到它的端口上。这是因为广播数据帧的目标MAC地址是全1(FF:FF:FF:FF:FF:FF),表示要发送给网络上的所有设备。

ARP:地址解析协议

作用:根据已知的IP解析获取对应的Mac地址

ARP缓存:存放IP地址和Mac地址的映射关系

七、物理层

根据物理介质的不同,会将数字信号转换为电、光、电磁波信号等

常见物理介质:双绞线、光纤、电磁波等

双绞线:

568B:白橙、橙,白绿、蓝,白蓝、绿,白棕、棕

特点:成本低,布线简单,抗干扰能力强;一般不超过1000m。

光纤:

特点:传输速率高,线缆成本高,连接头工艺复杂,传输率极高。

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

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

相关文章

最短路径:Bellman-Ford算法

Bellman-Ford的操作步骤 1.初始化距离:将起点的dist值设置为0,其他点的dist值设置为无穷大。 2.执行n-1轮松弛操作:遍历所有边,更新最短距离,收敛后可获得最短路径。 3.检测负权环:额外遍历一次&#xf…

0402-对象和类(访问器 更改器 日期类)

OOP:面向对象程序设计 类:构造对象的模板或蓝图 类构造对象的过程称为创建类的实例 封装:对外隐藏数据的真实实现方式,提供简单的方法 (类比方向盘) 对象:本质上是内存中的一小块空间 识别类&a…

【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的文件上传与下载:实现文件管理功能

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、开篇整…

搜索算法------DFS练习2

1. 题目 2. 思路和题解 从题目中可以看出&#xff0c;如果一个格子上有雨水&#xff0c;那么就可以流到周围比他高度低的单元格&#xff0c;如果单元格和海洋相邻&#xff0c;那么雨水也会流入海洋。总而言之一句话就是水从高处流向低处。从这里的流向可以联想到深度优先搜索这…

[python] 正则表达式

1.分割str s"1-2--3---4" are.findall(r\d|[-],s) # 输出&#xff1a;[1, -, 2, --, 3, ---, 4]s"-4(2(3)" # ? 表示 - 可以出现0次或1次 # \d 表示匹配一个或多个连续数字 # \D 表示匹配非数字字符 sre.findall(r-?\d|\D,s) # 输出&#xff1a;[-4, (,…

定制化管理系统与通用管理系统,谁更胜一筹?

一、定制化管理系统与通用管理系统的定义与特点 定制化管理系统 定制化管理系统是根据企业的具体业务需求和流程进行个性化开发的软件系统。它能够深度贴合企业的管理需求&#xff0c;提供高度灵活的解决方案。其特点包括&#xff1a; 高度适应性&#xff1a;能够精准匹配企业…

gitee 配置git上传

Git入门&#xff1f;查看 帮助 , Visual Studio / TortoiseGit / Eclipse / Xcode 下如何连接本站, 如何导入仓库 简易的命令行入门教程: Git 全局设置: 以 176fuguM2项目为例 git config --global user.name "堕落圣甲虫" git config --global user.email "11…

SpringBoot+Vue 中 WebSocket 的使用

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议&#xff0c;它使得客户端和服务器之间可以进行实时数据传输&#xff0c;打破了传统 HTTP 协议请求 - 响应模式的限制。 下面我会展示在 SpringBoot Vue 中&#xff0c;使用WebSocket进行前后端通信。 后端 1、引入 j…

STM32 FATFS - 在SDIO的SD卡中运行fatfs

参考文章 STM32CubeMX | SD Card FATFS - 知乎 [STM32F4]基于F407的硬件移植Free RTOSFATFS&#xff08;SDIO&#xff09;_freertosfatfs-CSDN博客 例程地址&#xff1a;STM32FatFS: 基于stm32的fatfs例程&#xff0c;配合博客文章 基于梁山派天空星开发板&#xff0c;STM3…

Java 进化之路:从 Java 8 到 Java 21 的重要新特性

Java 进化之路&#xff1a;从 Java 8 到 Java 21 的重要新特性 开篇介绍 在软件开发领域&#xff0c;Java 作为一门历史悠久且广泛应用的编程语言&#xff0c;始终保持着其核心竞争力和持续创新能力。自 Java 8 发布以来&#xff0c;Java 经历了一系列重要版本更新&#xff0…

Reactor 事件流 vs. Spring 事件 (ApplicationEvent)

Reactor 事件流 vs. Spring 事件 ApplicationEvent Reactor 事件流 vs. Spring 事件 (ApplicationEvent)1️⃣ 核心区别2️⃣ Spring 事件 (ApplicationEvent)✅ 示例&#xff1a;Spring 事件发布 & 监听1️⃣ 定义事件2️⃣ 发布事件3️⃣ 监听事件&#x1f539; 进阶&…

JVM生产环境问题定位与解决实战(六):总结篇——问题定位思路与工具选择策略

本文已收录于《JVM生产环境问题定位与解决实战》专栏&#xff0c;完整系列见文末目录 引言 在前五篇文章中&#xff0c;我们深入探讨了JVM生产环境问题定位与解决的实战技巧&#xff0c;从基础的jps、jmap、jstat、jstack、jcmd等工具&#xff0c;到JConsole、VisualVM、MAT的…

【5090d】配置运行和微调大模型所需基础环境【一】

RuntimeError: Failed to import transformers.integrations.bitsandbytes because of the following error (look up to see its traceback): No module named triton.ops 原因&#xff1a;是因为在导入 transformers.integrations.bitsandbytes 时缺少必要的依赖项 triton.op…

华为交换综合实验——VRRP、MSTP、Eth-trunk、NAT、DHCP等技术应用

一、实验拓扑 二、实验需求 1,内网Ip地址使用172.16.0.0/16分配 2,sw1和SW2之间互为备份 3, VRRP/STP/VLAN/Eth-trunk均使用 4,所有Pc均通过DHCP获取IP地址 5,ISP只能配置IP地址 6,所有电脑可以正常访问IsP路由器环回 三、需求分析 1、设备连接需求 二层交换机&#xff08;LS…

DeepSeek 开源的 3FS 如何?

DeepSeek 3FS&#xff08;Fire-Flyer File System&#xff09;是一款由深度求索&#xff08;DeepSeek&#xff09;于2025年2月28日开源的高性能并行文件系统&#xff0c;专为人工智能训练和推理任务设计。以下从多个维度详细解析其核心特性、技术架构、应用场景及行业影响&…

Qt实现HTTP GET/POST/PUT/DELETE请求

引言 在现代应用程序开发中&#xff0c;HTTP请求是与服务器交互的核心方式。Qt作为跨平台的C框架&#xff0c;提供了强大的网络模块&#xff08;QNetworkAccessManager&#xff09;&#xff0c;支持GET、POST、PUT、DELETE等HTTP方法。本文将手把手教你如何用Qt实现这些请求&a…

echarts+HTML 绘制3d地图,加载散点+散点点击事件

首先&#xff0c;确保了解如何本地引入ECharts库。 html 文件中引入本地 echarts.min.js 和 echarts-gl.min.js。 可以通过官网下载或npm安装&#xff0c;但这里直接下载JS文件更简单。需要引入 echarts.js 和 echarts-gl.js&#xff0c;因为3D地图需要GL模块。 接下来是HTM…

深度剖析 MySQL 与 Redis 缓存一致性:理论、方案与实战

在当今的互联网应用开发中&#xff0c;MySQL 作为可靠的关系型数据库&#xff0c;与 Redis 这一高性能的缓存系统常常协同工作。然而&#xff0c;如何确保它们之间的数据一致性&#xff0c;成为了开发者们面临的重要挑战。本文将深入探讨 MySQL 与 Redis 缓存一致性的相关问题&…

DAO 类的职责与设计原则

1. DAO 的核心职责 DAO&#xff08;Data Access Object&#xff0c;数据访问对象&#xff09;的主要职责是封装对数据的访问逻辑&#xff0c;但它与纯粹的数据实体类&#xff08;如 DTO、POJO&#xff09;不同&#xff0c;也与 Service 业务逻辑层不同。 DAO 应该做什么&…

【Kubernetes】如何使用 kubeadm 搭建 Kubernetes 集群?还有哪些部署工具?

使用 kubeadm 搭建 Kubernetes 集群是一个比较常见的方式。kubeadm 是 Kubernetes 提供的一个命令行工具&#xff0c;它可以简化 Kubernetes 集群的初始化和管理。下面是使用 kubeadm 搭建 Kubernetes 集群的基本步骤&#xff1a; 1. 准备工作 确保你的环境中有两台或更多的机…