I. 4 tầng của giao thức TCP-IP
- Tầng ứng dụng (Application Layer)
- Tầng truyền tải (Transport Layer)
- Tầng mạng (Internet Layer)
- Tầng vật lý (Link Layer)
II. Giao thức IP
Đơn vị dữ liệu dùng trong IP là (Datagram), có các thông số sau:
- VER (4 bits): phiên bản giao thức, IPv4 or IPv6
- IHL (4 bits): chỉ độ dài phần đầu (Internet header Length) của gói tin
- Type of service (8 bits): đặc tả các tham số về dịch vụ nhằm thông báo cho mạng biết dịch vụ nào mà gói tin muốn được sử dụng, chẳng hạn ưu tiên, thời hạn chậm trễ, năng suất truyền và độ tin cậy.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Precedence | D | T | R | Reserved |
+ Precedence (3 bit): chỉ thị về quyền ưu tiên gửi gói tin, nó có giá trị từ 0 (gói tin bình thường) đến 7 (gói tin kiểm soát mạng).
+ D (Delay) (1 bit): D = 0 gói tin có độ trễ bình thường; D = 1 gói tin độ trễ thấp.
+ T (Throughput) (1bit): T = 0 thông lượng bình thường; T = 1 thông lượng cao.
+ R (Reliability) (1 bit): R = 0 độ tin cậy bình thường; R = 1 độ tin cậy cao.
- Total Length (16 bits): chỉ độ dài toàn bộ gói tin, kể cả phần đầu tính theo đơn vị byte với chiều dài tối đa là 65535 bytes.
- Identification (16 bits): cùng với các tham số khác (như Source Address và Destination Address) tham số này dùng để định danh duy nhất cho một gói tin trong khoảng thời gian nó vẫn còn trên liên mạng.
- Flags (3 bits): liên quan đến sự phân đoạn (Fragment) các gói tin.
0 | 1 | 2 |
0 | DF | MF |
+ Bit 0: reserved - chưa sử dụng, luôn lấy giá trị 0.
+ Bit 1: (DF) = 0 (May Fragment) = 1 (Don't Fragment)
+ Bit 2: (MF) = 0 (Last Fragment) = 1 (More Fragments)
- Fragment Offset (13 bits): chỉ vị trí của đoạn (Fragment) ở trong gói tin tính theo đơn vị 8 bytes
- Time to Live (8 bits): quy định thời gian tồn tại (tính bằng giây) của gói tin trong mạng để tránh tình trạng một gói tin bị quẩn trên mạng. Thời gian này được cho bởi trạm gửi và được giảm đi (thường quy ước là 1 đơn vị) khi gói tin đi qua mỗi router của liên mạng.
- Protocol (8 bits): TCP có giá trị trường Protocol là 6, UDP có giá trị trường Protocol là 17.
- Header Checksum (16 bits): mã kiểm soát lỗi của header gói tin IP.
- Source Address (32 bits) và Destination Address (32 bits): địa chỉ của máy nguồn và máy đích.
- Options (độ dài thay đổi): khai báo các lựa chọn do người gửi yêu cầu (tuỳ theo từng chương trình).
- Padding (độ dài thay đổi): vùng đệm, được dùng để đảm bảo cho phần header luôn kết thúc ở một mốc 32 bits.
- Data (độ dài thay đổi): trên một mạng cục bộ như vậy, hai trạm chỉ có thể liên lạc với nhau nếu chúng biết địa chỉ vật lý của nhau. Như vậy vấn đề đặt ra là phải thực hiện ánh xạ giữa địa chỉ IP (32 bits) và địa chỉ vật lý (48 bits) của một trạm
III. Giao thức TCP
TCP là một giao thức "có liên kết" (Connection - Oriented), nghĩa là cần phải thiết lập liên kết giữa hai thực thể TCP trước khi chúng trao đổi dữ liệu với nhau. Đơn vị dữ liệu sử dụng trong TCP là segment, có các thông số sau:
- Source Por (16 bits) và Destination Port (16 bit): Số hiệu cổng TCP của máy tính gưi và máy tính nhận.
- Sequence Number (32 bit): số thứ tự của byte đầu tiên của segment trừ khi bit SYN được thiết lập.
- Acknowledgment Number (32 bit): số thứ tự của segment tiếp theo mà bên nhận cần. Ngầm ý báo nhận tốt (các) segment mà máy tính gửi đã gửi cho máy tính nhận.
- Data offset (4 bit): tham số này chỉ ra vị trí bắt đầu của nguồn dữ liệu.
- Reserved (6 bit): dành để dùng trong tương lai.
- Control bit (các bit điều khiển):
+ URG: Vùng con trỏ khẩn (Ucgent Poiter).
+ ACK: Vùng báo nhận (ACK number).
+ PSH: Chức năng PUSH.
+ RST: Thiết lập lại đường truyền (Reset).
+ SYN: Đồng bộ lại số thứ tự (Sequence Number).
+ FIN: Không gửi thêm dữ liệu.
- Window (16 bit): Đây chính là số lượng các byte dữ liệu, bắt đầu từ byte được chỉ ra trong vùng ACK number, mà máy tính gửi đã sẵn sàng để nhận.
- Checksum (16 bit): mã kiểm soát lỗi cho toàn bộ segment (header + data).
- Urgemt Poiter (16 bit): con trỏ này trỏ tới số thứ tự của byte đi theo sau dữ liệu khẩn.
- Options (độ dài thay đổi): khai báo các tùy chọn của TCP, trong đó có độ dài tối đa của vùng TCP data trong một segment.
- Padding (độ dài thay đổi): phần chèn thêm vào header để đảm bảo phần header luôn kết thúc ở một mốc 32 bit.
- TCP data (độ dài thay đổi): chứa dữ liệu của tầng trên
IV. Giao thức UDP
UDP (User Datagram Protocol) là giao thức theo phương thức không liên kết, được sử dụng thay thế cho TCP ở trên IP theo yêu cầu của từng ứng dụng. UDP cũng cung cấp cơ chế gán và quản lý các số hiệu cổng (Port Number) để định danh duy nhất cho các ứng dụng chạy trên một trạm của mạng
V. Giao thức ICMP
Giao thức điều khiển thông điệp Internet ICMP cung cấp tiện ích sửa chữa sự cố và thông báo lỗi cho các gói tin không truyền đi được
Thông điệp | Chức năng |
Tài liệu tham khảo: