首页 > 其他分享 >什么是协议?| 网络协议定义

什么是协议?| 网络协议定义

时间:2024-06-08 20:58:21浏览次数:12  
标签:协议 定义 IP 网络协议 网络 TCP 数据包 路由器

什么是网络协议?

在网络中,协议是一套用于格式化和处理数据的规则。网络协议就像计算机的一种共同语言。一个网络中的计算机可能会使用截然不同的软件和硬件,然而,协议的使用使它们能够相互通信。

标准化协议就像计算机可以使用的共同语言,类似于来自世界不同地区的两个人可能不理解对方的母语,但他们可以使用共同的第三语言进行交流。如果一台计算机使用互联网协议 (IP),而第二台计算机也使用该协议,它们将能够进行通信——就像联合国依靠其 6 种官方语言在全球各地的代表之间进行交流一样。但是,如果一台电脑使用 IP,而另一台电脑不知道该协议,则它们将无法通信。

在互联网上,不同类型的进程有不同的协议。协议通常与进程在 OSI 模型中所属的层相关。

OSI 模型有哪些层?

开放系统互连 (OSI) 模型是互联网工作原理的抽象表示。它包含 7 层,每层代表不同类别的网络功能。

 

协议使这些网络功能成为可能。例如,互联网协议 (IP) 通过表明数据包*的来源和目的地,对数据进行路由。IP 使网络到网络的通信成为可能。因此,IP 被认为是一个网络层(第 3 层)协议。

再比如,传输控制协议 (TCP) 用于确保数据包在网络上的运输顺利进行。因此,TCP 被认为是一个传输层(第 4 层)协议。

*数据包是一个小的数据段,所有通过网络发送的数据都被分成多个数据包。

哪些协议在网络层运行?

如上所述,IP 是一个负责路由的网络层协议,但它不是唯一的网络层协议。

IPsec:互联网协议安全性 (IPsec) 通过虚拟专用网络 (VPN) 建立加密、认证的 IP 连接。从技术上讲,IPsec 不是一个协议,而是一个协议的集合,包括封装安全协议 (ESP)、身份验证头 (AH) 和安全关联 (SA)。

ICMP:互联网控制信息协议 (ICMP) 报告错误并提供状态更新。例如,如果一个路由器无法传送一个数据包,它将传回一个 ICMP 消息到数据包的来源。

IGMP:互联网组管理协议 (IGMP) 建立一对多的网络连接。IGMP 有助于设置多播,这意味着多台计算机可以接收指向一个 IP 地址的数据包。

互联网上还使用哪些协议?

需要了解的一些重要协议包括:

TCP:前面讲过,TCP 是一个传输层协议,用于确保可靠的数据传输。TCP 与 IP 一起使用,这两个协议经常被合称为 TCP/IP。

HTTP: 超文本传输协议 (HTTP) 是万维网(大多数用户与之交互的互联网)的基础,用于在设备之间传输数据。HTTP 属于应用程序层(第 7 层),因为它将数据转换成应用程序(如浏览器)无需进一步解释即可直接使用的格式。OSI 模型的较低层由计算机的操作系统处理,而非应用程序。

HTTPS:HTTP 的问题是它没有加密,任何截获 HTTP 信息的攻击者都可以读取它。HTTPS(HTTP 安全)通过加密 HTTP 信息修复了此问题。

TLS/SSL:传输层安全性 (TLS) 是 HTTPS 用于加密的协议。TLS 曾被称为安全套接字层 (SSL)。

UDP:User Datagram Protocol (UDP) 是传输层中 TCP 的一个替代品,速度更快,但没那么可靠。它经常被用于视频流和游戏等服务,在这些服务中,快速的数据传输最为重要。

路由器使用什么协议?

网络路由器使用某些协议来发现通往其他路由器的最有效网络路径。这些协议不用于传输用户数据。重要的网络路由协议包括:

BGP:边界网关协议 (BGP) 是一个应用程序层协议,网络使用该协议来广播它们控制的 IP 地址。该信息可让路由器决定数据包在前往目的地的途中应经过哪些网络。

EIGRP:增强型内部网关路由协议 (EIGRP) 用于识别路由器之间的距离。EIGRP 自动更新每个路由器的最佳路由记录(称为路由表),并将这些更新广播给网络内的其他路由器。

OSPF:开放式最短路径优先 (OSPF) 协议根据各种因素(包括距离和带宽)计算最有效的网络路线。

RIP:路由信息协议 (RIP) 是一个较早的路由协议,用于识别路由器之间的距离。RIP 是一个应用程序层协议。

网络攻击中如何使用协议?

就像计算的任何方面一样,攻击者可以利用网络协议的运作方式来入侵或击垮系统。许多此类协议被用于分布式拒绝服务 (DDoS) 攻击。例如,在 SYN 洪水攻击中,攻击者利用了 TCP 协议的工作原理。它们发送 SYN 数据包,反复启动与服务器的 TCP 握手,直到服务器资源被所有虚假的 TCP 连接占用,导致服务器无法为合法用户提供服务。

Cloudflare 提供了许多解决方案来阻止这些和其他网络攻击。Cloudflare Magic Transit 能够缓解 OSI 模型第 3 层、第 4 层和第 7 层的攻击。在 SYN 洪水攻击的示例中,Cloudflare 代表服务器处理 TCP 握手过程,因此服务器的资源永远不会被开放式 TCP 连接所淹没。

 

标签:协议,定义,IP,网络协议,网络,TCP,数据包,路由器
From: https://www.cnblogs.com/wonchaofan/p/18238926

相关文章

  • C语言笔记第12篇:自定义类型(struct结构体)
    1、结构体类型的声明为什么要有自定义的结构类型呢?这是因为稍微复杂的类型,直接使用内置类型是不行的!比如:描述一个人或 一本书的价格、版号等信息。1.1结构的创建结构体是一些值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量。1.1.1 结构的声明structt......
  • Vue 3 的 <teleport> 组件封装为自定义指令
    <Teleport>是一个内置组件,它可以将一个组件内部的一部分模板“传送”到该组件的DOM结构外层的位置去。https://cn.vuejs.org/guide/built-ins/teleport.html为了更加简便灵活,可以将Vue3的<teleport>组件类似的功能封装为自定义指令。当然,但在某些情况下,直接使用<telepo......
  • [ROS自定义消息问题]ImportError: cannot import name ‘GQCNNGrasp‘ from ‘gqcnn_r
         在使用ROS运行Python代码时,经常会遇到无法引用自定义消息文件的情况。这其实是一个比较常见的问题,通常是由于ROS找不到消息文件所在的路径导致的。问题描述:在ROS中运行Python代码时,如果尝试导入自定义消息文件,可能会遇到类似如下的错误:ImportError:Nomodule......
  • C语言学习日志1-定义与声明
    什么是定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。一个变量或对象在一定的区域内(比如函数内,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义同一个变量或对象。什么是声明:有两重含......
  • conda的配置文件.condarc频道优先级和定义频道
    先观察清华源的conda配置文件:channels:-defaultsshow_channel_urls:truedefault_channels:-https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main-https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r-https://mirrors.tuna.tsinghua.edu.cn/anaconda......
  • 【Python-因特网客户端编程-12】Python 提供了对 POP 和 IMAP 协议的支持
    Python提供了对POP和IMAP协议的支持一、使用Python代码与POP3和IMAP4邮件服务器进行通信使用`poplib`进行POP3操作示例:使用`poplib`获取邮件使用`imaplib`进行IMAP操作示例:使用`imaplib`获取邮件比较`poplib`和`imaplib`总结二、smtplib......
  • 同星TSMaster中如何自定义E2E校验算法
    文章目录前言一、自定义E2E算法教程1.定义checksum算法2.定义【CAN预发送事件】3.E2E报文信号仿真4.运行工程二、TSMaster配置E2E教程1.激活仿真报文2.E2E配置三.小结前言最近因项目需要,用到TSMaster进行E2E校验算法实现。第一次使用TSMaster,把整个的过程做一个记......
  • 实验3:OpenFlow协议分析实践
    一、实验目的能够运用wireshark对OpenFlow协议数据交互过程进行抓包;能够借助包解析工具,分析与解释OpenFlow协议的数据包交互过程与机制。二、实验环境下载虚拟机软件OracleVisualBox;在虚拟机中安装Ubuntu20.04Desktopamd64,并完整安装Mininet;三、实验要求(一)基本......
  • Asp .Net Core 系列:详解鉴权(身份验证)以及实现 Cookie、JWT、自定义三种鉴权 (含源码解
    什么是鉴权(身份验证)?https://learn.microsoft.com/zh-cn/aspnet/core/security/authentication/?view=aspnetcore-8.0定义鉴权,又称身份验证,是确定用户身份的过程。它验证用户提供的凭据(如用户名和密码)是否有效,并据此确认用户是否具备访问系统的权利。过程用户向系统提供......
  • JavaSE——【数组的定义与使用】(二)
    文章目录一、数组是引用类型二、数组的应用场景三、二维数组一、数组是引用类型 1.初始JVM的内存分布  内存是一段连续的存储空间,主要用来存储程序运行时数据的。比如:    1.程序运行时代码需要加载到内存    2.程序运行产生的中间数据要存放在......