Giao thức TCP (Transmission Control Protocol)

Một phần của tài liệu tìm hiểu công nghệ voip xây dựng mô hình truyền thoại pc to pc ( phần nhận ) (Trang 70 - 74)

I. Câc giao thức lớp truyền tả i:

1.Giao thức TCP (Transmission Control Protocol)

Giao thức TCP được dùng lăm giao thức kết nối với độ tin cậy cao giữa hai host trong mạng mây tính hiện nay. Trong ứng dụng truyền thoại VoIP, giao thức TCP được dùng lăm phương tiện vận chuyển câc gói bâo hiệu nhờ có độ tin cậy cao. TCP cung cấp câc khả năng:

- Cơ sở truyền dữ liệu : TCP có thể truyền liín tục câc dòng octec theo hướng bất kì giữa hai host trín mạng bằng câch đóng gói câc octec. - Độ tin cậy : trong trường hợp data bị mất, bị hư, bị lặp lại hoặc sai thứ

tự ban đầu, data phải được truyền lại. Nếu đầu thu nhận đúng dữ liệu sẽ gởi tín hiệu khẳng định ACK (Acknowledgment) về đầu phât. Nếu đầu gởi không nhận được ACK, data sẽ được phât lại. Tại đầu thu, câc octec cũng được đânh số thứ tự để sắp xếp lại câc đoạn đến sai trật tự vă loại bỏ câc đoạn bị trùng lặp. Data bị hư có thể sửa sai bằng câch thím trường checksum văo mỗi đoạn phât đi vă khiểm tra lại tại đầu thu, nếu không tương hợp data sẽ bị loại bỏ.

- Kiểm tra dòng : TCP cung cấp cho đầu thu khả năng kiểm tra số byte đê phât đi ban đầu từ nguồn. Sau mỗi đoạn dữ liệu nhận được thănh công, đầu thu phản hồi một cửa sổ chứa dêy câc số tuần tự đânh số câc octec nhận được.

- Phđn kính : Để cho phĩp nhiều quâ trình đồng xảy ra trong một host duy nhất, TCP kết hợp tổ hợp câc địa chỉ kết hợp giữa địa chỉ mạng IP vă địa chỉ port tạo thănh câc địa chỉ socket riíng biệt cho phía thu vă phía phât. Mỗi cặp địa chỉ kết hợp xâc định một kết nối duy nhất. - Kết nối : Khi có yíu cầu kết nối từ hai phía, hai bín phải hình thănh

kết nối logic trước khi truyền dữ liệu đi. Khi hoăn tất việc truyền thông, kết nối được giải tỏa trở về trạng thâi rỗi để tiếp tục thực hiện câc kết nối khâc nếu có.

Sequence Number Acknowledgment Number Data Offset Reserved Control bits Window

Checksum Urgent Pointer

Option + Padding Data

Cấu trúc một TCP header

 Source Port : 16 bit, cổng nguồn.  Destination Port : 16 bit, cổng đích.

 Sequency Number : 32 bit, số thứ tự của octec data đầu tiín trong đoạn năy.

 Acknowlegment Number : 32 bit, nếu bit kiểm tra ACK được bật, trường năy chứa số thứ tự của đoạn kế tiếp cần nhận.

 Data Offset : 4 bit, số từ 32 được sử dụng trong TCP header nhằm xâc định vị trí đầu tiín của dữ liệu trong gói.

 Reserved : 6 bit, dự trữ, thường đặt giâ trị 0.  Control bits : 8 bit

URG : Urgent Pointer field significant, con trỏ chỉ dấu hiệu khẩn cấp.

ACK : Acknowledgment field significant, trường phât tín hiệu ACK.

EOL : End of Letter, tín hiệu kết thúc văn bản gởi. RST : Reset the connection, thiết lập lại kết nối.

SYN : synchronize sequency number, đồng bộ câc số tuần tự. FIN : No more data from sender, bâo hiệu không còn data để gởi.  Window : 16 bit, số octec data bắt đầu bằng octec được đề cập trong

 Checksum :16 bit, mê kiểm soât lỗi theo phương phâp CRC cho toăn bộ đoạn.

 Urgent Pointer : 16 bit, trỏ tới số tuần tự của octec đi theo sau dữ liệu khẩn, cho bín nhận biết độ dăi của đoạn dữ liệu khẩn. Vùng năy chỉ có hiệu lực khi bit URG được bật kín 1.

 Option : độ dăi bit thay đổi, nằm cuối TCP header vă có độ dăi lă bội số của 8 bit.

 Padding : độ dăi thay đổi, xâc định vị trí kết thúc vùng header.

Số tuần tự (sequency number)

Mỗi octec data trong gói TCP gởi đi đều được đânh số tuần tự vă được xâc nhận tại đầu thu bằng tín hiệu ACK. Mỗi đoạn cũng mang một số ACK lă số thứ tự của octec data kế tiếp sẽ được gởi đi theo hướng ngược lại. Khi TCP gởi một đoạn nó đồng thời chĩp một bản sao của đoạn đó văo hăng chờ phât lại vă khởi động bộ định thời, nếu nhận được tín hiệu ACK từ phía thu, bản sao sẽ bị loại bỏ khỏi hăng đợi. Nếu chưa nhận được tín hiệu ACK sau thời gian tối đa cho phĩp (time out) bản sao sẽ được phât lại.

Số tuần tự được đânh số trong giới hạn từ 0 tới 2^32 – 1 số. Số thứ tự nhỏ nhất được đânh số ở octec data đầu tiín ngay sau header.

Khi một kết nối mới được thiết lập, số thứ tự bắt đầu được cung cấp gồm 32 bit. Việc khởi tạo giới hạn trong chu kì 32 bit xung clock trong đó câc bit thấp được tăng lần lượt sau 4 micro giđy. Do đó chu kì khởi tạo được lặp lại sau 4,55 giờ. Vì câc đoạn dữ liệu không tồn tại trong mạng không quâ văi chục phút nín khả năng số tuần tự bị trùng lặp lă không hề có.

Đối với mỗi kết nối đều có số tuần tự nhận vă gởi. Chuỗi số thứ tự gởi khởi tạo được nhận biết trong quâ trình khởi tạo kết nối.

số thứ tự cuối cùng được sử dụng cho kết nối, do đó nơi nhận yíu cầu TCP gởi phải kiểm tra lại tín hiệu đồng bộ SYN.

Qui trình thiết lập kết nối TCP

Cơ chế bắt tay ba chiều được sử dụng để thiết lập kết nối cho việc truyền tải thông tin trín giao thức TCP. Thủ tục năy được bắt đầu bởi câc giao thức TCP trín một hệ thống vă được đâp ứng bởi câc thủ tục tương ứng của giao thức TCP trín một hệ thống khâc. Tiến trình năy cũng được thực hiện nếu cả hai giao thức TCP trín hai hệ thống đồng thời khởi tạo một tiến trình kết nối. (adsbygoogle = window.adsbygoogle || []).push({});

Quâ trình khởi tạo kết nối được bắt đầu bằng việc một trong hai giao thức TCP gởi gói dữ liệu được đóng nhên SYN đến một đầu cuối khâc yíu cầu thiết lập kết nối. Câc tiến trình tiếp theo trong quâ trình thiết lập kết nối giữa hai hệ thống A vă B được mô tả như hình:

TCP A TCP B Gởi SYNseq=x

Nhận SYN

GởiSYN,ACKx+1(bâonhận SYN) Nhận ACK

Gởi ACK

Qui trình thiết lập kết nối TCP

Giải tỏa kết nối TCP

Kết nối TCP được giải tỏa khi nhận được thông bâo CLOSE bởi câc trình ứng dụng trín một trong hai đầu cuối. Thông bâo CLOSE được phât đi khi xảy ra một trong câc trường hợp sau:

- User chỉ định cho TCP đóng kết nối.

- TCP nhận được gói FIN từ đầu cuối bín kia. - Cả hai user cùng thực thi lệnh đóng đồng thời.

- Quâ trình giải tỏa kết nối được mô tả như hình sau : TCPA TCPB

Gởi FINseq=x

Nhận FIN

Gởi ACKx+1(bâo nhận FIN) Nhận ACK

Gởi FINseq=y Nhận FIN

Gởi ACK Nhận ACK (bâo nhận FIN)

Giải tỏa kết nối TCP

Một phần của tài liệu tìm hiểu công nghệ voip xây dựng mô hình truyền thoại pc to pc ( phần nhận ) (Trang 70 - 74)