Lyuyk's Blog - ICMP
type: channel
link: https://lyuyk.com/tag/ICMP/
items: 【网络】部分网络协议概念（SSDP、MDNS）

【网络】部分网络协议概念（SSDP、MDNS）
type: item
date: 2023-03-10T07:42:00+00:00
description: PS：内容大部分由 $gpt-3$ 生成SSDPSSDP 是应用层协议，使用HTTPU 和HTTPMU 规范，基于UDP 端口进行通信。 SSDP 使用一个固定的组播地址 239.255.255.250 和UDP 端口号 1900 来监听其他设备的请求。SSH安全外壳协议（Secure Shell Protocol，简称SSH）是一种加密的网络传输协议，可在不安全的网络中为网络服务提供安全的传输环境。 SSH通过在网络中建立安全隧道来实现SSH客户端与服务器之间的连接。 SSH最常见的用途是远程登录系统，人们通常利用SSH来传输命令行界面和远程执行命令。MDNSmDNS全称为"Multicast Domain Name System"，即多播域名解析系统，是用于简化本地网络中的设备命名和发现的协议。它通过UDP协议和非常规的多播地址（224.0.0.251）实现多播服务查询和应答。mDNS协议主要用于本地网络内的设备发现和通信，在不需要经过路由器或DNS服务器的情况下自行解析网内主机名（HostName）和服务（Service）的IP地址。其工作原理是通过设备进行广告，在广播域内宣传各自的网络地址以及提供的服务，其他设备则可以通过mDNS协议进行查询与应答。通过mDNS，设备可以自动实现互连网的发现和部署，使得设备的配置和管理变得非常简单。mDNS协议应用非常广泛，例如苹果的Bonjour服务、智能家居设备的连接和控制等。IGMPIGMP全称为"Internet Group Management Protocol"，是用于多播组成员管理的协议。它实现了网络中多组播的成员管理，允许主机加入和离开特定的多播组。IGMP协议是IPv4协议栈中的一部分，它通过Internet控制消息协议（ICMP）来实现与IP协议的交互。主机感兴趣的多播组使用IGMP协议向路由器发送成员查询消息。当一个主机希望加入一个多播组时，它可以将一个成员报告消息发送到目标多播组的IP地址。路由器可以使用IGMP获取有关多播组成员的信息，并根据需要转发多播组数据。IGMP协议支持两个版本：IGMPv1和IGMPv2，其中后者提供了更好的负载均衡、快速加入等功能。IGMP协议是实现多播服务必不可少的协议之一，常用于流媒体、视频会议等应用场景。IGMPv3IGMPv3全称"Internet Group Management Protocol version 3"，是用于多播组成员管理的协议。它是IGMP协议的第三个版本，在原有IGMPv2协议的基础上增加了更加灵活的选项和更高效的多播数据流管理，可以支持多个源的多播流的接收。与IGMPv2相比，IGMPv3支持SIP（Source-Specific Multicast，源特定多播）以及多源多播（MSM，Multicast Source Filtering）功能，其中SIP可以针对某个特定的源进行流量的过滤处理；而MSM则可以支持一个多播组收到多个源的数据流后按照用户设定的规则进行过滤选择。这样，IGMPv3可以更加有效地利用网络带宽，适用于需要高效多播数据流处理的场合，如视频会议、视频监控等。总之，IGMPv3能够优化多播服务的组成员管理和数据流控制，从而提高多播的效率和可靠性，是网络中实现多播功能的关键协议之一。ICMPICMP全称为"Internet Control Message Protocol"，是一种支持IP协议的网络层协议。它主要用于发送有关网络错误的消息，而不是传输数据。ICMP协议是IPv4和IPv6协议中都存在的一个协议，它通过在三个不同地点添加消息来提供诊断网络问题的能力：在源主机上，如果需要修改源路由，则在目标主机上，在中间的路由器上。 ICMP消息通常不包含数据，仅仅包含有关某个Internet控制问题的信息。ICMP消息通常有很多种类型，包括目的不可达、时间超时、参数问题等。当出现故障或错误时，ICMP消息可以帮助管理员快速定位和解决网络问题。除了诊断网络问题之外，ICMP协议还有其他一些用途，例如ping测试、traceroute等。Ping通过发送ICMP回显请求和回显响应消息测试计算机之间的连接，而traceroute使用ICMP差错传递消息来确定网络路径中的所有路由器。ICMPv6ICMPv6全称为"Internet Control Message Protocol version 6"，是IPv6协议族中的一种网络层协议，用于传输与Internet控制相关的消息。ICMPv6与IPv6协议一样，是一种基于报文的协议。与IPv4中的ICMP协议不同，ICMPv6协议是IPv6协议族中用于网络层与链路层之间通信的标准协议。ICMPv6消息被用来传递有关IPv6数据包的错误和诊断信息，…