Sunteți pe pagina 1din 17

Nlvelul trunsort

ervlclul trunsort
u) ervlcll furnlzute nlvelelor suerloure
b) Prlmltlvele servlclllor trunsort
c) ULP
d) 1CP
e) oclurl 8erkeley
f) Lxemlu de rogrumure cu soclurl:
erver de fllere
g) Aten(le lu sec(lunlle dln 1unembuum
le fucem in ult ordlne

Nlvelul trunsort
u) Problem: comunlcu(lu se fuce de oblcel intre rocese
(nlvelul re(eu uslgur comunlcu(lu dour intre mulnl)
b) urclnl
. trunsortul dutelor intre rocese (slgur, eflcuce, lndeendent de nlvelele
lnferloure)
z. controlul fluxulul: uduture lu cucltuteu recetorulul
. controlul congestlel: uduture lu cuucltuteu re(elel
c) lolosete servlcllle nlvelulul re(eu
d) Nlvelul trunsort este nucleul lerurhlel
Cel mul lmortunt? lentru rogramator de alca;, da.
e) Lnd to Lnd (cut lu cut)
Nlvelul trunsort este executut de ctre mulnlle utlllzutorllor
Nlvelul re(eu este executut de ctre nodurlle re(elel

Nlvelul trunsort constrngerl
u) Cerln(e de lu nlvelul suerlor
Llvrure guruntut, ordonut, o slngur cole
Mesuje de lunglme urbltrur
lncronlzure eml(tor recetor
Control de flux lu recetor
Procese multlle e flecure muln
b) Llmltrl ule nlvelulul lnferlor
Plerde uchete
Reordoneuz uchete
Llvreuz dullcute
Puchete de dlmenslune flnlt
lntrzlerl urbltrure
(best effort)

ervlcll furnlzute nlvelelor suerloure


Unde este lmlementut?
ln suu intro blbllotec entru ullcu(ll
Lou tlurl de servlcll conexlune l dutugrum multe usemnurl cu servlcllle
resectlve de lu nlvelul re(eu:
Conexlune: conecturejtrunsferjellberure
Lutugrum: trlmlte uchetjrlmete uchet
Atuncl, de ce mul este nevole de nlvelul trunsort?

Lste necesur nlvelul trunsort?
. Utlllzutorll nu uu control usuru nlvelulul re(eu
Nu ot lmune nol ulgorltml de truture u erorllor
Nu ot controlu cderlle de llnll, nodurl
Nu ot udugu rutere mul bune!
Lxemlu: se lerd dutugrume
e retrunsmlte, dur uten(le lu dullcute, tlmere, etc
Lxemlu: cude conexluneu
e creuz unu nou, dur unde u rmus trunsferul?
z. Adresure - rocese < orturl
. lndeenden(u de nlvelele lnferloure
Ce servlcll sunt dlsonlblle? Ce func(ll de blbllotec se folosesc?
Izoleaz programatorul de tehnologia, arhitectura i imperfec(iunile
subre(elei
. Lemurcure lmortunt intre
nlvelele => furnlzoure de trunsort
Nlvelele > => utlllzutoure de trunsort

lerurhlu de cudrejuchetej1PLU
Lu nlvelul trunsort, "mesujele' ot uveu lunglme urbltrur
Un mesuj vu fl trunsmls foloslnd mul multe uchete lu nlvelul re
1PLU = trunsort rotocol dutu unlt

bservu
u) Chlur l un schlmb unldlrec(lonul este mult mul comllcut
dect lu nlvelul re(eu
llcure uchet de dute este conflrmut
llecure uchet de control este conflrmut
Lntltuteu de control se ocu de ceusurl, retrunsmlsll
b) Lxemle de rotocoule de nlvel trunsort
ULP un slmlu demultllexor
1CP flux slgur de octe(l

Asemunrljdeoseblrl cu
rotocoulele de nlvel z
(z) Comunlcureu rlntrun cunul flzlc
() Comunlcureu rln subre(ele
(z) Nu neceslt udresure (exce(le lu medllle cu dlfuzure)
(z) Lu stublllreu conexlunll cutul este mereu ucolo
() subre(ele ot memoru multe uchete
() culubllltute buffere, control de flux t. flecure conexlune

Adresureu
1AP trunsort servlce uccess olnt (orturl)
NAP network servlce uccess olnt (lPurl)
Cllen(ll l serverele se utueuz lu 1AP entru u se conectu lu dlstun(
Un culculutor oute u veu un slngur NAP l mul multe 1AP

Pioiocoale de Tianspoii n Inieinei
u) ULP
b) 1CP

ULP
u) ULP este un slmlu
multllexor foloslnd
orturl

ULP
Lxtlnde servlclul re(eu de llvrure neslgur lntre mulnl
=> llvrure neslgur intre rocese
1PLU se numesc segmente
Antet de 8 octe(l
umu de control se culculeuz foloslnd i cmul de dute
(lu lP se folosete dour untetul)

ULP
Ce nu fuce ULP:
u) Control de erorl
b) Retrunsmltereu segmentelor lncorecte
c) Control de flux
Lu ce este bun?
oce lu intrzlere mure, retrunsmltereu oute fl lnutll, se
uccet ctevu erorl
LN mesuje scurte lntreburejrsuns, conexluneu nu este
necesur
Nl (network flle system)
lnternet rudlo, skye

1CP
u) lntroducere
b) tublllreu conexlunllor 1CP
c) Lllberureu conexlunllor
d) Controlul congestlel
e) Controlul tlmerelor
f) 1CP in re(ele fr flr

TCP - pioiocol cu feieasii glisani
dlferen(e fu( de rotocoulele de nlvel z
Ruleuz este mul multe legturl flzlce => neceslt
stublllreujellberureu conexlunll
R11 vurlubll, ferestre vurlublle
Reordonure lu truversure subre(ele
ML muxlmum segment llfetlme = zcsecunde
Cuublllt(l eterogene lu cuete: CPU, bund
Cozlle in ruterele lntermedlure nu sunt vlzlblle
Alte surse folosesc uceleul legturl
Lndtoend urgument:
func(le nu trebule lmlementut lu un nlvel jos dect duc este
oslbll in mod comlet l corect
unc(ionalitatea de nivel nalt la margine, cea de nivel [os n
mi[locul re(elei

TCP: caiacieiisiici
u) Aduture dlnumlc lu re(ele eterogene
b) 1ruteuz erorl, lerderl, dullcute, reordonure, flux, congestle
c) Lntltuteu 1CP: lmlementutu in blbllotec, suu in kernel
d) segmente de muxlmum 6 (de oblcel 6c) ce se trunsmlt intro
dutugrum lP
e) lolosete soclurl (sockets) sl orturl (1AP)
Un soclu oute fl foloslt entru mul multe conexlunl
f) 1oute conexlunlle sunt fulldulex l unctluunct
g) llux slgur de octe(l nu de mesuje
h) lndlcutorul PU 1CP trlmlte ce ure fr u mul utetu (de ex cnd
um tustut <Lnter>)
Reduce utetureu lu trunsmlsle
l) lndlcutorul URCLN1 (de ex cnd um tustut CtrlC)
Reduce utetureu lu rece(le

1CP orturl cunoscute
u) Porturl cunoscute llstu lu htt:jjwww.lunu.org
b) Nu to(l demonll stuu mereu in memorle => vezl inetd
Port Protocol Use
z
l1P llle trunsfer
z
1elnet Remote logln
z M1P Lmull
6 1l1P 1rlvlul llle 1runsfer Protocol
,
llnger Looku lnfo ubout u user
8c
11P vorld vlde veb
c PP Remote emull uccess
NN1P ULNL1 news

Antetul segmentulul 1CP
tructur flx de zc octe(l o(lunl
AC urmtorul octet utetut
Lunglmeu untetulul, in cuvlnte de octe(l
URC = urgent
AC = cmul de conflrmure este vulld
P = ush
R1 = desflln(ureu conexlunll
N = stublllreu conexlunll
ConnReq: N= AC=c
ConnAccet: N= AC=
llN = sfrlt dute de trunsmls (se mul
ot uccetu)

Antetul segmentulul 1CP
vlndow numrul de octe(l cure oute fl
rlmlt, incend de lu octetul conflrmut
numlt vR lu rotocoulele ,6
Av=c ingheu( trunsferul
umu de control
Antet Cor Pseudountet
(lunl lunglme muxlm
segment(M), AC (selectlve AC)
e negocluz lu creureu conexlunll
M mlnlm este 6 octe(l

1CP sumu de control


seudo untetul lnclus ln sumu de control 1CP
e ot detectu segmentele cure uu fost reluute eronut
e inculc lerurhlu folosete udrese lP lu nlvelul trunsort

1CP flux de octe
Cnd se trunsmlte un segment?
. uu udunut M(mux segment slze) octe(l de trunsmls
(de oblcel M=M1U ul re(elel locule untete 1CP lP,
6c=cczczc)
z. Procesul eml(tor folosete PU
. 1lmer erlodlc > se trlmlt octe(ll ucumulu(l

1CP flux de octe
llux de octe(l, nu de mesuje:
(u) Putru segmente de z octe(l trlmlse cu dutugrume lP seurute
(b) zc8 octe(l llvrutl ullcu(lel de un slngur uel cutre func(lu ead

iabiliiea conexiunii
Lxemlu:
CNNLC1lN RLQUL1(CR), LQ lnl(lul se lerde
Luc sosete un ult CR, LQ , e ucelul ort, se stubllete o
conexlune grelt
1hree vuy unshuke: trunzuc(le in trel ul
. Connectlon Request z. AC LA1A
Regul entru exemlele de mul jos: host folosete nr de
secven( x, lur hostz y

Tliee Way Handslale


(c) Plerdere 1PLU CR, l 1PLU AC
CR(w) nou se lerde, ujunge CR(x) vechl
ostz rsunde cu AC(seq y, uck x)
ost refuz => ucum utetu uck w
ostz rlmete LA1A(seq x, seq z) vechl
ll lgnor: tle c utetu uck y
ostz uccet RL'LC1 l declur oeru(lu
inchelutjeuut
(u) erureu normul
ost ulege seq x
ostz rsunde cu seq y, uck x
uck y vlne cu rlmul 1PLU de dute
(b) Plerdereu 1PLU lnl(lul CR
ost=> CR(w) se lerde, ujunge un
CR(x) vechl
Ack x este refuzut, se utetu uck w

Tliee Way Handslale
(e) CR reordonute
ost ulege seq x, tlmeout, uol seq z,
ujung lnvers
ostz rlmete CR(seq y)
rsunde cu seq y, uck z
refuz CR(seq=x) utetu fle
LA1A(seq=z, uck=y), fle
RL'LC1(uck=y)
ost doreu uck z
genereuz RL'LC1(uck y)
d) CR dullcute
ost ulege seq x, tlmeout, uol seq z
ostz rsunde cu seq y, uck x, lgnor
seq z - nu su inchelut wuy hundshuke
entru x
uck y vlne cu rlmul 1PLU de dute

6R(seq=z}
tublllreu conexlunll 1CP
(u) Cuzul normul three wuy hundshuke
N, N|AC, AC
(b) Collzlune us lnl(lul este oslbll?
LQ lnl(lul nu este c, se folosete un ceus de 3s
6-31

euder 1CP
bl(ll N l AC
Cmul LQ
libeiaiea conexiunii
Lllberure uslmetrlc (unlluterul) se ot lerde dute
Lllberure slmetrlc se uccet dute l du trlmltereu LR
Utll cnd cuntltuteu de trlmls este flx l cunoscut

libeiaiea simeiiic a conexiunii


olu (le: ulgorltm slmllst
host: LR
hostz: LR
Problem slncronlzureu
Problemu slncronlzrll utuculul:
Armutu ulbu > urmutu ulbustru #
Armutu ulbu > urmutu ulbustru #z
Armutu ulbu < urmutu ulbustru # #z
lncronlzureu: rln mesugerl cure se ot lerde

libeiaiea conexiunii
(u) Cuz normul (tot ul) lu ellberure se terg tubelele usoclute
conexlunll, se semnullzeuz cutre nlvelul ullcu(le
(b) AC lerdut se sulveuz sltuu(lu cu ujutorul tlmerulul.
6-14, , b

libeiaiea conexiunii
(c) LRz lerdut retrunsmlte LR du
tlmer
(d) 1oute incercrlle succeslve sunt
lerdute
host ellbereuz du N incercrl
hostz du tlmeout
6-14, c,d
Nlcl ucest ulgorltm nu este slgur
ost: LR N retrunsmlsll se lerd
ost ellbereuz
ostz rmne uctlv

Lllberureu conexlunll 1CP
u) Problemu celor dou urmute => tlmere
Luc AC nu vlne in z*ML, se ellbereuz
b) conexlune 1CP este loglc echlvulent cu z conexlunl slmlex
llecure este ellberut lndeendent
c) egment cu bltul llN setut => nu se mul trunsmlt dute
llecure llN se conflrm cu AC
Lutele ot venl in contlnuure in ceulult dlrec(le
d) inchldere comlet => llN, AC entru flecure dlrec(le

Polltlcu de trunsmlsle u dutelor


Pentru o trunsmlslune slmlex (o dlrec(le)
Recetorul il declur cuucltuteu de buffere in flecure uchet (Av=vR)
dutele curg intro dlrec(le
AC fereustr rece(le in ceulult
Llmensluneu ferestrel nu este legut de AC, cl de su(lul dlsonlbll lu
recetor

Polltlcu de trunsmlsle u dutelor
u) Llmensluneu ferestrel oute fl
uctuullzut lu flecure AC
b) vlN=c => se trunsmlte dour
URC
octet de deblocure

TCP - feieasiia glisani pe ocie(i
a) Lmi(tor
Lust8yteAcked A Lust8yteent ALust8ytevrltten
Lust8yteent Lust8yteAcked A Advertlsedvlndow
Lffectlvevlndow = Advertlsedvlndow (Lust8yteent Lust8yteAcked)
Lust8ytevrltten Lust8yteAcked < Muxend8uffer
b) Receptor
Lust8yteReud Next8yteLxected ALust8yteRcvd
Lust8yteRcvd Lust8yteReud AMuxRcv8uffer
Advertlsedvlndow = MuxRcv8uffer (Lust8yteRecvd Lust8yteReud)

Paiiiculaiii(i iiansmisie TCP
u) Reordonureu segmentelor => AC cumulutlv
b) Nu se trunsmlte lmedlut cnd cere ullcu(lu
c) Nu se trunsmlte AC lmedlut ce suu rlmlt segmentele
Lxemlu 1LLNL1: se tusteuz un curucter => 6z octe(l trunsferu(l
d) Algorltmul lul Nugle
trlmlte dour rlmul octet, restul sunt memoru(l n lu AC rlmulul octet
1runsmlte octe(ll ucumulu(l intrun segment
Lflclent entru tusture ruld in re(eu lent
e) lndromul ferestrel "stulde'
e trunsmlt blocurl murl, dur se cltete octet cu octet
Lfect negutlv: e for(euz mereu trunsmltereu unul segment de un octet

TCP indiomul feiesiiei "siupide"


olu(le:
recetorul uteut n su(lul dlsonlbll este decent
recetorul oute memoru dute l blocu uelul reud de lu ullcu(le => reduce nr de uelurl
eml(torul nu trunsmlte segmente reu mlcl (mcur Mjz)

Coniiolul congesiiei n TCP
Cnd trlmlt? Ct trlmlt?
Cnd retrunsmlt?
Cnd trlmlt AC?
u) Cum se detecteuz congestlu? 1lmer exlrut
b) Le ce exlr un tlmer?
uchet lerdut suu AC lerdut
R11 u crescut fourte mult
c) 1lmer exlrut => uchete lerdute => congestle
d) Prevenlreu congestlel mul uour dect remedlereu

Coniiolul congesiiei n TCP
(u) re(eu ruld ullmenteuz un recetor de cuucltute mlc.
(b) re(eu lent ullmenteuz un recetor de cuucltute mure.
Cure este fereustru otlm de trunsmlsle?

Protocolul 6 (selectlve reeut): numerele de secven( emlse
Poute fl reu ugreslv
Puntu ob(lnut delnde de lunglme tlmeout

e uduug lu rotocolul 6
u) fereustru de congestle (lu trunsml(tor)
b) estlmure tlmeout (lu trunsml(tor)
c) uutoreglure

Coniiolul congesiiei n TCP
u) Lml(torul folosete minimul dintre dou ferestre
Av (cuucltuteu recetorulul), comunlcut in segmentele AC
lereustru de congestle = cuucltuteu re(elel (estlmut de eml(tor)
lereustru de congestle crete in dou fuze
b) luzu "slow sturt' , exonen(lul
Pn lu threshold
c) luzu "congestlon uvoldunce' (de revenlre), llnlur
Lu threshold
d) 1hreshold (rug) de cretere llnur
lnl(lul 6
e reduce lu jumtute lu flecure tlmeout
e) fust recovery, fust retrunsmlt

TCP slow siaii
e folosete lu inceutul conexlunll l lu tlmeout
"slow' comurutlv cu rotocolul 6 (selectlve reeut)
loloslt entru u descoerl cuucltuteu conexlunll
Lu stublllre conexlune fereustru congestle = M
Cu flecure AC rece(lonut, fereustru de congestle crete cu M
ln reulltute o cretere exponen(ial !

TCP coniiolul congesiiei
Lxemlu cu M=cz octe

start

start

1CP congestlon uvoldunce


. 1CP slow sturt
lncrementeuz Cv cu flecure AC
Lfectul: exonen(lul
z. 1CP congestlon uvoldunce
Crete Cv cu jCv lu flecure AC
Lfectul: crete cu segment er R11, llnlur
AC dullcut de orl
Cv = Cvjz (fust recovery)
retrunsmlte segmentul (fust retrunsmlt)
rmne in congestlon uvoldunce

ereastra sc|eaza |n juru var|| t|me
egmentu |erdut |n re[ea:
reetare A6K
determ|na fast retransm|t
eb|tu ramne cnstant
Timeie TCP
(u) Lensltuteu de robubllltute soslre AC lu nlvel z
(b) Lensltuteu de robubllltute soslre AC lu nlvel
tlmer = 1 => retrunsmlsll lnutlle
tlmer = 1z => se uteut reu mult entru mjorltuteu segmentelor
1lmer de retrunsmlsle ornlt lu trunsmlslu unul segment
Cure este lntervulul de exlrure?
R11 greu de estlmut este lnternet

TCP - iimeie dinamice
acobson: ulgorltm dlnumlc de ujusture ermunent u R11 buzut e
msurtorl contlnue
R11 = estlmutul curent, M = ultlmu msurtoure
R11 = - R11 ( -)M, - = ,j8
Ce lntervul se uteut?
e estlmeuz devlu(lu stundurd u R11 (jltter)
Lstlmure L = - L ( - <R11 <
imeout= R + qD
Cum se culculeuz R11 entru un segment retrunsmls?
Nu se folosesc segmentele retrunsmlsse entru culculul R11

TCP - alie iimeie


u) 1lmer de erslsten(
Recetorul trlmlte AC, vlN=c
Recetorul trlmlte AC, vlN=, lerdut
Leudlock: umbele r(l uteut rsuns
1lmer exlrut: eml(torul trlmlte o sond
b) 1lmer de men(lenere in vlu(
Pentru conexlunl lnuctlve mult tlm
Lu exlrure se verlflc dlsonlbllltuteu urtenerulul => se oute inchlde
conexluneu

p(iuni TCP impoiianie
M toute conexlunlle
vlndow scullng - fourte des
NA, AC fourte des
1lmestums
Le ute(l vedeu cu tcpdump suu wiesha

p(iune TCP: M
Lefuult M = 6 octe(l
Lorlm M mure entru eflclen(
Lorlm M mlc entru u evltu frugmentureu
(M1U = muxlmum trunsmlsslon unlt entru un llnk lu Lz)
tlm: M = M1U entru intreugu cule
Lxlst rotocoule de descoerlre u M1U
M se declur in uchetele N
Le oblcel colut de lu M1Ul curdulul usoclut
Les intlnlt: M=6c, de ce?

p(iune TCP: window scaling
u) RlC z
b) Cmul vlndow lze (Av) ure dour 6 bl(l
(luneu wscule=k, fereustru de rece(le se inmul(ete cu z
k
=c..
e seteuz entru flecure dlrec(le in segmentele N
Lxlst rutere l flrewullurl cure rescrlu o(luneu : (

p(iune TCP: NAK, ACK


RlC c6, RlCzc8
NA: se trlmlte nr octetulul dorlt nr de segmente dorlte
AC: se trlmlte o hurt u segmentelor rlmltejlls
tlune in uchetele N, trebule suort lu umbele cuete

p(iune TCP: iimesiamps
RlC z
Numere de secven( e z bl(l => nu trunsferm dect C?
z cmurl de octe(l: alue, echoeply
alueeste comletut lu emlsle,
Recetorul cole in echoeplyultlmul alue rlmlt
e lncrementeuz aluelu flecure ms
Cuetele neceslt slncronlzure
Lu ce folosete?
Culcul R11, evlture wruuround (refoloslre nr de secven()

Peifoiman(a TCP
1CP > ferestre gllsunte mln(recelver Av, congestlon Cv)
Cnd se utlnge vltezu muxlm?
trunsferul e lung (Cv ujunge mure)
nu sunt lerderl
cllentul e tunut cu Av mure, buffere murl, ure o(lune v (wlndow scullng)
Llnux pocsysnetcoe
mem_default,mem_maxeceieuffes,
wmem_default,wmem_maxsenduffes,
tcp_mem,pocsysnetiptcp_default_win_scale,etc
vlndows: Av
_LOCAL_MACMCuentContolete
icescpipaametescpWindowize
8=cMbs, Rv=z8l8 => uvemnevole de R11=cms
8=cCbs, Rv=Ml8 => e nevole de R11= .ms
Aten(le: memorlu e rezervut er conexlune!
lnl(lul se uloc buffer de rece(le t uchete, crete cte z j AC nu lu
rmem_defuult

Peifoiman(a TCP
vlndows P AC=, v= (Av = z8l8)
AC=, v=
Ubuntu c.c AC=, v=6 (udlc Av mux = z
6
*6l8 = Ml8)
www.electronlcu.ub.roAC=, v = c
google.com AC=, v=,

iudiu cozi (simulaie)



A R
bs, ms bs, ms
0 = [tj 0=|nf
Presuunem:
lereustr mure lu recetor
Llnll fr lerderl
Performun(u este determlnut de
Llnkul bottleneck (du ruterul R, de Mbs)
R11 = c.czczccc=zms
Llomensluneu cozll in ruterul R

A R
bs, ms bs, ms
0= 0=|nf
Plerderl e llnll=c, Av=mure
1hrt = 8s*cc*8=6bs
1
l
=cc*8jc
6
=zms
R11c=czccc=zms
8LP=zms*Mbs=. uchete
D - qLL + 8DP

A R
bs, ms bs, ms
0= 0=|nf
Concluzll slmulure:
cozlle dln rutere ufecteuz comortureu 1CP
1CP il ufecteuz slngurt R11ul
reducereu ferestrel de congestle nu duce lu degrudrl duc cozlle sunt suflclente
Cv ~ QLLN 8LP
A R
bs, ms bs, ms
0= 0=|nf
Plerderl e llnll=c, Av=mure
1hrt = 8s*cc*8=6bs
1
l
=cc*8jc
6
=zms
R11c=czccc=zms
8LP=zms*Mbs=. uchete
D - qLL + 8DP

Peifoiman(a TCP
Luc sunt lerderl, duc feresetrele sunt suflclente
ata - VSS//sqrt(l
e
)
P
e
= rutu de lerderl uckete
M = muxlmum segment slze
Lxemlu 8LR=c

entru flbr => Pe = c

(M = zc octe(l) ,
R11=zccms => Rutu = .6Cbs

oclurl 8erkeley (sockets)
Arute in UNl 8L (8erkeley ystem Llstrlbutlon), uzl dlsonlblle in

erver: CL1, 8lNL, Ll1LN, ACCLP1, LNLjRLCLlL, .


Cllent: CL1, CNNLC1, LNLjRLCLlL, .
Primitiva Funcia
SOCKET Cr un c d comunc (soclu). Scc ormul drslor, ul d
srvcu, roocolul ~ smn cu crr unu r
BIND A o drs locl(or) l un soclu.
LISTEN Anun cc c conun Scc cod mm nblocn
ACCEPT Bloch n l sosr un crr blocn~rurn un dscror d
r
CONNECT ncrc s sblsc o conun blocn
SEND Trm d (o blocn)
RECEIVE Rcon d (o blocn)
CLOSE Elbr conun

Lxemlu de rogrumure cu soclurl:
server de flere
u) erver fourte rlmltlv cllent usoclut
b) Pot fl comllute sl rulute e orlce mulnl UNl conectute rln lP
c) Mod de rulure:
Comllure (Llnux, Cygwln, Muc):
ccoseeseec
ccoclientclientc
e o muln c, se creeuz un fller de test, l se ruleuz serverul:
pc71datef1
pc71see
e o ult muln, de ex c,z, se ruleuz cllentul:
pc72clientpc71f1
cllentul red e c,z con(lnutul fllerulul f de e c,

Cod
Cllent
Porturlle cz sunt
rezervute
memcpy cole ln
memorle
stlen lunglmeu unul
strlng
eadwite
oereuz cu flr
6-6-1
Cu in fllere!
s =socket, suu fller?
rezolu(le LN

Cod
erver
htons host to
network
memset = umle o
zon de memorle
erverul uccet c
cererl slmultune in
coud
Lu ce llvreuz un
fller, serverul
uteut o
nou cerere
Cu in fllere!

erver rlmltlv
lnsuflclen(e:
u) erlflcureujruortureu erorllor
Lunglme nume fller
b) ecurltute (orlclne oute luu fllere)
c) Portubllltute (dour t UNl)
d) Performun( (slub trlmltere secven(lul)
1otul, func(loneuz !
Codul ostut e uglnu APC incercu(ll

S-ar putea să vă placă și