tcp/ip详解学习---tcp

长平狐 发布于 2012/09/20 12:19
阅读 203
收藏 1

 1。tcp连接的建立与终止

    建立过程:

    (1).客户端请求建立连接。ACK=0    SYN=1    sequence number=ISN(CLIENT)    acknowledgement number=null    options=mss

    (2).服务段确认连接。ACK=1    SYN=1    sequence number=ISN(SERVER)    acknowledgement number=ISN(CLIENT)+1    options=mss

    (3).建立连接。ACK=1    SYN=0    acknowledgement number=ISN(SERVER)+1

    终止过程:

    (1).客户端断开连接请求。ACK=1    FIN=1    sequence number=ISN(CLIENT)+N+1    acknowledgement number=ISN(SERVER)

    (2).服务器确认。ACK=1    FIN=0    acknowledgement number=ISN(CLIENT)+N+1

    (3).服务器断开连接请求。ACK=1    FIN=1    sequence number=ISN(SERVER)+N+1    acknowledgement number=ISN(CLIENT)+N+1

    (4).客户端确认。ACK=1    FIN=1    acknowledgement number=ISN(SERVER)+N+1

2。push标志的设置

    (1).当应用程序向tcp连接写八个1024bytes数据时,每个数据的tcp报文的push标志都为1。

    (2).当应用程序向tcp连接写一个8*1024bytes数据时,理论上是只要把最后一个tcp报文的push标志设为1就可以。但是由于发送端的发送缓冲区大小的限制,所以会出现每次发送缓冲区的多个tcp报文时,最后一个tcp报文的push标志都要设置为1。

3。tcp通信过程

    (1).A、B两台主机处于同一网段:

    A主机发出RAP广播,得到B主机的mac值。然后封装数据包,源mac值为A的mac地址、目标mac值为B的mac地址、源ip为A的ip地址、目的ip指为B的ip地址。

   A-------------------------------->BsourceIp: Ip_a

 

 

sourceMac: Mac_a

destIp: Ip_b

destMac: Mac_b   

 (2).A、B不处于同一网段,两主机之间经由c、d两个路由器

    A---------------------->c----------------------->d------------------------>B

sourceIp: Ip_a                     sourceIp: Ip_a                            sourceIp: Ip_a

sourceMac: Mac_a            sourceMac: Mac_c2                   sourceMac: Mac_d2

destIp: Ip_b                         destIp: Ip_b                                 destIp: Ip_b

destMac: Mac_c1              destMac: Mac_d1                        destMac: Mac_b

sadfd


原文链接:http://blog.csdn.net/lf8289/article/details/2154459
加载中
返回顶部
顶部