计算机网络常见协议总结

数据链路层协议

  • 停止 - 等待协议:源站发送单个帧后需等待确认才能发送下一个帧,发送窗口和接收窗口大小均为 1。源站配备计时器,超时未收到确认则重发。
  • 后退 N 帧协议:发送方可以连续发送帧,发送窗口大小为到,接收窗口大小为。接收方按序接收,不按序则丢弃,采用累计确认。
  • 选择重传协议:为提高信道利用率,只对出错的数据帧重传,需加大接收窗口长度以缓存乱序到达的帧,并对每帧逐一确认。发送窗口大小为到,接收窗口大小与发送窗口相关。
  • ALOHA 协议:网络中的节点可随时发送数据,接收端成功接收后返回 ACK 信号。包括纯 ALOHA 协议和时隙 ALOHA 协议,纯 ALOHA 不监听信道、不按时间槽发送,随机重发;时隙 ALOHA 把时间分成时间片,冲突时需等到下一个时间片开始再重传。
  • CSMA 协议:在 ALOHA 基础上,发送前先监听信道。包括 1 - 坚持 CSMA、非坚持 CSMA 和 p - 坚持 CSMA 三种类型。
  • CSMA/CD 协议:适用于总线形网络或半双工网络环境,在 CSMA 基础上增加碰撞检测,遵循 “先听后发,边听边发,冲突停发,随机重发” 原则。
  • CSMA/CA 协议:适用于无线网,将碰撞检测改为碰撞避免,通过发送请求传送报文和接收响应报文来降低碰撞概率。
  • 令牌传递协议:令牌是特殊的 MAC 控制帧,不含信息,用于控制信道使用,确保同一时刻只有一个节点独占信道,适用于网络负载重、通信量大的网络,令牌环网物理上是星形拓扑结构,逻辑上是环形拓扑结构。
  • PPP 协议:是目前使用最广泛的数据链路层协议,用于通过拨号或专线方式建立点对点连接发送数据,提供差错检测但不纠错,支持全双工链路,面向字节,可运行不同网络层协议。

网络层协议

  • IP 协议:是 TCP/IP 协议栈的核心协议之一,通过 IP 地址实现网络通信的面向无连接和不可靠传输功能,还能防止数据包环路、实现流量控制、验证数据包完整性、实现数据包分片和组装。
  • ARP 协议:用于从网络层的 IP 地址解析出数据链路层的 MAC 地址,主机设有 ARP 高速缓存,存储 IP 与 MAC 地址的映射。
  • ICMP 协议:让主机或路由器报告差错和异常情况,分为差错报文和询问报文,如 ping 使用 ICMP 回送请求和回答报文,traceroute 使用 ICMP 时间超过报文。
  • DHCP 协议:应用层协议,基于 UDP,用于给主机动态分配 IP 地址,主机启动时向 DHCP 服务器广播发送发现报文,服务器查找可用 IP 地址分配给主机。
  • NAT 协议:通过将专用网络地址转换为公用地址,对外隐藏内部管理的 IP 地址,节省 IP 地址消耗,降低内部网络受攻击风险。
  • RIP(路由信息协议):一种内部网关协议(IGP),基于距离矢量算法计算和交换路由信息。使用跳数衡量到达目标网络距离,最大跳数为 15,跳数 16 表示不可达。路由器周期性(默认 30 秒)向相邻路由器发送路由表信息,收到更新信息的路由器据此更新自身路由表。RIP v1 是有类路由协议,不支持子网掩码信息传输;RIP v2 是无类路由协议,支持子网掩码且增加认证等功能,适用于小型到中型规模网络,如小型企业网络或校园网络。
  • OSPF(开放式最短路径优先):内部网关协议,基于链路状态算法。路由器通过 Hello 协议发现和维护邻居关系,构建并泛洪链路状态数据库(LSDB),再用最短路径优先(SPF)算法计算以自身为根的最短路径树,确定到达目标网络最佳路径。支持区域划分,适用于大型企业网络、园区网络及服务提供商网络等复杂网络环境。
  • BGP(边界网关协议):外部网关协议(EGP),用于不同自治系统(AS)的路由器间交换路由信息。通过建立 TCP 连接(端口号 179)交换路径向量信息,包括到达目标网络的完整路径(AS 路径)及相关属性。有 Open、Update、Keep - alive、Notification 四种消息类型。适用于大型互联网服务提供商(ISP)之间互联及企业网络与多 ISP 连接场景。

传输层协议

  • TCP 协议:提供面向连接、可靠的字节流传输服务。通过三次握手建立连接,四次握手释放连接,具有流量控制、拥塞控制等机制,确保数据的可靠传输。
  • UDP 协议:提供无连接、不可靠的传输服务,数据报格式简单,传输效率高,适用于对实时性要求较高但对数据准确性要求相对较低的应用,如视频会议、实时游戏等。

应用层协议

  • DNS 协议:用于将域名转换为 IP 地址,实现域名系统与 IP 地址之间的映射,使用 UDP 或 TCP 协议进行数据传输。
  • FTP 协议:用于在网络上进行文件传输,采用客户端 - 服务器模式,建立两个 TCP 连接,一个用于控制连接,一个用于数据连接。
  • SMTP 协议:用于发送电子邮件,规定了邮件发送的格式和流程,使用 TCP 协议进行数据传输。
  • POP3 协议:用于接收电子邮件,用户通过客户端软件从邮件服务器上下载邮件到本地,使用 TCP 协议进行数据传输。
  • HTTP 协议:用于万维网中客户端与服务器之间的信息交互,通过请求 - 响应模式获取网页等资源,使用 TCP 协议进行数据传输。
  • IGMP(互联网组管理协议):用于 IP 组播,运行于主机和与其直接相连的组播路由器之间。有三个版本,IGMPv1 主机加入组播组时发送成员关系报告消息,路由器周期性查询;IGMPv2 增加离开组消息;IGMPv3 允许主机指定接收或拒绝某些组播源数据。在视频直播等多媒体组播业务场景广泛应用,能减少网络带宽占用。
  1. 由 TCP 封装的协议
    • FTP(文件传输协议):FTP 协议的数据传输部分(包括控制命令和文件内容)会被封装到 TCP 段中。例如,当客户端发送一个文件下载命令或者服务器传输文件内容时,这些信息首先会被构建成符合 FTP 协议格式的数据单元,然后被 TCP 协议封装,添加上 TCP 头部(包含源端口、目的端口、序列号、确认号等信息),以保证数据的可靠传输。
    • SMTP(简单邮件传输协议):在发送电子邮件的过程中,邮件的发送者、接收者、主题、正文等信息按照 SMTP 协议格式组织后,被封装到 TCP 段中。通过 TCP 协议的可靠连接,确保邮件能够从发送方的邮件客户端准确无误地发送到接收方的邮件服务器。
    • POP3(邮局协议版本 3):当用户通过 POP3 协议从邮件服务器下载邮件时,邮件相关的数据(如邮件列表请求、邮件内容获取请求以及服务器的响应数据)被封装进 TCP 段。这使得客户端和服务器之间能够以可靠的方式进行通信,保证邮件数据完整地从服务器传输到客户端。
    • HTTP(超文本传输协议)/HTTPS(安全的超文本传输协议):浏览器发送的网页请求(如 GET、POST 请求等)以及服务器返回的网页内容(包括 HTML 文件、图片、脚本等)都被封装在 TCP 段中。在 HTTPS 情况下,还会在 TCP 之上进行 SSL/TLS 加密,进一步保证数据的安全性和完整性。这些协议利用 TCP 的特性,保证了网页信息在客户端和服务器之间的可靠传输。
    • BGP(边界网关协议):BGP 路由器之间交换的路由信息(如路径向量信息)被封装到 TCP 段中。通过 TCP 的可靠传输机制,确保不同自治系统之间的路由器能够准确地交换路由信息,维持网络的连通性和路由的准确性。
  2. 由 UDP 封装的协议
    • DHCP(动态主机配置协议):DHCP 客户端发送的发现报文、请求报文以及 DHCP 服务器返回的提供报文、确认报文等都是被封装在 UDP 数据报中。由于 DHCP 主要用于网络初始化阶段的配置信息获取,对数据传输的可靠性要求相对较低,UDP 的简单高效特性适合这种快速配置信息交换的场景。
    • DNS(域名系统)协议(部分情况):在进行常规的域名查询时,DNS 查询请求和响应信息被封装在 UDP 数据报中。因为域名查询通常数据量较小,对实时性有一定要求,UDP 的低开销和快速传输特点使其成为合适的选择。不过,在一些特殊情况下(如 DNS 响应数据较大或者需要更高的可靠性),也会使用 TCP 封装。
    • IGMP(互联网组管理协议):主机发送的组播组成员关系报告消息和离开消息,以及路由器发送的查询消息等都被封装在 UDP 数据报中。这是因为 IGMP 主要关注组播成员关系的动态管理,对单个消息的可靠性要求不高,UDP 能够满足其高效的消息传递需求。
    • RIP(路由信息协议)v2(部分情况):RIP v2 路由器发送的路由更新消息(可以是广播或组播形式)被封装在 UDP 数据报中。因为 RIP 协议是基于距离矢量算法,通过周期性地发送路由更新信息来维护路由表,对可靠性要求不是特别高,UDP 的简单性和高效性有助于减少协议开销。
  3. 直接与 IP 封装相关的协议(网络层)
    • IP 协议本身:IP 数据包包含 IP 头部和数据部分,网络层的很多操作都围绕 IP 协议展开。IP 协议负责将上层(如 TCP、UDP)传递下来的数据封装成 IP 数据包,进行寻址和路由选择。
    • ARP(地址解析协议):ARP 协议用于将 IP 地址解析为 MAC 地址。ARP 请求和响应报文是直接封装在链路层帧中,但它们是基于 IP 网络环境工作的,主要目的是协助 IP 协议完成数据链路层地址的解析,从而使 IP 数据包能够正确地在本地网络中传输。
    • ICMP(互联网控制消息协议):ICMP 协议主要用于主机或路由器之间传递差错和异常情况的消息。ICMP 报文直接被封装在 IP 数据包中,作为 IP 协议的辅助协议,帮助维护网络的正常运行。例如,当 IP 数据包无法到达目标或者出现超时等情况时,通过 ICMP 报文向源端反馈信息。
    • OSPF(开放式最短路径优先):OSPF 协议的数据包直接封装在 IP 数据包中,协议号为 89。路由器之间交换的链路状态通告(LSA)包含链路状态信息,如接口的 IP 地址、子网掩码、链路开销等内容。当路由器的链路状态发生变化时,会构建新的 LSA,封装进 IP 数据包并发送给其他路由器。通过这种方式,OSPF 在 IP 网络环境中传递链路状态信息,使每个路由器能够构建网络拓扑图,从而利用最短路径优先算法计算出到达各网络节点的最佳路径。IP 封装使得 OSPF 信息能够在网络层进行有效传播,就像 IP 为其提供了一个运输工具,让链路状态信息能够准确地在网络中流动,保证网络的路由功能正常运作。:

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

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

相关文章

【书生大模型实战营】Linux 基础知识-L0G1000

前言:书生大模型实战营是上海人工智能实验室开展的大模型系列实践活动,提供免费算力平台,学员通过闯关式任务,可获得免费算力和存储,助力项目实践。本期是第4期,时间从十一月份开始,持续到十二月…

如何识别和防范cc攻击

家人们,上网冲浪时网站莫名卡顿、加载超慢?你的视频网站、电商小店没准正被 CC 攻击!今天就教大伙咋识别、咋防范。 📌【识别 CC 攻击有妙招】 1性能飙升不对劲:打开服务器后台,要是 CPU、内存使用率跟火箭…

【软件安全】软件安全设计规范,软件系统安全设计制度(Word原件)

1.1安全建设原则 1.2 安全管理体系 1.3 安全管理规范 1.4 数据安全保障措施 1.4.1 数据库安全保障 1.4.2 操作系统安全保障 1.4.3 病毒防治 1.5安全保障措施 1.5.1实名认证保障 1.5.2 接口安全保障 1.5.3 加密传输保障 1.5.4终端安全保障 软件全面文档清单涵盖以下核心内容&a…

你是如何找bug的?bug分析的正确打开方式

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 Bug严重级别(Severity,Bug级别):是指因缺陷引起的故障对软件产品的影响程度,由测试人员指定。 A-Crash:造成系统或…

WGCNA分析流程及内容解读

文章标题:通过 WGCNA 和机器学习识别和验证与免疫和氧化应激相关的糖尿病肾病诊 发表年限:2023年 期刊:Frontiers in Immunology 影响因子:5.7 研究背景: 糖尿病肾病(DN)以蛋白尿、高血压和…

【MySQL 进阶之路】锁详解

MySQL 锁详解 1. 锁的基本概念 锁在数据库中是用来保证数据一致性和防止并发冲突的一种机制。MySQL 中的锁可以分为不同的类型和粒度,每种锁都有特定的使用场景和特点。了解锁的类型、作用以及如何避免锁带来的问题是提升数据库性能和避免数据冲突的关键。 2. 锁…

qsort函数用法,以及模拟实现

函数定义 基于快速排列的一个函数,它的四个参数的含义: 1、void* base,是排序开始的地址 2、size_t num 想要排列的个数 3、size_t size 排列对象,一个占多少空间(字节) 4、int (*comper)(void*,voi…

CentOS7虚拟机 网络适配器 NAT模式和桥接模式区别

一、环境介绍 宿主机:Windows电脑 虚拟机:VMware下的CentOS7 局域网:路由器下的各真实主机组成的网络 内部局域网:宿主机构建的一个内部网路 二、NAT和桥接网络链接模式区别 NAT模式:相当于宿主机构建一个内部局域网&a…

全面解析DApp开发中的智能合约设计

在DApp的开发过程中,智能合约的设计起到了至关重要的作用。智能合约是运行在区块链上的程序,负责处理和执行DApp中的逻辑、交易和数据存储。下面我们将深入探讨智能合约的设计原则、挑战和优化方法,帮助开发者掌握如何设计高效、安全的智能合…

锐捷Web认证

文章目录 Web认证二代 Web 认证配置 🏡作者主页:点击! 🤖Datacom专栏:点击! ⏰️创作时间:2024年12月6日11点40分 Web认证 Portal 认证、Web认证 Web认证的介绍 Web 认证使用浏览器进行身份验…

详解日志格式配置:XML 与 Spring Boot 配置文件格式

详解日志格式配置:XML 与 Spring Boot 配置文件格式 日志是现代应用程序中不可或缺的一部分,通过定制化日志格式和颜色,开发人员可以更方便地调试和监控应用。本文将深入讲解如何在 XML 配置文件 和 Spring Boot 配置文件 中设置日志格式&am…

KernelShark在ubuntu24.04.01的编译

KernelShark在ubuntu24.04.01的编译 写在前面具体过程装ubuntu24.04.01安装depends下载代码如何编译cmake 输出make 输出 如何安装 初步启动Add the User to the perf Group 简单的使用trace-cmd抓包 来看我的文章,必有所得。 平凡中,总有我帮您踩过的坑…

Ionic 8.4 简介

Ionic 是一个用于开发混合移动应用、渐进式Web应用(PWA)以及桌面应用的开源框架。它结合了 Angular、React 或 Vue.js 等现代前端框架与 Cordova/PhoneGap 的力量,允许开发者使用 Web 技术(HTML, CSS, JavaScript)构建…

浏览器数据存储方法深度剖析:LocalStorage、IndexedDB、Cookies、OPFS 与 WASM - SQLite

在当今的 Web 开发领域,选择合适的浏览器数据存储方法对于构建高效、功能丰富的应用程序至关重要。随着 Web 应用的不断演进,从早期的静态 HTML 页面到如今复杂的单页应用和本地优先应用,数据存储需求也日益多样化。本文将深入探讨 LocalStor…

要使用 OpenResty 创建一个接口,返回客户端的 IP 地址,并以 JSON 格式输出

要使用 OpenResty 创建一个接口,返回客户端的 IP 地址,并以 JSON 格式输出 要使用 OpenResty 创建一个接口,返回客户端的 IP 地址,并以 JSON 格式输出方案一解决方案(openresty使用cjson)说明:使…

解决Unity编辑器Inspector视图中文注释乱码

1.问题介绍 新创建一个脚本,用VS打开编辑,增加一行中文注释保存,在Unity中找到该脚本并选中,Inspector视图中预览的显示内容,该中文注释显示为乱码,如下图所示: 2.图示解决步骤 按上述步骤操作…

【AIGC半月报】AIGC大模型启元:2024.12(上)

【AIGC半月报】AIGC大模型启元:2024.12(上) (1)OpenAI-12日发布会(持续更新中........)Day01-12.06:o1满血版上线(已发布)Day02-12.07:强化微调&a…

JDK21新特性

目录 虚拟线程(JEP 444): 顺序集合(JEP 431): 字符串模板(JEP 430): 模式匹配的增强(JEP 440、441以及443): 结构化并发和作用域值…

【linux 查看网卡设备信息命令记录】

查看设备信息命令 查看网卡芯片相关platform类型网卡(gmac网卡为例)PCI网卡(rtl8125为例) 查看网卡芯片相关 platform类型网卡(gmac网卡为例) gmac 属于CPU资源的一部分,属于平台设备。下面以FT2004 的CPU为例,自带GMAC0和GMAC1。 1、通过平台设备查看…

字节码

字节码 1、字节码文件概述 1.1、字节码文件是跨平台的吗? ​ Java 虚拟机不和包括 Java 在内的任何语言绑定,它只与“Class 文件”这种特定的二进制文件格式所关联。 ​ 无论使用何种语言进行软件开发,只要能将源文件编译为正确的Class文件…