1508 Understanding TCP Model Internals and Interface

Understanding TCP Model Internals and Interface
Contents
Understanding TCP Model Internals and Interface...............................................................................1 Contents.............................................................................................................................................1 Lab 1: TCP Flavor Comparison.............................................................................................................3 Bac gro!nd........................................................................................................................................3 "b#ective............................................................................................................................................3 $et%or Model..................................................................................................................................& $et%or 'escription..........................................................................................................................& Main Config!ration (teps..................................................................................................................& Instr!ctions.........................................................................................................................................) *+amine $et%or Config!ration...................................................................................................) Config!re TCP Ta,oe on -osts. /!n t,e (im!lation. and Collect /es!lts...................................0 Config!re TCP /eno on -osts. /!n t,e (im!lation. and Collect /es!lts....................................1 Config!re TCP $e% /eno on -osts. /!n t,e (im!lation. and Collect /es!lts............................2 Config!re TCP (3C4 on -osts. /!n t,e (im!lation. and Collect /es!lts..................................5 /es!lts Comparison.........................................................................................................................16 Lab 7: Modif8ing (lo%9(tart Mec,anism to Improve Performance...................................................11 Bac gro!nd......................................................................................................................................11 "b#ective..........................................................................................................................................17 $et%or Model................................................................................................................................17 $et%or 'escription........................................................................................................................17 Main Config!ration (teps................................................................................................................17 Instr!ctions.......................................................................................................................................13 /!n /eference (cenario...............................................................................................................13 Implementation (teps...................................................................................................................13 Implement :/estart ;indo%<......................................................................................................1& Implementation (teps...................................................................................................................1& Lab 3: Interfacing %it, TCP................................................................................................................12 Bac gro!nd......................................................................................................................................12

CONFIDENTIAL INFORMATION: DO NOT DISCLOSE, FORWARD, DISTRIBUTE, SHARE, OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART. © Copyrigh !""# OPNET T$%h&o'ogi$(, I&%.

P)g$ * o+ !,

1508 Understanding TCP Model Internals and Interface

"b#ective..........................................................................................................................................12 =enerator and $ode Models............................................................................................................12 =enerator Model 'escription..........................................................................................................12 Main Config!ration (teps................................................................................................................15 Instr!ctions.......................................................................................................................................76 Interfacing a C!stom Traffic (o!rce over TCP..........................................................................76 (!mmar8..........................................................................................................................................73

CONFIDENTIAL INFORMATION: DO NOT DISCLOSE, FORWARD, DISTRIBUTE, SHARE, OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART. © Copyrigh !""# OPNET T$%h&o'ogi$(, I&%.

P)g$ ! o+ !,

e8 react to pac et loss. t. .e seB!ence n!mbers of sent and dropped segments.e selected flavor. or n9t.1508 Understanding TCP Model Internals and Interface Lab 1: TCP Flavor Comparison Background TCP detects a pac et loss %.ile all TCP implementations reset t.o% t. © Copyrigh !""# OPNET T$%h&o'ogi$(. %e %ill e+amine: CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.alve congestion %indo% m!ltiple times d!ring recover8 process (elective ac no%ledgement ?(3C4@ A selective retransmission based on received selective ac no%ledgements b!ective .e follo%ing grap.e follo%ing flavors: • • • • Ta.e congestion %indo% after retransmission timeo!t e+piration to one ma+im!m segment si>e ?M((@. o+ !. DISTRIBUTE.e %ill st!d8 TCP be.oe A fast retransmit follo%ed b8 slo% start /eno A fast retransmit follo%ed b8 fast recover8 $e% /eno A similar to /eno. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.e same %indo% of data.e8 ma8 proceed differentl8 after d!plicate 3C4s are received.e connection TCP flavors differ in . T. SHARE. FORWARD.e missing segment is al%a8s resent immediatel8. s. d!plicate ac no%ledgement is received for t. I&%. 'ropped segments For eac. of t. . b!t does not . b!t transmission of ne% or !nac no%ledged data depends on t.e modeled TCP flavors.o%s t.. . T.en: • • /etransmission timer e+pires.e %ill compare t.avior after t. P)g$ .ree segments are dropped from t.

oe on .e pac et anal8>er is !sed to drop selected segments and collect statistics. Config!re TCP (3C4 on . 3. r!n t. r!n t. &.e sim!lation. T.e server. segments are retransmitted@ T. I&%.e sim!lation. r!n t. Config!re TCP Ta. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.1508 Understanding TCP Model Internals and Interface • • • • (egment retransmission process ?t. Config!re TCP $e% /eno on .e sim!lation. e+piration of timeo!t timer Congestion %indo% after drops 3pplication response time . ). SHARE. Config!re TCP /eno on . and collect res!lts. DISTRIBUTE. Main Configuration %teps 1. P)g$ # o+ !. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.osts.e sim!lation.6669b8te file from t.e reason %.osts.ic. . *+amine net%or config!ration.osts.e %or station do%nloads a 36. © Copyrigh !""# OPNET T$%h&o'ogi$(. and collect res!lts. 7.e order in %. 0. r!n t. FORWARD. and collect res!lts. /es!lt comparison across scenarios. and collect res!lts.e %ill compare: "et#ork Model "et#ork $escription T.8 segments get retransmitted A fast recover8 vs.osts.

SHARE.e segment. "pen :TCP Parameters< attrib!te on one of t. ).661 sec. 3.is val!e is greater t. FORWARD.e %ill collect: • • • 3pplication response time (i>e of TCP congestion %indo% on server (eB!ence n!mber of dropped and for%arded segments on t.oe opens.is lab.e si>e of t.)3) b8tes. 7. P)g$ . T. &.g.as been f!ll8 config!red for 8o!. T.is scenario .e si>e of transmitted file. *+amine TCP config!ration.e follo%ing: a. "pen pro#ect 1)62Clab1. © Copyrigh !""# OPNET T$%h&o'ogi$(. . Ta e note of selected TCP statistics. b. (ender and receiver . OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.e TCP receive b!ffer %ill never prevent data from being sent.ree segments ?73. (cenario Ta.e traffic anal8>er CONFIDENTIAL INFORMATION: DO NOT DISCLOSE. t. Ma+im!m 3C4 'ela8 is 6. second. /eceive B!ffer is set to 0).is %ill ca!se 3C4s to be sent almost immediatel8 after receiving a segment. (ince t. 71.an t. first segment.1508 Understanding TCP Model Internals and Interface Instructions Examine Network Configuration 1. (egments to be dropped are identified b8 t. DISTRIBUTE.e TCP Pac et 3nal8>er node can be !sed to selectivel8 drop segments and to introd!ce additional net%or dela8 to t.eir order ?e.ec t. (tart "P$*T Modeler. and 72@ are dropped b8 t. I&%. .em and c.o+ !. *+amine pac et anal8>er config!ration. t.e anal8>erCsvrC% stn node.. D@ In t. T.ave been config!red identicall8.

at Fast /etransmission is enabled and Fast /ecover8 is disabled. T.oe s!pports fast retransmission and resets t. 7.1508 Understanding TCP Model Internals and Interface Configure TCP Tahoe on Hosts.e previo!sl8 received segments 7&.e %or station and server are s.e retransmitted segment.en contin!es sending !nsent data. t. P)g$ .ird d!plicate 3C4 and set its congestion %indo% to one M((. DISTRIBUTE.e 3C4 for segment 71 ac no%ledges segments !p to &).e 3C4 for segment 71 increases t. T.e client receives t.ec t. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.en load statistics into t. © Copyrigh !""# OPNET T$%h&o'ogi$(.g. C.e provided templates.as received a t. . o+ !.e term :3C4 for segment F< means t.at segments 75 and 36 %ere !nnecessaril8 retransmitted and TCP Ta. T. 7).e sim!lation.e serverHs congestion %indo% to 3 and segments 75 and 36 can be sent.e follo%ing te+t.at segment F .e follo%ing res!lts: /etransmitted segments Sequence Numbers and ACK Numbers (egments are identified b8 t. Results Analysis T. FORWARD.o!ld see t.e sender t. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART. T. I&%. SHARE. Eo!r TCP settings on t. and 70 and sends an 3C4 for segment 70. Run the Simulation. and Collect Results 1. 3fter t. Eo! s.e ne+t e+pected segment is segment F G 1. 3.e congestion %indo% to one M(( after segment retransmission.e server retransmits segment 73 after it . TCP Ta.o!t retransmission timeo!t e+piration.oe recovers from t.e pac et lost %it. segment 1. it also processes t.as been received s!ccessf!ll8 and t. /!n t.e receiver to increase its congestion %indo% to 7 and resend segments 71 and 72. D@ In t.o%n belo%.eir segment seB!ence n!mbers ?e. 7. $otice t.is allo%s t. t.

o%n belo%. To be able to send more data. create templates from t. T.alf of t. Run the Simulation. 3C4. 3. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.en receives 3 d!plicate 3C4s for segment 71 and resends segment 72 !sing t. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART. 7.e follo%ing res!lts: Results Analysis T. P)g$ / o+ !.e e+isting grap. and load res!lts into t.m.o!ld see t.e server o!t of fast recover8 and t.e %or station and server are as s.e %or station and server b8 setting it to :/eno<. T.en contin!es receiving more d!plicate 3C4s and increases its congestion %indo% b8 one M(( for eac.e sender t.as to %ait for t.at 8o!r TCP settings on t. it . beca!se t. T.is increases application response time considerabl8.oe scenario and name it /eno. -o%ever. '!plicate t. Ma e s!re t.e 3C4 for retransmitted segment 73 ta es t.e server does not receive more 3C4s.e sender t.372 I 7 G 3 J M(( K 010& G 3 J )30 K 1117 T. I&%.e sim!lation.e fast retransmission algorit. DISTRIBUTE. T.e retransmission timer to e+pire. *nable :Fast /ecover8< on t.er.e congestion %indo% #!st before fast retransmission %as 17.s. © Copyrigh !""# OPNET T$%h&o'ogi$(. Eo! s. and Collect Results 1.372 b8tes.e congestion %indo% is set to .em.e pre9fast retransmission val!e. SHARE.e si>e of t. its congestion %indo% co!ld not increase f!rt. FORWARD.e congestion %indo% after fast retransmission is reset to 17. .1508 Understanding TCP Model Internals and Interface Configure TCP Reno on Hosts.e Ta. /!n t.

e last segment sent before retransmission is received ?%. 3fter fast retransmission.e retransmitted segment 73 does not ta e $e% /eno o!t of t. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.osts b8 c. SHARE. *nable $e% /eno fast recover8 on bot.e 3C4 for t.o%n belo%. $e% /eno %ill eep increasing its congestion %indo% for eac. t. Run the Simulation.em. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART. .e congestion %indo% b8 t.1508 Understanding TCP Model Internals and Interface Configure TCP New Reno on Hosts. .e 3C4 for t.732 G 3 J )30 K 1171 T.e amo!nt of 3C4ed data.ave been sent and t.e /eno scenario and name it :$e%C/eno< 7. 'rops in t. P)g$ 0 o+ !.e congestion %indo% %ill also allo% t.s and load res!lts into t. is segment &)@.e recover8 process.en contin!es receiving more d!plicate 3C4s and increases its congestion %indo% b8 one M(( for eac. '!plicate t. received 3C4 !ntil t. DISTRIBUTE.e congestion %indo% d!ring t.e process to resend segments 71 and 72.e client and t. Unli e in /eno. -o%ever. Partial 3C4s decrease t.e recover8 process are d!e to partial 3C4s ?3C4s ac no%ledging ne% data@.e server are as s.e si>e of t. b8 t. t.e congestion %indo% #!st before fast retransmission %as 17.e process t.o!ld see t.e sim!lation. © Copyrigh !""# OPNET T$%h&o'ogi$(.at time all segments . Eo! s. FORWARD. Increasing t. received 3C4. 3. Ma e s!re t.372 b8tes. create templates from e+isting grap.ic. and Collect Results 1.e congestion %indo% never drops again.e follo%ing res!lts: Results Analysis T.at 8o!r TCP settings on t.e congestion %indo% is reset to 17. /!n t.anging :Fast /ecover8< to :$e% /eno<. I&%.732 G 3 J M(( K 17.

e congestion %indo%. to determine %.1508 Understanding TCP Model Internals and Interface Configure TCP SACK on Hosts. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.s. create templates from e+isting grap.as information abo!t %. . FORWARD.e si>e of t.e $e% /eno scenario and name it :(3C4<.o!ld see t. it is able to resend onl8 missing segments and t. Run the Simulation. SHARE.e amo!nt of o!tstanding data is lo%er t.ic.at it . It calc!lates t.e flavors %e . and load res!lts into t.an t. '!plicate t. 7. transmission of !nsent data.e sim!lation. it !ses a different approac.t data based on selective ac no%ledgements t. 'ata can be sent onl8 if t.m. I&%. -o%ever.en contin!e %it. P)g$ 1 o+ !. and Collect Results 1.em.o%n belo%.e fast retransmit algorit. Ma e s!re t. segments %ere received. 3. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE. Beca!se it .at 8o!r TCP settings on t.e follo%ing res!lts: Results Analysis (imilar to t.e amo!nt of in9flig. (3C4 retransmits segment 73 !sing t.ic. (et Fast /ecover8 bac to :/eno< and enable :(elective 3c no%ledgements<.en and %. DISTRIBUTE.ave alread8 e+amined.e %or station and server are as s.as received. © Copyrigh !""# OPNET T$%h&o'ogi$(. Eo! s. /!n t. pac ets are sent o!t d!ring fast recover8.

s. © Copyrigh !""# OPNET T$%h&o'ogi$(.e %or station. compare res!lts across t. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART. /eno is even :slo%er< t.e scenarios for :Client FTP9L'o%nload /esponse Time< on t. Reno Tahoe New Reno SACK . t.o%s FTP do%nload time for selected flavors. m!ltiple pac ets %ere dropped from t.at t.ic. '"$ F L(B 1 CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.is is indeed t. onl8 one segment is dropped ?segment 73@.is ma8 be s!rprising.an Ta. %. %.e best response time..e congestion %indo% is calc!lated depending on a selected flavor. belo%. Moreover. To vie% t. . a small pac et discard ratio.as t. %e . SHARE.oe. T.is case.ave also e+ec!ted sim!lations in %.ereas %e presented a case in %.ave t.ave seen . DISTRIBUTE.e grap.e case can be seen from t. FORWARD. /eno s. In t. beca!se /eno %as designed as an improvement over Ta.e %orst response time for t. For a comparison. P)g$ *" o+ !.e follo%ing grap.an Ta.1508 Understanding TCP Model Internals and Interface &esults Comparison . T. T. -o%ever.ic.e .is is beca!se /eno is optimi>ed for net%or s %it.o!ld perform better t.oe.e can observe t.ile /eno .e same %indo% of data.oe.is case. I&%.at (3C4 and $e% /eno .e grap.o% pac ets are retransmitted and t.

for setting t. T.anism .e follo%ing manner.e si>e of t.avior is ill!strated in t.e congestion %indo% to one M(( mig.e congestion %indo%: MNac22O recommends t. belo%.. FORWARD. /FC 7&)1 defines an alternative approac. I&%. . OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART. TCP resets its congestion %indo% to one M((.en TCP .e retransmission timeo!t.an t. . T.en application data transfer is follo%ed b8 an idle period larger t. SHARE. #!st as it does at t. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE..is be. lo% pac et loss. c%nd is red!ced to t. © Copyrigh !""# OPNET T$%h&o'ogi$(. P)g$ ** o+ !.as been %idel8 deplo8ed in t.e grap.e 3C4 cloc .e val!e of t. Idle Period > Last RTO /esetting t. DISTRIBUTE.1508 Understanding TCP Model Internals and Interface Lab 2: Modifyin Slow!Start Mechanism to "m#ro$e %erformance Background .e restart %indo% ?/.as not received a segment for more t.is mec.t be too conservative for net%or s %it.an one retransmission timeo!t.e beginning of a transfer.at a TCP !se slo% start to restart transmission after a relativel8 long idle period. (lo% start serves to restart t.@ before retransmission begins.

/!n t. FORWARD.e congestion %indo% after idle periods.indo%< and compare res!lts %it.m as defined in /FC 7&)1. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART. Congestion %indo% is reset to one M((.1508 Understanding TCP Model Internals and Interface b!ective . SHARE. DISTRIBUTE. %e %ill implement t. 7.e TCP congestion %indo% and application response time for t%o scenarios: • • (cenario 1.e reference scenario and collect application response time and congestion %indo% si>e. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.indo%< is set to & J M((. 3 c!stom application is !sed to generate t. :/estart . 3dd a ne% attrib!te :/estart . t. "et#ork Model "et#ork $escription T. (cenario 7.e data. I&%.indo%< algorit. T. T.en compare t. P)g$ *! o+ !. To do t.e %ill modif8 TCP performance for persistent application sessions b8 modif8ing t. .e :/estart . © Copyrigh !""# OPNET T$%h&o'ogi$(.is is t.at. Main Configuration %teps 1.e baseline scenario.e %ill t.e client node is transferring five 19MB files from a server as part of a data transfer operation. .ere is an idle d!ration of ) seconds bet%een t.e file transfers.e baseline scenario.

o% !p as t. SHARE.o!t act!all8 performing t. . /!n "P$*T Modeler.e TCP connection. DISTRIBUTE. P)g$ *. o+ !. Load res!lts. 3. slo% start.is lab. after idle periods. TCP resets its congestion %indo% to one M(( and contin!es %it.e first scenario.indo% ?b8tes@< for t.at.e data into templates. FORWARD. © Copyrigh !""# OPNET T$%h&o'ogi$(. Results Analysis $otice t. Pro#ect :1)62Clab7Cref< is also provided in case 8o! simpl8 %ant to follo% along %it. "pen pro#ect 1)62Clab7. /!n t. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.e sim!lation. (cenario :defa!ltCnet%or < %ill s. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.1508 Understanding TCP Model Internals and Interface Instructions &un &eference %cenario m!lementation Ste!s 1. 3 template panel e+ists for :3pplication /esponse Time ?sec@< and :TCP Congestion . I&%. Load t. 7.

3. 'efine t. "pen t. g.e attrib!te on t.e manager process. and can t. . . c. T.. T. d. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.indo%<. (elect :TCP Parameters< and clic :*dit 3ttrib!tes<.is %ill load an alread8 defined attrib!te. If prompted to select range. (elect :Private< to enable local editing and clic :"4<. a. . b. T.indo%<.e attrib!te from t.e complete attrib!te definition is s.e :Interfaces< men! c.e are s!re t. e.e pict!re belo%. I&%. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.indo%< as a config!rable attrib!te. Clic t. (croll to t. Modif8 TCP be. 'eclare it as an integer and select :*dit Properties<. © Copyrigh !""# OPNET T$%h&o'ogi$(. /ead in t.e attrib!te %as added to a compo!nd attrib!te alread8 defined on a node.is is beca!se t.e end and define a ne% attrib!te :/estart .e previo!s scenario.e ne% attrib!te. From t.1508 Understanding TCP Model Internals and Interface Implement )&estart *indo#+ In t. 3dd a ne% field to t.e ne% attrib!te is promoted to t.e same val!ePone M((Pfor eac. $ote t.e TcpTCConnCParameters data str!ct!re. slo%9start started at t.oose :Model 3ttrib!tes<.e node level a!tomaticall8.oose :restartC%indo%<.e interface of TCP manager process.e %ill follo% t.o%n belo%. connection. f. 7. &. 1.erefore be more aggressive.o%n on t. P)g$ *# o+ !. DISTRIBUTE.e :Load P!blic< b!tton and c. .e steps belo% to add a ne% TCP attrib!te.at t.e pipe is empt8. m!lementation Ste!s 1.e %ill define a ne% TCP attrib!te called :/estart . Eo! do not need to modif8 %or station and server node models. FORWARD. set it as s. SHARE.e :tcpCmanagerCv3< process model. 3dd :/estart .avior to !se t. .

. so t. Move t. Clic t. P)g$ *.e connection processes. Eo! %ill add code to t.is f!nction.anges. 7.. select :-eader File CICGG. 3dd a ne% field to TCP parameters data str!ct!re T.is data str!ct!re. T. /ead t. &. (ave c.is ne% attrib!te is parsed and available to connection processes.e variable :restartC%indo%< of t8pe integer to t.at t. as follo%s: int restartC%indo%Q 3.e config!red attrib!te val!e Eo! %ill no% modif8 t. #. C. DISTRIBUTE. FORWARD.oose 'ile ( &#en. and select :tcpCv3<.e :(lo%9(tart Initial Co!nt< attrib!te.eader file defines a data str!ct!re :T%pT2Co&&2P)r)3$ $r(< !sed to conve8 config!red attrib!te parameters from t.e :tcpCv3< . I&%. 3dd t. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.e ne% attrib!te is read in.<.e :Move Up< b!tton and place it #!st belo% t.is ne%l8 defined attrib!te !sing t. b.1508 Understanding TCP Model Internals and Interface i.at reads all config!red attrib!tes is tcp_mgr_tcp_params_parse(). © Copyrigh !""# OPNET T$%h&o'ogi$(.e file. Eo! %ill add a ne% field to t.at t. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.e TCP code so t.e c.o+ !.e &K b!tton to save t. SHARE.e TcpTCConnCParameters data str!ct!re.e manager to t.anges and close t. a. .e f!nction t.

Uncomment it.m.e attrib!te %e created in :tcpCmanagerCv3<.avior in t.e connection process a. c.e assignment of congestion %indo% ?c%nd@.e tcp_restart_window_size_set() f!nction ret!rns a val!e based on t. b.anges to t.ange t.e follo%ing code: &. FORWARD.as alread8 been %ritten for 8o!. C. /tcp-parameter-ptr01restart-#indo#2 33 PC-C MPC $'-F(ILU&'2 tcp-mgr-error .e f!nction.eader bloc . /eplace t. remove t.m f!nction bloc and remove :Rif 6< and :Rendif< from before and after tcp_restart_window_size_set(). Modif8 TCP be.pr.e model does not compile. it is set as t.e f!nction bloc .e process model.e t%o instances of :c%nd K initialC%indo%Csi>e< on lines 336& and 315& %it. Compile process model CONFIDENTIAL INFORMATION: DO NOT DISCLOSE. (ave c. .e tcpCconnCv3. SHARE. Compile t.e :Rif 6< and :Rendif< from t.1508 Understanding TCP Model Internals and Interface a. T. t. "pen t.pr. P)g$ *. if . DISTRIBUTE. =o to end of t.e :tcpCmanagerCv3< process model. so t. "pen tcpCconnCv3. I&%. If t.e f!nction bloc and t. 3lso.at instead of it being set as t.e attrib!te %e created in t.)Unable to get &estart *indo# attribute+24 b.op-ima-ob!-attr-get . c.e follo%ing code to obtain t. T. 8o! can tr8 !sing t. T.is %ill !ncomment t. so t. © Copyrigh !""# OPNET T$%h&o'ogi$(. o+ !. ).e assigned val!e.e TCP manager process. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.e :tcpCmanagerCv3Cref< process model. =o to line 36) and add t.e val!e contained in t. (ave it as :tcpCmanagerCv3< and recompile.e initial %indo% si>e.is f!nction .at it %ill be !sed. )&estart *indo#+.tcp-parameter-ob!id.e .

:/estart . Load data into t.indo%< and set it to :& J Initial .e same c.e restart %indo% %as set . congestion gro%s at a m!c. o!r c. 3pplication response time decreased %. '"$ F L(B 5 CONFIDENTIAL INFORMATION: DO NOT DISCLOSE. SHARE. FORWARD. t.e :server< node. Results Analysis Eo! s. a.e ne% algorit.anges. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.e congestion %indo% set to & M((. I&%. Clic on t. /!n t. /ig. © Copyrigh !""# OPNET T$%h&o'ogi$(.en t.o!ld see t.e follo%ing res!lts: In agreement %it.oose )dit Attributes.e :%or station< node and c.m. ). b. Instead of restarting t. 0.e TCP process on t.anges to tcp connection process. P)g$ */ o+ !. it s.e initial %indo%.indo%< set to fo!r times t. "pen scenario :modifiedCrestartC%indo%<.an one M((.o!ld no% !se t.t9clic on t. Ma e t. t. .e c. DISTRIBUTE.e are done %it.ig.e design.e sim!lation.e %or station to restart %it. Clic and select :*ditD< for t.e provided templates.indo%<.e %ill no% config!re t.anges to t. c. 1.e :TCP Parameters< attrib!te. Clic :"4< to save t.er t.1508 Understanding TCP Model Internals and Interface .e val!e for :/estart . /estart %indo% config!ration .e %indo%. faster rate %it.

e model s.o!ld operate directl8 over TCP as seen on t. FORWARD.at can be !sed to interact %it. T. SHARE.e application s. a config!rable interarrival time and pac et si>e.at a c!stom application model . T.e application model attrib!tes.o%s t.1508 Understanding TCP Model Internals and Interface Lab 6: Interfacing #it7 TCP Background "P$*T provides an 3PI pac age t.is lab is to modif8 it so t. P)g$ *0 o+ !. T.e ass!me t. t.e follo%ing pict!re s. b!ective . 8enerator and "ode Models 8enerator Model $escription T. TCP.at can be !sed to interface 8o!r c!stom application model over TCP. © Copyrigh !""# OPNET T$%h&o'ogi$(. Moreover.e standard TCP model. DISTRIBUTE. I&%.e generator %ill generate data %it. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART. T.e client node model belo%. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.as been created.o!ld start and end data transmission at a config!rable time. .at it can be !sed over t.e goal of t.e pac age contains f!nctions t.

e model and to read t. t.o!ld t.e config!red :(tart Time<. "pen state. FORWARD. I&%. a connection. 3pplication s. ).e process model consists of fo!r states: • • Init state. (end data s!c.e server. 7.e application process %ill transfer into t.e application %ill reB!est TCP to open a ne% TCP connection to t. (egments are generated %it. © Copyrigh !""# OPNET T$%h&o'ogi$(. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.e process transfers into t.e config!red :*nd Time<. • • Main Configuration %teps 1.1508 Understanding TCP Model Internals and Interface T. /elease state. config!rable pac et si>es and pac et interarrival times. T.en reB!est TCP to terminate t.e connection.at TCP can associate it %it. 'ata state. T.e TCP client process. 3pplication sends and receives data.e TCP 3PI.is state at t. Close t. P)g$ *1 o+ !.em.e TCP process. Used to initiali>e t.e connection. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE. DISTRIBUTE. t. Initiate TCP connection set!p process. t. /egister %it. -andle indications generated b8 t. 3t t. 'ata are sent to and received from TCP. 0.at time. Connection is terminated. . 3. &.e config!red attrib!tes and store t. 'efine attrib!tes reB!ired for connection set!p in t.is state at t. SHARE.

es a connection. "pen t.e application. c.e application . t. 3.e I$IT state and notice . TCP client initiali>ation 2. Connection establis. tcp_app_register() is !sed for t. TCP client connection set!p 5. a. .e enter e+ec!tives of t. IP destination address and local and remote ports are config!rable from t.e IP addresses and ports of t.is p!rpose. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE. a connection.e application process model tcpClabCgen.e config!rable parameters related to TCP session.at t. P)g$ !" o+ !.o% t. a connection.oose "nterfaces ( Model "nterfaces. T. © Copyrigh !""# OPNET T$%h&o'ogi$(.e registration process ?step 7 above@. it needs to .e "P*$ state and notice t. FORWARD. a.ave t. TCP connection is defined b8 so!rce and destination IP addresses and ports. "pen t.e application needs to register %it.andle obtained from t.1508 Understanding TCP Model Internals and Interface Instructions nterfacing a Custom Traffic Source o"er TCP 1.e so!rce and destination identif8 a TCP connection. "pen t. SHARE. a.is is performed.ment reB!est is sent !sing "P*$ reB!est as seen belo%.e enter e+ec!tives of t. T. 7. I&%. DISTRIBUTE. To be able to establis. and notice t. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART. TCP 3PI first. In order for TCP to establis.e application can start sending data to TCP onl8 after TCP establis.e application !ses t.is information available.

SHARE. © Copyrigh !""# OPNET T$%h&o'ogi$(. P)g$ !* o+ !. CONFIDENTIAL INFORMATION: DO NOT DISCLOSE. DISTRIBUTE. FORWARD.e TCP process t. I&%.e (E$ message. .en creates a ne% connection and sends t.1508 Understanding TCP Model Internals and Interface T. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.

Closing TCP connection "nce t.e TCP connection is f!ll8 establis.e connection.is is done !sing tcp_receive_command_send(). OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART.is indication is received after t.e application process to transfer to t. It s. 0. tcp_connection_close() is !sed to do t. 'ata transfer 16. it is sent to TCP !sing tcp_data_send(). SHARE. ).o!ld t.e application.en send a CL"(* command to TCP to terminate t.e application pac et is created. It ca!ses t.1508 Understanding TCP Model Internals and Interface &. FORWARD. P)g$ !! o+ !. t.e application %ill transfer to /*L*3(* state.at.as been completed. • • "!tgoing data 3fter t. Incoming data For TCP to send data to t. it first needs to receive a /*C*IS* command from t.ed.e application process.ment indication T. Connection establis. © Copyrigh !""# OPNET T$%h&o'ogi$(. . CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.e data transfer .e '3T3 state. I&%. T. DISTRIBUTE.

e sim!lation.e TCP la8er. OR MAKE COPIES OF THIS DOCUMENT IN WHOLE OR IN PART. (im!lation e+ec!tion Eo! can no% create a simple net%or model to c.at t.1508 Understanding TCP Model Internals and Interface 7. a model .e ne% application.ec t.p!t statistics.e n!mber of lo%9level details reB!ired to interface to t.as alread8 been created for 8o!. DISTRIBUTE. %ummar9 1.e data is indeed e+c. Eo! can t. I&%.e data is sent and received b8 t. "pen t.osts. Use of 3PIs significantl8 red!ces t. (!c.ec t.ro!g. © Copyrigh !""# OPNET T$%h&o'ogi$(.at t. 7.e 1)62Clab3 pro#ect and inspect t.en r!n t. . collecting lin t.e e+ample :tcpClabCgen< model can be !sed as a template to create c!stom application la8er interfaces. FORWARD. SHARE.e %or station and server settings and node models. P)g$ !. '"$ F L(B 6 CONFIDENTIAL INFORMATION: DO NOT DISCLOSE.anged bet%een t.e t%o . T. and c. o+ !.