




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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)用戶得到一個(gè)統(tǒng)一的通信服務(wù)。向高層用戶提供端到端的透明傳輸。運(yùn)輸協(xié)議可支持多進(jìn)程連接。運(yùn)輸層為用戶提供廉價(jià)、可靠的運(yùn)輸服務(wù)。運(yùn)輸協(xié)議的繁簡(jiǎn)。依網(wǎng)絡(luò)層功能而定。運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層面向信息處理面向用戶功能網(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í)體通過TSAP向應(yīng)用層提供服務(wù),提供服務(wù)時(shí)也使用了下層即網(wǎng)絡(luò)層提供的網(wǎng)絡(luò)(通過NSAP)服務(wù);一個(gè)運(yùn)輸層協(xié)議可支持多個(gè)進(jìn)程連接;和鏈路層相比,運(yùn)輸層環(huán)境復(fù)雜(原因是:即“分組存儲(chǔ)”,“流量控制”和“擁塞控制”)主機(jī)A主機(jī)B運(yùn)輸服務(wù)用戶(應(yīng)用層實(shí)體)運(yùn)輸服務(wù)用戶(應(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ò)五類協(xié)議協(xié)議類網(wǎng)絡(luò)類協(xié)議名稱0A簡(jiǎn)單類1B基本錯(cuò)誤恢復(fù)類2A多路復(fù)用類3B出錯(cuò)恢復(fù)和多路復(fù)用類4C出錯(cuò)檢測(cè)和恢復(fù)類三類網(wǎng)絡(luò):A類網(wǎng)絡(luò):提供完善的服務(wù),包括分組的丟失、錯(cuò)序、重復(fù)忽略不記;B類網(wǎng)絡(luò):?jiǎn)畏纸M丟失少、但出現(xiàn)擁塞、故障、軟
3、件錯(cuò)時(shí)要重新同步,進(jìn)行出錯(cuò)恢復(fù)等,X.25的虛電路服務(wù)就屬此類;C類網(wǎng)絡(luò):提供不可靠數(shù)據(jù)傳送服務(wù),如數(shù)據(jù)報(bào)服務(wù)就屬此類。若子網(wǎng)提供的服務(wù)越多,則運(yùn)輸層協(xié)議就越簡(jiǎn)單;但無論如何,運(yùn)輸都需要一個(gè)端到端的流量控制。OSI的運(yùn)輸層提出了三種網(wǎng)絡(luò)五種協(xié)議。48.2 TCP/IP體系中的運(yùn)輸層用戶數(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、端口概念客戶:主動(dòng)發(fā)起連接建立的進(jìn)程稱為
4、客戶。服務(wù)器:被動(dòng)等待連接建立的進(jìn)程稱為服務(wù)器。端口:運(yùn)輸層與網(wǎng)絡(luò)層之間的接口,稱為端口(port),應(yīng)用層通過相應(yīng)端口,與運(yùn)輸層實(shí)體交互。端口號(hào):端口是一個(gè)16bit的地址,該地址用端口號(hào)標(biāo)識(shí)。熟知端口:一類專門分配給一些最常用的應(yīng)用程序的端口,稱為熟知端口。數(shù)值為0255。熟知:是指由TCP/IP體系所確定并公布的,所有應(yīng)用進(jìn)程都是熟知的。一般端口:除去熟知端口以外的其他端口,用來分配給請(qǐng)求通信的客戶進(jìn)程。6熟知端口和一般端口1、熟知端口號(hào):02552、一般端口號(hào):256655353、熟知端口標(biāo)識(shí)TCP/IP體系公布的端口;4、一般端口標(biāo)識(shí)請(qǐng)求通信的客戶進(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)稱為插口或套接字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ì)于無連接的UDP,也有一發(fā)送端口和接收端口,也使用插口概念。應(yīng)用編程接口API是運(yùn)輸層與應(yīng)用層之間接口的通用名稱?,F(xiàn)在流行的有兩大類:一類是我們上面提到的插口(Berkeley Socket),另一類是運(yùn)輸層接口TLI,由AT&T公司開發(fā),有時(shí)也稱為XTI(X/OPEN transport Interface ) 328.3 用戶數(shù)據(jù)協(xié)議用戶數(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)。如:建立連接后,用戶發(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又稱為報(bào)文段。TCP首部應(yīng)用層報(bào)文TCP報(bào)文(TCP PDU)35TCP 的agle算法:算法:若數(shù)據(jù)是逐個(gè)字節(jié)到達(dá)發(fā)送端,則先發(fā)第一個(gè)字節(jié);后面字符緩存起來,數(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ū)已滿,交互式應(yīng)用程序一次只能從緩沖區(qū)讀一個(gè)字符,然后向發(fā)送端發(fā)送確認(rèn),并通知窗口為一個(gè)字節(jié)。接著發(fā)送端又發(fā)送來一個(gè)字符,接收端返回確認(rèn),如此繼續(xù),使網(wǎng)絡(luò)的性能變壞,網(wǎng)絡(luò)效率很低。這種現(xiàn)象稱為糊涂窗口綜合癥。解決的辦法是: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)沒有收到確認(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é)商確定。但在通信的過程中,接收端可以根據(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)文過多,使網(wǎng)絡(luò)負(fù)荷過大,增加報(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)門限窗口門限窗口發(fā)生超時(shí)擁塞窗口傳輸次數(shù)01、連接初始化時(shí),擁塞窗口為1(一個(gè)報(bào)文段1024字節(jié))。慢啟動(dòng)門限窗口為64(65535字節(jié))2、發(fā)送端的發(fā)送窗口小于或等于擁塞窗口和通知窗口中的最小值;413、發(fā)送端收到所發(fā)報(bào)文段的確認(rèn),則發(fā)送時(shí)將擁塞窗口加倍。擁塞窗口從1開始,按指數(shù)增長(zhǎng)。設(shè)增長(zhǎng)到32出現(xiàn)超時(shí)。因此將32的一半(16)作為門限窗口值,同時(shí)擁塞窗口再次變?yōu)?。4、擁塞窗口按指數(shù)增長(zhǎng),但增長(zhǎng)到門限窗口值(16)時(shí),只將擁塞窗口加1,使擁塞窗
25、口按線性增長(zhǎng)。圖中增長(zhǎng)到24時(shí),又出現(xiàn)超時(shí),就把門限值變?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í),就將門限值減半,如果超時(shí)頻繁,則門限窗口減小速率是很快的。擁塞避免是指當(dāng)擁塞窗口增大到門限窗口是,就將擁塞窗口指數(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,則說明新的往返時(shí)延和舊的往返時(shí)延相比差別不大,若接近于0,則說明新的往返時(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í)間到了,還沒有收到確認(rèn),就重發(fā)。后來收到了確認(rèn),這個(gè)確認(rèn)到底是對(duì)原發(fā)的還是重發(fā)的確認(rèn)呢?無法判斷。這就影響往返時(shí)延和重發(fā)時(shí)延的計(jì)算。44更新重發(fā)時(shí)間的Kam算法因此有下面的Kam算法:在計(jì)算平均往返時(shí)延時(shí),只要報(bào)文段重發(fā)了,就不采用其往返時(shí)延樣本。問題是:當(dāng)報(bào)文段的時(shí)延突然增加了很多,則在原來的重發(fā)時(shí)間內(nèi)不會(huì)收到確認(rèn)報(bào)文段,就重發(fā),這樣就無法更新重發(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é)可有可無。各字段的含義見下頁。源端口目的端口發(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用戶數(shù)據(jù)報(bào)類似,包括首部和數(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)的開銷至少是40字節(jié),這時(shí)網(wǎng)絡(luò)的利用率就是1/41。(即信息率=有用信息的字
31、節(jié)數(shù)/所傳送信息總字節(jié)數(shù))。到了數(shù)據(jù)鏈路層,還要加上一些開銷,利用率更低。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è)問題:(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)打開被動(dòng)打開SYN,S
32、EQ=XACK=Y+1SYN,SEQ=Y,ACK=X+1確認(rèn)確認(rèn)50TCP連接的建立過程主機(jī)B運(yùn)行服務(wù)器進(jìn)程,先發(fā)出被動(dòng)打開命令,告訴他的TCP要準(zhǔn)備接收客戶進(jìn)程的連接請(qǐng)求。然后處于聽狀態(tài);主機(jī)A運(yùn)行客戶進(jìn)程,先向其TCP發(fā)出主動(dòng)打開命令表示要某個(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)建立。這種連接建立過程稱為三次握手。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è)有管理信息庫,存放有各主機(jī)的TCP連接表。對(duì)每個(gè)連接都登記了連接信息。TCP連接的所有狀態(tài)及各狀態(tài)的變遷如下葉的圖描述。共有11個(gè)狀態(tài),即:CL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加工類正式合同范例
- 產(chǎn)品購(gòu)銷意向合同范例
- 公轉(zhuǎn)私提額合同范例
- 職前外語教師學(xué)科教學(xué)知識(shí)的調(diào)查研究
- 冬季施工臨時(shí)用電合同范例
- 農(nóng)村房屋翻建合同范本
- 會(huì)無合同范例
- 產(chǎn)品網(wǎng)絡(luò)推廣合作合同范本
- 關(guān)于聘用 合同范例
- 借掛靠公司合同范本
- 老舊小區(qū)電梯更換方案
- 酒店大堂石材養(yǎng)護(hù)專項(xiàng)方案
- 2022年江西省公務(wù)員錄用考試《申論》真題(省市卷)及答案解析
- 2024-2025學(xué)年七年級(jí)地理下冊(cè) 7.4 俄羅斯課時(shí)1說課稿 (新版)新人教版
- 2024年浙江省金華市少年兒童圖書館招聘編外人員1人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 2025年上海市中考語文備考之記敘文十大考點(diǎn)梳理(附??季毩?xí)及參考答案)
- 第12課 結(jié)交朋友-初識(shí)人工智能(教學(xué)設(shè)計(jì))2023-2024學(xué)年第四冊(cè)信息技術(shù)河大版(三起)
- 校園餐專項(xiàng)整治行動(dòng)工作方案
- RB/T 223-2023國(guó)產(chǎn)化檢測(cè)儀器設(shè)備驗(yàn)證評(píng)價(jià)指南氣相色譜儀
- DB3417-T 031-2024 學(xué)校食堂場(chǎng)所布局設(shè)置規(guī)范
- 《孤獨(dú)癥譜系障礙:家長(zhǎng)及專業(yè)人員指南》筆記
評(píng)論
0/150
提交評(píng)論