Articles of udp

IRC是否使用UDP将短信客户端传送到服务器?

我被告知,IRC使用UDP进行客户端到服务器的通信,TCP使用服务器到服务器的通信(在连接服务器的情况下)。 看来TCP是文本聊天的更好的传输层协议,因为你需要确保文本到达服务器。 仅仅因为客户端显示文本在服务器上的通道中,并不意味着服务器实际上收到了它。 很显然, IRC使用UDP 。 是否使用UDP将文本消息从客户端传递到服务器?

只有一个客户端必须解决和端口:它是否在播出方面与单播有所不同?

场景: 我正在实现一个networking节点的故障转移,所以我的想法是使主节点侦听广播 IP地址和端口。 如果主节点发生故障,另一个故障转移节点将开始监听该广播地址(和端口)并接pipe。 题: 我担心的是,我将使用一个广播IP地址只为一个节点:主人。 故障转移节点只会在主控失败时绑定,换句话说,几乎不会。 在networking/stream量开销方面,通过广播地址与单个节点通话还是不好的,或者networking以某种方式足够聪明,以知道没有其他人正在监听这个广播地址,并且将其视为单播高架? 我担心的是我会用这个广播地址的数据包淹没我的networking,甚至认为我只是在和一个节点(主节点)交谈。 但是我不能使用单播,因为故障转移节点必须能够快速,透明地获取主stream,以防万一发生故障。

(简单)UDP协议 – networking

我知道UDP是一个不可靠的协议,在这个协议中,事情可能会失序,不能完全到达等等。 我也知道,当使用UDP进行跟踪路由时,到达TTL = 1的路由器的数据包和到达指向非开放端口的terminal主机的数据包会生成ICMP错误消息,并将其发回给发送方。 我的问题是 – 发送者是否有任何方法知道标准数据包是否被丢弃? 我知道这个协议是不可靠的,但是接收方在UDP协议中发回的任何“ack”都可以让发送者知道丢失的数据包吗? 对于基本的UDP,这是一个直接的协议问题,我不想知道我能做什么。 我已经读了几件事情,虽然我基本上100%肯定答案是否定的,但你不能说,我读了一些让我感到不安的东西。

转发udp端口的iptables包“丢失”?

我有一个Linux路由器(Debian 6.x),我转发一些端口到内部服务。 一些TCP端口(如80,22 …)都可以。 我有一个应用程序监听端口54277udp。 没有回报来自这个应用程序,我只有在这个端口上的数据。 路由器: cat /proc/sys/net/ipv4/conf/all/rp_filter = 1 cat /proc/sys/net/ipv4/conf/eth0/forwarding = 1 cat /proc/sys/net/ipv4/conf/ppp0/forwarding = 1 $IPTABLES -t nat -I PREROUTING -p udp -i ppp0 –dport 54277 -j DNAT –to-destination $SRV_IP:54277 $IPTABLES -I FORWARD -p udp -d $SRV_IP –dport 54277 -j ACCEPT 此外MASQUERADING内部stream量ppp0(互联网)是积极和工作。 默认策略INPUT&OUTPUT&FORWARD是DROP 奇怪的是,当我这样做的时候: tcpdump -p -vvvv -i ppp0 port 54277 […]

SSL VPN(openvpn)如何通过UDP连接?

我需要testing一个OpenVPN服务(ssl-vpn)是否正在监听一个特定的IP地址和端口从一个Linux机器。 我想用bash脚本或python或c / c ++中的一些代码来做到这一点,但这不是问题 – 只要我知道UDP是如何工作的,我就可以实现它。 我的问题是:远程计算机上的VPN服务configuration为使用UDP,因为UDP不是支持TCP连接的协议。我假设我发送给远程计算机的消息/端口在我的本地机器上。 我知道netcat,但显然我不会收到使用无连接UDP协议的答案,所以使用nc -u ip port检查将不起作用。 那么,我该如何检查VPN是否真的启动并在IP地址和端口后面运行。 编辑: 是否有可能使用bash脚本来模拟VPN? 就像在SMTP中连接HELO一样,并检查VPN服务器是否发回答案? 我会知道这是如何与TCP工作,但我不知道如何用UDP做到这一点。 EDIT2: 我刚刚find了这个答案 。 那么,如何收听当远程服务器不可用时应该回答的ICMP包呢? 用bash / python / c / c ++或netcat可以吗? 我怎么知道服务器是否在那里,听取请求(不应该有ICMP响应,对吧?)?

Solaris不知道使用哪个MAC地址发送UDP多播消息

我有一对Solaris 10盒,它们应该将多播UDP数据包发送给一组主机。 其中一个工作得很好,而另一个没有。 第二台机器的问题是,它不知道用什么MAC地址来包装这个UDP / IP在以太网帧中。 当我运行arp -an我发现它具有这个多播地址作为U解决了几秒钟,然后它放弃。 没有人应答这个多播IP地址的ARP请求,这是完全预期的。 在理论上(在另一台机器上实际上),这个MAC地址应该是众所周知的。 您取IP地址的低23位,或与01:00:5e:00:00:00进行比较,并获取组播组的MAC地址。 根本不应该发送ARP。 当我手动将该MAC地址注入到该机器的ARP表(使用arp -s )时,它工作正常。 PS。 该软件在非全局Solaris区域内运行。 也许它确实有所作为。

为什么qemu在收到DHCP offer后发出DHCP discover

我在qemunetworking上遇到一些麻烦。 我正在尝试简单的select(用户)。 我运行的qemu命令是这样的: ./qemu-xilinx/arm-softmmu/qemu-system-arm \ -M xilinx-zynq-a9 -m 1024 -serial null -serial mon:stdio \ -dtb /homes/cperivol/Sandbox/xilinx-zynq-bootstrap/resources/devicetree.dtb \ -kernel /homes/cperivol/Sandbox/xilinx-zynq-bootstrap/resources/zImage \ -initrd /homes/cperivol/Sandbox/xilinx-zynq-bootstrap/resources.qemu/ramdisk.img \ -nographic -s -net dump,file=/tmp/dhcpdump.pcap -net nic \ -net user,net=192.168.1.0/24 命令的有趣部分在最后。 我基本上将所有的TCP / UDPstream量转储到/tmp/dhcpdump.pcap 。 那么从qemu我做: $ udhcpc -t 1 -T 10 -n udhcpc (v1.22.0.git) started Sending discover… No lease, failing 从主机上读取从thcpdump转储: (host) […]

UDP最大段大小

环境:我正在编写一个UDP客户端 – 服务器应用程序。 客户端和服务器之间的pathMTU是1500字节(只有它们之间的无线链路,所以这个值非常稳定)。 我的系统集默认不分片,在客户端和服务器上,SO_SENDBUF是16384,SO_RECVBUF = 87380。 问题:客户端使用sendto向服务器发送8192个字节。我使用Wireshark来查看这些8192字节将如何发送多个数据包,并发现每个数据包只能保存1023字节的UDP数据。 但给定pathMTU = 1500,我不应该能够发送每个数据包中1500-20(IP标头)-8(UDP标头)= 1472字节的数据? 当我用TCP做同样的事情时,结果就是我所期望的。 每个TCP数据包最多可以容纳1448字节,即1500-20(IP头)-32(带有时间戳选项的TCP头)。我的问题是:为什么dosn't UDP在每个数据包中放置了1472个字节,而不是1023个字节? 这只是次要的实现细节吗? 还是我忽略了一些系统限制? 备注:即使在同一台机器上进行实验(在回送接口上使用127.0.0.1),也可以观察到相同的结果。

如何查看在Windows上使用特定端口的应用程序日志?

我怎样才能看到在特定的时间段内,哪个应用程序已经在Windows中绑定了一些特定的端口? 我使用Windows自动启动我的应用程序,并将端口1200作为UDP数据包接收方绑定,但有时我的应用程序报告端口已被占用。 我可以看到哪些应用程序在Windows事件查看器或其他地方吗? 所以,我不能使用netstat来查看哪个应用程序正在使用它,我需要历史数据。

监视/ proc / net / udp

我有兴趣跟踪/ proc / net / udp中的更改,特别是在“丢弃”列中。 我想知道滴计数器上升的大概时间。 此外,如果套接字被破坏,我想要logging下降计数是什么。 我正在考虑每5秒运行一次cronjob来检查更改,然后logging它们。 有没有更好的方法来监控这个?