理解七层网络协议
osi体系结构
上三路(管数据)
应用层
通过http等,把传输的格式,数据打包
- 处理网络应用。直接为端用户服务,提供各类应用过程的接口和用户接口。
- 例如:HTTP、Tenlent、FTP、SMTP、NFS等。基于TCP的FTP、HTTP等都是可靠传输。基于UDP的TFTP、DHCP、DNS等都是不可靠传输
- FTP:可靠的文件传输协议,用于因特网上的控制文件的双向传输。
- HTTP:超文本传输协议,用于从WWW服务器传输超文本到本地浏览器的传输协议。使用SSL加密后的安全网
页协议为HTTPS。 - SMTP(发送方)和POP3(邮件接收方):简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,邮件报文采用ASCII训格
式表示 - Telnet:远程连接协议,是因特网远程登录服务的标准协议和主要方式。
- TFTP:不可靠的、开销不大的小文件传输协议。使用超时重传方式来保证数据的到达。
- SNMP:简单网络管理协议,由一组网络管理的标准协议,包含一个应用层协议、数据库模型和一组资源对象。该协议能够支持网络管理系统,泳衣监测连接到网络上的设备是否有任何引起管理师行关注的情况。
- DHCP:动态主机配置协议,基于UDP,基于C/S模型,为主机动态分配P地址,有三种方式:固定分配、动态分配、自动分配。
- DNS:域名解析协议,通过域名解析出P地址。
- 主要设备:网关
表示层
表示要传输的数据的格式(jpg或des加密数据等)
- 数据表示。使应用层可以根据其服务解释数据的涵义。通常包括数据编码的约定、本地句法的转换。
- 例如:JPEG、ASCII、GIF、DES、MPEG等
- 主要设备:网关
会话层
添加ssl协议等
- 互连主机通信。负责管理远程用户或进程间的通信,通常包括通信控制、检查点设置、重建中断的传输链路、名字查找和安全验证服务。
- 代表:RPC、SQL、https中的ssl等
- 主要设备:网关
传输数据(管 传输)
传输层
tcp进行传输。传输层主要有两个传输协议,分别是传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP),这些协议负责提供流量控制、错误校验和排序服务。
- 端到端连接,传输报文段。实现发送端和接收端的端到端的数据分组传送,负责保证实现数据包无差错、按顺序、无丢失和无冗余的传输。其服务访问点为端口。
- 代表性协议有TCP、UDP、SPX等
- TCP:是整个TCP/IP协议族中最重要的协议之一,它在IP协议提供的不可靠数据服务的基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的(要确保两端在线)、全双工的数据传输服务。CP协议一般用于传输数据量比较少,且对可靠性要求高的场合。如wx,打电话等一对一的。
- TCP建立在无连接的P基础之上,因此使用了3种机制实现面向连接的服务。比较有名的有tcp三次握手
- 使用序号对数据报进行标记。这种方式便于TCP接收服务在向高层传递数据之前调整失序的数据包。
- TCP使用确认、校验和定时器系统提供可靠性。当接收者按照顺序识别出数据报未能到达或发生错误时,接收者将通知发送者;当接收者在特定时间没有发送确认信息时,那么发送者就会认为发送的数据包并没有到达接收方,这时发送者就会考虑重传数据。
- TCP使用窗口机制调整数据流量。并且窗口的大小并不是固定的,而是会随着网络的情况进行调整。
- UDP:是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信,与TCP相比,它的错误检测功能要弱得多。可以这样说,TCP有助于提供可靠性,而UDP则有助于提高传输速率。UDP协议一般用于传输数据量大,对可靠性要求不是很高,但要求速度快的场合。源主机在传送数据前不需要和目标主机建立连接。
- UDP是无连接的,发送数据之前不需要建立连接,因此比减少了开销和发送数据之前的时延。
- UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
- UDP是面向报文的。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP一次交付一个完整的报文。(tcp分组、切割,udp不分组)
- UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。很适合多媒体通信的要求。
- UDP支持一对一、一对多、多对一和多对多的交互通信。
- UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。
- TCP:是整个TCP/IP协议族中最重要的协议之一,它在IP协议提供的不可靠数据服务的基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的(要确保两端在线)、全双工的数据传输服务。CP协议一般用于传输数据量比较少,且对可靠性要求高的场合。如wx,打电话等一对一的。
- 主要设备:网关
- 网关:高层(第4~7层)。最复杂的网络互联设备,用于连接网络层以上执行不同协议的子网。网关地址一般是
.1
或.255
,连接外网必经的 - 多层交换机:高层(第4~7层),带协议转换的交换机
- 网关:高层(第4~7层)。最复杂的网络互联设备,用于连接网络层以上执行不同协议的子网。网关地址一般是
下三路(管网络)
网络层
把ip地址包进来,像是写信人的地址、收信人地址。主要处理信息的路由和主机地址解析
-
分组传输和路由选择。通过网络连接交换传输层实体发出的数据,解决路由器选择(网段不同的问题解决)、网络拥塞、异构网络互联的问题。服务访问点为逻辑地址(1P网络地址)。
-
代表性协议有IP、IPX等
- IP:网络层最重要的核心协议,在源地址和目的地址之间传送数据报,无连接(源地址与目标地址之间不要求连接)、不可靠(容易丢失、被人截取)。它将差错检测和流量控制之类的服务授权给了其他的各层协议,这正是TCP/IP能够高效率工作的一个重要保证。网络层的功能主要由IP来提供,除了提供端到端的分组分发功能外,P还提供很多扩充功能。例如,为了克服数据链路层对帧大小的限制,网络层提供了数据分块和重组功能,这使得很大的IP数据包能以较小的分组在网络上传输。
- ICMP(Internet Control Message Protocol,网际控制报文协议):因特网控制报文协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
- ARP(Address Resolution Protocol,地址解析协议)和RARP(Reverse Address Resolution Protocol,反向地址解析协议):地址解析协议ARP是将IP地址转换为物理地址;RARP是将物理地址转换为P地址。
- IGMP(Internet Group Management Protocol,网际组管理协议):网络组管理协议,允许因特网中的计算机参加多播,是计算机用做向相邻多目路由器报告多目组成员的协议,支持组播。
-
主要设备有:路由器
- 通过逻辑地址进行网络之间的信息转发,可完成异构网络之间的互联互通,只能连接使用相同网络层协议的子网
- 三层交换机:带路由功能的二层交换机
数据链路层
收件人等是mac地址
- 二进制位传输不安全,把二进制转化为以帧位的信息。建立、维持和释放网络实体之间的数据链路,把流量控制合并在一起。为MAC(媒介访问层)和LLC(逻辑链路层)两个子层。服务访问点为物理地址(MAC地址)。
- 代表性协议有IEEE802.3/.2、HDLC、PPP、ATM等
- 主要设备有:交换机、网桥
- 网桥:根据帧物理地址进行网络之间的信息转发,可缓解网络通信繁忙度,提高效率。只能够连接相同MAC层的网络
- 二层交换机:是指传统意义上的交换机,多端口网桥
物理层
转换为信号,通过网络传输。如双绞线等通信介质,光纤就是光转电
- 二进制位传输。通过一系列协议定义了通信设备的机械的、电气的、功能的、规程的特征。
- 代表性协议有RS232、V.35、RJ-45、FDD1等
- 主要设备有:中继器、集线器
- 中继器:对接收信号进行再生和发送,只起到扩展传输距离的作用,对高层协议是透明的,但使用个数有限(例如,在以太网中只能使用4个)
- 集线器:多端口中继器
相关文章:
理解七层网络协议
osi体系结构 上三路(管数据) 应用层 通过http等,把传输的格式,数据打包 处理网络应用。直接为端用户服务,提供各类应用过程的接口和用户接口。例如:HTTP、Tenlent、FTP、SMTP、NFS等。基于TCP的FTP、HTTP…...

网络协议——HTTP协议
目录 编辑 一,HTTP协议基本认识 二,认识URL 三,http协议的格式 1,发送格式 2,回应格式 四,服务端代码 五,http报文细节 1,Post与Get方法 2,Content_lenth 3&…...

八股面试——数据库——索引
索引的概念 B树的概念: 索引的作用 聚簇索引与非聚簇索引 聚簇索引就是主键值,在B树上,通过主键大小(数据在B树叶子节点按主键顺序排序)寻找对应的叶子节点,叶子节点保存的一整条记录。 非聚簇索引&#x…...

【二分查找】Leetcode 二分查找
题目解析 二分查找在数组有序可以使用,也可以在数组无序的时候使用(只要数组中的一些规律适用于二分即可) 704. 二分查找 算法讲解 当left > right的时候,我们循环结束,但是当left和right缩成一个点的时候&#x…...

Python+Vuecil笔记
Nginx 进入目录: C:\nginx-1.20.2\nginx-1.20.2 start nginx 开始 nginx -s stop 停止 nginx -s quit 退出CSS 通过标签去写css 循环展示数据 JS 点击时执行事件 Django 配置media 在seetings里面修改 STATIC_URL /static/ MEDIA_URL /upload/ MEDIA_ROOT os.pat…...
C语言关于随机数知识点的总结
在C语言中,随机数的生成通常依赖于特定的库函数,最常用的是 <stdlib.h> 头文件中的 rand() 函数。以下是对随机数知识点的总结、举例和分析: 随机数知识点总结 1.随机数种子:rand() 函数生成的随机数是伪随机数࿰…...

网络应用层和传输层
网络中有很多协议这些协议的不同导致了分层这一现象,不同层的主要功能不一样。 应用层:应用程序。数据具体如何使用 传输层:关注起点和终点 网络层:关注路径规划 数据链路层:关注相邻节点的转发 物理层࿱…...
Vue3:优化-从响应式数据中获取纯数据
一、情景说明 我们知道,Vue3中,创建变量时,常用ref、reactive来包裹,这样,这个变量就是响应式数据 然而,有时候,我们只需要纯数据 例如,我们在调用后端接口的时候,我们只…...

C#.手术麻醉系统源码 手麻系统如何与医院信息系统进行集成?
C#.手术麻醉系统源码 手麻系统如何与医院信息系统进行集成? 手术麻醉系统与医院信息系统的集成是一个关键步骤,它有助于实现信息的共享和流程的协同,从而提高医疗服务的效率和质量。手麻系统与lis、his、pacs等系统的对接是医院信息化建设的重…...

学习CSS Flexbox 玩flexboxfroggy flexboxfroggy1-24关详解
欢迎来到Flexbox Froggy,这是一个通过编写CSS代码来帮助Froggy和朋友的游戏! justify-content 和 align-items 是两个用于控制 CSS Flexbox 布局的属性。 justify-content:该属性用于控制 Flexbox 容器中子项目在主轴(水平方向)…...
springboot项目如何配置跨域?
在Spring Boot项目中配置跨域(CORS,Cross-Origin Resource Sharing)主要是为了允许来自不同源(不同的协议、域名或端口)的前端应用能够访问后端API。Spring Boot提供了多种方式来配置跨域支持。 1. 使用CrossOrigin注…...

实现第一个动态链接库 游戏插件 成功在主程序中运行 dll 中定义的类
devc 5.11编译环境 dll编译环境设置参考 Dev c C语言实现第一个 dll 动态链接库 创建与调用-CSDN博客 插件 DLL代码和主程序代码如下 注意 dll 代码中的class 类名需要 和主程序 相同 其中使用了函数指针和强制类型转换 函数指针教程参考 以动态库链接库 .dll 探索结构体…...

算法第三十九天-验证二叉树的前序序列化
验证二叉树的前序序列化 题目要求 解题思路 方法一:栈 栈的思路是「自底向上」的想法。下面要结合本题是「前序遍历」这个重要特点。 我们知道「前序遍历」是按照「根节点-左子树-右子树」的顺序遍历的,只有当根节点的所有左子树遍历完成之后…...
Rust---复合数据类型之字符串与切片(2)
目录 字符串操作删除 (Delete)连接 (Concatenate)字符串转义前情回顾: Rust—复合数据类型之字符串(1) 字符串操作 删除 (Delete) 删除方法仅适用于 String 类型,分别是: pop(),remove(),truncate(),clear(),此外还有drain() 方法。 pop 方法:pop() 方法返回一个 O…...

iOS 应用内网络请求设置代理
主要通过URLSessionConfiguration 的connectionProxyDictionary 属性 为了方便其他同学使用,我们可以通过界面来进行设定(是否开启代理、服务端、端口),从而达到类似系统上的设定 具体链接参考:为 iOS 网络请求设置代理…...
什么是MariaDB
2024年4月6日,周六晚上 今晚在Debian12上安装mysql时,运行后却发现是MariaDB MariaDB是一个开源的关系型数据库管理系统(RDBMS),它是MySQL的一个分支和替代品。MariaDB由MySQL的原始开发者之一Michael "Monty&qu…...

【面试八股总结】传输控制协议TCP(三)
参考资料 :小林Coding、阿秀、代码随想录 一、TCP拥塞控制⭐ 1. 慢启动 – Slow Start 慢启动是指TCP连接刚建立,一点一点地提速,试探一下网络的承受能力,以免直接扰乱了网络通道的秩序。 慢启动算法: 初始拥塞窗口…...

今年过去了多少天?(switch)
//今年已经过去了几天? #include <stdio.h> int monthday(int year,int month){switch(month){case 1:return 31;case 2:if ((year % 4 0 && year % 100 ! 0)||year % 400 0){return 29;}else{return 28;}break;case 3:return 31;case 4:return 30;…...

提升团队工程交付能力,从“看见”工程活动和研发模式开始
作者:张裕、雅纯 理想中的研发团队应当具有以下特征: 总是工作在最高优先级的事项上 理想的研发团队能够识别并始终集中精力在当前最紧迫和最有价值的任务上。这需要团队具备出色的项目管理能力和决策能力,以便能够正确评估优先级࿰…...

前端学习之DOM编程案例:全选反选案例
代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>全选反选</title> </head> <body><input type"checkbox" id"all">全选<ul><li><…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...