23 tháng 2, 2014

Giao thức TCP (Transmission Control Protocol)

Giao thức hoạt động ở lớp Transport trong mô hình TCP/IP.

TCP Header

                                                                                           TCP Header


Chức năng của từng Fields
- Source Port/ Distination Port: giá trị cổng TCP, xác định chương trình ứng dụng ở 2 đầu kết nối (cổng máy gửi/ cổng máy nhận)
- Sequence Number: xác định vị trí trong chuổi các byte dữ liệu trong segment của nơi gửi
- Acknowledgement Number: xác định số byte nguồn đang đợi để nhận kế tiếp
- Header Length: chứa 1 số nguyên, xác định độ dài phần đầu segment điện tử tính theo bội số của 32bits
- Reserved: dành riêng sử dụng cho tương lai, có giá trị là 0
- UGR, ACK, PSH, RST, SYN, FIN: các bit xác định dịch vụ
     +UGR: cờ cho trường Urgent Pointer, dùng để chỉ gói tin được xử lý ưu tiên trước
     +ACK: cờ cho trường Acknowledgement, sử dụng để xác nhận đã nhận được 1 gói tin
     +PSH: hàm push, yêu cầu hệ thống gửi tất cả dữ liệu đệm ngay lập tức
     +RST: thiết lập lại đường truyền
     +SYN: đồng bộ lại số thứ tự, bắt đầu 1 kết nối giữa các máy tính
     +FIN: không gửi thêm số liệu, thông báo hệ thống từ xa kết thúc truyền tin
- Window size: số byte có thể nhận bắt đầu từ giá trị của trường báo nhận (ACK)
- Checksum: 16bit kiểm tra cả phần header và dữ liệu
- Urgent Pointer: nếu cờ URG bật thì giá trị trường này chính là số từ 16bit mà số thứ tự gói tin cần dịch trái
- Options: trường tùy chọn, nếu có độ dài thì là bộ số của 32bit

Khái niệm

- Là giao thức điều khiển truy vận
- Đảm bảo chuyển giao dữ liệu đến nơi nhận 1 cách đáng tin cậy, đúng thứ tự
- Hỗ trợ nhiều giao thức ứng dụng phổ biến và các ứng dụng kết quả như www, e-mail, SSH, FTP, SMTP,...

Quá trình bắt tay 3 bước: thiết lập kết nối
- Client yêu cầu mở cổng dịch vụ bằng cách gửi gói tin SYN → Server, SYN được gán giá trị x
- Server hồi đáp bằng gói tin SYN/ACK, SYN/ACK được gán là x+1, SYN được gán là y
- Client tiếp tục gửi tới server gói tin ACK, trong gói này SYN được gán là x+1, còn ACK được gán y+1
→ Tại thời điểm này, client và server xác nhận 1 kết nối đã được thiết lập

Truyền dữ liệu
- Giao thức TCP có cơ chế sửa lỗi/truyền lại → truyền dữ liệu không bị lỗi
- Truyền các gois dữ liệu theo đúng thứ tự
- Truyền lại các gói dữ liệu mất trên đường truyền
- Loại bỏ các dữ liệu trùng lặp
- Cơ chế hạn chế tắc nghẽn đường truyền

Không có nhận xét nào:

Đăng nhận xét