亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1009 | 回復(fù): 0
打印 上一主題 下一主題

TCP三次握手連接及seq和ack號的正確理解 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-12-20 09:47 |只看該作者 |倒序瀏覽

三次握手Three-way Handshake

一個虛擬連接的建立是通過三次握手來實現(xiàn)的

1. (B) –> [SYN] –> (A)

假如服務(wù)器A和客戶機B通訊. 當A要和B通信時,B首先向A發(fā)一個SYN (Synchronize) 標記的包,告訴A請求建立連接.

注意: 一個 SYN包就是僅SYN標記設(shè)為1的TCP包(參見TCP包頭Resources). 認識到這點很重要,只有當A受到B發(fā)來的SYN包,才可建立連接,除此之外別無他法。因此,如果你的防火墻丟棄所有的發(fā)往外網(wǎng)接口的SYN包,那么你將不能讓外部任何主機主動建立連接。

2. (B) <– [SYN/ACK] <–(A)

接著,A收到后會發(fā)一個對SYN包的確認包(SYN/ACK)回去,表示對第一個SYN包的確認,并繼續(xù)握手操作.

注意: SYN/ACK包是僅SYN 和 ACK 標記為1的包.

3. (B) –> [ACK] –> (A)

B收到SYN/ACK 包,B發(fā)一個確認包(ACK),通知A連接已建立。至此,三次握手完成,一個TCP連接完成

Note: ACK包就是僅ACK 標記設(shè)為1的TCP包. 需要注意的是當三此握手完成、連接建立以后,TCP連接的每個包都會設(shè)置ACK位

握手階段:
序號 方向 seq ack
1  A->B 10000 0
2 B->A 20000 10000+1=10001
3 A->B 10001 20000+1=20001
解釋:
1:A向B發(fā)起連接請求,以一個隨機數(shù)初始化A的seq,這里假設(shè)為10000,此時ACK=0

2:B收到A的連接請求后,也以一個隨機數(shù)初始化B的seq,這里假設(shè)為20000,意思是:你的請求我已收到,我這方的數(shù)據(jù)流就從這個數(shù)開始。B的ACK是A的seq加1,即10000+1=10001

3:A收到B的回復(fù)后,它的seq是它的上個請求的seq加1,即10000+1=10001,意思也是:你的回復(fù)我收到了,我這方的數(shù)據(jù)流就從這個數(shù)開始。A此時的ACK是B的seq加1,即20000+1=20001

數(shù)據(jù)傳輸階段:
序號  方向      seq ack size
23 A->B 40000 70000 1514
24 B->A 70000 40000+1514-54=41460 54
25 A->B 41460 70000+54-54=70000 1514
26 B->A 70000 41460+1514-54=42920 54
解釋:
23:B接收到A發(fā)來的seq=40000,ack=70000,size=1514的數(shù)據(jù)包
24:于是B向A也發(fā)一個數(shù)據(jù)包,告訴B,你的上個包我收到了。B的seq就以它收到的數(shù)據(jù)包的ACK填充,ACK是它收到的數(shù)據(jù)包的SEQ加上數(shù)據(jù)包的大小(不包括以太網(wǎng)協(xié)議頭,IP頭,TCP頭),以證實B發(fā)過來的數(shù)據(jù)全收到了。
25:A在收到B發(fā)過來的ack為41460的數(shù)據(jù)包時,一看到41460,正好是它的上個數(shù)據(jù)包的seq加上包的大小,就明白,上次發(fā)送的數(shù)據(jù)包已安全到達。于是它再發(fā)一個數(shù)據(jù)包給B。這個正在發(fā)送的數(shù)據(jù)包的seq也以它收到的數(shù)據(jù)包的ACK填充,ACK就以它收到的數(shù)據(jù)包的seq(70000)加上包的size(54)填充,即ack=70000+54-54(全是頭長,沒數(shù)據(jù)項)。

其實在握手和結(jié)束時確認號應(yīng)該是對方序列號加1,傳輸數(shù)據(jù)時則是對方序列號加上對方攜帶應(yīng)用層數(shù)據(jù)的長度.如果從以太網(wǎng)包返回來計算所加的長度,就嫌走彎路了.
另外,如果對方?jīng)]有數(shù)據(jù)過來,則自己的確認號不變,序列號為上次的序列號加上本次應(yīng)用層數(shù)據(jù)發(fā)送長度.


您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP