Java中的DatagramSocketImpl有一个joinGroup方法,它使用套接字地址(IP和PORT)加上接口地址(IP和PORT)。 我想了解多播堆栈中这三个地址中每一个的差异和目的: 绑定地址的目的是什么? 它需要一个端口吗? 接口地址的目的是什么? 它需要一个端口吗? 多播地址的目的是什么? 它需要一个端口吗? 我很困惑:我不知道绑定地址和接口地址的区别。 另外,我不确定多播地址是否真的需要一个端口。 我可以把多播地址的IP地址称为多播地址组吗?
我有连接到L2交换机的Cisco AP 1242AG自治AP。 假设我有100个有线设备,每个设备每秒发送2个广播UDP数据包。 显然这些数据包将到达接入点交换机端口,但是AP实际上是否将这些数据包(200pps)发送到空中? 谢谢
我在运行负载平衡器后面的BIND 9.8.2(RHEL6)的DNSparsing器时遇到了随机问题。 负载均衡器主动通过DNS查询来探测服务器,以确定它是否处于活动状态,并且每隔一段时间就会为端口53获取“连接被拒绝”(ICMP),从而导致服务器在负载均衡服务器池中暂时不可用。 这种情况会间歇性地发生(LB每10秒探测一次,通常会看到1或2次故障,接着是成功),每次几分钟,然后停止,这种情况在高峰负载时间发生,但是在交通在最低。 当问题发生时,BIND启动并运行,这使得“连接被拒绝”消息混乱,我期望从一个服务器端口53没有监听服务,事实并非如此。 即使DNSparsing失败的探测logging,答案将是一个NXDOMAIN或SERVFAIL,而不是一个平坦的UDP拒绝。 查询日志不显示失败的探测器,这意味着UDP数据包在被传送到BIND进行处理之前被拒绝。 我最好的猜测是,这是由于某种资源枯竭而引起的,但我无法弄清楚究竟是什么。 我们正在监视打开的文件描述符, net.netfilter.nf_conntrack_count ,CPU,内存, recursive-clients等,这些指标甚至没有达到问题发生时的限制。 在问题发生的时候,没有一个日志文件会有任何相关的错误信息。 所以,我的问题是:我应该考虑哪些networking指标/参数? 组态 在/ etc / SYSCONFIG /命名 OPTIONS="-4 -n10 -S 8096 " named.conf中 options { directory "/var/named"; pid-file "/var/run/named/named.pid"; statistics-file "/var/named/named.stats"; dump-file "/var/named/named_dump.db"; zone-statistics yes; version "Not disclosed"; listen-on-v6 { any; }; allow-query { clients; privatenets; }; recursion yes; // default allow-recursion […]
我一直在试图find一种方法来允许certin子网中的服务器通过多个子网发送UDP广播。 情况是这样的: 在networkingA(192.168.1.0/24)我们有一个备份服务器(使用urbackup),服务器使用UDP广播自动发现局域网主机,每隔50秒发送一次广播,这在networkingA中工作正常。 但是我们也有一个远程站点(192.168.5.0/24)也需要使用这个备份服务器,但是由于自动发现在那里不起作用,我们必须手动添加所有的服务器。 urbackup服务器将在每个指定的networking接口上发送一个UDP广播,所以我可以添加另外一个IP 192.168.5.X的接口,但是我需要一种方法来将广播传送到远程站点。 我已经尝试build立一个GRE隧道,并使用桥接来连接这两个networking,但这并不起作用(要么我没有正确做,否则我错过了一些东西)。 我已经安装了两个虚拟机,并尝试以下操作: gre1: ip link set dev ens192 down ip link add gretap1 type gretap local 192.168.1.X remote 192.168.5.X ip link set dev gretap1 up ip link set dev ens192 up brctl addbr br1 brctl addif br1 gretap1 brctl addif br1 ens192 ip addr add 10.0.0.1/24 dev br1 ip […]
我试图让我的头绕着这个问题… 我想连接两个用户… 这些用户已经连接到一个TCP服务器,它知道公共IP和连接TCP端口。 我希望使用现有的连接到服务器,以便在我的用户之间创build一个p2p连接,因为要求他们连接到另一个UDP服务器以便知道他们连接的公共端口是多余的。 完全可以解决这个问题而不创build另一个服务器(这次是UDP)?
我正在做一个数据包捕获作为开发项目的一部分,在捕获文件中看到一些奇怪的stream量来自我的机器。 大约每3600秒,一个NAT-PMP请求被发送到IP“1.1.168.192”。 (有趣的,看起来像有东西是错的。) 我担心机器可能有恶意软件,但恶意软件扫描报告什么都没有。 我开始了一个数据包捕获,只过滤掉有问题的NAT-PMP数据包,数据包几乎每隔一小时就会发生一次,但是不是每隔一小时就会发生一次。 Wireshark本身不能告诉我哪个进程正在发送数据包。 TCPView可以工作,但是我不得不确定我在数据包发送时几乎正好在机器上,因为列表并没有保留很长时间的closures或不活动的连接。 由于数据包每隔一小时都不可靠,这是一个令人沮丧的提议。 有关如何确定哪个进程以较大间隔发送这些数据包的build议?
我已经读到由于TCP / IP的优化技术,端口可能会被误报(II类错误)。 由客户端给出的正确的端口敲击可能被服务器读取为不正确的。 这是否可以通过仅使用UDP和/或ICMP端口来避免,如果可以的话,端口敲入守护进程会打开未提及的TCP端口? 还是UDP和ICMP容易受到类似的数据包混合?
我正在使用tcpdump来捕获UDP数据包,并分析UDP广播器和我的服务器之间的networking延迟。 为了计算延迟,我将UDP应用程序数据中报告的源主机时间戳与tcpdump本地“内核”时间戳进行比较。 两个服务器时钟同步到毫秒级的精度,可以接受高达2或3毫秒的延迟。 我的机器是双核6核英特尔X5670 @ 2.93Ghz,10Gb Mellanox NIC并禁用了合并。 问题是,当数据频率提高时,我观察到两个主机之间的延迟大于10毫秒,尽pipe总是远低于10Gb带宽。 我有5个tcpdump作业同时运行: tcpdump -c 0 chrt -f 80 -q -i eth1 net 232.xxx.xxx.xxx and udp port 22456 -s 0 -w myfile 我在过去用2个线程编写我自己的转储程序(一个高优先级的networking读取器线程和一个低优先级的磁盘写入器asynchronous线程)取得了较好的成功,但我真的很喜欢这次使用标准的linux解决scheme。 我能做些什么来尽量减lesstcpdump的UDP读取延迟?
我想有一台服务器在同一台机器上发送广播UDP数据包和其他两个客户端,接收它们。 我能做些什么吗? 我会使用什么IP地址? @gravyface给了我希望,但我试过: 服务器发送到127.255.255.255:54321和客户端收听0.0.0.0:54321。 服务器发送到127.255.255.255:54321和客户端收听127.0.0.1:54321。 服务器发送到127.255.255.255:54321和客户端收听127.255.255.255:54321。 他们没有工作! 🙁 OBS:我正在使用REUSE_ADDR和SO_BROADCAST选项。
我的iptables DNAT规则不能工作,直到重新启动。 如果我重新启动我的服务器,所有的规则工作。 架构描述: 数十个主机(发送者)发送一些UDP数据包(单向的特定端口9999)到我的Linux路由器。 这个Linux路由器使用iptables将这些数据包转发给几台主机(接收器)。 senderX 10.0.0.X ====>使用iptables的Linux路由器====> receiverY 10.0.1.Y Linux路由器有两个网卡eth1 10.0.0.1/24(发送方)和eth0 10.0.1.1/24(接收方)。 iptables设置: ip_forwarding被激活 所有的默认策略都设置为ACCEPT 一个iptables规则存在每个发件人,这里是一个例子: iptables -t nat -A PREROUTING -s 10.0.0.2 -i eth1 -j DNAT – 到目的地10.0.1.123 networking设置 : ip addr show : 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo […]