什么是UDP?如何打开?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是UDP?如何打开?相关的知识,希望对你有一定的参考价值。

电脑打不开网络视频!!

UDP 是个协议 集成在TCP/IP中 如果没有特别的设置 UDP是可以正常使用的 可以在TCP/IP 属性的高级 选项页面中 对TCP/IP筛选 来确认UDP是否正常 参考技术A UDP UDP(User Datagram Protocol) 用户数据报协议 用户数据报协议(UDP)是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。是一个简单的面向数据报的传输层协议,IETF RFC 768是UDP的正式规范。 UDP 协议基本上是 IP 协议与上层协议的接口。 UDP 协议适用端口分别运行在同一台设备上的多个应用程序。 由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用 UDP 的“端口号”完成的。例如,如果一个工作站希望在工作站 128.1.123.1 上使用域名服务系统,它就会给数据包一个目的地址 128.1.123.1 ,并在 UDP 头插入目标端口号 53 。源端口号标识了请求域名服务的本地机的应用程序,同时需要将所有由目的站生成的响应包都指定到源主机的这个端口上。 UDP 端口的详细介绍可以参照相关文章。 与TCP 不同, UDP 并不提供对 IP 协议的可靠机制、流控制以及错误恢复功能等。由于 UDP 比较简单, UDP 头包含很少的字节,比 TCP 负载消耗少。 UDP 适用于不需要 TCP 可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候。 UDP 是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)、动态主机配置协议(DHCP)、路由信息协议(RIP)和某些影音串流服务等等。 协议结构 Source Port — 16位。源端口是可选字段。当使用时,它表示发送程序的端口,同时它还被认为是没有其它信息的情况下需要被寻址的答复端口。如果不使用,设置值为0。 Destination Port — 16位。目标端口在特殊因特网目标地址的情况下具有意义。 Length — 16位。该用户数据报的八位长度,包括协议头和数据。长度最小值为8。 Checksum — 16位。IP 协议头、UDP 协议头和数据位,最后用0填补的信息假协议头总和。如果必要的话,可以由两个八位复合而成。 Data — 包含上层数据信息。 UDP协议有如下的特点: 1、UDP传送数据前并不与对方建立连接,即UDP是无连接的,在传输数据前,发送方和接收方相互交换信息使双方同步。 2、UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息(如TCP所采用的序号),而且报文不一定按顺序到达的,所以接收端无从排起。 3、UDP对接收到的数据报不发送确认信号,发送端不知道数据是否被正确接收,也不会重发数据。 4、UDP传送数据较TCP快速,系统开销也少。 5、由于缺乏拥塞控制(congestion control),需要基于网络的机制来减小因失控和高速UDP流量负荷而导致的拥塞崩溃效应。换句话说,因为UDP发送者不能够检测拥塞,所以像使用包队列和丢弃技术的路由器这样的网络基本设备往往就成为降低UDP过大通信量的有效工具。数据报拥塞控制协议(DCCP)设计成通过在诸如流媒体类型的高速率UDP流中增加主机拥塞控制来减小这个潜在的问题。 从以上特点可知,UDP提供的是无连接的、不可靠的数据传送方式,是一种尽力而为的数据交付服务。 相关链接 http://www.javvin.com/protocol/rfc768.pdf :User Datagram Protocol(UDP) Specifications http://www.iana.org/assignments/port-numbers :UDP and TCP port numbers 打开方法!你不需要刻意地去打开端口,你用的软件会自动打开所需要的端口的。 你可以在命令行下输入“netstat -an”来查看已经打开的端口
采纳哦本回答被提问者采纳

如何通过live555 linux流Udp组播,然后打开VLC读取的rtsp网络流

【中文标题】如何通过live555 linux流Udp组播,然后打开VLC读取的rtsp网络流【英文标题】:How to Stream Udp multicast through live555 linux and then open up a rtsp network stream read by VLC 【发布时间】:2012-08-24 15:51:01 【问题描述】:

我正在尝试设置一个网络,我正在使用 live555 阅读广播,然后尝试发送一个 RTSP 服务器我正在阅读网站上的教程,但找不到我做错了什么。我的过程是我通过 VLC 打开一个流网络以将 udp 流式传输到 live555 正在侦听的端口然后我为 live555 打开 testOnDemandRTSPServer 然后从另一个 VLC 打开一个网络流以侦听 rtsp 流但没有任何人得到任何输出知道我做错了什么

【问题讨论】:

我知道你可以从 vlc 流式传输到 vlc 但现在我只使用 vlc 进行测试我稍后会从其他东西获取流 【参考方案1】:

我发现问题是我使用的是虚拟机并且网络设置错误并且不得不禁用某些东西,我还将 testOnDemandRTSPServer.cpp 中的代码更改为第 340 行并将 inputStreamIsRawUDP 更改为 True

【讨论】:

当我更改 inputStreamIsRawUDP to True 时,使用 ffplay 会出现一些错误,例如:[rtsp @ 0x7fe290009280] Could not find codec parameters for stream 0 (Video: h264 ([27][0][0][0] / 0x001B), none): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options rtsp://192.168.120.208:8554/mpeg2TransportStreamFromUDPSourceTest: could not find codec parameters 当我这样做时,我得到Missing sync byte! 错误。我不工作。任何的想法?你用 ffplay 看到了吗?

以上是关于什么是UDP?如何打开?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过live555 linux流Udp组播,然后打开VLC读取的rtsp网络流

如何打开一个UDP端口? [关闭]

怎样用iptables打开udp端口

【udp】如何检测UDP端口的连通性

如何在linux中使用iptables打开UDP端口

如何测试udp端口是不是正常