【愚公系列】软考高级-架构设计师 023-常见网络协议

举报
愚公搬代码 发表于 2024/06/30 09:37:22 2024/06/30
【摘要】 🏆 作者简介,愚公搬代码🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主...

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

网络协议是一组规则和标准,用于定义电子设备(如计算机、路由器、交换机等)如何在网络中交换信息。这些规则涵盖了数据的格式、传输时机、通信方式、错误处理机制等多个方面,确保数据能够在不同的设备和网络技术之间有效地传输和接收。

核心功能

  • 数据格式化:定义数据在传输和接收时的结构,确保发送方构造的数据可以被接收方正确解析。
  • 地址分配:确定如何给网络中的设备分配地址,并指定数据包的发送目的地。
  • 路由选择:确定数据在源点和终点之间传递的路径。
  • 数据传输与确认:规定如何确认接收到的数据,并在数据传输中处理错误和数据丢失。

示例
一些常见的网络协议包括:

  • IP(Internet Protocol):负责在网络中路由和传输数据包。
  • TCP(Transmission Control Protocol):确保数据可靠传输,提供错误检查和修正机制。
  • HTTP(HyperText Transfer Protocol):管理网页的加载过程。
  • SMTP(Simple Mail Transfer Protocol):用于电子邮件的传输。

网络协议使不同制造商生产的设备能够互联互通,是现代数字通信不可或缺的基础。

🚀一、常见网络协议

🔎1.网络层协议

在网络层中,多种协议共同工作以确保数据正确地从源主机路由到目的主机。这包括处理路由选择、地址解析、错误报告和多播组管理等任务。下面是一些核心网络层协议的详细说明:

🦋1.1 IP(Internet Protocol)

  • 功能:IP协议是网络层的核心,负责将数据包从源主机发送到目的主机。它为数据包提供逻辑地址(即IP地址),使得数据能够在复杂的网络中找到正确的路径。
  • 特性
    • 无连接:IP协议不建立持久的连接,每个数据包独立处理。
    • 不可靠:IP协议本身不保证数据包的可靠到达,丢失的数据包需要通过上层协议(如TCP)来恢复。
    • 数据分片和重组:为了适应不同网络环境中数据链路层的最大传输单元(MTU)限制,IP协议提供了数据包分片和重组功能。

🦋1.2 ICMP(Internet Control Message Protocol)

  • 功能:ICMP用于发送控制消息,如错误报告(目的地不可达、通信超时等)和操作查询(如ping命令用于检测网络连通性)。
  • 应用:ICMP主要用于网络故障诊断工具和网络设备之间的状态信息交换。

🦋1.3 ARP(Address Resolution Protocol)

  • 功能:ARP用于将网络层的IP地址解析为链路层的物理地址(如以太网MAC地址)。当一个主机需要向同一局域网中的另一个主机发送数据时,它需要知道目标的物理地址。
  • 过程:发送主机广播一个ARP请求包,询问哪个主机拥有目标IP地址。拥有该IP地址的主机会以ARP响应的形式返回其物理地址。

🦋1.4 RARP(Reverse Address Resolution Protocol)

  • 功能:RARP用于将链路层的物理地址解析为网络层的IP地址。这主要在无盘工作站启动时使用,工作站通过广播自己的物理地址来请求其IP地址。
  • 应用:RARP的功能和需求随着时间而减少,因为更现代的网络启动解决方案(如BOOTP和DHCP)提供了更多功能。

🦋1.5 IGMP(Internet Group Management Protocol)

  • 功能:IGMP用于管理多播组成员,并允许主机报告其多播组的成员身份信息给本地路由器。
  • 应用:IGMP使得多播传输更加有效,因为路由器可以了解哪些主机(或网络)愿意接收特定多播流,从而只将多播数据发送给这些主机。

🔎2.传输层协议

传输层是计算机网络体系结构中至关重要的一层,它负责从源端到目的端的数据传输服务,确保数据的正确性和有效性。在这一层,两个最为核心的协议是传输控制协议(TCP)和用户数据报协议(UDP)。以下是对这两种协议的详细解析:

🦋2.1 TCP(传输控制协议)

  • 特性

    • 可靠性:TCP提供高可靠性的数据传输服务。它通过序号、确认应答、重传机制等确保数据正确无误地传输到目标。
    • 面向连接:在数据传输开始之前,TCP需要在两个通信端点之间建立一个连接,这个过程通常称为“三次握手”。
    • 全双工通信:TCP支持数据在两个方向上同时传输,即通信双方可以在一个连接中同时发送和接收数据。
    • 流量控制:TCP使用窗口机制调整发送的数据量,以匹配接收方的处理能力,防止接收方被发送方的数据淹没。
    • 拥塞控制:TCP还实现了拥塞控制算法(如慢启动、拥塞避免、快速重传和快速恢复),以减少网络中的数据拥塞。
  • 适用场景

    • 需要高可靠性的应用,如网页浏览、文件传输、电子邮件等。

🦋2.2 UDP(用户数据报协议)

  • 特性

    • 无连接:UDP不建立连接,直接发送数据,这消除了建立和维护连接的开销。
    • 不可靠性:UDP不保证数据的可靠交付。没有重传机制,数据包有可能丢失也不会被重新发送。
    • 快速传输:由于缺少了连接建立、维护和拥塞控制的机制,UDP在处理速度上通常比TCP快。
    • 报头开销小:UDP的报头只有8字节,相比之下,TCP的报头至少20字节。
  • 适用场景

    • 适合对实时性要求高的应用,如视频会议、在线游戏和某些类型的语音传输。
    • 适用于广播和多播传输。

🦋2.3 结合使用场景

尽管TCP和UDP各有优劣,它们都扮演着网络通信中不可或缺的角色。选择使用哪一种协议取决于应用程序对数据传输的具体需求。例如,对于那些不容忍数据丢失但可以接受一定延迟的应用,应选择TCP;对于那些追求低延迟和高速传输但可以接受一定数据丢失的应用,则更适合使用UDP。

🔎3.应用层协议

应用层协议定义了运行在网络各端系统上的应用程序如何通过网络进行通信。这些协议通常构建在传输层协议如TCP或UDP之上,依据应用的需求提供不同的网络服务。下面是对您提及的一些主要应用层协议的简要介绍:

🦋3.1 基于TCP的协议

  1. FTP (File Transfer Protocol)

    • 功能:FTP 是一个用于在网络上进行文件传输的协议,支持双向传输,提供用户认证功能。
    • 特点:可靠性高,保证文件完整性,通过控制和数据连接进行通信。
  2. HTTP (HyperText Transfer Protocol)

    • 功能:HTTP 用于在Web服务器和客户端浏览器之间传输网页内容,如文本、图像和其他类型的多媒体文件。
    • 特点:请求/响应模式,无状态,使用SSL/TLS变为HTTPS以提供加密的安全连接。
  3. SMTP (Simple Mail Transfer Protocol) 和 POP3 (Post Office Protocol Version 3)

    • 功能:SMTP 用于发送邮件,POP3 用于接收邮件。
    • 特点:SMTP 仅用于发送邮件到服务器或从一个服务器传送到另一个服务器;POP3 用于从服务器下载邮件到本地客户端。
  4. Telnet

    • 功能:用于远程登录,让用户可以在本地计算机上通过命令行界面控制远程计算机。
    • 特点:基于文本的交互,不提供数据加密,已逐渐被更安全的SSH替代。

🦋3.2 基于UDP的协议

  1. TFTP (Trivial File Transfer Protocol)

    • 功能:一个简单的文件传输协议,通常用于小型设备或系统的引导过程中。
    • 特点:非常简单,没有复杂的认证机制,使用最小的开销,适用于不需要高安全性的场景。
  2. DHCP (Dynamic Host Configuration Protocol)

    • 功能:动态主机配置协议, 基于UDP, 基于C/S模型, 为主机动态分配 IP地址, 有三种方式:固定分配 、动态分配 、 自动分配 。
    • 特点:动态配置,减少手动配置错误和地址冲突。
  3. DNS (Domain Name System)

    • 功能:将域名(如 www.example.com)解析为IP地址,使得用户可以通过易于记忆的域名访问网站。
    • 特点:是整个互联网的基础设施之一,支持多级缓存以提高解析效率。
  4. SNMP (Simple Network Management Protocol)

    • 功能:用于网络设备的管理和监控。
    • 特点:允许管理员远程收集设备状态信息和改变设备配置,以适应网络管理需求。

这些协议共同构成了网络上的应用服务框架,支持从文件传输到网络管理的各种功能。


🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。