Giao thức điều khiển truyền tin (Transmission Control Protocol – TCP)

Một phần của tài liệu đồ án tốt nghiệp tìm hiểu các giao thức trong voip đh sư phạm kỹ thuật hưng yên (Trang 40 - 43)

Protocol – TCP)

Một số ứng dụng đòi hỏi giao thức giao vận cung cấp dịch vụ chuyển giao thông tin tin cậy sử dụng TCP bởi nó cung cấp dịch vụ kiểm tra đúng đắn và dữ liệu được truyền với một sự phối hợp thích hợp. Một số đặc điểm của dịch vụ tin cậy mà TCP cung cấp là:

• Hướng dòng (Stream Orientation): TCP coi dữ liệu nó gửi đi là một dòng byte không phải là gói tin. Do đó, TCP đảm bảo số thứ tự của các byte gửi nhận. Trường sequence number và Acknowledgment number trong TCP header giữ dấu của các byte. TCP tiêu chuẩn không bắt hệ thống phải sử dụng một số đặc biệt nào để đánh số dòng byte, mỗi hệ thống tự chọn một số mà nó sẽ dùng làm điểm bắt đầu. Để giữ dấu dòng byte một cách chính xác, mỗi trạm cuối phải biết số thứ tự mà trạm kia dùng. Chúng phải đồng bộ hệ thống số để trao đổi SYN segment trong quá trình bắt tay. Trường “Sequent number” trong SYN segment chứa số bắt đầu (ISN) của dòng số đánh thứ tự, số này được chọn ngẫu nhiên. Mỗi byte trong dữ liệu được giữ dấu bởi số ISN do đó byte đầu tiên của dữ liệu mang số ISN+1. Sequent number chứa vị trí của dòng byte trong gói tin nếu ISN=0 và 4000 byte đã được chuyển giao thì con số tiếp theo sẽ là 4001. • Chuyển giao bộ đệm (Buffered Transfer): Vì dữ liệu được coi là dòng byte nên

đơn vị truyền có thể là byte. Để giảm số lượng truyền thông, giao thức cố gắng sử dụng số lượng tối đa của segment để truyền tải thông tin. Trường window trong TCP header cho biết số byte tối đa mà trạm đích có thể nhận được, nếu trạm đích có khả năng chấp nhận 6000 byte thì trường window sẽ là 6000, trạm gửi có thể điều chỉnh lại dữ liệu cho phù hợp. Nếu trường window mang giá trị 0 có nghĩa là trạm gửi phải chờ tới khi nhận được một số khác 0.

• Kết nối hai chiều (Full Duplex Connection): TCP/IP cung cấp kết nối cho cả hai đầu của liên kết. Có nghĩa là tầng phía dưới cung cấp khả năng gửi trả thông báo từ trạm đích trở lại trạm nguồn. TCP là giao thức hướng kết nối. Nó thiết lập quan hệ logic giữa 2 trạm tham gia liên kết. Thông tin điều khiển gọi là "handshake" được trao đổi giữa 2 trạm để thiết lập hội thoại trước khi thông tin được truyền. TCP chỉ dẫn chương trình điều khiển của một segment bằng cách đặt một bit dành riêng của cờ tại word thứ 4 của segment header. Kiều bắt tay của TCP gọi là three way handshake bởi vì 3 segment được trao đổi. Trạm A bắt đầu kết nối bằng cách gửi một segment với bit "Synchronize sequenence number" (SYN). Segment này báo cho trạm B thứ tự trạm A sẽ sử dụng cho những segment của nó gửi, số thứ tự này đảm bảo cho dữ liệu một trật tự thích hợp. Trạm B đáp lại trạm B với một segment với bit "Acknowledgment" (ACK) và SYN được đặt. Segment của B thông báo rằng nó đã nhận được thông báo của A và báo cho A biết số thứ tự mà nó sẽ sử dụng. Cuối cùng, A gửi một segment báo cho B nó đã nhận được thông báo và truyền gói dữ liệu

đầu tiên. Chú ý rằng, gói tin thứ nhất chứa bit SYN và các gói tiếp theo chứa bit ACK. Sau khi trao đổi, trạm A xác định hiển nhiên trạm đích tồn tại và sẵn sàng nhận dữ liệu. Ngay sau khi kết nối được thiết lập, dữ liệu có thể truyền. Khi kết thúc hợp tác truyền giao dữ liệu, chúng sẽ trao đổi three way hanshake chứa bit No more data from sender gọi là (FIN) để kết thúc kết nối. Đó là sự trao đổi giữa hai trạm cung cấp một kết nối logic giữa hai hệ thống.

TCP cung cấp dịch vụ tin cậy với một cơ chế gọi là "Positive Ackowledgment with Retransmission " (PAR). Đơn giản là trạm nguồn tiếp tục gửi thông tin đi cho tới khi nó nhận được thông báo dữ liệu đã được nhận chính xác tại trạm đích. Mỗi đơn vị thông tin chuyển giao giữa các ứng dụng gọi là segment, mỗi segment chứa checksum để đảm bảo rằng segment không bị phá huỷ trên đường truyền, nếu segment không bị phá huỷ, trạm nhận gửi thông báo xác nhận lại trạm gửi, nếu segment bị phá huỷ, trạm nhận huỷ bỏ nó và sau một thời gian nào đó, trạm gửi sẽ gửi lại gói tin mà nó không nhận được thông báo xác nhận.

Tiêu đề gói tin TCP

Trong đó:

Ý nghĩa tiêu đề gói tin TCP

Tên Ý nghĩa

Source Port Cổng nguồn Destination Port Cổng đích

Sequence Number Số thứ tự của gói tin Offset Số thứ tự của byte đầu tiên

Flags Cờ chỉ dẫn

Windows Số byte tối đa trạm đích có thể nhận Checksum Checksum kiểm tra tính toàn vẹn Urgent Pointer Độ dài dữ liệu khẩn đi sau

Option Tùy chọn

Padding Phần điền thêm vào các con số 0

Một phần của tài liệu đồ án tốt nghiệp tìm hiểu các giao thức trong voip đh sư phạm kỹ thuật hưng yên (Trang 40 - 43)

Tải bản đầy đủ (PDF)

(136 trang)