随笔分类 - TCP/IP
摘要:http://www.cnblogs.com/wildman/archive/2009/07/06/1517629.html接上一篇《基于.NET技术的监控系统应用分析》中所描述的数据通信协议设计,我们来看一下在C#中是怎么对自定义协议进行封包的?我们知道基于流的数据协议的特点:发送和接收到的数据都是连续的流。每次网络I/O操作的流长度不确定,也就是无法知道每次接收到的数据是一个完整的数据包。同样,主机发送一个数据包也会根据网络的实际情况执行若干次。所以我们对这类消息的编解码过程需要进行一个统一的封装。重新回顾一下每个消息的结构:消息头 + 消息体。每次先发送出去的是消息头,然后是消息体。消息
阅读全文
摘要:不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序 最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE little-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位存储值的高位 怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说 低位值小,就应该放在内存地址小的地方,也即内存地址低位 反之,高位值就应该放在内存地址大的地方,也即内存地址高位 BE big-endian 最直观的字节序 地址低位存储值的高位 地址高位存储值的低位 为什么说直观,不要考虑对应关
阅读全文
摘要:使用异步socket的时候需要注意memory spike这个是我在网上看的一篇文章,原文地址为:http://morganchengmo.spaces.live.com/blog/cns!9950CE918939932E!3022.entry在.net 中,内存是被系统托管的,程序员无需关心内存泄露问题,但是,在异步socket的时候,这个却是不大靠得住的,虽然不会出现memory leak,但会出现功能类似的memory spike。按照KB947862(http://support.microsoft.com/kb/947862)的说法,使用Socket和NetworkStream的异步
阅读全文
摘要:2009年07月11日 星期六 下午 12:48[译]C# Socket连接请求超时机制介绍您可能注意到了,.Net的System.Net.Sockets.TcpClient和System.Net.Sockets.Socket都没有直接为Connect/BeginConnect提供超时控制机制。因此,当服务器未处于监听状态,或者发生网络故障时,客户端连接请求会被迫等待很长一段时间,直到抛出异常。默认的等待时间长达20~30s。.Net Socket库的SocketOptionName.SendTimeout提供了控制发送数据的超时时间,但并非本文讨论的连接请求的超时时间。背景这个问题最初源于我
阅读全文
摘要:以前在工作中,有时会碰到网吧网络风暴或病毒导致的网络瘫痪,这个时候,我们通常会将所有交换机的电源全部关掉,稍候从启交换机。 但是当交换机重启后,我们发现问题并没有解决,因为很快网络又瘫痪了,这时我们考虑到应该是网络中的某一台交换机或某一台电脑有问题,我们通常会通过分段断网的方式来解决,这样通常经过很长时间,我们逐个打开交换机,并且同时开启ping命令,ping电信的测试DNS,厦门的测试DNS...
阅读全文
摘要:一、什么是TCP和UDPTCP和UDP是TCP/IP协议中的两个传输层协议,它们使用IP路由功能把数据包发送到目的地,从而为应用程序及应用层协议(包括:HTTP、SMTP、SNMP、FTP和Telnet)提供网络服务。TCP提供的是面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。面向连接的协议在任何数据传输前就建立好了点到点的连接。ATM和帧中继是面向连接的协议,但...
阅读全文
摘要:1. 前言TCP通信时,如果发送序列中间某个数据包丢失,TCP会通过重传最后确认的包开始的后续包,这样原先已经正确传输的包也可能重复发送,急剧降低了TCP性能。为改善这种情况,发展出SACK(Selective Acknowledgment, 选择性确认)技术,使TCP只重新发送丢失的包,不用发送后续所有的包,而且提供相应机制使接收方能告诉发送方哪些数据丢失,哪些数据重发了,哪些数 据已经提前收到...
阅读全文
摘要:1988年Van Jacobson指出了TCP在控制网络拥塞方面的不足,并提出了“慢启动”(Slow Start)、“拥塞避免”(Congestion Avoidance)的算法。1990年出现的TCP Reno版本增加了“快速重传 ”(Fast Retransmit)、“快速恢复”(Fast Reco...
阅读全文
摘要:与数据链路层的ARQ协议相类似,TCP使用超时重发的重传机制。即:TCP每发送一个报文段,就对此报文段设置一个超时重传计时器。此计时器设置的超时重传时间RTO(Retransmission Time-Out)应当略大于TCP报文段的平均往返时延RTT,一般可取RTO=2RTT。但是,也可以根据具体情况人为调整RTO的值,例如可以设置此超时重传时间RTO=90秒。当超过了规定的超时重传时间还未收到对...
阅读全文
摘要:网络七层的功能 网络七层包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。 那么,网络七层的具体定义和相应职责各是什么呢?下图便是OSI七层模型的协议堆栈示意,它们由下到上分别为: 第一层—物理层:物理层定义了通...
阅读全文

浙公网安备 33010602011771号