Articles of 联网

在什么情况下,TCP-over-TCP执行情况明显比单独TCP(2014)要差?

许多pipe理员在ServerFault和其他地方继续保持TCP-over-TCP的想法,例如在VPN中。 即使是最轻微的数据包丢失,如果不是TCP崩溃,至less会造成吞吐量严重下降,因此严格要避免使用TCP-over-TCP。 而这可能曾经是真实的,例如2001年,当这篇文章写出来,仍然提到。 但从那以后,我们看到了技术和协议方面的重大进展。 现在我们几乎在所有地方都实现了“select性确认”,摩尔定律给了我们更多的内存,而且还有大量针对Gbit上行链路优化的TCP缓冲区。 此外,在非无线电链路上,丢包现象也less得多。 所有这些都应该显着缓解TCP-over-TCP问题,不是吗? 请注意,现实世界中,基于TCP的VPN比基于UDP / ESP的VPN更容易实现和运行(请参阅下面的内容)。 所以我的问题是: 在什么情况下(链接数据包丢失和延迟)是TCP-over-TCP单独执行显着更坏的TCP,假定SACK支持和两端的大小合适的TCP缓冲区? 这将是非常好的,所以看到一些测量结果显示TCP-over-TCP和TCP本身的(外部连接)数据包丢失/延迟和(内部连接)吞吐量/抖动之间的相关性。 我发现这篇有趣的文章 ,但它似乎只关心延迟,而不是解决(外部)数据包丢失。 另外:是否有build议的设置(例如,TCP选项,缓冲区设置,减lessMTU / MSS等)来缩小TCP和TCP-over-TCP之间的性能差距? 更新:我们的理由。 这个问题在现实世界中仍然非常重要。 例如,我们将embedded式设备部署在收集传感器数据的大型build筑物中,并通过VPN将其馈入我们的平台。 我们面临的问题是防火墙和不正确configuration的上行链路,我们不在我们的控制之下,加上不情愿的IT部门。 请参阅此处讨论的详细示例。 在很多这样的情况下,从非TCP切换到基于TCP的VPN(如果您像我们一样使用OpenVPN,非常简单)是一个快速修复,可以让我们避开艰难的指向战争。 例如通常TCP端口443通常是允许的(至less通过代理),或者我们可以通过简单地减lessTCP的MSS选项来克服Path-MTU问题。 很高兴知道在什么情况下基于TCP的VPN可以被认为是一个可行的select,所以我们可以做出明智的决定,超过这两种select的利弊。 例如,我们知道在非无线链路上TCP-VPN对我们来说是好的,但是我们在3G上行链路上确实拥有相当数量的远程客户端,并且丢包和高延迟 – TCP-VPN如何在那里执行? 我试图改善标题和中心问题。 我希望这是有道理的。

什么是以太网帧的“在线”大小? 1518年还是1542年?

根据这里的表格 ,它说MTU = 1500字节,有效载荷部分是1500 – 42字节或1458字节(< – 这实际上是错误的!)。 现在最重要的是,你必须添加IPv4和UDP头,这是28字节(20 IP + 8 UDP)。 这使我的最大可能的应用程序消息为1430字节! 但通过在互联网上查找这个数字,我看到了1472。 我在这里做这个计算错了吗? 我想知道的是我可以通过电线发送的最大应用消息,而不会造成碎片。 这绝对不是1500,因为它包含帧头。 有人可以帮忙吗? 令人困惑的是PAYLOAD实际上可能高达1500字节,这就是MTU。 那么现在1500的有效载荷的线内尺寸是多less呢? 从那张表中可以看到1542个字节。 因此,我可以发送的最大应用信息是1472(1500 – 20(ip) – 8(udp)),在1542线的最大值。令我惊讶的是,事情实际上很简单,事情变得如此复杂。 而且我不知道如果有人说1542,那么有人提出了1518。

什么是OSI模型?它如何适用于今天的networking?

作为系统pipe理员,我应该了解OSI模型 ? ( Rec X.200 ) 简而言之,层是什么,他们做什么? 我在日常工作中需要了解多less? 这与TCP / IP模型有何不同? ( RFC1122 ) OSI模型是否仍然适用于今天的networking?

如何将电子邮件传送到没有MXlogging的域名?

有人有2个电子邮件地址:[email protected][email protected]。 这些域的DNSlogging如下所示: domainname.com.br $ dig any domainname.com.br ;; ANSWER SECTION: domainname.com.br. 86179 IN SOA ns1.domainname.com.br. suporte.domainname.com.br. 2010081200 20000 4000 1409600 86400 domainname.com.br. 86179 IN MX 10 domainname.com.br. domainname.com.br. 86179 IN A 177.39.XXX.YY domainname.com.br. 85342 IN NS ns1.domainname.com.br. ;; AUTHORITY SECTION: domainname.com.br. 85342 IN NS ns1.domainname.com.br. ;; ADDITIONAL SECTION: domainname.com.br. 86179 IN A 177.39.XXX.YY ns1.domainname.com.br. 85342 […]

如何使用Bonjour?

首先,Bonjour究竟做了什么(请认真阅读我的猜测)? 在这里,我发现Bonjour能够自动发现IPnetworking上的计算机,设备和服务。 但是我认为,它不仅“发现IPnetworking上的设备”,还通过为运行Bonjour的设备分配IP地址来创buildIPnetworking。 我对吗? 我仍然错过了本质。 它以下列方式工作吗? 首先,我需要物理连接设备(例如笔记本电脑),以便它们可以相互通信。 然后,让我们说,在一些笔记本电脑上,我正在运行Bonjour,因此这些笔记本电脑会自动分配IP地址给自己。 因此,笔记本电脑(Bonjour正在运行)build立一个IPnetworking。 它以这种方式工作吗? 或者可能是运行Bonjour的计算机不被视为服务,并且仅仅因为Bonjour正在这台计算机上运行而不会自行播放。 我的意思是在电脑上运行的应用程序需要使用Bonjour来自己播放。 所以,它是应用程序自己播放(不是电脑),而不是自动完成(应用程序需要明确地自己播放)。 这样对吗? 我的应用程序可以如何播放? 我可以使用命令行注册一个服务 (这样所有使用Bonjour的应用程序都知道一个新的服务出现了)? 此外,我想有一个应用程序使用Bonjour创build的IPnetworking。 为此,我的应用程序需要知道networking中存在哪些设备/服务。 更详细的说,我的应用程序需要有一个服务列表。 列表中的每个服务都应该有一个名称,运行的IP地址和应用程序使用的端口。 Bonjour能以某种方式提供这些信息吗? 如果是这样,它究竟是如何工作的。 我的程序如何从Bonjour获得这些信息? 我的程序是否可以读取由Bonjour创build的文件,并包含上述信息? 我可以在命令行中使用一些命令来检索这些信息吗? 我特别感兴趣的是通过命令行访问文件,环境variables或命令中的服务信息。 这些选项在我看来是最简单的! 因为在这种情况下,我不需要使用任何额外的库来从特定的编程语言与Bonjour进行通信。 PS请问如果我的问题中有些问题不清楚,请提问。 我会试图以更清晰的方式来提出我的问题。 PPS 我使用Windows 7 。 ADDED:我打算用PHP写我的应用程序。 每台电脑都应该运行一个Apache Web服务器。 我想用Bonjour来帮助电脑发现对方(电脑在本地networking中工作)。

任何stream行的IMnetworking都可以这样工作吗?

Joe,Jack和Jill使用IM作为他们工作的A公司之间的沟通媒介,并与世界各地的客户和合作伙伴进行沟通。 这里没有什么不妥 – 这是一个合法的工作工具。 +—–+ +—–+ |Mary | |Joe |——–+ +—–+ +—–+ | / +——+ ____________/ +—–+ | | / \ |Jack |—–|Server|—–| The Internet | +—–+ | | \____________/ +——+ \ +—–+ | \ |Jill |——–+ +—–+ +—–+ |Paul | +—–+ 我想,如果互联网连接死亡,乔,杰克和吉尔仍然能够在公司内互相联系。 毕竟,它们之间的networking连接并没有受到影响。 任何stream行的即时通讯networking都可以透明地做到这一点吗? 也许在公司服务器上安装类似代理的程序? These three still see each other vvvvvv +—–+ +—–+ […]

在同一networking中获取IP地址和计算机名称

什么是可用于获取位于同一networking中的计算机的IP地址和名称的命令? 我正在运行Windows

192.168.1.x更易被利用?

我们的IT服务公司正在提出一种networking重新configuration,在内部使用IP范围10.10.150.1 – 10.10.150.254,因为它们使用制造商的默认值192.168.1.x声明当前的IPscheme是“使其易于开发”。 这是真的? 如何知道/不知道内部IPscheme使networking更易被利用? 所有内部系统位于SonicWALL NAT和防火墙路由器的后面。

我怎么能强迫美国的用户去美国的服务器和英国的访问者去英国的服务器

如果我有来自美国和欧洲的访问者的单个域名,并且还有2个服务器,一个位于美国,一个位于英国,那么我怎么能强迫美国用户到美国服务器和英国访问者去英国服务器为了减less访客的ping? 首先这是可能的? 而为什么像谷歌这样的公司在每个国家都有不同的域名?

最stream行的关于networking的误解

00000001 + 00000001 = 00000011 替代文字http://locobox.googlepages.com/red_x_round.png 关于networking的误解* 时间到了!“在某个时刻”,你以为你知道一些事情,并且由于对这个问题的误解而结果不正确,或者不完全正确。 让我们build立一个stream行的误解新手,甚至一些经验丰富的ITpipe理员,清楚地关于networking的清单。 我的希望是build立一个非常有用的大脑转储,为这个社区的成员提供良好的资源。 我将从一个非常明显的例子开始(具有最多票数的项目将在上面) : 所有以169开头的地址都来自APIPA故障切换系统 当操作系统找不到networking接口的分配地址时,只保留169.254.0.0/16用于APIPA分配( 读取:rfc3927 )。 ***** 不要误认为“系统pipe理员的错误”