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

分清数据链路层、网络层、传输层的区别,以及这些层面的代表协议

目录

数据链路层

网络层

传输层


数据链路层

OSI模型的第二层,负责在相邻节点之间传输帧,处理帧的封装、地址、差错控制和流量控制等。确保数据在物理介质上可靠地传输,并为上层协议提供服务。

以太网(Ethernet):

最常用的局域网技术之一,它定义了包括物理层的电缆、连接器、信号传输技术以及数据链路层的帧格式和访问控制机制(如CSMA/CD)。

点对点协议(PPP, Point-to-Point Protocol):

用于点对点连接的数据链路层协议,常用于拨号上网、数字用户线(DSL)和某些无线连接。它支持多种网络层协议,如IP。

无线局域网(WLAN, Wireless Local Area Networks):

无线局域网协议,如IEEE 802.11系列(Wi-Fi),定义了无线网络的物理层和数据链路层规范,包括帧格式、访问控制和安全机制。

令牌环(Token Ring):

一种局域网技术,它使用令牌传递机制来控制网络访问,确保一次只有一个设备可以发送数据。

FDDI(Fiber Distributed Data Interface):

一种高速网络技术,使用光纤作为传输介质,适用于高速局域网和城域网。

HDLC(High-Level Data Link Control):

面向比特的同步数据链路层协议,常用于广域网和某些局域网环境。

LAPB(Link Access Procedure Balanced):

HDLC的一个简化版本,用于X.25网络中的数据链路层。

SLIP(Serial Line Internet Protocol):

一种简单的数据链路层协议,用于通过串行线路连接两个网络设备,主要在早期的因特网拨号连接中使用。

帧中继(Frame Relay):

用于广域网的数据链路层协议,它提供了一种高效的方式来传输数据帧,常用于连接局域网到广域网。

ATM(Asynchronous Transfer Mode):

面向连接的、高速的数据链路层和网络层协议,它使用小的、固定长度的单元(称为“信元”)来传输数据。

网络层

OSI模型的第三层,负责在不同网络之间传输数据包,实现路由选择和数据包的寻址,确保数据包能够从源头正确地传输到目的地,并在网络中进行有效的路由选择。

互联网协议(IP, Internet Protocol):

IP是网络层最核心的协议,负责在不同网络之间传输数据包。IPv4和IPv6是两个主要的版本。

互联网控制消息协议(ICMP, Internet Control Message Protocol):

用于在IP主机、路由器之间传递控制消息,用于网络诊断,如ping命令。

地址解析协议(ARP, Address Resolution Protocol):

用于将网络层的IP地址解析为数据链路层的MAC地址。

逆向地址解析协议(RARP, Reverse Address Resolution Protocol):

RARP允许主机从已知的MAC地址获取其IP地址,现在逐渐被DHCP替代。

网际组管理协议(IGMP, Internet Group Management Protocol):

用于管理多播组成员,允许路由器跟踪多播流量的接收者。

开放最短路径优先(OSPF, Open Shortest Path First):

一种内部网关协议(IGP),用于在单一自治系统内部找到最短路径。

边界网关协议(BGP, Border Gateway Protocol):

一种外部网关协议(EGP),用于在不同自治系统之间传输路由信息。

路由信息协议(RIP, Routing Information Protocol):

一种简单的内部网关协议,用于在局域网或广域网中交换路由信息。

增强内部网关路由协议(EIGRP, Enhanced Interior Gateway Routing Protocol):

Cisco开发的高级距离矢量路由协议,用于在大型网络中高效地传播路由信息。

中间系统到中间系统(IS-IS, Intermediate System to Intermediate System):

一种链路状态路由协议,用于在大型网络中提供高效的路由。

动态主机配置协议(DHCP, Dynamic Host Configuration Protocol):

用于自动分配IP地址和其他网络配置参数给网络中的设备。

多播路由协议:

包括PIM(Protocol Independent Multicast)和MBGP(Multicast Border Gateway Protocol)等,用于多播流量的路由选择。

传输层

OSI模型的第四层,负责在网络中的两个主机之间提供端到端的数据传输服务,确保数据在两个主机之间可靠、安全地传输。

传输控制协议(TCP, Transmission Control Protocol):

一种面向连接的、可靠的、基于字节流的传输层通信协议。它确保数据正确无误地从源传输到目的地,通过确认、重传机制等来实现数据传输的可靠性。

用户数据报协议(UDP, User Datagram Protocol):

一种无连接的传输层协议,它提供了一种简单的方式来发送封装的IP数据报。它不保证数据的可靠传输,不提供数据确认和重传机制,因此通常用于那些对实时性要求高但可以容忍一定丢包率的应用,如视频流、在线游戏等。

流控制传输协议(SCTP, Stream Control Transmission Protocol):

一种可靠的、面向消息的、基于连接的传输层协议,支持多宿主和多流,常用于电信网络。

数据报拥塞控制协议(DCCP, Datagram Congestion Control Protocol):

一种提供部分可靠性的传输层协议,它允许应用程序直接访问拥塞控制和数据包调度机制,适用于需要快速传输但不需要TCP级别的可靠性的应用。

实时传输协议(RTP, Real-time Transport Protocol):

RTP通常与RTCP(实时传输控制协议)一起使用,用于在网络中传输实时数据,如音频和视频。

实时传输控制协议(RTCP, Real-time Transport Control Protocol):

RTP的配套协议,用于监控数据传输质量并提供反馈。

安全实时传输协议(SRTP, Secure Real-time Transport Protocol):

RTP的安全版本,提供加密、认证和完整性保护,以确保实时通信的安全性。

传输层安全协议(TLS, Transport Layer Security):

一种安全协议,用于在计算机网络上提供加密通信和数据完整性保障,广泛用于Web浏览器和服务器之间的通信。

安全套接字层(SSL, Secure Sockets Layer):

TLS的前身,现在通常用TLS来指代这两个协议,它们都用于在网络通信中提供安全和数据完整性。

相关文章:

分清数据链路层、网络层、传输层的区别,以及这些层面的代表协议

目录 数据链路层 网络层 传输层 数据链路层 OSI模型的第二层,负责在相邻节点之间传输帧,处理帧的封装、地址、差错控制和流量控制等。确保数据在物理介质上可靠地传输,并为上层协议提供服务。 以太网(Ethernet)&…...

git没有识别出大写字母改成小写重命名的文件目录

Git 默认不会跟踪大写字母和小写字母的区别,因为在大多数文件系统中,大写字母和小写字母被认为是相同的文件,只有在区分大小写的文件系统中(如 macOS 的 HFS 或 Windows 的 NTFS),这才是一个问题。 如果重命…...

自己动手写Qt Creator插件

文章目录 前言一、环境准备1.先看自己的Qt Creator IDE的版本2.下载源码 二、使用步骤1.参考原本的插件2.编写自定义插件1.cmakelist增加一个模块2.同理,qbs文件也增加一个3.插件源码 三、效果总结 前言 就目前而言,Qt Creator这个IDE,插件比…...

数据重塑:长宽数据转换【基于tidyr】

在数据分析和可视化过程中,数据的组织形式直接影响着我们能够进行的分析类型和可视化效果。这里简单介绍两种常见的数据格式:长格式(Long Format)和宽格式(Wide Format),以及如何使用tidyr包进行…...

多模态大模型开启AI社交新纪元,Soul App创始人张璐团队亮相2024 GITEX GLOBAL

随着AI在全球范围内的加速发展和广泛应用,各行业纷纷在此领域发力。作为全球最大的科技盛会之一,2024年的GITEX GLOBAL将目光再次聚焦于人工智能的飞速发展,吸引了超过6700家来自各个领域的企业参与。在这样的背景下,Soul App作为国内较早将AI技术应用于社交领域的平台,首次亮相…...

实验6记录网络与故障排除

实验6记录网络与故障排除 实验目的及要求: 通过实验,掌握如何利用文档记录网络设备相关信息并完成网络拓扑结构的绘制。能够使用各种技术和工具来找出连通性问题,使用文档来指导故障排除工作,确定具体的网络问题,实施…...

QEMU 模拟器中运行的 Linux 系统

这两个文件通常用于在 QEMU 模拟器中运行的 Linux 系统,具体作用如下: 1. linux-aarch64-qemu.ext4: - **文件类型**:这是一个文件系统镜像文件,通常是 ext4 文件系统格式。 - **作用**:它包含了 Li…...

Ceph PG(归置组)的状态说明

Ceph PG(Placement Group)的状态反映了Ceph集群中数据的健康状况和分布情况。以下是Ceph PG的一些常见状态: Creating:创建状态。在创建存储池时,会创建指定数量的归置组(PG)。Ceph在创建一或多…...

Docker使用docker-compose一键部署nacos、Mysql、redis

下面是一个简单的例子,展示如何通过Docker Compose文件部署Nacos、MySQL和Redis。请确保您的机器上已经安装了Docker和Docker Compose。 1,准备好mysql、redis、nacos镜像 sudo docker pull mysql:8 && sudo docker pull redis:7.2 &&…...

HTTP常见的状态码有哪些,都代表什么意思

HTTP 协议定义了一系列的状态码,用于描述服务器对客户端请求的处理结果。这些状态码分为五个类别,每个类别都有特定的用途。 常见状态码 1开头 信息性状态码 这些状态码表示请求已被接收,继续处理。 100 Continue:客户端应继续…...

WebKit的Windows接口(适用2024年11月份版)

WebKit的Windows接口 使用cairo作为图形后端,libcurl作为网络后端。并且它只支持64位的Windows。 安装开发工具 安装带有“使用c进行桌面开发”工作负载的最新Visual Studio。 Activate Developer Mode.激活开发者模式。Build-webkit脚本创建一个指向生成的comp…...

Android 最新的AndroidStudio引入依赖失败如何解决?如:Failed to resolve:xxxx

错误信息: 在引入依赖时报错:Failed to resolve: xxx.xxxx:1.1.0 解决方案: 需要修改maven库的代理,否则就需要翻墙编译 新的AndroidStudio版本比较坑,修改代理的位置发生了变化: 最新变化:…...

ue5 蓝图学习(一)结构体的使用

在内容浏览器中右键 蓝图-选择结构体 下面这东西就是结构体,和C的结构体差不多 双击一下 可以添加变量,设置变量的类型和默认值。 可以在关卡蓝图中调用它。 点击打开关卡蓝图,添加变量 在变量的右侧,变量类型里搜索strcut&#…...

docker--工作目录迁移

前言 安装docker,默认的情况容器的默认存储路径会存储系统盘的 /var/lib/docker 目录下,系统盘一般默认 50G,容器输出的所有的日志,文件,镜像,都会存在这个地方,时间久了就会占满系统盘。 一、…...

Golang | Leetcode Golang题解之第556题下一个更大元素III

题目&#xff1a; 题解&#xff1a; func nextGreaterElement(n int) int {x, cnt : n, 1for ; x > 10 && x/10%10 > x%10; x / 10 {cnt}x / 10if x 0 {return -1}targetDigit : x % 10x2, cnt2 : n, 0for ; x2%10 < targetDigit; x2 / 10 {cnt2}x x2%10 -…...

2分钟在阿里云ECS控制台部署个人应用(图文示例)

作为一名程序员&#xff0c;我有大量的个人代码和应用托管在Github/Gitee这些代码仓库。当我想要部署这些代码到我的阿里云ECS服务器时&#xff0c;往往会很麻烦&#xff0c;主要问题有这些&#xff1a; 需要手动安装和配置git&#xff0c;过程非常繁琐。每次都需要登录到机器…...

2023.8 用于生物医学问答的选择性 UMLS 知识注入

Selective UMLS knowledge infusion for biomedical question answering Selective UMLS knowledge infusion for biomedical question answering | Scientific Reports 韩国首尔国立大学研究生院生物工程跨学科项目 问题 如何高效地将生物医学知识注入预训练语言模型&#x…...

chat2db调用ollama实现数据库的操作。

只试了mysql的调用。 其它的我也不用&#xff0c;本来想充钱算了。最后一看单位是美刀。就放弃了这分心。于是折腾了一下。 本地运行chat2db 及chat2db ui https://gitee.com/ooooinfo/Chat2DB clone 后运行起来 chat2db的java端&#xff0c;我现在搞不清这一个项目是有没有…...

Rust 生态系统的未来与学习方向

Rust 生态系统的未来与学习方向 Rust 作为一门系统编程语言&#xff0c;因其内存安全性、并发性能以及生态的不断壮大&#xff0c;已逐渐成为开发者和企业的首选语言之一。随着技术的进步&#xff0c;Rust 的生态系统持续发展&#xff0c;涉及多个领域&#xff0c;包括 Web 开…...

Vue的基础使用

一、为什么要学习Vue 1.前端必备技能 2.岗位多&#xff0c;绝大互联网公司都在使用Vue 3.提高开发效率 4.高薪必备技能&#xff08;Vue2Vue3&#xff09; 二、什么是Vue 概念&#xff1a;Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套 构建用户界面 的 渐进式 框架…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...

leetcode_69.x的平方根

题目如下 &#xff1a; 看到题 &#xff0c;我们最原始的想法就是暴力解决: for(long long i 0;i<INT_MAX;i){if(i*ix){return i;}else if((i*i>x)&&((i-1)*(i-1)<x)){return i-1;}}我们直接开始遍历&#xff0c;我们是整数的平方根&#xff0c;所以我们分两…...

stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)

这是系统中断服务程序的默认处理汇编函数&#xff0c;如果我们没有定义实现某个中断函数&#xff0c;那么当stm32产生了该中断时&#xff0c;就会默认跑这里来了&#xff0c;所以我们打开了什么中断&#xff0c;一定要记得实现对应的系统中断函数&#xff0c;否则会进来一直循环…...