理解七层网络协议
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><…...
golang map
1.底层实现 2.如何解决hash冲突 3.扩容机制 4.无序 5.非线程安全 6.不可寻址 runtime/map.go 1.底层实现 底层基于hash表实现,实现有2个结构体hmap,bmap,map由若干个桶存储,每个桶存8个元素,使用链地址解决hash冲突 …...
设计模式:享元模式案例
让我们以游戏开发中的棋类游戏(例如国际象棋)为例来展示享元模式的代码实现。在这个例子中,棋子的类型是内部状态,而棋子的位置是外部状态。 Java 代码示例 import java.util.HashMap; import java.util.Map;// 享元接口 interf…...
pandas(day5)
一. 检测重复值 1.1 检测 data pd.read_csv("./teacher/订单数据.csv")检测行与行之前是否有重复值 data.drop_duplicates()检测 列是否有重复值出现, keep first 从前往后判定 , last是从后往前判定data.drop_duplicates(subset["产…...
如何注册midjourney账号
注册Midjourney账号比较简单,准备好上网工具,进入官网 Midjourney访问地址: https://www.midjourney.com/ 目前没有免费使用额度了,会员最低 10 美元/月,一般建议使用30美元/月的订阅方案。了解如何订阅可以查看订阅…...
探索数据结构:特殊的双向队列
✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 双向队列的定义 **双向队列(double‑ended queue)**是一种特殊的队列…...
16_I2C库函数
I2C库函数 1.void I2C_DeInit(I2C_TypeDef* I2Cx);2.void I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct);3.void I2C_StructInit(I2C_InitTypeDef* I2C_InitStruct);4.void I2C_Cmd(I2C_TypeDef* I2Cx, FunctionalState NewState);5.void I2C_DMACmd(I2C_Type…...
十八、Rust gRPC 多 proto 演示
十八、Rust gRPC 多 proto 演示 网上及各官方资料,基本是一个 proto 文件,而实际项目,大多是有层级结构的多 proto 文件形式,本篇文章 基于此诉求,构建一个使用多 proto 文件的 rust grpc 使用示例。 关于 grpc 的实现…...
【Linux】Linux64位环境下编译32位报错skipping incompatible的解决办法
本文首发于 ❄️慕雪的寒舍 问题 如题,当我尝试在wsl2的ubuntu中使用-m32选项编译32位程序的时候,出现了下面的两种报错 ❯ g -m32 test.cpp -o test1 && ./test1 In file included from test.cpp:1: /usr/include/stdio.h:27:10: fatal error…...
vue指令v-model
<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>vue指令v-model</title> </head>…...
CentOS安装MySQL数据库
一、更新yum源 #下载对应repo文件 wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo #清除缓存 yum clean all #生成新缓存 yum makecache #更新 yum update -y 二、安装MySQL #获取源 wget http://repo.mysql.com/mysql80-community-release-el7-3.…...
响应式网站怎么改/seo怎么做
2018-04-13什么是回归分析?回归分析有什么用?主要解决什么问题?我只介绍一元线性回归的基本思想。X与Y是两个随机变量,我们关心X与Y之间是否存在线性关系,即是否有YaXb?我们作一系列的随机试验,…...
电子商务网站建设 李洪心/专业网站优化公司
Toy Posted in AppsAbiWord 是一个与 Microsoft Word 类似的安闲文字处置惩罚顺序。它实用于遍及地文字处置惩罚使命。下载 AbiWord 2.4.5版权声明: 原创作品,答允转载,转载时请务必以超链接方式标明文章 原始出处 、作者信息和本声明。不然将…...
sns程序 整合wordpress/系统优化助手
点击上方“蓝字”关注我们很多时候,在我们绘制管道与卫生器具连接的时候,都会提示找不到自动解决方案,那么我们应该这样解决呢?用什么方法去解决呢?首先,先检查卫生器具,查看卫生器具的连接口是…...
网页制作个人主页图片/seo超级外链工具
什么是子网掩码一、 子网掩码不能单独存在,它必须结合IP地址一起使用。二、 子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。三、 对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默…...
网站做用户记录表/上海seo优化外包公司
对led中所涉及到的几个地址的说明:#define CS1BASE (0x11000000)#define SEGP ((0x100000000x248))#define DIGIP ((CS1BASE0x0800))#define LEDP ((CS1BASE0x0C00)) 上述几个值都是由硬件设计人员给出的。其中, DIGIP 为位寄存器地址(总共有…...
网站建设中英文版/大连网络推广公司哪家好
转:http://www.cnblogs.com/iamlilinfeng/p/3026332.html 一、前言 听说SharePoint也有一段时间了,可一直处在门外。最近被调到SharePoint实施项目小组,就随着工作一起学习了一下实施与开发。但苦于网上SharePoint入门的东西实在太少&#x…...