如何计算IP地址为128.2.19.4且属于子网128.2.19.0/25的子网掩码。请给我详细的过程。我想学习计算。 最佳答案 这是您示例的算法:子网掩码只是子网地址“/25”部分的表示。在IPv4中,地址有32位长,其中前25位是1:11111111111111111111111110000000地址以八位字节给出——每个八位字节:octet1.octet2.octet3.octet40000000000000000000000000000000011111111111111111111111110000000所以每个八位字节的
每隔一段时间,通过ftp下载(尤其是大的)文件就会出错。我猜这也是所有主要网站都在下载时发布外部校验和的部分原因。如果ftp通过TCP,这怎么可能呢?TCP内置了校验和,如果数据传输错误则重新发送数据?有人可能会争辩说,这是由于TCP协议(protocol)中的CRC长度较短(我认为是16位,或类似的长度),并且冲突发生得太频繁了。但1)要做到这一点,不仅必须存在CRC冲突,而且随机网络错误必须同时修改数据包中的CRC和数据包本身,以便CRC对新数据包有效......即使使用16位CRC,也有可能吗?2)例如,浏览同样通过TCPIP的网页时,似乎没有太多错误。
我正在尝试调整TCP以在实时通信中正常工作。要做到这一点,规范之一是强制TCP接受应用程序写入的新数据,即使缓冲区已满,这使得TCP有时“不可靠”。这样,应用程序写入调用就不会被阻塞,发送方应用程序的时间也不会中断。我认为NS2中必须有一个选项才能使其成为可能。那么,如何强制TCP丢弃缓冲区中最旧的数据段并接受NS2中应用程序写入的新数据? 最佳答案 你不能。TCP是“可靠流”。任何允许删除数据的功能都与该目标背道而驰,因此不存在此类支持。如果您希望能够丢弃数据,如果您想要“最可靠的传送”而不是“最大努力”,您将不得不切换到UDP之
我正在研究IP数据包结构,我想知道操作系统是如何生成IP标识号的。我相信不同的平台会有不同的算法。如果有人能指出一些可靠的引用资料来理解细节,我将不胜感激。谢谢 最佳答案 如果您想了解操作系统如何实现某些功能,只需查看几种可用的免费操作系统之一的源代码即可。在这种情况下,您要查找的代码在Linux的__ip_select_ident中。功能。看起来它保留了一些每个点(每个目标地址)的状态信息(基本上是一个计数器),但它也有一个回退算法,以防查找此状态信息失败。 关于networking-
当我遇到接收窗口的概念时,我正试图了解TCP流量控制的工作原理。我的问题是,为什么TCP接收窗口是可扩展的?实现较小的接收窗口大小有什么好处吗?因为据我了解,接收窗口大小越大,吞吐量就越高。而接收窗口越小,吞吐量越低,因为TCP将始终等待分配的缓冲区未满,然后再发送更多数据。那么,让接收窗口始终处于最大值以获得最大传输速率是否有意义? 最佳答案 Myquestionis,whyistheTCPreceivewindowscale-able?这里有两个问题。窗口缩放是将比例乘以2的幂的能力,因此您可以使窗口大小>64k。但是,您的问题
我已经阅读了很多关于UDP与TCP的其他线程,但还没有真正找到任何能够正确回答我的设计问题的线程我将为一个项目开发的聊天网络将有3个主要应用程序:客户端、服务器和一个HUB(服务器)。HUB服务器是将所有服务器连接在一起形成网络的主要服务器。服务器将跟上正在创建的聊天室,换句话说,它将托管聊天室。客户端将用于连接到服务器以加入聊天室。现在我主要关心的是,在从客户端到客户端、服务器到服务器或服务器到客户端发送或执行请求时,我什么时候应该使用UDPoverTCP,反之亦然?注意:整个聊天网络项目100%基于文本,没有图形、网络摄像头、麦克风或文件共享功能。 最佳
我知道TCP被认为是一种可靠的协议(protocol),因为它向发送器发送确认信号,使其知道数据包已完好无损地到达目的地。在处理传入的HTTP请求时,TCP是否会在将数据传递给HTTP协议(protocol)进行处理之前发送确认信号?还是HTTP协议(protocol)发送的响应报文兼作确认信号? 最佳答案 您的问题在这里似乎有些离题。但是……简短的回答是肯定的。TCP在HTTP看到数据之前发送ACK。但是HTTP响应不是TCPACK。稍微长一点的答案是,在大多数系统上,TCPack独立于堆栈中较高层的处理。通常为每个数据窗口发送一
我试图了解在跃点期间IP数据包发生了什么样的结构变化。请允许我用例子解释我的问题。traceroute-w1google.comtraceroutetogoogle.com(216.58.199.174),64hopsmax,52bytepackets1192.168.0.1(192.168.0.1)1.055ms0.857ms0.822ms210.0.0.1(10.0.0.1)2.038ms1.477ms1.540ms3***4114.79.130.1.dvois.com(114.79.130.1)3.091ms2.076ms2.329ms510.241.1.6(10.241.1.6
我目前正在浏览我的网络幻灯片,想知道是否有人可以帮助我了解碎片化的概念所以我理解第一部分直到“108字节”,但我不明白的是这个“8字节=13.5=>13*8字节=104字节”这些额外的字节是什么?剩下的就清楚了。 最佳答案 您必须在八字节边界上对数据包负载进行分段。对于128字节的MTU,您可以拥有的最大负载片段是104字节,这比简单地从MTU中减去IP报头(108字节)要小。文本告诉您的是,从MTU中减去数据包header大小(20字节),下一个可被8整除的较小片段大小是104字节。RFC791,InternetProtocol完
是否有任何字段/选项/任何我可以放入TCP数据包(无论是syn还是ack或只是纯数据)我可以确定会被另一端原封不动地返回?例如。我想用一个数字“标记”一个特定的连接(src、srcport、dst、dstport),我总是可以从属于该连接的数据包中读取该数字。这意味着我可以在不使用4元组的情况下识别连接(如上所述)。 最佳答案 是的:它被称为封装在TCP服务器协议(protocol)中的Client协议(protocol)。换句话说:定义客户端协议(protocol)以满足您的需求。不要试图在TCP开销中“推”额外的位。当然还有'o