网络协议类型

news2024/11/20 7:14:16

网络协议是一组规则、约定和数据结构,用于规定设备如何跨网络交换数据。换句话说,网络协议可以等同于两个设备必须理解的语言,以实现信息的无缝通信,无论其基础设施和设计差异如何。

OSI 模型:网络协议的工作原理

要了解网络协议的细微差别,必须首先了解开放系统互连(OSI)模型。被认为是互联网工作通信的主要架构模型,目前使用的大多数网络协议在结构上都基于OSI模型。

OSI 模型将两个网络设备之间的通信过程分为 7 层。将一个任务或一组任务分配给这 7 个层中的每一个层。所有层都是独立的,分配给它们的任务可以独立执行。

以下是遵循 OSI 模型的两个网络设备之间的通信过程的表示:
在这里插入图片描述

OSI 模型中的七层可以分为两组:上层(包括第 7、6 和 5 层)和下层(包括第 4、3、2 和 1 层)。上层处理应用程序问题,下层处理数据传输问题。

网络协议将通信过程划分为 OSI 模型每一层的离散任务。一个或多个网络协议在通信交换的每一层运行。

以下是 OSI 模型每一层中网络协议功能的详细说明:

在这里插入图片描述

尽管有人说OSI模型现在是多余的,不如传输控制协议(TCP)/IP网络模型重要,但即使在今天,仍然有对OSI模型的引用,因为该模型的结构有助于构建协议的讨论和对比各种技术。

网络协议的分类

现在您已经了解了 OSI 模型的工作原理,您可以直接深入了解协议的分类。以下是网络通信中使用的一些最突出的协议:

  • 应用层网络协议
  • 表示层网络协议
  • 会话层网络协议
  • 传输层网络协议
  • 网络层协议
  • 数据链路层网络协议

应用层网络协议

DHCP:动态主机配置协议

DHCP 是一种通信协议,使网络管理员能够自动分配网络中的 IP 地址,在 IP 网络中,连接到互联网的每个设备都需要一个唯一的 IP,DHCP 允许网络管理员从中心点分发 IP 地址,并在设备从网络中的不同位置插入时自动发送新的 IP 地址。

优势:

  • 集中管理 IP 地址。
  • 将新客户端无缝添加到网络中。
  • 重用 IP 地址,减少所需的 IP 地址总数。

缺点:

  • 跟踪互联网活动变得乏味,因为同一设备在一段时间内可能有多个 IP 地址。
  • 具有 DHCP 的计算机不能用作服务器,因为它们的 IP 会随着时间的推移而变化。

DNS:域名系统协议

DNS 协议有助于将主机名转换或映射到 IP 地址。DNS 在客户端-服务器模型上工作,并在名称服务器层次结构上使用分布式数据库。

主机是根据其 IP 地址识别的,但由于其复杂性,很难记住 IP 地址。IP 也是动态的,因此更有必要将域名映射到 IP 地址。DNS 通过将网站的域名转换为数字 IP 地址来帮助解决此问题。

优势:

  • DNS 便于互联网访问。
  • 无需记住 IP 地址。

缺点:

  • DNS 查询不携带与发起它的客户端相关的信息。这是因为 DNS 服务器只能看到查询来自的 IP,使服务器容易受到黑客的操纵。
  • DNS 根服务器如果遭到入侵,可能会使黑客重定向到其他页面以获取网络钓鱼数据。

FTP:文件传输协议

文件传输协议支持本地和远程主机之间的文件共享,并在 TCP 上运行。对于文件传输,FTP 创建两个 TCP 连接:控制和数据连接。控制连接用于传输控制信息,如密码、检索和存储文件的命令等,数据连接用于传输实际文件。这两个连接在整个文件传输过程中并行运行。

优势:

  • 允许同时共享大文件和多个目录。
  • 允许您在文件共享中断时恢复文件共享。
  • 允许您恢复丢失的数据,并安排文件传输。

缺点:

  • FTP 缺乏安全性。数据、用户名和密码以纯文本形式传输,使其容易受到恶意行为者的攻击。
  • FTP 缺乏加密功能,因此不符合行业标准。

HTTP:超文本传输协议

HTTP 是用于分布式、协作和超媒体信息系统的应用层协议。它适用于客户端-服务器模型,其中 Web 浏览器充当客户端。文本、图像和其他多媒体文件等数据使用 HTTP 在万维网上共享。作为请求和响应类型协议,客户端向服务器发送请求,然后由服务器处理,然后再将响应发送回客户端。

HTTP是一种无状态协议,这意味着客户端和服务器仅在它们之间的连接完好无损时相互识别。之后,客户端和服务器都忘记了彼此的存在。由于这种现象,客户端和服务器不能在请求之间同时保留信息。

优势:

  • 由于并发连接较少,内存使用率和 CPU 使用率较低。
  • 可以在不关闭连接的情况下报告错误。
  • 由于TCP连接较少,网络拥塞减少。

缺点:

  • HTTP缺乏加密功能,使其安全性降低。
  • HTTP 需要更多的功能来建立通信和传输数据。

IMAP 和 IMAP4:互联网邮件访问协议(版本 4)

IMAP 是一种电子邮件协议,允许最终用户从其电子邮件客户端访问和操作存储在邮件服务器上的邮件,就像它们存在于其远程设备上一样。IMAP 遵循客户端-服务器模型,并允许多个客户端同时访问公共邮件服务器上的邮件。IMAP 包括用于创建、删除和重命名邮箱的操作;检查新消息;永久删除消息;设置和删除标志;等等。IMAP 的当前版本是版本 4 修订版 1。

优势:

  • 由于电子邮件存储在邮件服务器上,因此本地存储利用率最低。
  • 如果意外删除电子邮件或数据,始终可以检索它们,因为它们存储在邮件服务器上。

缺点:

  • 如果没有有效的互联网连接,电子邮件将无法运行。
  • 最终用户对电子邮件的高利用率需要更多的邮箱存储,从而增加了成本。

POP 和 POP3:邮局协议(版本 3)

邮局协议也是一种电子邮件协议。使用此协议,最终用户可以将电子邮件从邮件服务器下载到他们自己的电子邮件客户端。在本地下载电子邮件后,无需互联网连接即可阅读。此外,一旦电子邮件被移动到本地,它们就会从邮件服务器中删除,从而释放空间。与 IMAP4 不同,POP3 不是为对邮件服务器上的邮件执行大量操作而设计的。POP3 是邮局协议的最新版本。

优势:

  • 在没有互联网连接的本地设备上阅读电子邮件。
  • 邮件服务器不需要有很高的存储容量,因为电子邮件在本地移动时会被删除。

缺点:

  • 如果下载电子邮件的本地设备崩溃或被盗,则电子邮件将丢失。

SMTP:简单邮件传输协议

SMTP 是一种旨在可靠、高效地传输电子邮件的协议。SMTP是一种推送协议,用于发送电子邮件,而POP和IMAP用于在最终用户端检索电子邮件。SMTP在系统之间传输电子邮件,并通知传入的电子邮件。使用 SMTP,客户端可以通过两个网络可用的中继或网关访问将电子邮件传输到同一网络或另一个网络上的另一个客户端。

优势:

  • 易于安装。
  • 不受任何限制地连接到任何系统。
  • 它不需要您进行任何开发。

缺点:

  • 服务器之间的来回对话可能会延迟发送消息,并且还会增加消息未传递的可能性。
  • 某些防火墙可能会阻止与 SMTP 一起使用的端口。

远程登录:终端仿真协议

Telnet 是一种应用层协议,使用户能够与远程设备进行通信。Telnet 客户端安装在用户的计算机上,该客户端访问运行 Telnet 服务器程序的另一台远程计算机的命令行界面。

Telnet 主要由网络管理员用于访问和管理远程设备。要访问远程设备,网络管理员需要输入远程设备的 IP 或主机名,之后他们将看到一个可以与主机交互的虚拟终端。

优势:

  • 与多种操作系统兼容。
  • 由于其与远程设备的快速连接,节省了大量时间。

缺点:

  • Telnet 缺乏加密功能,并以明文形式发送关键信息,使恶意行为者更容易使用。
  • 由于打字速度慢,价格昂贵。

SNMP:简单的网络管理协议

SNMP 是一种应用层协议,用于管理 IP 网络上的节点,如服务器、工作站、路由器、交换机等。SNMP 使网络管理员能够监控网络性能、识别网络故障并对其进行故障排除。SNMP 协议由三个组件组成:受管设备、SNMP 代理和 SNMP 管理器。

SNMP 代理驻留在受管设备上。代理是一个软件模块,具有管理信息的本地知识,并将该信息转换为与 SNMP 管理器兼容的形式。SNMP 管理器提供从 SNMP 代理获得的数据,帮助网络管理员有效地管理节点。

目前,SNMP 有三个版本:SNMP v1、SNMP v2 和 SNMP v3。版本 1 和 2 有许多共同的功能,但 SNMP v2 提供了增强功能,例如其他协议操作。SNMP 版本 3 (SNMP v3) 为以前的版本添加了安全和远程配置功能。

表示层网络协议

LPP:轻量级演示协议

对于某些受限环境,轻量级表示协议有助于为在 TCP/IP 协议上运行的网络中的 OSI 应用程序服务提供简化的支持。LPP 是为特定类别的 OSI 应用程序设计的,即应用程序上下文仅包含关联控制服务元素 (ACSE) 和远程操作服务元素 (ROSE) 的实体。LPP 不适用于应用程序上下文更广泛的实体,即包含可靠传输服务元素的实体。

会话层网络协议

RPC:远程过程调用协议

RPC 是一种协议,用于通过网络从远程计算机中的程序请求服务,无需了解底层网络技术即可使用。RPC 使用 TCP 或 UDP 在通信程序之间传输消息。RPC 也适用于客户端-服务器模型。请求程序是客户端,提供服务的程序是服务器。

优势:

  • RPC 省略了许多协议层以提高性能。
  • 使用 RPC,代码重写或重新开发工作被最小化。

缺点:

  • 尚未证明在广域网上有效工作。
  • 除了 TCP/IP,RPC 不支持其他传输协议。

传输层网络协议

TCP:传输控制协议

TCP 是一种传输层协议,通过使用顺序确认为应用程序提供可靠的流传递和虚拟连接服务。TCP 是一种面向连接的协议,因为它要求在数据传输之前在应用程序之间建立连接。通过流量控制和数据确认,TCP 提供了广泛的错误检查。TCP确保数据的排序,这意味着数据包按顺序到达接收端。使用 TCP 重新传输丢失的数据包也是可行的。

优势:

  • TCP确保三件事:数据到达目的地,准时到达目的地,并且到达目的地而不重复。
  • TCP 在传输之前自动将数据分解为数据包。

缺点:

  • TCP 不能用于广播和多播连接。

UDP:用户数据报协议

UDP 是一种无连接传输层协议,提供简单但不可靠的消息服务。与 TCP 不同,UDP 不添加可靠性、流控制或错误恢复功能。UDP 在不需要 TCP 可靠性机制的情况下很有用。UDP 无法重新传输丢失的数据包。

优势:

  • UDP 可以实现广播和组播连接。
  • UDP比TCP更快。

缺点:

  • 在 UDP 中,数据包可能无法传递、传递两次或根本不传递。
  • 需要手动分解数据包。

网络层协议

IP: 互联网协议 (IPv4)

IPv4 是一种网络层协议,其中包含寻址和控制信息,有助于在网络中路由数据包。IP 与 TCP 协同工作,通过网络传递数据包。在 IP 下,为每个主机分配一个 32 位地址,该地址由两个主要部分组成:网络号和主机号。网络号标识网络并由互联网分配,而主机号标识网络上的主机,由网络管理员分配。IP 只负责传递数据包,TCP 帮助将它们按正确的顺序放回原位。

优势:

  • IPv4 对数据进行加密以确保隐私和安全。
  • 借助 IP,路由数据变得更加可扩展和经济。

缺点:

  • IPv4 是劳动密集型、复杂且容易出错的。

Pv6:互联网协议版本 6

IPv6 是互联网协议的最新版本,互联网协议是一种网络层协议,具有寻址和控制信息,使数据包能够在网络中路由。创建 IPv6 是为了处理 IPv4 耗尽。它将 IP 地址大小从 32 位增加到 128 位,以支持更多级别的寻址。

优势:

  • 与 IPv4 相比,路由和数据包处理效率更高。
  • 与 IPv4 相比,安全性更高。

缺点:

  • IPv6 与在 IPv4 上运行的计算机不兼容。
  • 将设备升级到 IPv6 的挑战。

ICMP:互联网控制消息协议

ICMP 是网络设备用来发送错误消息和操作信息的网络层支持协议。在 IP 数据包中传递的 ICMP 消息用于与网络操作或误操作相关的带外消息。ICMP 用于宣布网络错误、拥塞和超时,以及协助故障排除。

优势:

  • ICMP 用于诊断网络问题。

缺点:

  • 发送大量 ICMP 消息会增加网络流量。
  • 如果恶意用户发送许多 ICMP 目标无法访问的数据包,最终用户将受到影响。

数据链路层网络协议

ARP:地址解析协议

地址解析协议有助于将 IP 地址映射到本地网络中识别的物理机地址(或以太网的 MAC 地址)。称为 ARP 缓存的表用于维护每个 IP 地址与其相应 MAC 地址之间的相关性。ARP 提供了进行这些关联的规则,并帮助在两个方向上转换地址。

优势:

  • MAC 地址不需要知道或记忆,因为 ARP 缓存包含所有 MAC 地址并自动将它们映射到 IP。

缺点:

  • ARP 容易受到称为 ARP 欺骗攻击的安全攻击。
  • 使用 ARP 时,有时黑客可能能够完全停止流量。这也称为 ARP 拒绝服务。

滑移:串行线路 IP

SLIP 用于使用 TCP/IP 的点对点串行连接。SLIP 用于专用串行链路,有时用于拨号目的。SLIP 可用于允许主机和路由器的混合相互通信;例如,主机-主机、主机-路由器和路由器-路由器都是常见的 SLIP 网络配置。SLIP 只是一个数据包成帧协议:它定义了在串行线路上构建 IP 数据包的字符序列。它不提供寻址、数据包类型标识、错误检测或更正或压缩机制。

优势:

  • 由于它的开销很小,因此适合在微控制器中使用。
  • 它重用现有的拨号连接和电话线。
  • 它很容易部署,因为它基于互联网协议。

缺点:

  • SLIP 不支持同时在多个 OSI 层中自动设置网络连接。
  • SLIP 不支持同步连接,例如通过互联网创建的从调制解调器到互联网服务提供商 (ISP) 的连接。

在管理网络时遇到问题

OpManager是一款全面的网络监控工具,可开箱即用地监控IP网络中所有网络设备的运行状况,性能和可用性。

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

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

相关文章

Oracle数据库安装配置详细教程汇总(含11g、12c、18c、19c、21c)

不论你是数据库小白,还是久经沙场的技术专家,你接触和运维Oracle数据库的第一步可能都是安装配置。并且随着软硬件的升级、替换以及业务场景的变化,数据库安装也将是你常常会进行的操作之一。 这里先为大家附上Oracle各版本支持的生命周期及…

阶段性回顾(2)

1. 移位操作符的对象只能是整数,只能对整数的二进制位进行移动。 2. 二进制是数值的一种表示形式。一个整数占了四个字节,相当于一个整数可以用32位二进制位序列表示,那么这时候该如何判断正负呢?规定:这32位二进制序列的头一位如…

第二十二讲:神州路由器OSPF单区域路由的配置

实验拓扑图如下所示 设备 端口 IP 子网掩码 网关 Router-A F0/0 172.16.1.1 255.255.255.0 无 F0/3 172.16.0.1 255.255.255.0 无 Router-B F0/0 172.16.1.2 255.255.255.0 无 F0/3 172.16.2.1 255.255.255.0 无 PC1 172.16.0.2 255.255.255.0 172.1…

解决docker容器因报错无法启动的问题,检查、修复容器错误并重启

问题复现 使用: sudo docker ps -a查看当前的docker容器: 我们想启动name为【docker-mongo】的这个容器,因此要执行 sudo docker start docker-mongo但是执行后仍旧没有重启,大概率是重启的时候报错了,查看日志&a…

Spring Boot骚操作-多数据源Service层封装

mysql, es, mongodb 三个数据源用配置文件方式连接,JPA只是正对dao做了封装,本文主要介绍如何对service层进行封装。 Spring Boot - 多个数据源Service层封装 类关系图 封装的一些配置 application.yml pom.xml 封装后使用 MySQL 动态数据访问 Mong…

坦克大战1.0,java时间处理机制

1.java 绘图坐标体系 1.1 坐标体系-介绍 下图说明了Java坐标系。坐标原点位于左上角,以像素为单位。在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。…

金融业务如何高性能传输数据

对系统要求高,通常按金融级标准设计。金融数据传输要求速度快,流量大,极强容灾。 案例分析 简化版券商算法交易平台对接交易所: 涉及场景多。既有事务数据,也有市场数据模型简单。只涉及到2个主体复杂度可选。连接交…

【结构型】装饰模式(Decorator)

目录装饰模式(Decorator)适用场景装饰模式实例代码(Java)装饰模式(Decorator) 动态地给一个对象添加一些额外的职责。就增加功能而言,装饰模式 (Decorator) 比生成子类更加灵活。 适用场景 在不影响其他对象的情况下,以动态、透…

2023让工作效率直线飞升

2022年马上就要过去,过去的一年,腾讯云HiFlow和众多腾讯系应用也帮助了许多企业完成数字化转型,许多没有代码基础的业务人员也能通过搭建工作流,高效的处理生活&工作的繁杂事务,时间精力节省50%。把时间花在更重要…

开源 | 携程机票跨端 Kotlin DSL 数据库框架 SQLlin

作者简介禹昂,携程机票移动端资深工程师,专注于 Kotlin 移动端跨平台领域,Kotlin 中文社区核心成员,图书《Kotlin 编程实践》译者。一、背景2022年9月 Kotlin 1.7.20 发布之后,Kotlin Multiplatform Mobile&#xff08…

【计算机图形学入门】笔记7:Shading着色1(光照与基本着色模型)

07Shading着色(光照与基本着色模型)1.深度缓冲Z-buffering1.画家算法:先把远处的东西画在屏幕上,再画近处的,从而近处物体覆盖远处物体。(油画家)2.深度缓冲2.Shading着色1.我们目前学了哪些知识…

CleanMyMacX2023系统清理优化工具使用评测

如果你的macbook有点年头空间不够开始卡顿了,或者你是windows用户刚转来的,我强烈建议你安装一个cleanmymac!Mac电脑清理是可以直接使用储存空间管理(关于本机->储存空间->管理)来清理,但是这里的其他…

Android开发笔记(一百九十)增强了日志功能的第二版Logcat

从Android Studio Dolphin开始,查看应用日志的Logcat全面升级,堪称Logcat 2.0版本。下面就让我们看看LogcatV2.0究竟带来了什么新特性吧。 对于Android Studio的老用户来说,小海豚版本新出的LogcatV2.0在用法上有不小的差异,一开始…

Fisher卡方全流程汇总

Fisher卡方 卡方检验研究数据的独立性,在分析样本量较少(比如小于40),也或者期望频数出现小于5时,此时使用fisher卡方检验较为适合。SPSSAU医学研究模块中的卡方检验时,有提供2*2即4表格时提供fisher卡方检…

魔方(14)133魔方、一阶鬼魔魔方、双心魔方

目录 133魔方 1,魔方三要素 2,复原方法 一阶鬼魔魔方 1,魔方三要素 2,复原方法 双心魔方 133魔方 1,魔方三要素 (1)组成部件 9个块,1个中心块,4个棱块&#xff…

ZYNQ - 以太网远程更新SD卡应用程序

写在前面 对于ZYNQ系列的板卡固化,可以通过JTAG接口,使用SDK固化到FLASH中,或者可将SD卡取出将SD卡中保存的固化工程进行修改,但在很多情况下,离线更新会很不方便,本文借鉴网上常见的远程更新QSPI FLASH的…

思维导图 制作

PPT e.g: WPS中ppt 新建 文本框一定要 在外框之内。 左键 全选中,就会出来如下。 可直接点居中,就不用浪费time调位置 全选中,右键,【组合】 形成整体,可复制到word中 选择性粘贴到word中 skill: 左键…

《Linux运维总结:Centos7.6源码安装单实例redis6.2.8》

一、部署redis服务 1.1、环境信息 环境信息如下: 主机IP操作系统Redis版本CPU架构192.168.1.191Centos7.66.2.8x86_641.2、二进制方式 1、安装环境依赖 [rootlocalhost ~]# yum -y install gcc2、安装包下载 [rootlocalhost ~]# wget https://download.redis.io…

Linux-线程(LWP)

文章目录线程线程概念进程今天的进程 vs之前的进程私有和共享资源实验验证线程的优点:线程的缺点:线程异常线程的用途:线程控制创建线程(1)先创建两个线程:链接时要引入第三方库。(2)创建多个线程:(3)线程的健壮性不强…

Pandas 替换 NaN 值

替换Pandas DataFram中的 NaN 值 问题 NaN 代表 Not A Number,是表示数据中缺失值的常用方法之一。它是一个特殊的浮点值,不能转换为 float 以外的任何其他类型。NaN 值是数据分析中的主要问题之一。为了得到理想的结果,对 NaN 进行处理是非…