You are on page 1of 4

1

Bt tay 3 bc trong TCP M t c bn: 1 gi d liu TCP ( TCP packet ) cha flag bits ( c ) m t ni dung v mc ch ca gi d liu . Vd: gi d liu vi c SYN ( synchoronize ) dng bt u 1 connection. ACK ( acknowledgement ) . FIN (finish ) dng ct 1 connection... Cch thc hot ng:

1> SYN: Cc chng trnh my con ( nh web browser, ftp, ...) bt u connection vi my ch bng cch gi 1 packet vi c "SYN" n my ch : SYN packet ny thng c gi t cc cng cao ( 1024 -65535 ) ca my con n nhng cng trong vng thp ( 1 -1023 ) ca my ch . Chng trnh trn my con s hi h iu hnh cho 1 cng m connection vi my ch . Nhng cng trong vng ny c gi l "cng my con" ( client port range). Tng t nh vy, my ch s hi HH nhn c quyn ch tn hiu trong my ch , vng cng 1 - 1023 . Vng cng ny c gi l "vng cng dch v" ( service port ) . V d Web Server s lun ch tn hiu cng 80 v IE s connect vo cng 80 ca my ch . Ngoi ra trong gi d liu cn c thm a ch IP ca my con v my ch ( c 2 ) 2> SYN/ACK : khi yu cu m connection c my ch nhn c ti cng ang m , server s gi li packet chp nhn vi 2 bit SYN v ACK : SYN/ACK packet c gi ngc li bng cch i 2 IP ca server v client, client IP s thnh IP ch v server IP s thnh IP bt u . Tng t nh vy, cng cng s thay i , server nhn c packet cng no th cng s dng cng gi li packet vo cng m client gi . Server gi li packet ny thng bo l server nhn c tn hiu v chp nhn connection, trong trng hp server khng chp nhn connection, thay v SYN/ACK bits c bt, server s bt bit RST/ACK ( Reset Acknowledgement ) v gi ngc li RST/ACK packet . Hoc ICMP cng khng chp nhn thng bo cho client rng yu cu b t chi . Server bt buc phi gi thng bo li bi v TCP l chun tin cy nn nu client khng nhn c thng bo th s ngh rng packet b lc v gi li thng bo mi . 3> ACK Khi client nhn c SYN/ACK packet th s tr li bng ACK packet : packet ny c gi vi mc ch duy nht bo cho my ch bit rng client nhn c SYN/ACK packet v lc ny connection c thit lp v d liu s bt u lu thng t do gia connection.

Phn tch tin trnh Three-way

Handshake
chng ta s xem xt cc qu trnh bt tay ca 2 my tnh trc khi truyn thng cn c gi l Tree-way Handshake. Trc khi bt u hy xem bng so snh mt s khc bit gia 2 giao thc ca tng vn chuyn l TCP v UDP

Qua bng phn tch trn chng ta nhn thy giao thc TCP l mt giao thc c tin cy cao hn v trc khi truyn thng cc my ngun v ch cn khi to cc lin kt, tuy nhin UDP li c thun li v mt tc , cho nn i vi cc ng dng u tin v mt thi gian th UDP l la chn tt nht, ngc li nu s an ton v bo m d liu truyn n c ni cn n th TCP l la chn ti u. y cng l im khc bit chnh m cc bn cn ghi nh khi x l cc cu hi ca k thi chng ch quc t SCNP. TCP Flag: trong qua trnh truyn thng ca mnh, giao thc TCP s dng cc c gi l nhng TCP Flag l SYN, ACK, FIN, RESET, PUSH v URGENT. Cc c ny thng c xc nh bng nhng k t u ca chng nh S, A, F, R, P v urg. - SYN c sng dng trong giai on u ca qu trnh khi tp lin kt nhm ng b ha hai my tnh trc khi d liu c truyn. - ACK dng gi thng bo xc nhn sau khi nhn c d liu t my gi. Thng c s dng trong giai on 2 ca qu trnh khi to lin kt. - FIN gi bi my truyn yu cu chm dt lin kt. - RESET: dng reset li phin truyn. - PUSH c p dng khi bn truyn yu cu d liu c gi trc tip n ng dng m khng cn thng qua vng m. - URGENT c s dng truyn d liu khn c mc u tin cao nht. Sequence v Acknowledgement Number Ngoi cc TCP Flag th Sequence v Acknowledgement Number c p dng tng cng tin cy cho d liu khi truyn cng nh dng hp nht cc d liu c chia thnh nhiu gi tin nh trong qu trnh gi, y l cc gi tr 32 bit c ch nh trong header ca gi tin. Connection (Lin kt) D liu ch c truyn khi connection thit lp, c 2 loi connection l passive open (khi ng dng lng nghe kt ni: v d ng dng netcat lng nghe kt ni trn mt cng no ) v active open (ng dng yu cu giao thc TCP truyn thng vi mt remote host ang ch passove open). Thit lp lin kt Trc khi d liu c truyn cng nh cc senquence v ack number hot ng th lin kt phi c khi to, qu trnh ny gi l three-way handshake, qu tnh ny gm 3 bc sau y:

3
1. Host A gi mt segment n Host C vi thng tin: SYN = 1 (Session c ng b ho) ACK = 0 (Khng c gi tr trong trng ACK , v vy c ny c gi tr l 0.) Sequence Number = x, vi x l mt gi tr. (x l ISN ca Host A) Acknowledgement Number = 0 2. Host C nhn segment ny v phn hi li Host A cc thng bo sau: SYN = 1 (Session vn c ng b ho) ACK = 1 (C xc nhn c thit lp) Sequence Number = y, vi y l mt gi tr. (y l ISN ca Host C) Acknowledgement Number = x + 1 (S Sequence Number t Host A c cng thm 1.) 3. Host A nhn segment t Host C v phn hi n Host C cc thng tin: SYN = 0 (Session c ng b ho; hn na cc yu cu khng cn thit.) ACK = 1 (C ack thit lp response ti SYN t segment trc) Sequence Number = x + 1 (y l th t trnh t tip theo trong chui.) Acknowledgement Number = y + 1 (S sequence number t Host C c cng thm 1.)

Kt thc lin kt
Tng t nh khi khi to lin kt, qu trnh kt thc lin kt cng gm nhiu bc. C 2 loi kt thc lin kt trong TCP l graceful (s dng c FIN) v bao gm 4 bc v l do qu trnh truyn thng trong TCP l full-duplex communication v non-graceful (s dng c RESET). V ging nh qu trnh khi to chng ta c 2 loi Passive Close v Active Close. Sau y l cc bc trong qu trnh graceful connection termination: 1. Host A gi mt session termination ti Host C vi thng tin: FIN = 1 (Session s c gii hn.) ACK = 1 (y l mt s ack, da trn thng tin hin ti) Sequence Number (FIN number) = s (s l mt gi tr da trn thng tin hin ti) Acknowledgement Number = p (p l mt gi tr da trn thng tin hin ti) 2. Host C nhn segment ca Host A v p tr thng tin: FIN = 0 (Segment ny khng yu cu termination ca session.) ACK = 1 (Segment bao gm mt s ack) Sequence Number = Not Present (Do khng c FIN, nn khng c sequence number c yu cu) Acknowledgement Number = s + 1 (y l response ti FIN ca Host A FIN) 3. Host C gi mt session termination hng ngc li vi thng tin: FIN = 1 (Session s c gii hn) ACK = 1 (y l mt s ack) Sequence Number = p (p l mt gi tr da trn thng tin hin ti)

4
Acknowledgement Number = s + 1 (Tng t nh trong segment trc) 4. Host A nhn cc segment t Host C v p tr thng tin: FIN = 0 (Segment khng yu cu mt termination, khng c SYN) ACK = 1 (Segment bao gm mt s ack) Sequence Number = Not Present Acknowledgement Number = p + 1 (y l s sequence number ca Host C c cng thm 1) Lc ny lin kt truyn thng gia 2 host kt thc.

You might also like