草庐IT

ip_network

全部标签

networking - 在 UDP 的情况下,MTU 重传如何工作

众所周知,UDP不支持重传和其他一些东西。我们也知道像MTU这样的东西基本上以下列方式工作——当源点和目标点之间的路径上的网络设备之一不支持某种大小的数据包时,它就会丢弃它。对于TCP,这不是问题——它已经知道握手后的MSS总是小于MTU(我说的对吗?),因此不可能发送大小大于MTU的数据包。但是,我想知道在UDP情况下它是如何工作的?正如我已经说过的,此协议(protocol)中没有重传,也没有MSS这样的东西。那么当数据包因超过MTU而被丢弃时会发生什么?或者它只是因为MTU性质才起作用(它实际上属于IP层,而不是像UDP或TCP这样的传输层协议(protocol))?所以IP层以

networking - 每个发送的 TCP 数据包是否有一个单独的重传计时器?

我有一个关于TCP重传定时器的问题。我已经阅读了很多关于TCP拥塞控制的文章、博客条目和其他内容,当然我也遇到了重传计时器。也许这是一个愚蠢的问题,但有时会提到对于每个发送的段都会启动一个计时器,而在其他地方据说会为每个发送的段重置计时器。那么是每个发送的段有一个单独的RetransmissionTimer,使得发送的段有多少个定时器,还是只有一个RetransmissionTimer? 最佳答案 以下几行来自“TCPIPIllustrated,volume1”,所以似乎只有一个定时器存在,新的取代了旧的。OnceasendingT

sql-server - SQL 2005 作业执行 : TCP/IP vs Named Pipes

你好,我在SQL2005实例上有2个作业,它们运行一个相同的T-SQL步骤。该步骤对远程2005实例执行跨服务器查询。作业之间的唯一区别是一个由系统管理员拥有,一个不是。系统管理员拥有的作业在代理的启动帐户下执行,不属于系统管理员的作业在作业所有者的帐户下执行。到目前为止一切顺利。但是,系统管理员拥有的作业尝试使用TCP/IP连接到链接服务器,另一个使用命名管道。我知道这是因为非系统管理员作业因命名管道连接错误而失败。我不想通过命名管道连接,因为它不支持Kerberos。仅配置了一个链接服务器,因此两个查询都在使用它,并且没有要在与网络协议(protocol)相关的链接服务器中设置的属

networking - 通过限制性出站防火墙建立 TCP 连接

我正在使用Java创建一个使用TCP进行通信的客户端/服务器应用程序。运行客户端的网络有一个出站防火墙,阻止客户端连接到服务器。有什么方法/解决方法可以通过此防火墙创建TCP连接吗?我曾尝试使用开放的公共(public)端口,例如端口80、443和113,但是防火墙似乎在建立连接后就断开了连接(可能是通过检测非协议(protocol)数据包)。另一种方法是让客户端软件作为从外部网站托管的Java小程序运行,但我不确定出站防火墙是否仍能阻止此连接。如有任何帮助,我们将不胜感激。 最佳答案 假设用户可以访问互联网,而您无法通过端口80/

tcp - 基于 FreeBSD 或 NetBSD 的商业 TCP/IP 堆栈供应商?

接收基于FreeBSD或NetBSD的商业TCP/IP堆栈实现的建议。要求类似于运行浏览器、电子邮件和流式语音/视频的典型台式PC。也就是说,具有成熟实现和合理性能的终端主机类型设备的丰富网络功能。多年来,BSD派生的网络堆栈部署在各种情况下,因此具有成熟的实现。它应该在专有的RTOS上运行。如果他们的堆栈基于BSD,我发现的大多数供应商都不会做广告。有什么建议吗?--维内特 最佳答案 它不是商业的,但你可以看看OSkit。它使用FreeBSD的网络堆栈。从OSkit中取出堆栈可能比从FreeBSD中取出堆栈更容易http://ww

vb6 winsock 控件 RemoteHostIP 截断 IP 地址的最后一位

您好,我正在用VB6编写套接字客户端/服务器应用程序。我有以下代码PrivateSubsockMain_ConnectionRequest(ByValrequestIDAsLong)IfsockMain.StatesckClosedThensockMain.CloseEndIfsockMain.AcceptrequestIDDebug.Print"Acceptedconnectionfrom:"&sockMain.RemoteHostIP&vbCrLfEndSub它打印IP但最后一位数字丢失示例,如果我的连接来自“192.168.1.123”,则它仅显示“192.168.1.12”

.net - .Net TCP/IP 库有什么改进吗?

有时候,我不得不使用.NetFramework2.0开发普通的TCP/IP客户端-服务器应用程序。我发现.net2.0套接字库效率很低,过去占用大量内存和处理周期,然后我们切换到C++,它运行良好。我想检查.Net3.0或更高版本中的TCP/IP库是否有任何改进。如果您同时使用.NetTCP/IP库,您的经验是什么。Net2.0和2.0之后的.net框架? 最佳答案 我对基本的Socket类没有任何问题;正如“nos”指出的那样,它只是WinSockAPI上的一个非常薄的层。他们确实将整个*Async/SocketAsyncEven

networking - tcp reno、newreno 和慢启动

当在慢启动过程中发生丢包时,reno/newreno算法是否注意到可能的dupacks,还是纯粹的慢启动->rto?因此,如果发送两个数据包(在慢启动开始时),而第一个数据包丢失了,那么慢启动除了rto之外还会做其他事情吗?这是令人困惑的,因为rfc声明“在实践中它们(慢启动和拥塞避免)是一起实现的”。而且linux源代码读起来有点厚,而且只有一个实现。 最佳答案 Whenpacketlossoccurswhileinslowstart,doesthereno/newrenoalgorithmsnoticepossibledupac

c# TCP/IP 服务器和客户端

我想编写类似TCP/IP服务器和客户端的程序,但我希望它是基于Web的,因此在客户端,它们可以在任何Web浏览器上运行并能够连接到服务器。我该如何处理,我想使用visualstudioc#。我查看了网络套接字,这是要走的路吗?? 最佳答案 您可以在Silverlight中开发客户端,服务器端可以是标准的C#控制台/winforms应用程序。 关于c#TCP/IP服务器和客户端,我们在StackOverflow上找到一个类似的问题: https://stacko

networking - 丢弃 TCP 连接,这正常吗?

我在我的本地机器上设置了这个简单的脚本:#!/usr/bin/pythonimportsocketfromdatetimeimportdatetimeprint"Connectingtotestserver"s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect(("mydomain.com",9090))start=datetime.now()totalbytes=0try:whileTrue:data=s.recv(512)totalbytes+=len(data)print"Got%dbytesofdata"%(le