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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2233 | 回復(fù): 7
打印 上一主題 下一主題

關(guān)于unix網(wǎng)絡(luò)編程卷一第二章關(guān)于TIME_WAIT的描述的一個(gè)疑問(wèn) [復(fù)制鏈接]

論壇徽章:
2
處女座
日期:2015-01-08 10:27:292015年辭舊歲徽章
日期:2015-03-03 16:54:15
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-02-27 11:22 |只看該作者 |倒序?yàn)g覽
本帖最后由 chuangsheng 于 2012-02-27 11:23 編輯

書(shū)中有這些描述:關(guān)于TIME_WAIT的描述


如果到達(dá)的SYN序號(hào)大于前一化身的結(jié)束序號(hào),Berkeley的實(shí)現(xiàn)將對(duì)處于TIME_WAIT狀態(tài)的鏈接進(jìn)行啟動(dòng)創(chuàng)建“化身”的。

它要求服務(wù)器執(zhí)行主動(dòng)關(guān)閉,因?yàn)榻邮芟乱籗YN的那端必須處于TIME_WAIT狀態(tài)。




這一段不大明白,搞得晚上睡不好覺(jué)都,哪位高手給解釋一下~~

論壇徽章:
2
處女座
日期:2015-01-08 10:27:292015年辭舊歲徽章
日期:2015-03-03 16:54:15
2 [報(bào)告]
發(fā)表于 2012-02-27 11:26 |只看該作者
本帖最后由 chuangsheng 于 2012-02-27 11:27 編輯

“如果到達(dá)的SYN序號(hào)大于前一化身的結(jié)束序號(hào)”:是不是 說(shuō)明 接收端先后收到了兩個(gè)數(shù)據(jù)包?
“Berkeley的實(shí)現(xiàn)將對(duì)處于TIME_WAIT狀態(tài)的鏈接進(jìn)行啟動(dòng)創(chuàng)建“化身”的”  這里的啟動(dòng)化身,是啟動(dòng)那個(gè)化身?
“他要求服務(wù)器執(zhí)行主動(dòng)關(guān)閉”:是誰(shuí)要求的主動(dòng)執(zhí)行關(guān)閉?是不是被啟動(dòng)“化身的”的那個(gè)鏈接要求主動(dòng)關(guān)閉
因?yàn)榻邮芟乱籗YN的那端必須處于TIME_WAIT狀態(tài): 這句話更是不明白了。。。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2012-02-27 13:46 |只看該作者
你看的中文版???
這翻譯根本看不懂啊。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2012-02-27 14:02 |只看該作者
本帖最后由 digdeep126 于 2012-02-27 16:17 編輯

To understand the second reason for the TIME_WAIT state, assume we have a TCP connection between 12.106.32.254 port 1500 and 206.168.112.219 port 21. This connection is closed and then sometime later, we establish another connection between the same IP addresses and ports: 12.106.32.254 port 1500 and 206.168.112.219 port 21. This latter connection is called an incarnation of the previous connection since the IP addresses and ports are the same. TCP must prevent old duplicates from a connection from reappearing at some later time and being misinterpreted as belonging to a new incarnation of the same connection. To do this, TCP will not initiate a new incarnation of a connection that is currently in the TIME_WAIT state. Since the duration of the TIME_WAIT state is twice the MSL, this allows MSL seconds for a packet in one direction to be lost, and another MSL seconds for the reply to be lost. By enforcing this rule, we are guaranteed that when we successfully establish a TCP connection, all old duplicates from previous incarnations of the connection have expired in the network.

There is an exception to this rule. Berkeley-derived implementations will initiate a new incarnation of a connection that is currently in the TIME_WAIT state if the arriving SYN has a sequence number that is "greater than" the ending sequence number from the previous incarnation. Pages 958–959 of TCPv2 talk about this in more detail. This requires the server to perform the active close, since the TIME_WAIT state must exist on the end that receives the next SYN. This capability is used by the rsh command. RFC 1185 [Jacobson, Braden, and Zhang 1990] talks about some pitfalls in doing this.

當(dāng)處于TIME_WAIT狀態(tài)時(shí),不能建立一個(gè)“化身”(也就是與前一個(gè)TCP連接的兩個(gè)IP地址、兩個(gè)端口完全一樣的新的TCP連接)。但是有一個(gè)特例:在BSD實(shí)現(xiàn)的TCP中,如果來(lái)connect() “化身”的第一個(gè)同步 SYN J,它的 J 大于前一個(gè)TCP(也即處于TIME_WAIT的TCP)的序列號(hào)時(shí),即使還處于TIME_WAIT,在這種特殊的情況下還是能夠建立新的“化身”的(也就是不用再TIME_WAIT下去了,而是立刻建立新的TCP連接)。

但是:這種特殊的情況只能是在服務(wù)器端主動(dòng)關(guān)閉時(shí),才可能出現(xiàn),因?yàn)橹挥蟹⻊?wù)器主動(dòng)關(guān)閉,服務(wù)器才能有 TIME_WAIT狀態(tài),而被動(dòng)關(guān)閉是不會(huì)有TIME_WAIT狀態(tài)的。(僅僅是個(gè)人的理解)

論壇徽章:
2
處女座
日期:2015-01-08 10:27:292015年辭舊歲徽章
日期:2015-03-03 16:54:15
5 [報(bào)告]
發(fā)表于 2012-02-27 17:01 |只看該作者
本帖最后由 chuangsheng 于 2012-02-27 17:03 編輯

謝謝 digdeep126 的關(guān)注~

有三個(gè)問(wèn)題詳細(xì)追問(wèn)一下~:

1)如果來(lái)connect() “化身”的第一個(gè)同步 SYN J,它的 J 大于前一個(gè)TCP(也即處于TIME_WAIT的TCP)的序列號(hào)時(shí)
   這句話的意思是不是 一個(gè)連接先后發(fā)送了兩個(gè)數(shù)據(jù)包(其中有一個(gè)是由于網(wǎng)絡(luò)原因游離的包),其中游離的那個(gè)包的序列號(hào)小于最后發(fā)出的那個(gè)?
2)也就是不用再TIME_WAIT下去了,而是立刻建立新的TCP連接
   當(dāng)建立新的連接的時(shí)候 原來(lái)的那個(gè)鏈接怎么辦?等他自動(dòng)超時(shí)消失?此時(shí)建立新的連接后,他與另一端的回話過(guò)程的三次握手是不是就改變了?

3) 建立新的連接后,那上面提到的兩個(gè)序列號(hào)數(shù)據(jù)包做如何處理?另一端按照常理講,應(yīng)該只接受最大的序列號(hào)的那個(gè)吧,因?yàn)樗男蛄刑?hào)比較大,說(shuō)明是重發(fā)的~

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2012-02-27 17:20 |只看該作者
本帖最后由 digdeep126 于 2012-02-27 17:23 編輯

1)這里涉及到兩個(gè)TCP連接,它們的兩個(gè)IP(假設(shè)服務(wù)端為IP_S,客戶端為IP_C),兩個(gè)端口都相同(假設(shè)服務(wù)器為port_s,客戶端為port_c),所以稱為“化身”。當(dāng)前面的TCP連接close之后,假設(shè)服務(wù)器端主動(dòng)關(guān)閉,則服務(wù)器處于TIME_WAIT狀態(tài),此時(shí)這個(gè)關(guān)閉的TCP連接,它有一個(gè)最后的序列號(hào),就是關(guān)閉時(shí)的序列號(hào)。而這時(shí)同一個(gè)IP和端口的客戶端(IP_C和port_c)向(IP_S和port_s)發(fā)來(lái)了SYN J(申請(qǐng)握手),如果這個(gè)J 大于服務(wù)器最后的序列號(hào),那么BSD就允許這個(gè)新的TCP連接建立成功,即使它還處在TIME_WAIT狀態(tài)。

2)因?yàn)閮蓚(gè)IP,兩個(gè)端口,決定一條TCP連接,所以自然地“化身”會(huì)覆蓋前面的那個(gè)處于TIME_WAIT的連接。三次握手應(yīng)該不變,還是要經(jīng)過(guò)三次握手才能建立新的連接。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2012-02-27 17:36 |只看該作者
chuangsheng 發(fā)表于 2012-02-27 17:01
3) 建立新的連接后,那上面提到的兩個(gè)序列號(hào)數(shù)據(jù)包做如何處理?另一端按照常理講,應(yīng)該只接受最大的序列號(hào)的那個(gè)吧,因?yàn)樗男蛄刑?hào)比較大,說(shuō)明是重發(fā)的~


我們并不關(guān)注前面已經(jīng)close的TCP的最后的數(shù)據(jù)報(bào),我們只是要用他的最后的序列號(hào),來(lái)做判斷而已。

如果新來(lái)的序列號(hào)大于最后的序列號(hào),說(shuō)明不是重發(fā)的。!
因?yàn)橹匕l(fā)的應(yīng)該等于或者小于最后的序列號(hào)。!

論壇徽章:
2
處女座
日期:2015-01-08 10:27:292015年辭舊歲徽章
日期:2015-03-03 16:54:15
8 [報(bào)告]
發(fā)表于 2012-02-28 09:52 |只看該作者
本帖最后由 chuangsheng 于 2012-02-28 09:53 編輯

thanks~~

明白很多了~

還有一個(gè)疑問(wèn)就是:客戶端向服務(wù)端傳送信息因網(wǎng)絡(luò)原因?qū)е轮匕l(fā)的時(shí)候,是還在原來(lái)的鏈接上 僅僅是重新發(fā)送一個(gè)數(shù)據(jù)包,還是鏈接完全關(guān)掉了,然后重新進(jìn)行三次握手鏈接,然后再次發(fā)包的呢?

就是說(shuō)“化身”是在以上哪種情況下發(fā)生的呢? 我看您的描述 應(yīng)該是重新進(jìn)行了鏈接吧~
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP