計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)輸層_第1頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)輸層_第2頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)輸層_第3頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)輸層_第4頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)輸層_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、8.1運(yùn)輸層概述運(yùn)輸層提供的服務(wù):使通信子網(wǎng)用戶(hù)得到一個(gè)統(tǒng)一的通信服務(wù)。向高層用戶(hù)提供端到端的透明傳輸。運(yùn)輸協(xié)議可支持多進(jìn)程連接。運(yùn)輸層為用戶(hù)提供廉價(jià)、可靠的運(yùn)輸服務(wù)。運(yùn)輸協(xié)議的繁簡(jiǎn)。依網(wǎng)絡(luò)層功能而定。運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層面向信息處理面向用戶(hù)功能網(wǎng)絡(luò)功能運(yùn)輸層在層次體系結(jié)構(gòu)中的地位1運(yùn)輸層提供端到端的可靠通信通信子網(wǎng)和運(yùn)輸層一起執(zhí)行網(wǎng)絡(luò)功能。因此,根據(jù)網(wǎng)絡(luò)不同,運(yùn)輸層協(xié)議也不一樣。運(yùn)輸層AP2運(yùn)輸層AP6端到端通信運(yùn)輸層向互相通信的進(jìn)程提供端到端的可靠通信AP1AP3AP2AP4AP5主機(jī)A主機(jī)B通信子網(wǎng)網(wǎng)絡(luò)1網(wǎng)絡(luò)2AP62運(yùn)輸層與其上下層之間的關(guān)系兩對(duì)等運(yùn)輸實(shí)體通信遵循運(yùn)輸層協(xié)議;運(yùn)

2、輸實(shí)體通過(guò)TSAP向應(yīng)用層提供服務(wù),提供服務(wù)時(shí)也使用了下層即網(wǎng)絡(luò)層提供的網(wǎng)絡(luò)(通過(guò)NSAP)服務(wù);一個(gè)運(yùn)輸層協(xié)議可支持多個(gè)進(jìn)程連接;和鏈路層相比,運(yùn)輸層環(huán)境復(fù)雜(原因是:即“分組存儲(chǔ)”,“流量控制”和“擁塞控制”)主機(jī)A主機(jī)B運(yùn)輸服務(wù)用戶(hù)(應(yīng)用層實(shí)體)運(yùn)輸服務(wù)用戶(hù)(應(yīng)用層實(shí)體)運(yùn)輸實(shí)體運(yùn)輸實(shí)體應(yīng)用層網(wǎng)絡(luò)層(或網(wǎng)際層)運(yùn)輸協(xié)議TSAPNSAP層接口運(yùn)輸層層接口3三種網(wǎng)絡(luò)五類(lèi)協(xié)議協(xié)議類(lèi)網(wǎng)絡(luò)類(lèi)協(xié)議名稱(chēng)0A簡(jiǎn)單類(lèi)1B基本錯(cuò)誤恢復(fù)類(lèi)2A多路復(fù)用類(lèi)3B出錯(cuò)恢復(fù)和多路復(fù)用類(lèi)4C出錯(cuò)檢測(cè)和恢復(fù)類(lèi)三類(lèi)網(wǎng)絡(luò):A類(lèi)網(wǎng)絡(luò):提供完善的服務(wù),包括分組的丟失、錯(cuò)序、重復(fù)忽略不記;B類(lèi)網(wǎng)絡(luò):?jiǎn)畏纸M丟失少、但出現(xiàn)擁塞、故障、軟

3、件錯(cuò)時(shí)要重新同步,進(jìn)行出錯(cuò)恢復(fù)等,X.25的虛電路服務(wù)就屬此類(lèi);C類(lèi)網(wǎng)絡(luò):提供不可靠數(shù)據(jù)傳送服務(wù),如數(shù)據(jù)報(bào)服務(wù)就屬此類(lèi)。若子網(wǎng)提供的服務(wù)越多,則運(yùn)輸層協(xié)議就越簡(jiǎn)單;但無(wú)論如何,運(yùn)輸都需要一個(gè)端到端的流量控制。OSI的運(yùn)輸層提出了三種網(wǎng)絡(luò)五種協(xié)議。48.2 TCP/IP體系中的運(yùn)輸層用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP傳輸控制協(xié)議TCPUDP在發(fā)送數(shù)據(jù)之前,不需要建立連接,遠(yuǎn)地主機(jī)收到數(shù)據(jù)報(bào)后,不作出應(yīng)答;TCP提供面向連接的服務(wù)。但不提供廣播或多播服務(wù)。應(yīng)用層UDPIP與各種網(wǎng)絡(luò)接口TCPTCP/IP運(yùn)輸層的UDP與TCP1、TCP/IP的運(yùn)輸層有兩個(gè)不同的協(xié)議:52、端口概念客戶(hù):主動(dòng)發(fā)起連接建立的進(jìn)程稱(chēng)為

4、客戶(hù)。服務(wù)器:被動(dòng)等待連接建立的進(jìn)程稱(chēng)為服務(wù)器。端口:運(yùn)輸層與網(wǎng)絡(luò)層之間的接口,稱(chēng)為端口(port),應(yīng)用層通過(guò)相應(yīng)端口,與運(yùn)輸層實(shí)體交互。端口號(hào):端口是一個(gè)16bit的地址,該地址用端口號(hào)標(biāo)識(shí)。熟知端口:一類(lèi)專(zhuān)門(mén)分配給一些最常用的應(yīng)用程序的端口,稱(chēng)為熟知端口。數(shù)值為0255。熟知:是指由TCP/IP體系所確定并公布的,所有應(yīng)用進(jìn)程都是熟知的。一般端口:除去熟知端口以外的其他端口,用來(lái)分配給請(qǐng)求通信的客戶(hù)進(jìn)程。6熟知端口和一般端口1、熟知端口號(hào):02552、一般端口號(hào):256655353、熟知端口標(biāo)識(shí)TCP/IP體系公布的端口;4、一般端口標(biāo)識(shí)請(qǐng)求通信的客戶(hù)進(jìn)程;5、要想知道熟知端口對(duì)應(yīng)的應(yīng)用

5、,請(qǐng)參考應(yīng)用層協(xié)議。RPCSNMPTFTPSMTPFTPTELNETUDPTCPIP熟知端口應(yīng)用層運(yùn)輸層網(wǎng)際層7Transport Layer OverviewTransmission ControlProtocol (TCP)User Datagram Protocol (UDP)ApplicationTransportInternetData LinkPhysicalConnection-OrientedConnectionless8TCP Segment FormatSource port (16)Destination port (16)Sequence number (32)Head

6、erlength (4)Acknowledgement number (32)Reserved (6)Code bits (6)Window (16)Checksum (16)Urgent (16)Options (0 or 32 if any)Data (varies)20BytesBit 0Bit 15Bit 16Bit 319Port NumbersTCPPort NumbersFTPTransportLayerTELNETDNSSNMPTFTPSMTPUDPApplicationLayer2123255369161RIP52010TCP Port NumbersSourcePortDe

7、st.PortHost A102823SPDPHost ZTelnet ZDest. port = 23.Send packet to my Telnet application.11Send SYN (seq=100 ctl=SYN)SYN receivedHost AHost BTCP Three Way Handshake/Open Connection112Send SYN (seq=100 ctl=SYN)SYN receivedSend SYN, ACK (seq=300 ack=101 ctl=syn,ack)Host AHost BSYN received12TCP Three

8、 Way Handshake/Open Connection13Send SYN (seq=100 ctl=SYN)SYN receivedSend SYN, ACK (seq=300 ack=101 ctl=syn,ack)Established(seq=101 ack=301 ctl=ack)Host AHost B123SYN receivedTCP Three Way Handshake/Open Connection14TCP Simple AcknowledgmentWindow size = 1 Sender Receiver15TCP Simple Acknowledgment

9、Window size = 1 Sender ReceiverSend 1Receive 116TCP Simple AcknowledgmentWindow size = 1 Sender ReceiverSend 1Receive 1Receive ACK 2 Send ACK 217TCP Simple AcknowledgmentWindow size = 1 Sender ReceiverSend 1Receive 1Receive ACK 2 Send ACK 2Send 2Receive 218TCP Simple AcknowledgmentWindow size = 1 Se

10、nder ReceiverSend 1Receive 1Receive ACK 2 Send ACK 2Send 2Receive 2Receive ACK 3Send ACK 319TCP Simple AcknowledgmentWindow size = 1 Sender ReceiverSend 1Receive 1Receive ACK 2 Send ACK 2Send 2Receive 2Receive ACK 3Send ACK 3Send 3Receive 320Window size = 1 Sender ReceiverSend 1Receive 1Receive ACK

11、2 Send ACK 2Send 2Receive 2Receive ACK 3Send ACK 3Send 3Receive 3Receive ACK 4Send ACK 4TCP Simple Acknowledgment21TCP Sequence and Acknowledgment NumbersSourcePortDest.PortSequence#Acknowledgement#SourceDest.Seq.Ack.102823101I justsent #10.22TCP Sequence and Acknowledgment NumbersI just got #10,now

12、 I need #11.SourcePortDest.PortSequence#Acknowledgement#102823SourceDest.10Seq.1Ack.102823SourceDest.11Seq.1Ack.I justsent #10.23TCP Sequence and Acknowledgment NumbersSourcePortDest.PortSequence#Acknowledgement#102823SourceDest.11Seq.2Ack.102823SourceDest.10Seq.1Ack.102823SourceDest.11Seq.1Ack.I ju

13、st got #10,now I need #11.I justsent #11.24TCP Sequence and Acknowledgment NumbersSourcePortDest.PortSequence#Acknowledgement#102823SourceDest.11Seq.101Ack.102823SourceDest.10Seq.100Ack.102823SourceDest.11Seq.100Ack.102823SourceDest.12Seq.101Ack.I just got #11,now I need #12.I justsent #11.25TCP Win

14、dowingSenderReceiver26TCP WindowingWindow size = 3Send 2SenderReceiverWindow size = 3Send 1Window size = 3Send 327Window size = 3Send 2TCP WindowingSenderWindow size = 3Send 1Window size = 3Send 3ACK 3Window size = 2Packet 3 isDroppedReceiver28Window size = 3Send 2TCP WindowingSenderWindow size = 3S

15、end 1Window size = 3Send 3ACK 3Window size = 2Packet 3 isDroppedWindow size = 3Send 4Window size = 3Send 3Receiver29Window size = 3Send 2TCP WindowingSenderWindow size = 3Send 1Window size = 3Send 3ACK 3Window size = 2Packet 3 isDroppedWindow size = 3Send 4Window size = 3Send 3ACK 5Window size = 2Re

16、ceiverWindow size = 330端口的作用:主機(jī)A時(shí)延SMTP與主機(jī)C通信,為了找到目的主機(jī)C的SMTP,A與C連接建立時(shí)使用C的熟知端口(25),A給自己分配一個(gè)端口號(hào)(500);A的另一個(gè)進(jìn)程(使用501)也要和C的SMTP建立連接,這時(shí)C使用熟知端口號(hào)25;B(使用500)也要和C的SMTP建立連接,C的熟知端口號(hào)也是25。IP=3端口500端口501IP=2端口500IP=5端口25BAC連接3連接2連接1一個(gè)連接由兩個(gè)端點(diǎn)標(biāo)識(shí),這樣的端點(diǎn)稱(chēng)為插口或套接字31端口和API主機(jī)IP地址和端口號(hào)一起使用,通信不會(huì)發(fā)生混亂。插口:包括IP地址(32bit)和端口號(hào)(16bit)

17、共48 bit 。對(duì)整個(gè)Internet而言,一對(duì)插口必須是唯一的如:(3.500)和(5.25)等。對(duì)于無(wú)連接的UDP,也有一發(fā)送端口和接收端口,也使用插口概念。應(yīng)用編程接口API是運(yùn)輸層與應(yīng)用層之間接口的通用名稱(chēng)?,F(xiàn)在流行的有兩大類(lèi):一類(lèi)是我們上面提到的插口(Berkeley Socket),另一類(lèi)是運(yùn)輸層接口TLI,由AT&T公司開(kāi)發(fā),有時(shí)也稱(chēng)為XTI(X/OPEN transport Interface ) 328.3 用戶(hù)數(shù)據(jù)協(xié)議用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP是在IP數(shù)據(jù)報(bào)上只增加了端口功能;其首部有8個(gè)字節(jié),4個(gè)字段,每字段2字節(jié)。源端口字段,即源端口號(hào);目的源端口字段,目的端口號(hào);長(zhǎng)度字段

18、,UDP數(shù)據(jù)報(bào)的長(zhǎng)度;檢查和字段,用于UDP差錯(cuò)控制。源IP地址目的IP地址017UDP長(zhǎng)度字節(jié)44112偽首部源端口目的端口長(zhǎng)度檢查和字節(jié)122222首部數(shù)據(jù)首部數(shù)據(jù)UDP數(shù)據(jù)報(bào)UDP數(shù)據(jù)報(bào)33偽首部與檢查和偽首部:不是UDP的首部只是在計(jì)算檢查和的時(shí)候才使用;它有5個(gè)字段12字節(jié),第3字節(jié)是全0,第4字節(jié)是IP數(shù)據(jù)報(bào)首部的協(xié)議字段,對(duì)于UDP,其值是17。檢查和 計(jì)算時(shí)包括偽首部、UDP首部、UDP數(shù)據(jù)三部分計(jì)算之后,去掉偽首部,再向下或上傳送。很多應(yīng)用都是使用UDP報(bào)文進(jìn)行傳送的,例如RIP報(bào)文,SNMP報(bào)文等,應(yīng)用環(huán)境很廣泛。348.4傳輸控制協(xié)議8.4.的編號(hào)確認(rèn)機(jī)制字節(jié)編號(hào):把傳送

19、的報(bào)文看作字節(jié)數(shù)據(jù)流,且按字節(jié)編號(hào)(序號(hào)),連接建立時(shí),協(xié)商初始序號(hào)。一次傳送時(shí),報(bào)文段的第一字節(jié)序號(hào)放在首部序號(hào)段。對(duì)收到數(shù)據(jù)最高序號(hào)確認(rèn),返回期望接收下一字節(jié)的序號(hào),且為捎帶確認(rèn)。如:建立連接后,用戶(hù)發(fā)一個(gè)字符,加上字節(jié)首部,再加上字節(jié)數(shù)據(jù)報(bào)首部,共字節(jié)。確認(rèn)構(gòu)成40字節(jié)的數(shù)據(jù)報(bào)。是體系中的運(yùn)輸協(xié)議,是有連接全雙工協(xié)議。TCP PDU又稱(chēng)為報(bào)文段。TCP首部應(yīng)用層報(bào)文TCP報(bào)文(TCP PDU)35TCP 的agle算法:算法:若數(shù)據(jù)是逐個(gè)字節(jié)到達(dá)發(fā)送端,則先發(fā)第一個(gè)字節(jié);后面字符緩存起來(lái),數(shù)據(jù)繼續(xù)到達(dá),繼續(xù)緩存;收到對(duì)第一字符確認(rèn)后,再將緩沖區(qū)字段裝成報(bào)文段發(fā)出去;繼續(xù)到達(dá),繼續(xù)緩存,當(dāng)

20、收到確認(rèn)后再發(fā)下一個(gè)報(bào)文段。算法還規(guī)定,當(dāng)數(shù)據(jù)到達(dá)窗口的一半或報(bào)文段的最大長(zhǎng)度的時(shí)候,就立即發(fā)送一個(gè)報(bào)文段;36糊涂窗口綜合癥所謂糊涂窗口綜合癥是指接收端緩沖區(qū)已滿(mǎn),交互式應(yīng)用程序一次只能從緩沖區(qū)讀一個(gè)字符,然后向發(fā)送端發(fā)送確認(rèn),并通知窗口為一個(gè)字節(jié)。接著發(fā)送端又發(fā)送來(lái)一個(gè)字符,接收端返回確認(rèn),如此繼續(xù),使網(wǎng)絡(luò)的性能變壞,網(wǎng)絡(luò)效率很低。這種現(xiàn)象稱(chēng)為糊涂窗口綜合癥。解決的辦法是:1、接收端先不發(fā)送確認(rèn),待緩沖區(qū)能容納一個(gè)最長(zhǎng)的報(bào)文段,再發(fā)送確認(rèn);2、在接收端的緩沖區(qū)有一半的空間處于空狀態(tài)時(shí)再發(fā)送確認(rèn);3、發(fā)送端不發(fā)送太小的報(bào)文段,積累報(bào)文段使其達(dá)到緩沖區(qū)的一半大小再發(fā)送。37TCP的差錯(cuò)控制和順

21、序控制發(fā)送方在規(guī)定的時(shí)間內(nèi)沒(méi)有收到確認(rèn),則重發(fā)未確認(rèn)的報(bào)文段;接收端收到有差錯(cuò)的報(bào)文,則丟棄,也不返回確認(rèn);收到重復(fù)的報(bào)文段時(shí),也丟棄,但是要返回確認(rèn);接收端收到的報(bào)文序號(hào)不對(duì),TCP未做明確規(guī)定,由TCP實(shí)現(xiàn)者自行確定。(一般有兩種解決辦法:一是丟棄,二是暫存緩沖區(qū)等待),其中的后一個(gè)辦法可以提高網(wǎng)絡(luò)的傳輸效率。38已發(fā)送未被確認(rèn)還可以繼續(xù)發(fā)送8.4.2TCP的流量控制可變發(fā)送窗口控制采用可變發(fā)送窗口進(jìn)行流量控制,窗口大小以字節(jié)為單位。發(fā)送窗口在連接建立的時(shí)候由雙方協(xié)商確定。但在通信的過(guò)程中,接收端可以根據(jù)自己的資源情況隨機(jī)地、動(dòng)態(tài)地調(diào)整接收窗口,并通知發(fā)送方即用接收方控制發(fā)送方的方法。10

22、1 200201 300301 400401 500501 600601 700701 800801 9001 100接收端許諾的發(fā)送窗口不可發(fā)送已發(fā)送未被確認(rèn) 設(shè)報(bào)文段100個(gè)字節(jié)長(zhǎng),接收端許諾的發(fā)送窗口未500字節(jié)。1200已經(jīng)收到并且確認(rèn),發(fā)送端可連續(xù)發(fā)送5個(gè)報(bào)文段,陰影部分是窗口寬度。39主機(jī)A主機(jī)BSEQ = 101SEQ = 201ACK=201,WIN=300SEQ = 301SEQ = 401SEQ = 201ACK=501,WIN=200SEQ = 501ACK=601,WIN=0SEQ = 1丟失!A還能發(fā)送300字節(jié)A還能發(fā)送200字節(jié)A還能發(fā)送200字節(jié)A還能發(fā)送100

23、字節(jié)允許A再發(fā)送300字節(jié)A超時(shí)重發(fā),但不能再發(fā)送允許A再發(fā)送200字節(jié)A還能發(fā)送100字節(jié)不允許A再發(fā)送主機(jī)A向主機(jī)B發(fā)送數(shù)據(jù),商定的窗口值是400;報(bào)文段100字節(jié),序號(hào)初值1;流量控制是發(fā)、收雙方的事情,發(fā)送方發(fā)送的報(bào)文過(guò)多,使網(wǎng)絡(luò)負(fù)荷過(guò)大,增加報(bào)文段的時(shí)延,加劇網(wǎng)絡(luò)擁塞,于是發(fā)送方要降低發(fā)送速率;按 發(fā)送窗口 = Min通知窗口,擁塞窗口 確定發(fā)送端窗口的大小; 通知窗口:接收端許諾的窗口值;擁塞窗口:發(fā)送端根據(jù)網(wǎng)絡(luò)擁塞情況確定的窗口值動(dòng)態(tài)窗口流量控制40慢啟動(dòng)、加速遞減和擁塞避免的擁塞控制技術(shù) 使用這些技術(shù)的前提:通信線路的質(zhì)量比較高,由于誤碼造成分組丟失的概率很小。因此,分組丟失和

24、傳輸超時(shí)就意味著網(wǎng)絡(luò)的某個(gè)地方出現(xiàn)了擁塞。0 2 4 6 8 10 12 14 16 18 20 222420161284指數(shù)規(guī)律增長(zhǎng)線性規(guī)律增長(zhǎng)門(mén)限窗口門(mén)限窗口發(fā)生超時(shí)擁塞窗口傳輸次數(shù)01、連接初始化時(shí),擁塞窗口為1(一個(gè)報(bào)文段1024字節(jié))。慢啟動(dòng)門(mén)限窗口為64(65535字節(jié))2、發(fā)送端的發(fā)送窗口小于或等于擁塞窗口和通知窗口中的最小值;413、發(fā)送端收到所發(fā)報(bào)文段的確認(rèn),則發(fā)送時(shí)將擁塞窗口加倍。擁塞窗口從1開(kāi)始,按指數(shù)增長(zhǎng)。設(shè)增長(zhǎng)到32出現(xiàn)超時(shí)。因此將32的一半(16)作為門(mén)限窗口值,同時(shí)擁塞窗口再次變?yōu)?。4、擁塞窗口按指數(shù)增長(zhǎng),但增長(zhǎng)到門(mén)限窗口值(16)時(shí),只將擁塞窗口加1,使擁塞窗

25、口按線性增長(zhǎng)。圖中增長(zhǎng)到24時(shí),又出現(xiàn)超時(shí),就把門(mén)限值變?yōu)?2,擁塞窗口降到1。按指數(shù)規(guī)律增長(zhǎng)到12時(shí),改為每次加1。5、所謂慢啟動(dòng)是指每出現(xiàn)一次超時(shí)時(shí),擁塞窗口都降低到1,使報(bào)文段慢慢地注入到網(wǎng)絡(luò)中。加速遞減是指每出現(xiàn)一次超時(shí)時(shí),就將門(mén)限值減半,如果超時(shí)頻繁,則門(mén)限窗口減小速率是很快的。擁塞避免是指當(dāng)擁塞窗口增大到門(mén)限窗口是,就將擁塞窗口指數(shù)增長(zhǎng)速率降為線性增長(zhǎng)速率,以避免再次出現(xiàn)擁塞。慢啟動(dòng)、加速遞減和擁塞避免的擁塞控制技術(shù)428.4.3 TCP的重發(fā)機(jī)制TCP每發(fā)送一個(gè)報(bào)文段,就設(shè)置一次超時(shí)器。如果超時(shí)而還未收到確認(rèn),就重發(fā)這一報(bào)文段。而數(shù)據(jù)鏈路層和運(yùn)輸層的往返時(shí)延是很不相同的。數(shù)據(jù)鏈路

26、層往返時(shí)延的方差很小,而運(yùn)輸層往返時(shí)延方差很大。若超時(shí)設(shè)在T2,則重發(fā)時(shí)間太早了,設(shè)在T3。則網(wǎng)絡(luò)的傳輸效率降低很多。如何設(shè)置超時(shí)器的重發(fā)時(shí)間呢?往返時(shí)延的概率分布數(shù)據(jù)鏈路層運(yùn)輸層時(shí)間數(shù)據(jù)鏈路層和運(yùn)輸層的往返時(shí)延的概率分布的差別T1T2T343TCP的自適應(yīng)超時(shí)重發(fā)機(jī)制報(bào)文往返時(shí)延是指報(bào)文段發(fā)出的時(shí)間到確認(rèn)報(bào)文段的時(shí)間之差;報(bào)文段的平均往返時(shí)延,即各個(gè)報(bào)文段的往返時(shí)延樣本的加權(quán)平均。即平均往返時(shí)延=(舊的往返時(shí)延T)+(1- )(新的往返時(shí)延樣本)其中:0= =1,若接近于1,則說(shuō)明新的往返時(shí)延和舊的往返時(shí)延相比差別不大,若接近于0,則說(shuō)明新的往返時(shí)延受新的往返時(shí)延樣本的影響較大,典型的值為7

27、/8。在設(shè)置定時(shí)器重發(fā)時(shí)間時(shí),應(yīng)略大于上面的平均往返時(shí)延,即重發(fā)時(shí)間=(平均往返時(shí)延)是個(gè)大于1的系數(shù),實(shí)際上, 是很難確定的。且往返時(shí)間也很難測(cè)量。例如:發(fā)出的報(bào)文段的重發(fā)時(shí)間到了,還沒(méi)有收到確認(rèn),就重發(fā)。后來(lái)收到了確認(rèn),這個(gè)確認(rèn)到底是對(duì)原發(fā)的還是重發(fā)的確認(rèn)呢?無(wú)法判斷。這就影響往返時(shí)延和重發(fā)時(shí)延的計(jì)算。44更新重發(fā)時(shí)間的Kam算法因此有下面的Kam算法:在計(jì)算平均往返時(shí)延時(shí),只要報(bào)文段重發(fā)了,就不采用其往返時(shí)延樣本。問(wèn)題是:當(dāng)報(bào)文段的時(shí)延突然增加了很多,則在原來(lái)的重發(fā)時(shí)間內(nèi)不會(huì)收到確認(rèn)報(bào)文段,就重發(fā),這樣就無(wú)法更新重發(fā)時(shí)間。Kam算法解決更新重發(fā)時(shí)間的方法是:報(bào)文段每重發(fā)一次,就將重發(fā)時(shí)間

28、增大一些:新的重發(fā)時(shí)間=(舊的重發(fā)時(shí)間)系數(shù)的典型值是2。當(dāng)不重發(fā)時(shí),才根據(jù)報(bào)文段的往返時(shí)延更新平均往返時(shí)延和重發(fā)時(shí)間的數(shù)值。458.4.4TCP報(bào)文段的格式TCP報(bào)文段分為首部和數(shù)據(jù)兩部分。首部的前20字節(jié)是固定的,后面4N字節(jié)可有可無(wú)。各字段的含義見(jiàn)下頁(yè)。源端口目的端口發(fā)送序號(hào)接收序號(hào)數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢查和緊急指針選項(xiàng)和填充數(shù)據(jù)32比特20字節(jié)46TCP報(bào)文各字段的意義源端口和目的端口 各占16比特,加上IP地址的32比特構(gòu)成TSAP。端口用于高層協(xié)議向下復(fù)用。發(fā)送序號(hào):占4字節(jié),發(fā)送的報(bào)文段數(shù)據(jù)部分第一字節(jié)的序號(hào)。確認(rèn)序號(hào):期望收到對(duì)方下次發(fā)送的數(shù)據(jù)的

29、第一字節(jié)的序號(hào)。數(shù)據(jù)偏移:4bit 數(shù)據(jù)到TCP報(bào)文段首部的長(zhǎng)度,即報(bào)文段首部的長(zhǎng)度。后6bit保留今后使用。URG緊急比特:URG=1表示此報(bào)文段應(yīng)盡快傳送。即傳送緊急數(shù)據(jù),并要用到緊急指針(指出緊急數(shù)據(jù)的最后一個(gè)字節(jié)的序號(hào)。ACK 確認(rèn)比特 ACK=1確認(rèn)字段有意義。PSH 急迫比特 PSH=1時(shí)通知遠(yuǎn)程TCP立即把該報(bào)文段送應(yīng)用層。47TCP報(bào)文各字段的意義(續(xù))RST重建比特 RST=1時(shí),表示出現(xiàn)嚴(yán)重差錯(cuò)。必須釋放連接,然后在重新建立連接。SYN 同步比特 SYN=1 ACK=0時(shí),表明這是一個(gè)連接請(qǐng)求報(bào)文段。對(duì)方若同意連接,則用SYN=1,ACK=1的報(bào)文段確認(rèn)。FIN 終止比特

30、FIN=1 表示字節(jié)串已送完。窗口:指發(fā)送方的接收窗口,單位是字節(jié)。檢查和:和UDP用戶(hù)數(shù)據(jù)報(bào)類(lèi)似,包括首部和數(shù)據(jù)部分。計(jì)算時(shí),要加上12字節(jié)的偽首部。但偽首部的第4各字段的17要改為6(Internet的協(xié)議號(hào)是6) 。選項(xiàng):TCP只有一種選項(xiàng),即最長(zhǎng)報(bào)文段(MSS)。利用它告訴對(duì)方TCP,自己的緩沖區(qū)所能接收的報(bào)文段最長(zhǎng)是MSS。48MSS的選擇最長(zhǎng)報(bào)文段(MSS)。利用它告訴對(duì)方TCP,自己的緩沖區(qū)所能接收的報(bào)文段最長(zhǎng)是MSS。1、MSS的選擇對(duì)網(wǎng)絡(luò)的影響:MSS減小,網(wǎng)絡(luò)利用率低。例如當(dāng)MSS=1,而IP數(shù)據(jù)報(bào)的開(kāi)銷(xiāo)至少是40字節(jié),這時(shí)網(wǎng)絡(luò)的利用率就是1/41。(即信息率=有用信息的字

31、節(jié)數(shù)/所傳送信息總字節(jié)數(shù))。到了數(shù)據(jù)鏈路層,還要加上一些開(kāi)銷(xiāo),利用率更低。2、一般MSS應(yīng)盡可能大些,原則是在IP層不再進(jìn)行分片。3、連接建立時(shí),雙方把自己支持的最大報(bào)文長(zhǎng)度告訴對(duì)方,以確定MSS。4、MSS的默認(rèn)值是536字節(jié)。因此所有Internet主機(jī)能接受的報(bào)文段長(zhǎng)度是536+20=556字節(jié)。49TCP的運(yùn)輸連接管理TCP是面向連接的,運(yùn)輸連接的建立、管理和釋放是運(yùn)輸連接管理的三個(gè)方面。1、連接建立解決的三個(gè)問(wèn)題:(1)雙方都能確認(rèn)對(duì)方存在;(2)雙方協(xié)商一些參數(shù)(報(bào)文長(zhǎng)度、 窗口大小、 服務(wù)質(zhì)量)(3)對(duì)運(yùn)輸實(shí)體資源進(jìn)行分配(連接表項(xiàng)目、緩沖區(qū)大小等)AB主動(dòng)打開(kāi)被動(dòng)打開(kāi)SYN,S

32、EQ=XACK=Y+1SYN,SEQ=Y,ACK=X+1確認(rèn)確認(rèn)50TCP連接的建立過(guò)程主機(jī)B運(yùn)行服務(wù)器進(jìn)程,先發(fā)出被動(dòng)打開(kāi)命令,告訴他的TCP要準(zhǔn)備接收客戶(hù)進(jìn)程的連接請(qǐng)求。然后處于聽(tīng)狀態(tài);主機(jī)A運(yùn)行客戶(hù)進(jìn)程,先向其TCP發(fā)出主動(dòng)打開(kāi)命令表示要某個(gè)IP地址的某個(gè)端口建立運(yùn)輸連接;A向B發(fā)請(qǐng)求報(bào)文,其首部的同步比特SYN置為1,并選擇一個(gè)序號(hào)X(數(shù)據(jù)的第一字節(jié)的序號(hào));B受到后,若同意,則確認(rèn),其中SYN置為1,確認(rèn)序號(hào)為X+1;且也為自己選擇一個(gè)序號(hào)Y;A收到確認(rèn)后,再向B發(fā)確認(rèn),確認(rèn)序號(hào)為Y+1;A通知上層進(jìn)程,連接已經(jīng)建立。這種連接建立過(guò)程稱(chēng)為三次握手。51為什么要進(jìn)行三次握手呢?三次握手的原因:防止失效連接請(qǐng)求報(bào)文段突然送到B。失效連接請(qǐng)求報(bào)文段:AB應(yīng)用進(jìn)程釋放連接通知主機(jī)應(yīng)用進(jìn)程FIN,SEQ=XACK=Y+1ACK=X+1應(yīng)用進(jìn)程釋放連接FIN,SEQ=Y,ACK=X+1TCP連接釋放52TCP的有限狀態(tài)機(jī)在網(wǎng)絡(luò)管理中心設(shè)有管理信息庫(kù),存放有各主機(jī)的TCP連接表。對(duì)每個(gè)連接都登記了連接信息。TCP連接的所有狀態(tài)及各狀態(tài)的變遷如下葉的圖描述。共有11個(gè)狀態(tài),即:CL

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論