Hình 1-12: Tiêu đề mở rộng IPv6
Gói IPv6 có thể chứa không, một hoặc nhiều tiêu đề mở rộng nhưng chúng phải có mặt theo thứ tự được khuyến nghị như Bảng 1-1.
Bảng 1-1: Thứ tự tiêu đề tiện ích mở rộng IPv6 trong một gói tin
Header Type | Next Header Code | |
1 | Basic IPv6 Header | - |
2 | Hop-by-Hop Options | 0 |
3 | Destination Options (with Routing Options) | 60 |
4 | Routing Header | 43 |
5 | Fragment Header | 44 |
6 | Authentication Header | 51 |
7 | Encapsulation Security Payload Header | 50 |
8 | Destination Options | 60 |
9 | Mobility Header | 135 |
No next header | 59 | |
Upper Layer | TCP | 6 |
Upper Layer | UDP | 17 |
Có thể bạn quan tâm!
- Giải pháp cổng biên dịch địa chỉ mạng cho các giao thức giao vận dùng cho ứng dụng hội thảo video từ xa trên internet - 2
- Giải pháp cổng biên dịch địa chỉ mạng cho các giao thức giao vận dùng cho ứng dụng hội thảo video từ xa trên internet - 3
- Sự Phân Rã Của Biểu Diễn Địa Chỉ Ipv4
- Phương Pháp Định Tuyến Và Biên Dịch Địa Chỉ Mạng
- Bảng Lưu Trữ Dữ Liệu Ánh Xạ Cổng Dịch Chuyển
- Thư Mục Hệ Thống Cổng Biên Dịch Địa Chỉ Mạng
Xem toàn bộ 93 trang tài liệu này.
ICMPv6 | 58 |
Upper Layer
Quy tắc: Tiêu đề tùy chọn Hop-by-Hop (nếu có) phải luôn được đặt sau tiêu đề IPv6 cơ sở.
Quy ước:
1. Bất kỳ tiêu đề mở rộng nào cũng có thể xuất hiện nhiều nhất một lần ngoại trừ tiêu đề đích (Destination Header) vì tiêu đề đích xuất hiện hai lần trong chính danh sách trên.
2. Nếu tiêu đề đích xuất hiện trước tiêu đề định tuyến (Routing Header) thì nó sẽ được kiểm tra bởi tất cả các nút trung gian được chỉ định trong tiêu đề định tuyến.
3. Nếu tiêu đề đích hiện diện ngay phía trên lớp phía trên (Upper Layer) thì nó sẽ chỉ được kiểm tra bởi nút đích.
1.2.3. So sánh IPv6 với IPv4 [7]
Sự khác biệt chính giữa IPv6 và IPv4 được thể hiện trong Bảng 1-2.
Bảng 1-2: Bảng so sánh IPv4 với IPv6
IPv6 | |
IPv4 có độ dài địa chỉ 32 bit. | IPv6 có độ dài địa chỉ 128 bit. |
Nó hỗ trợ cấu hình địa chỉ thủ công và DHCP. | Hỗ trợ cấu hình địa chỉ tự động và đánh lại địa chỉ. |
Trong IPv4, tính toàn vẹn của kết nối đầu cuối là không thể đạt được. | Trong IPv6, tính toàn vẹn của kết nối đầu cuối là có thể đạt được. |
Nó có thể tạo không gian địa chỉ 4,29 × 10^9. | Không gian địa chỉ của IPv6 lớn, nó có thể tạo ra không gian địa chỉ 3,4 × 10^38. |
IPv6 | |
Tính năng bảo mật phụ thuộc vào ứng dụng. | IPSEC là tính năng bảo mật có sẵn trong giao thức IPv6. |
Biểu diễn địa chỉ của IPv4 ở dạng thập phân. | Biểu diễn địa chỉ của IPv6 ở dạng thập lục phân. |
Phân mảnh được thực hiện bởi bên gửi và bộ định tuyến chuyển tiếp. | Phân mảnh trong IPv6 chỉ được thực hiện bởi bên gửi. |
Trong IPv4, việc nhận dạng luồng của gói tin là không khả dụng. | Trong IPv6, nhận dạng luồng gói tin có sẵn và sử dụng trường nhãn luồng trong tiêu đề. |
Trong IPv4, trường tổng kiểm tra có sẵn. | Trong IPv6, trường tổng kiểm tra không có. |
Nó có cơ chế truyền tin quảng bá. | Trong IPv6 truyền multicast và bất kỳ cơ chế truyền tin nào đều có sẵn. |
Trong IPv4 cơ chế mã hóa và xác thực không được cung cấp. | Trong IPv6 cung cấp cơ chế mã hóa và xác thực. |
IPv4 có độ dài tiêu đề từ 20-60 byte. | IPv6 có độ dài tiêu đề 40 byte cố định. |
IPv4
1.3. Các giao thức áp dụng trong biên dịch địa chỉ mạng
1.3.1. Giao thức TCP [8][14]
TCP là một trong những giao thức chính của bộ giao thức Internet.
Cấu trúc gói tin TCP
Hình 1-13: Cấu trúc tiêu đề gói tin TCP Cổng nguồn - Source port (16 bit):
Xác định cổng gửi.
Cổng đích - Destination port (16 bit):
Xác định cổng nhận.
Số thứ tự - Sequence number (32 bit):
Có một vai trò kép:
Nếu cờ SYN được đặt bằng 1, thì đây là số thứ tự ban đầu – ISN (initial sequence number), sẽ được sử dụng để gán cho byte dữ liệu đầu tiên.
Nếu cờ SYN bằng 0, thì đây là số thứ tự tích lũy của byte dữ liệu đầu tiên của phân đoạn này cho phiên truyền hiện tại.
Số xác nhận - Acknowledgment number (32 bit):
Nếu cờ ACK được đặt (bằng 1) thì giá trị của trường này là số thứ tự byte tiếp theo mà máy gửi ACK đang mong đợi. Điều này xác nhận rằng bên nhận đã nhận được tất cả
các byte trước (nếu có). Gói tin xác nhận - ACK đầu tiên được gửi bởi mỗi đầu của kết nối TCP xác nhận nhận chính số thứ tự ban đầu - ISN của đầu kia, nhưng không có dữ liệu.
Độ lệch dữ liệu - Data offset (4 bit):
Chỉ định kích thước của tiêu đề TCP tính theo đơn vị từ (word) 32-bit. Tiêu đề có kích thước tối thiểu là 5 từ và tối đa là 15 từ, do đó kích thước tối thiểu là 20 byte và tối đa là 60 byte, cho phép tối đa 40 byte tùy chọn trong tiêu đề. Trường này có tên như vậy vì nó cũng là phần bù từ đầu đoạn TCP đến dữ liệu thực tế.
Dành riêng - Reserved (3 bit):
Để sử dụng trong tương lai và được đặt bằng không.
Cờ - Flags (9 bit):
Chứa 9 cờ 1bit, đó là các bit điều khiển có ý nghĩa như sau:
NS (Explicit Congestion Notification - Nonce): Được sử dụng để giúp bảo vệ chống lại việc che giấu gói dữ liệu có hại từ người gửi.
CWR (Congestion Window Reduced): Cờ giảm thiểu cửa sổ tắc nghẽn (CWR) được thiết lập bởi máy chủ gửi để chỉ ra rằng nó đã nhận được một gói TCP với cờ ECE được đặt và đã phản hồi trong cơ chế kiểm soát tắc nghẽn.
ECE (Explicit Congestion Notification - Echo): Cờ này cho biết kết nối TCP đầu xa có khả năng thông báo tắc nghẽn (ECN) hay không.
URG (Urgent): Dữ liệu bên trong một phân đoạn gói tin có cờ URG = 1 được chuyển tiếp đến lớp ứng dụng ngay lập tức ngay cả khi có nhiều dữ liệu hơn được cung cấp cho lớp ứng dụng. Nó được sử dụng để thông báo cho bên nhận xử lý các gói khẩn cấp trước khi xử lý tất cả các gói khác. Bên nhận sẽ được thông báo khi đã nhận được tất cả dữ liệu khẩn cấp.
ACK (Acknowledgement): Cho biết trường xác nhận là quan trọng. Tất cả các gói sau gói SYN ban đầu do máy khách (client) gửi phải có cờ này được bật (=1).
PSH (Push): Chức năng đẩy. Yêu cầu đẩy dữ liệu đã đệm vào ứng dụng nhận.
RST (Reset): Thiết lập lại kết nối.
SYN (Synchronization): Đồng bộ số thứ tự. Chỉ gói đầu tiên được gửi từ mỗi đầu phải có cờ này.
FIN (Finish): Xác định gói cuối cùng từ bên gửi
Kích thước cửa sổ - Window size (16 bit):
Cho biết kích thước của bộ đệm nhận, mà bên nhận báo cho bên gửi biết nó có thể truyền bao nhiêu dữ liệu (số lượng byte) trước khi bên nhận gửi thông báo xác nhận.
Checksum (16 bit):
Trường tổng kiểm tra 16 bit được sử dụng để kiểm tra lỗi trong dữ liệu của gói tin TCP. Trường này được tính toán dựa trên các bit sau: tiêu đề TCP, dữ liệu TCP và tiêu đề giả IP. Tiêu đề giả bao gồm địa chỉ IP nguồn, địa chỉ IP đích, trường dự trữ với độ dài cố định, trường giao thức, và độ dài phân đoạn TCP bao gồm cả phần tiêu đề và phần dữ liệu.
Dest IP Address | Reserved | Check- sum | TCP Data |
Protocol | TCP Header | |
TCP Length |
Hình 1-14: Các thành tính toán lên tổng kiểm tra tại tầng TCP Con trỏ khẩn cấp - Urgent pointer (16 bit):
Nếu cờ URG được thiết lập, thì trường 16 bit này lưu giá trị xác định nơi mà các dữ liệu khẩn cấp kết thúc.
Tùy chọn - Options (độ dài tùy biến từ 0 - 40 byte, theo đơn vị 32 bit):
Độ dài của trường này được xác định bởi trường Độ lệch dữ liệu (Data offset). Tùy chọn có tối đa ba trường: Option-Kind (1 byte), Option-Length (1 byte), Option-Data (độ dài tùy biến). Trường Option-Kind cho biết loại tùy chọn và là trường duy nhất không phải là tùy chọn. Tùy thuộc vào giá trị Option-Kind, hai trường tiếp theo có thể được đặt. Option-Length cho biết tổng độ dài của tùy chọn và Option-Data chứa dữ liệu được liên kết với tùy chọn (nếu có).
Đệm – Padding:
Phần đệm tiêu đề TCP được sử dụng để đảm bảo rằng tiêu đề TCP (gồm cả trường option) kết thúc với độ dài là bội 32 bit và phần dữ liệu bắt đầu sau đó. Phần đệm bao gồm các số 0.
1.3.2. Giao thức UDP [9][15]
UDP là một trong những giao thức chính của bộ giao thức Internet. Cấu trúc tiêu đề gói tin UDP thể hiện như trên Hình 1-16:
Hình 1-15: Cấu trúc tiêu đề gói tin UDP
Một gói tin UDP bao gồm một tiêu đề và một phần dữ liệu. Tiêu đề của gói dữ liệu UDP bao gồm 4 trường, mỗi trường là 2 byte (16 bit). Phần dữ liệu theo sau tiêu đề là dữ liệu của ứng dụng.
Số cổng nguồn (Source port number):
Trường này xác định cổng của máy gửi, khi được sử dụng và phải được giả định là cổng để trả lời nếu cần. Nếu không được sử dụng, nó phải bằng không. Nếu máy nguồn là máy khách (Client), số cổng có thể là số cổng tạm thời. Nếu máy nguồn là máy chủ (Server), thì số cổng là số đã biết trước.
Số cổng đích (Destination port number):
Trường này xác định cổng của máy nhận và được yêu cầu. Tương tự như số cổng nguồn, nếu máy khách (Client) là máy đích thì số cổng có thể sẽ là số cổng tạm thời và nếu máy đích là máy chủ (Server) thì số cổng là số đã biết trước.
Chiều dài (Length):
Trường này chỉ định độ dài tính bằng byte của tiêu đề UDP và dữ liệu UDP. Độ dài tối thiểu là 8 byte (phần độ dài của tiêu đề cố định).
Checksum:
Trường tổng kiểm tra có thể được sử dụng để kiểm tra lỗi của tiêu đề và dữ liệu.
Các ứng dụng truyền thông đa phương tiện như hội thảo video từ xa trên Internet rất nhạy cảm với độ trễ từ đầu đến cuối và biến thể trễ (jitter). Nhưng có thể chấp nhận một số mất mát dữ liệu. TCP xử lý các mất mát dữ liệu bằng cách truyền lại các gói bị mất, nhưng không đảm bảo độ trễ hoặc biến thể trễ của nó. Đó là lý do tại sao lưu lượng đa phương tiện không hoạt động tốt với TCP. Ví dụ: nếu một số gói mang một phần của cảnh video bị mất, việc chúng được truyền lại bởi TCP có thể làm tình hình tồi tệ hơn. Lưu lượng video được truyền lại như vậy có thể chồng lấp lên một cảnh video mới và cũng có thể làm hỏng nó. Để tránh các vấn đề như vậy với TCP, hầu hết lưu lượng đa phương tiện được UDP vận chuyển để sử dụng các dịch vụ ghép kênh và tổng kiểm tra của nó.
1.3.3. Giao thức SCTP [10][16]
SCTP là một giao thức truyền thông ở tầng giao vận của bộ giao thức Internet. Gói tin SCTP có cấu trúc như Hình 1-17:
Hình 1-16: Cấu trúc gói tin SCTP
Một gói SCTP bao gồm hai phần cơ bản:
Phần tiêu đề (common header):