TCP và UDP là hai giao th c t ng giao v n và cùng s d ng giao th c IP ứ ở ầ ậ ử ụ ứ
trong t ng m ng. Nh ng không gi ng nh UDP, TCP cung c p d ch v liên k t tin ầ ạ ư ố ư ấ ị ụ ế
c y và có liên k t. Có liên k t đây có nghĩa là hai ng d ng s d ng TCP ph i ậ ế ế ở ứ ụ ử ụ ả
thi t l p liên k t v i nhau trế ậ ế ớ ước khi trao đ i d li u. S tin c y trong d ch v ổ ữ ệ ự ậ ị ụ
được cung c p b i TCP đấ ở ược th hi n nh sau:ể ệ ư
-D li u t ng ng d ng g i đ n đữ ệ ầ ứ ụ ử ế ược TCP chia thành các segment có kích thước phù h p nh t đ truy n đi.ợ ấ ể ề
-Khi TCP g i m t segment, nó duy trì m t th i lử ộ ộ ờ ượng đ ch phúc đáp t ể ờ ừ
tr m nh n. N u trong kho ng th i gian đó phúc đáp không t i đạ ậ ế ả ờ ớ ược tr m g i thìạ ử
segment đó được truy n l i.ề ạ
-Khi TCP trên tr m nh n nh n d li u t tr m g i nó sẽ g i t i tr m g i ạ ậ ậ ữ ệ ừ ạ ử ử ớ ạ ử
m t phúc đó tuy nhiêu phúc đáp không độ ượ ửc g i ngay l p t c mà thậ ứ ường tr m tễ ộ
kho ng th i gian.ả ờ
-TCP duy trì giá tr t ng ki m tra (Checksum) trong ph n header c a dũ ị ổ ể ầ ủ
li u đ nh n ra b t kỳ s thay đ i nào trong quá trình truy n d n. N u 1 ệ ể ậ ấ ự ổ ề ẫ ế
segment b l i thì TCP phía tr m nh n sẽ lo i b và không phúc đáp đ tr m ị ỗ ở ạ ậ ạ ỏ ể ạ
g i truy n l i segment b l i đó. Gi ng nh IP datagram, TCP segment có th t i ử ề ạ ị ỗ ố ư ể ớ
đích m t cách không tu n t . Do v y TCP tr m nh n sẽ s p x p l i d li u và ộ ầ ự ậ ở ạ ậ ắ ế ạ ữ ệ
sau đó g i lên t ng ng d ng đ m b o tính đúng đ n c a d li u. Khi IP ử ầ ứ ụ ả ả ắ ủ ữ ệ
Hình 1.16 khuôn d ng TCP segment.ạ
TCP cung c p kh năng đi u khi n lu ng. M i đ u c a liên k t TCP có ấ ả ề ể ồ ỗ ầ ủ ế
vùng đ m (buffer) gi i h n do đó TCP t i tr m nh n ch cho phép tr m g i ệ ớ ạ ạ ạ ậ ỉ ạ ử
truy n m t lề ộ ượng d li u nh t đ nh (nh h n không gian buffer còn l i). Đi u ữ ệ ấ ị ỏ ơ ạ ề
này tránh x y ra trả ường h p tr m có t c đ cao chi m toàn b vùng đ m c a ợ ạ ố ộ ế ộ ệ ủ
tr m có t c đ ch m h n. Khuôn d ng c a TCP segment đạ ố ộ ậ ơ ạ ủ ược mô t trong hình ả
1.15 các tham s trong khuôn d ng trên có ý nghĩa nh sau:ố ạ ư
-Source Port (16bits) là s hi u c ng tr m ngu n.ố ệ ổ ạ ồ
-Destination Port (16bits) là s hi u c ng tr m đích.ố ệ ổ ạ
-Sequence number (32bits) là s hi u byte đ y tiên c a segment tr khi ố ệ ầ ủ ừ
bit SYN được thi t l p. N u bit SYN đế ậ ế ược thi t l p thì sequence number là s ế ậ ố
hi u tu n t kh i đ u ISN (Initial Sequence Number) và byte d li u đ u tiên là ệ ậ ự ở ầ ữ ệ ầ
ISN+1. Thông qua trường này TCP th c hi n vi c qu n lý t ng byte truy n đi ự ệ ệ ả ừ ề
trên m t k t n i TCP.ộ ế ố
-Acknowledment Number (32bits) s hi u c a segment ti p theo mà tr mố ệ ủ ế ạ
ngu n đang ch đ nh n và ng m đ nh báo nh n t t các segment mà tr m đích ồ ờ ể ậ ầ ị ậ ố ạ
đã g i cho tr m ngu n.ử ạ ồ
-Header length (4 bits) s lố ượng t (32 bits) trong TCP header ch ra v trí ừ ỉ ị
b t đ u c a vùng d li u vì trắ ầ ủ ữ ệ ường Option có đ dài thay đ i. Header length có ộ ổ
• -Reserved (6 bits) dành đ dùng trong tể ương lai.
• -Control bits: các bit đi u khi n URG: xác đ nh cùng con tr kh n có ề ể ị ỏ ẩ
hi u l c.ệ ự
• -ACK: vùng báo nh n ACK Number có hi u l c.ậ ệ ự
• -PSH: ch c năng PUSH.ứ
• -RST: kh i đ ng l i liên k t.ở ộ ạ ế
• -SYN: đ ng b hóa các s hi u tu n t . (Sequence number).ồ ộ ố ệ ầ ự
• -FIN: không còn d li u tr m ngu n.ữ ệ ạ ồ
-Window size (16 bits): c p phát th đ ki m soát lu ng d li u (c ch ấ ẻ ể ể ồ ữ ệ ơ ế
c a s trử ổ ượt). Đây chính là s lố ượng các byte d li u b t đ u t byte đữ ệ ắ ầ ừ ược ch ra ỉ
trong cùng ACK numbet mà tr m ngu n đã s n sàng nh n.ạ ồ ẵ ậ
-Checksum (16 bits): mã ki m soát l i cho toàn b segment c ph n ể ỗ ộ ả ầ
header và d li u.ữ ệ
-Urgent pointer (16 bits) con tr tr t i s hi u tu n t c a byte cu i cùngỏ ỏ ớ ố ệ ầ ự ủ ố
trong dòng d li u kh n cho phép bên nh n bi t đữ ệ ẩ ậ ế ược đ dài c a d li u kh n. ộ ủ ữ ệ ẩ
Vùng này ch có hi u l c khi bit URG đỉ ệ ự ược thi t l p.ế ậ
-Option (đ dài thay đ i) khai báo các tùy tr n c a TCP trong đó thông ộ ổ ọ ủ
thường là kích thướ ực c c đ i c a 1 segment: MSS (Maximum Segment Size)ạ ủ
-TCP data (đ dài thay đ i) ch a d li u c a t ng ng d ng có đ dài ộ ổ ứ ữ ệ ủ ầ ứ ụ ộ
nh m đ nh là 536 byte. Giá tr này có th đi u ch nh đầ ị ị ể ề ỉ ược b ng cách khai báo ằ
trong vùng Option.