不要追求绝对的公平,红尘之中没有公平而言,人活一世,难得糊涂。                                           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

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

51Testing软件测试网YD1X i W K

TCP连接的三次握手51Testing软件测试网!V4M Y^,\ c
TCP在建立连接的时候需要三次交互:51Testing软件测试网Q4jN]^7a[XR
首先,服务器端需要创建SOCKET,并执行bind,listen,监听端口51Testing软件测试网 EP3M5]G|$y
1。客户端调用connect函数,这将导致客户端发送一个SYN分节,在SYN中将标明客户端在后续的发送数据中使用的初始序列号k。51Testing软件测试网-UVv7wn|xR
2。服务器端对该SYN进行确认,返回一个ACK(确认应答acknowledge),在ACK中含有服务器期待客户端后续数据的序列号,通常为K+1,另外服务器还发送一个同步分节SYN,里面标明服务器端即将发送数据的初始序列号J。51Testing软件测试网'BH:kl:\;C2aA6l
3。客户端对该SYN进行确认,同时含有J+1。51Testing软件测试网]{-Gb{
一般每个SYN中含有MSS选项,用来通知对方自己的所能接受的最大分节大小。51Testing软件测试网 l*D0J6t Fz/f(Tz

51Testing软件测试网&I;x8`T? }l2^TF+Za

关闭TCP连接
DR$a K*tP#zR$Qb01。某个应用程序调用close,称这一端为主动关闭(active close)。该端将向另一端发送一个FIN分节,表明数据发送完毕。
Wv-s"P^9y9z02。收到FIN的一端执行被动关闭(passive close)。TCP对该FIN进行确认,并将该FIN作为文件结束符传递给应用程序。
rT$om~03。一段时间后,收到FIN的应用程序调用close。这将导致该另一端发送一个FIN。51Testing软件测试网q1^Qd9Uc T3W
4。主动关闭这一方对该FIN进行确认。51Testing软件测试网:O1u@eKla
主动关闭一方在发送FIN后将进入TIME_WAIT状态。该状态将持续最长分节生命期MSL的两倍。51Testing软件测试网1R0y(C\W

51Testing软件测试网k-q a5z5h

主要是为了:51Testing软件测试网+`4Ws2j l/V7{
 1.实现终止TCP全双工连接的可靠性51Testing软件测试网 S3W%V!x U
 2.允许老的重复分节在网络中消失51Testing软件测试网Q?i pZb*H

51Testing软件测试网B F7d}O!S,d*c

在IPv4中,一个ip数据报的最大大小是65535字节,包括ip头部。当一个IP数据报发出时,如51Testing软件测试网-SG%r8i i ?7p'o#vp

51Testing软件测试网lDW4i)Fu/d%u

果他的大小超过相应链路的MTU,IPv4将会对数据报执行分片。IPv4主机会对其产生的数据报51Testing软件测试网\+E%?1h&w]/a~*q

.OH6q)X,n0执行分片,IPv4路由器对其转发的数据报也会执行分片。另外,IPv4头部有一个选项DF,用来

M3h\e`0

Jw)yM9wr0表示该数据报不允许分片。如果一个路由器收到一DF设置的数据报且该数据报大小超过MTU,51Testing软件测试网.j$I3^ve;y5]

51Testing软件测试网 UjY2f[@

则会产生一个ICMPv4的出错消息。

[9Af'e7Ut!]$~051Testing软件测试网;m1uJ7jj7s

每个TCP套接字有一个发送缓冲区,当调用write时,内核将从应用程序的缓冲区中拷贝所有51Testing软件测试网#S\6H%b.~ }#j+MC4s5?

51Testing软件测试网 PDv+{5H9s}N

数据到套接口的发送缓冲区。当套接字的缓冲区不够大,应用程序将被挂起直到套接字的缓

/T;m$kyoC051Testing软件测试网\)TJ,^.jX7ok

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

D2}|*Q/x,?r&[0

:kx h!l!N(n0后才将发送数据删除。51Testing软件测试网V,AVtW"L:gG
TCP以MSS(Maximum Segment Size最大报文段长度)大小或更小的块发送数据到IP,其中MSS是由对方通告的。如果对方为通告则用536

e$l+BB9bg'WK*G Vz0

TAG:

 

评分:0

我来说两句

Open Toolbar