13
LOGO Giao Thức TCP

Giao Thức TCP

Embed Size (px)

DESCRIPTION

Slide về giao thức TCP

Citation preview

Page 1: Giao Thức TCP

LOGO

Giao Thức TCP

Page 2: Giao Thức TCP

Giới thiệu về giao thức TCP.1

Cấu trúc gói tin cũa giao thức TCP.2

Hoạt động cũa giao thức TCP.3

Các cổng cũa giao thức TCP.4

Giao thức TCP(Transmission Control Protocol)

Page 3: Giao Thức TCP

Giới thiệu về giao thức TCP.Giao thức TCP (Transmission Control Protocol -

"Giao thức điều khiển truyền vận") là một trong các giao thức cốt lõi của bộ giao thức TCP/IP.

Nằm trên tầng giao vận trong cả mô hình TCP/IP và OSI.

Giao thức TCP cho phép vận chuyển dữ liệu mạnh mẽ và vô cùng đáng tin cậy, đảm bảo rằng dữ liệu chuyển đi không bị hư hao bằng cách này hay cách khác.

Sử dụng chế độ truyền song công (full-deplex) nghĩa là có thể truyền tin hiệu từ cả 2 bên.

Page 4: Giao Thức TCP

Giao thức TCP đảm bảo tính an toàn khi truyền dữ liệu.

Page 5: Giao Thức TCP

Vị trí cũa Giao thức TCP và UDP

Page 6: Giao Thức TCP

Cấu trúc gói tin TCP Một gói tin TCP bao gồm 2 phần• Header (tiêu đề):Gồm 11 trường trong đó 10 trường bắt buộc.

Trường thứ 11 là tùy chọn.• Data (dữ liệu).

+ Bít 0 - 3 4 - 9 10 - 15 16 - 310 Source Port Destination Port

32 Sequence Number64 Acknowledgement Number96 Data Offset Reserved Flags Window

128 Checksum Urgent Pointer160 Options (optional)

160/192+ 

Data 

Page 7: Giao Thức TCP

Source port (16 bit) :Số hiệu của cổng tại máy tính gửi. Destination port (16 bit) :Số hiệu của cổng tại máy tính nhận. Sequence number (32 bit):Trường này có 2 nhiệm vụ. Nếu cờ

SYN bật thì nó là số thứ tự gói ban đầu và byte đầu tiên được gửi có số thứ tự này cộng thêm 1. Nếu không có cờ SYN thì đây là số thứ tự của byte đầu tiên.

Acknowledgement number (32 bit) :Nếu cờ ACK bật thì giá trị của trường chính là số thứ tự gói tin tiếp theo mà bên nhận cần.

Data offset (4 bit):Trường có độ dài 4 bit qui định độ dài của phần header (tính theo đơn vị từ 32 bit). Phần header có độ dài tối thiểu là 5 từ (160 bit) và tối đa là 15 từ (480 bit).

Reserved (6 bit) :Dành cho tương lai và có giá trị là 0.

Page 8: Giao Thức TCP

Flags (hay Control bits) :Bao gồm 6 cờ: + URG:Cờ cho trường Urgent pointer + ACK:Cờ cho trường Acknowledgement + PSH:Hàm Push + RST:Thiết lập lại đường truyền + SYN:Đồng bộ lại số thứ tự + FIN:Không gửi thêm số liệu Window (16 bit) :Số byte có thể nhận bắt đầu từ giá trị của trường

báo nhận (ACK) Checksum (16 bit) :Mã kiểm tra lỗi cho toàn bộ segment cả phần

header và dữ liệu. Urgent pointer (16 bit) :Bếu cờ URG bật thì giá trị trường này chính

là số từ 16 bit mà số thứ tự gói tin (sequence number) cần dịch trái. Options :Đây là trường tùy chọn. Nếu có thì độ dài là bội số của 32 bit.

Page 9: Giao Thức TCP

Giao thức TCP đòi hỏi thiết lập kết nối trước khi bắt đầu gửi dữ liệu và kết thúc kết nối khi việc gửi dữ liệu hoàn tất.

Để thiết lập kết nối ta phải thực hiện quá trình bắt tay 3 bước:• Bước 1:Yêu cầu liên kết trạm nguồn khởi tạo tiến trình bằng

cách gửi 1 gói TCP với cờ SYN =1 và chứ giá trị khởi tạo số tuần tự ISN cũa client.Giá trị ISN là 1 số 4 byte không dấu và tăng lên mỗi khi liên kết được yêu cầu (quay trở về 0 khi tới giá trị 232).Thông điệp SYN còn chứa số hiệu cổng TCP cũa phần mềm dịch vụ mà tiến trình trạm muốn liên kết.

• Bước 2:Khi đối tượng cũa phần mềm dịch vụ nhận được SYN cùng giá trị ISN cũa nó và cờ ACK =1 trong trường hợp sẵn nhận liên kết.

• Bước 3:Tiến trình trạm trả lời lại gói SYN cũa đối tượng dịch vụ có thể trao đổi thông tin 1 cách tin cậy.

Hoạt động cũa giao thức TCP

Page 10: Giao Thức TCP

Để hũy kết nối ta phải thực hiện quá trình bắt tay 4 bước:• Bước 1:Bên gửi kết thúc với FIN=1• Bước 2:Vì liên kết TCP là song công nên mặc dù nhận được

yêu cầu kết thúc,thì bên nhận vẫn có thể tiếp tục truyền cho đến khi 2 bên không còn số liệu để gửi và thông báo cho 1 bên bằng đề nghị FIN và thông báo ACK để thể hiện sẵn sàng ngắt kết nối.

• Bước 3:Bên 1 đồng ý ngắt kết nối và thông báo lại sẵn sàng ngắt với FIN và ACK=1.Như vậy để ngắt kết nối thì cả 2 bên phải đồng ý giải phóng bằng cách gửi cờ FIN,việc này đảm bảo dữ liệu không bị thất lạc do 1 bên đột ngột chấm dứt kết nối.

• Bước 4:Bên 2 gửi cờ ACK thông báo đã nhận thông tin và đề nghị ngắt kết nối.

Page 11: Giao Thức TCP

Quá Trình Truyền Dữ liệu• Dữ liệu từ tầng ứng dụng gửi đến được đượ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 1 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 1 phúc đáp tuy nhiên phúc đáp không được gửi lạ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 lại để trạm gửi truyền lại segment bị lỗi đó.

Page 12: Giao Thức TCP

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.

TCP (Transmission Control Protocol) là một giao thức “có liên kết” (connection - oriented), nghĩa là cần thiết lập liên kết (logic), giữa một cặp thực thể TCP trước khi chúng trao đổi dữ liệu với nhau.

TCP cung cấp khả năng truyền dữ liệu một cách an toàn giữa các máy trạm trong hệ thống các mạng. Nó cung cấp thêm các chức năng nhằm kiểm tra tính chính xác của dữ liệu khi đến và bao gồm cả việc gửi lại dữ liệu khi có lỗi xảy ra.

Page 13: Giao Thức TCP

Các cổng cũa giao thức TCP TCP sử dụng khái niệm số hiệu cổng (port number) để định danh

các ứng dụng gửi và nhận dữ liệu. Mỗi đầu của một kết nối TCP có một số hiệu cổng (là số không dấu 16-bit) được gán cho ứng dụng đang nhận hoặc gửi dữ liệu. Các cổng được phân thành ba loại cơ bản: nổi tiếng, được đăng ký và động/cá nhân. Các cổng nổi tiếng đã được gán bởi tổ chức Internet Assigned Numbers Authority (IANA) và thường được sử dụng bởi các tiến trình mức hệ thống hoặc các tiến trình của root.

Ví dụ: FTP (21), TELNET (23), SMTP (25) và HTTP (80). Các cổng được đăng ký thường được sử dụng bởi các ứng dụng

người dùng đầu cuối (end user application) với vai trò các cổng phát tạm thời (khi dùng xong thì hủy đăng ký).

Các cổng động/cá nhân cũng có thể được sử dụng bởi các ứng dụng người dùng đầu cuối.