不要追求绝对的公平,红尘之中没有公平而言,人活一世,难得糊涂。                                           it is no use doing what you like, you have got to like what you do.

TCP/UDP

上一篇 / 下一篇  2007-04-18 10:10:36 / 个人分类:Mercury LoadRunner

51Testing软件测试网#u _ sq.Fa

UDP为用户数据报协议,提供无连接服务,每个数据报都有一定长度。UDP不关心数据是否发送成功,这一切需要上层来保证。51Testing软件测试网N ]I G_ o
TCP为传输控制协议,提供面向连接,给用户提供全双工的字节流。TCP关心确认、超时和重传等细节。tcp提供流量控制,告诉对方自己的通告窗口(advertised window)

!z6fXT#nI0

A \U0oI-TB0TCP连接的三次握手51Testing软件测试网MT]ft9Ic
TCP在建立连接的时候需要三次交互:
Yz&uxx0首先,服务器端需要创建SOCKET,并执行bind,listen,监听端口51Testing软件测试网nq prQ+\ F9\3eK
1。客户端调用connect函数,这将导致客户端发送一个SYN分节,在SYN中将标明客户端在后续的发送数据中使用的初始序列号k。51Testing软件测试网A JG!nO{
2。服务器端对该SYN进行确认,返回一个ACK(确认应答acknowledge),在ACK中含有服务器期待客户端后续数据的序列号,通常为K+1,另外服务器还发送一个同步分节SYN,里面标明服务器端即将发送数据的初始序列号J。
oa$dWd{v03。客户端对该SYN进行确认,同时含有J+1。
+[q_,y9? @M:X0一般每个SYN中含有MSS选项,用来通知对方自己的所能接受的最大分节大小。

p9jV,?\1W~u051Testing软件测试网7\;i%XMN(I;?/O

关闭TCP连接51Testing软件测试网dZ-a;VS1en"Q
1。某个应用程序调用close,称这一端为主动关闭(active close)。该端将向另一端发送一个FIN分节,表明数据发送完毕。
o}+hwn8w7d02。收到FIN的一端执行被动关闭(passive close)。TCP对该FIN进行确认,并将该FIN作为文件结束符传递给应用程序。51Testing软件测试网 g\E/B x.CK!J
3。一段时间后,收到FIN的应用程序调用close。这将导致该另一端发送一个FIN。51Testing软件测试网(fg^rX1U}6H&t7A
4。主动关闭这一方对该FIN进行确认。51Testing软件测试网 Q,|"Z7i4q~0|7G1u5|
主动关闭一方在发送FIN后将进入TIME_WAIT状态。该状态将持续最长分节生命期MSL的两倍。

o/W_&l.a j~{051Testing软件测试网i:o`I)})u

主要是为了:51Testing软件测试网6w)cY GF]j2Yz+Q4C7Z
 1.实现终止TCP全双工连接的可靠性
G(m@&~8? z,aTY0 2.允许老的重复分节在网络中消失

A)A M Hc2Q g{/y0

+HlR {^Y0在IPv4中,一个ip数据报的最大大小是65535字节,包括ip头部。当一个IP数据报发出时,如

d)le%S%?Ur;d-dA051Testing软件测试网Eao,wdkj

果他的大小超过相应链路的MTU,IPv4将会对数据报执行分片。IPv4主机会对其产生的数据报

8X9A:mX"u0

)TRN*k"Y.a0执行分片,IPv4路由器对其转发的数据报也会执行分片。另外,IPv4头部有一个选项DF,用来

#C5{*J'P` }051Testing软件测试网%JO?)b.XA.aL

表示该数据报不允许分片。如果一个路由器收到一DF设置的数据报且该数据报大小超过MTU,51Testing软件测试网Trs1MW J'{X

g/yL%TBP;f4M0则会产生一个ICMPv4的出错消息。51Testing软件测试网-["s(A6M L5g wm(OX.]

[ I6}e;q VK3`0每个TCP套接字有一个发送缓冲区,当调用write时,内核将从应用程序的缓冲区中拷贝所有

O J9|+w!^9QiZs"i.m0

Nf'Rvmfe)D2V0数据到套接口的发送缓冲区。当套接字的缓冲区不够大,应用程序将被挂起直到套接字的缓51Testing软件测试网I7I,dG*g

51Testing软件测试网:c[]1E2i}1D

冲区可以容纳应用程序的缓冲区。在TCP将缓冲区的数据发送出去后,他将在收到对方的确认

)k w-?7l0S"F3hqU([051Testing软件测试网)|"_h0r X6sC

后才将发送数据删除。
;@.|;n2`*n2ws0TCP以MSS(Maximum Segment Size最大报文段长度)大小或更小的块发送数据到IP,其中MSS是由对方通告的。如果对方为通告则用53651Testing软件测试网_[GxT R"e,Wb


TAG:

 

评分:0

我来说两句

Open Toolbar