Destination address địa chỉ đích Cũng như bạn không nhận 1 bức thư gửi từ hàng xóm của bạn, một máy tính cũng sẽ loại bỏ tất cả các gói tin mà không đúng địa chỉ đích Control điều khiển
Trang 1TCP/IP analysis
TCP/IP là tập hợp chuẩn của những giao thức truyền thông được sử dụng trong internet Mục đích của chúng ta trong chương này là không cần biết hết toàn diện về bảo mật TCP/IP mà chúng ta lấy nó làm nền móng cho những vấn đề cao hơn sẽ được nói đến trong cuốn sách này, bao gồm operating system fingerprinting và intrusion detection
systems
Trong chương này, chúng tôi cũng nói ngắn gọn về cách tấn công và phòng thủ trong TCP/IP, bao gồm cả kiểu tấn công phân đoạn (fragmentation attack) và chuyển đổi kênh (covert channel) đồng thời sẽ khảo sát những vấn đề bảo mật bắt nguồn từ IPv6
6.1 : Vắn tắt về lịch sử của TCP/IP
Internet protocols (IP), được hình thành như một tiêu chuẩn của giao thức truyền thông internet cơ sở Transmission Control Protocol (TCP) và Internet protocols (IP) là 2 giao thức quan trọng nhất trong bảo mật mạng Chúng tôi sẽ làm rõ chúng trong chương này
Giao thức này được phát triển vào giữa những năm 1970, khi mà Defense Advanced Research Projects Agency (DARPA) (cơ quan trực thuộc Bộ Quốc phòng Mỹ) thực hiện hàng loạt thí nghiệm để gởi các gói tin đi lại mọi hướng trên mạng TCP/IP về sau được tích hợp trong Unix, và từ đó nó bắt đầu lớn mạnh, trưởng thành để trở thành một trong
những giao thức truyền thông cơ bản trên internet
Trang 2bày chung của 1 packet Trong thực tế, bạn có thể có nhiều trường hợp khác nhau, tất nhiên cũng sẽ có cấu trúc khác nhau, và tuỳ từng trường hợp sẽ có những cách giải quyết tốt hơn Mỗi một packet đều có 1 mục đích rõ ràng và nó cần được đảm bảo thông tin
được chuyển đi 1 cách xác thực, chính xác
Một gói tin bao gồm:
Start indicator Mỗi thông báo đều có sự bắt đầu.Khi bạn viết một bức thư hoặc email, bạn có thể bắt đầu với "Hello" Cũng là quy tắc đó, nhưng ở đây là sự di chuyển dữ liệu (data) Khi những máy tính kết nối với nhau, chúng sẽ gửi 1 luồng thông tin Một Start indicator sẽ được
xác định khi 1 packet mới được bắt đầu
Source address (địa chỉ nguồn) Mọi bức thư đều cần địa chỉ nhận và địa chỉ nguồn cung cấp nó Không có địa chỉ nguồn,
không thể xuất hiện hồi âm
Destination address (địa chỉ đích) Cũng như bạn không nhận 1 bức thư gửi từ hàng xóm của bạn, một máy tính cũng sẽ loại
bỏ tất cả các gói tin mà không đúng địa chỉ đích
Control (điều khiển)
Bộ phận này trong gói tin được sử dụng để gửi những thông báo ngắn gọn để cho máy tính nhận biết được tình trạng của kết nối.Giống như chúng ta sử dụng câu "Hello" (or Hey or ^_^) để bắt đầu một cuộc nói chuyện, máy tính cũng vậy, nó sử dụng control để
cho biết bắt đầu 1 phiên liên lạc
Data (dữ liệu)
Sự giới hạn duy nhất về dữ liệu là kích cỡ được phép có thể gửi trong 1 gói tin Mỗi
Trang 3packet có một độ dài và được đặt tên là bit 1 bit là một phần 8 của byte Một byte là một
kí tự hoặc số Ví dụ, 00000011 trong hệ nhị phân này tương đương với 3 (hệ thập phân)
Error control (điều khiển lỗi)
Sử dụng lỗi là một khía cạnh quan trọng trong bất kì một hệ thống tính toán nào Một chương trình máy tính phải có khả năng giải quyết được những sự cố không bình thường
Dù đó là lỗi của con người hay là sự sai lạc của máy tính thì một chương trình phải biết khi nào thì không đúng Điều khiển lỗi được cho rằng là quan trọng nhất trong các phần của data packet bởi vì nó xác mình sự toàn vẹn của những phần còn lại trong data packet
Sử dụng checksums và những trình bảo vệ khác Điều khiển lỗi đảm bảo rằng số dữ liệu
đi đến được hình thành từ chính dữ liệu ban đầu Nếu 1 lỗi được tìm thấy, packet sẽ không được chấp nhận và địa chỉ nguồn sẽ được sử dụng để yêu cầu 1 packet mới
6.3 : TCP
TCP là một giao thức hướng kết nối làm cho các kết nối trở nên đáng tin cậy hơn, hướng kết nối theo dòng trong 1 môi trường IP TCP chịu trách nhiệm đối với tầng giao vận
(Layer 4) trong OSI
TCP đảm bảo sự chuyển nhận các gói tin tới tầng ứng dụng Đặc tính chuyển nhận tin cậy này được dựa trên 1 số gọi là sequence number mà được tạo ra từ dữ liệu sẽ được chuyển vận và dữ liệu sẽ nhận được TCP có thể chuyển lại tất cả những dữ liệu nào bị thất lạc Thêm vào đó sử dụng các giá trị delay để điều chỉnh đường truyền, tốc độ để tránh các hiện tượng tắc ngẽn trên đường truyền Những host có tốc độ chuyển nhanh sẽ được điều chỉnh chậm lại để giúp các host có tốc độ thấp hơn có thể nhận được các gói tin của
mình TCP sử dụng một số cờ để quản lý các kết nối
6.3.1 TCP Features (đặc tính của TCP)
TCP freatures bao gồm:
Trang 4Stream data transfer (sự vận chuyển dữ liệu) TCP chuyển giao dữ liệu như 1 chuỗi liên tục trong byte và được xác định bởi sequence number, vì vậy sẽ giúp tiết kiệm thời gian Từ đó, các ứng dụng không phải chia data (dữ liệu) thành những phần nhỏ hơn trước khi gửi đi TCP gộp những byte vào segment và chuyển chúng cho tầng IP để gửi đi Các segment về sau là tập hợp của nơi gửi bởi các
sequence number của các gói tin
Reliability (sự tin cậy) TCP đảm bảo độ tin cậy bằng 1 số byte sắp xếp cùng với 1 số xác nhận được chuyển đến Những Byte mà không được xác nhận trong 1 thời gian xác định trước thì sẽ được chuyển
Efficient flow control (điều khiển dữ liệu một cách hiệu quả) TCP cung cấp cho chúng ta khả năng điều khiển dòng dữ liệu một cách hiệu quả : khi thông báo đã nhận được quay trở về nguồn, TCP sẽ báo chỉ số cao nhất mà nó có thể
nhận được mà không bị tràn bộ đệm
Full-duplex operation (hoạt động song song) Khả năng hoạt động song song sẽ cho phép TCP gửi hoặc nhận dữ liệu cùng một lúc
6.3.2 TCP Packet Field Descriptions (mô tả TCP Packet)
Tiếp theo chúng ta sẽ mô tả tóm tắt về TCP Packet:
Source port and destination port (cổng nguồn và cổng đích)
Cho biết các cổng trong quá trình kết thúc nhận và gửi của kết nối
thông qua Sequence number Cho biết số đầu tiên ấn định trong những bytes đầu tiên của
Trang 5dữ liệu trong mỗi phân đoạn
Acknowledgment number (số chứng thực) Cung cấp Sequence number của bytes tiếp theo trong quá trình kết thúc tiếp nhận dữ liệu
Data offset (khoảng trống dữ liệu) Cho biết số lượng 32 bit trong TCP header
Reserved (những khoảng dành riêng) Những khoảng dành riêng này cho các mục đích sử dụng khác trong tương lai
Flags (Cờ) Cung cấp các đánh dấu điều khiển như các bit SYN, ACK, và FIN được sử dụng cho các
kết nối tới các thiết bị đầu cuối
Window Cho biết kích cỡ bộ đệm của dữ liệu đầu vào
Checksum (kiểm tra) Xác minh sự toàn ven của dữ liệu nhận được
Urgent pointer (Con trỏ khẩn cấp) Đánh dấu điểm bắt đầu của dữ liệu
Options (tùy chọn) Bao gồm nhiều tùy chọn TCP
Data (dữ liệu) Bao gồm trọng tải thông tin truyền tải
Trang 66.4:IP
IP là 1 giao thức ở lớp mạng trong mô hình OSI, nó cung cấp những dịch vụ chưa có kết nối để chuyển giao dữ liệu Bởi vì chưa có kết nối do đó, IP là 1 giao thức ít tin cậy và không đảm bảo cho sự chuyển giao dữ liệu Trên Internet, IP là 1 giao thức để vận chuyển dữ liệu nhưng thực tế thì việc chuyển giao dữ liệu lại được thực hiện bởi các giao
thức trên lớp chuyển vận (transport layer) của mô hình OSI như TCP
IP headers chứa đựng những địa chỉ 32bit được xác định bởi người gửi và người nhận Sử dụng những địa chỉ để lựa chọn 1 cái có khả năng truyền tải packet xuyên suốt mạng
IP spoofing là một cách tấn công rất hay sử dụng các địa chỉ giả để tấn công vào sự xác thực Đó là lý do bạn không nên chỉ phụ thuộc vào giá trị của địa chỉ nguồn khi thực hiện
việc xác thực
IP Packet có thể cắt nhỏ thành những gói nhỏ hơn để cho phép các packet lớn có thể đi qua một mạng mà chỉ có thể kiểm soát được các packet nhỏ The Maximum Transmission Unit - giá trị chuyển vận lớn nhất (MTU) định ra chỉ số kích cỡ tối đa của một packet mà mạng đó có thể hỗ trợ (hay chống đỡ) IP sẽ nối lại các đoạn packet đã cắt
làm nhiều mảnh trước khi kết thúc quá trình tiếp nhận
Tuy nhiên, như chúng ta thấy sau này, tấn công phân đoạn - fragmentation attacks có thể
sử dụng để vượt qua firewalls (tường lửa)
6.4.1 Định dạng 1 gói tin IP
1 IPv4 packet chứa đựng vài kiểu thông tin, được minh họa trong hình 6.3 IPv4 sẽ được
Trang 7thảo luận về sau trong chương này
ĐỊnh dạng:
Version (phiên bản)
Sử dụng 4 bít để chỉ phiên bản IP đang sử dụng (ví dụ này đó là IPv4)
IP header length (IHL) (độ lớn của IP header)
Định rõ độ lớn của header là 32-bit (4-byte).Cái này giới hạn giá trị IHL của IPv4 tới
60bytes, là 1 trong những tiến bộ của IPv6
Type-of-service (kiểu dịch vụ)
Ấn định những cấp độ quan trọng và xử lí các layers
Total length (tổng cộng độ lớn) Quy định độ dài của bytes trong IP datagram (gói dữ liệu IP) (bao gồm trọng tải tối đa
cuả dữ liệu với IP header)
Identification (Xác thực)
Là 1 số ID duy nhất biểu diễn thứ tự dữ liệu tại đích Đây là 1 số 16 bít rất quan trọng
trong việc phân đoạn dữ
Flags (Cờ)
Có nhiều cờ phân đoạn Những cờ này xác định liệu gói tin có được phân đoạn hay không, và nếu có thì đâu là phân đoạn cuối cùng và thứ tự của gói tin Chỉ 2 trong 3 bít của trường này được xác định Bít đầu tiên được sử dụng để đánh dấu "không phân đoạn" Nếu trường này được bật lên, khi tính toán PMTU (Path MTU) phải đảm bảo tất
Trang 8cả các gói tin chuyển trên đường đủ nhỏ để tránh bị phân đoạn tại các cổ chai MTU Bít thứ 2 để xác định phân đoạn này có phải là đoạn cuối cùng của dữ liệu hay chưa
Fragment offset (khoảng trống các đoạn) Chỉ rõ thứ tự của các đoạn riêng biệt trong packet sequence
Time-to-live (thời gian tồn tại) Xác định tính chất 1 máy tính để giữ lại các packet từ các vòng lặp không ngừng Các host đặt nó dưới 1 giá trị ngầm định Khi giá trị giảm xuống còn 1, chương trình vận chuyển tiếp theo sẽ thả gói Tiến trình này sẽ đối phó với quá trình lặp đi lặp lại của
packets
Protocol (giao thức) Trường 8 bít này định nghĩa giao thức sẽ nhận được gói tin từ tầng IP
Header checksum (tổng kiểm tra Header) Việc này đảm bảo cho sự toàn vẹn của IP Header Chú ý rằng việc này không phải là 1
cuộc tổng kiểm tra bằng mã hóa và có thể dễ dàng giả mạo
Source address (địa chỉ nguồn) Định rõ địa chỉ người gửi
Destination address (địa chỉ nhận) Định rõ địa chỉ nhận
Options (tùy chọn) Định rõ nhiều tùy chọn
Data (dữ liệu)
Trang 9Bao gồm trọng tải tối đa của tài liệu
6.5 UDP
Không giống TCP, User Datagram Protocol (UDP) không đảm bảo việc vận chuyển dữ liệu đến đúng mục tiêu (địa chỉ nhận) UDP packets tương tự như IP packets, Nó có thể hữu ích khi bạn không cần quan tâm đến việc các packet mất dữ liệu hay không UDP nhanh hơn TCP nhưng lại không đảm bảo an toàn bằng TCP Không may, các gói tin UDP lại quá dễ dàng đối với các kẻ tấn công hơn là các gói tin TCP, bởi vậy mà coi UDP
là 1 giao thức không kết nối (i.e., nó không có giai đoạn bắt tay hay các số thứ tự)
6.6 ICMP
Internet Control Message Protocol (ICMP) là một giao thức thử và gỡ rối trên một giao thức mạng Bình thường, các router sử dụng ICMP để xác định liệu 1 host có thể đăng nhập từ xa được hay không Nếu không có đường dẫn tới remote host, các chương trình vận chuyển sẽ gửi 1 thông điệp ICMP sau khi bắt đầu sự việc Nếu không có ICMP, thì các packet được thả ra mà không có thông báo trở về, và sẽ trở nên rất khó khăn để giám
sát ICMP cũng được sử dụng để xác định PMTU Chẳng hạn, nếu router cần cắt nhỏ packet (như mô tả ở bên dưới), nhưng khi cờ "không thể phân mảnh" được bật lên, router sẽ gửi
1 phản hồi ICMP sao cho host có thể phát sinh những gói nhỏ hơn MTU
TCMP cũng được sử dụng để ngăn ngừa sự ùn tắc mạng Chẳng hạn, khi bộ nhứ đệm của router có quá nhiều packet bởi 1 "cổ chai", những thông báo có thể được phát sinh Mặc
dù hiếm khi nhìn thấy trong thực tế, những thông báo này có thể ra lệnh cho host chạy chậm lại với nhịp độ truyền phát của nó Ngoài ra, ICMP còn công bố thời gian tạm ngưng Nếu thời gian tồn tại của 1 gói tin IP giảm xuống còn 0, router sẽ loại bỏ những
packet có khả năng phát sinh các ICMP packet công bố sự việc này
Trang 10Traceroute là một công cụ mà maps network router dùng để gửi những packet nhỏ, với
những giá trị TTL và quan sát những thông cáo về ICMP timeout
Đáng tiếc, ICMP là một giao thức thường xuyên bị lạm dụng, không bị cản trở, nó có thể cho phép các những kẻ tấn công tạo ra các hướng đi luân phiên tới mục tiêu Kết quả, một
số nhà quản trị mạng tiến hành cấu hình firewall của họ để cho những thông điệp ICMP
đi qua Tuy nhiên, giải pháp này chưa được khuyến cáo sử dụng, với 1 đường dẫn MTU tin cậy trong ICMP messages: không có ICMP cho phép những gói lớn có thể bị thả và vấn đề sẽ rất khó chuẩn đoán Chú ý rằng nhiều firewalls dự phòng cho bạn đầy đủ để thả
các kiểu ICMP riêng biệt, cái mà thường xuyên bị lạm dụng
ARP spoofing là một cách tấn công xảy ra khi có sự đồng ý truy cập vào 1 mạng nội bộ
Các máy móc bị tấn công có thể phát giả các sự trả lời ARP để giả một máy móc được tin
cậy
6.8 RARP
RARP ngược lại với ARP RARP cho phép 1 host tìm ra IP của nó Trong RARP, host sẽ
reo rắc physical address và máy chủ RARP sẽ hồi âm với địa
Trang 11chỉ IP của host
6.9:BOOTP
Bootstrap Protocol (BOOTP) cho phép một máy khách trên mạng có thể thấy được các địa chỉ IP và xác định vị trí các boot files và boots của chúng Các yêu cầu, trả lời, chuyển tiếp BOOTP được thực hiện ở tầng ứng dụng thông qua UDP chứ không phải tại tầng Như vậy, những IP headers của họ thay đổi theo các packet được gửi tới Network client sẽ phát các lệnh được đặt trong UDP packet tới các router Các router khi đó sẽ
forward các packet tới máy chủ BOOTP
6.10:DHCP
Dynamic Host Configuration Protocol (DHCP) là phần mở rộng của Boot protocol DHCP tập trung quản lý việc phân bổ thông tin cấu hình TCP/IP bằng cách tự động gán các địa chỉ IP cho các máy tính được cấu hình dùng DHCP, loại bỏ qúa trình cấu hình TCP/IP theo thủ công DHCP cung cấp 1 phương pháp động để gán những tham số địa chỉ và cấu hình IP cho những IP hosts hoặc những clients khác trong 1 IP network DHCP cho phép các host tự động chỉ định các địa chỉ IP dùng lại được và những tham số cấu hình bổ xung khác cho vận hành ở máy khách DHCP cho phép các client sử dụng các địa chỉ IP trong 1 thời gian xác định, cái mà được biết như hợp đồng cho thuê trong 1 thời Khi 1 hợp đồng thời gian này kết thúc, máy chủ DHCP từ xa có thể ấn định địa chỉ
IP tới các khách hàng khác trong mạng
6.11:TCP/IP Handshaking
Trang 12Trong khi được mô tả ở trên, điều khiển sẽ phân đoạn từng đoạn tùy vào mục đích của gói tin Sử dụng segment, remote hosts có thể thiết đặt một phiên họp truyền thông hoặc ngắt các giao dịch Phần này trong communication process được gọi là handshake (bắt tay) Khi 1 đường thông tin nào đó được mở giữa các máy tính thì nó vẫn sẽ được mở cho đến khi nhận được lệnh đóng Mặc dù những tài nguyên được sử dụng trong phiên họp sẽ được khởi động trong máy tính sau 1 kì hạn nào đó ngoài 1 tín hiệu close đến nỗi những tài nguyên thừa có thể kết nối trong vài phút Nếu 1 kết nối chết được thiết lập, host sẽ trở
thành vô ích Tình trạng này là nền tảng của tấn công từ chối dịch vụ
Khi 1 máy chủ nhận 1 packet từ internet, nó sẽ xem xét 1 cách cẩn thận control segment
để nhận thấy mục đích của packet này Trong thứ tự của 1 phiên giao dịch được khởi tạo, packet đầu tiên gửi cho server cần hàm chứa 1 dòng lệnh SYN Lệnh được nhận bởi server và được khởi động lại bắt đầu bằng con số 0 Số nối tiếp rất quan trọng trong TCP/IP communication vì nó giữ cho các packet numbers bằng nhau Nếu 1 số bị thất
lạc, server sẽ hiểu rằng nó bị mất tích và sẽ yêu cầu gửi lại
Một SYN number được khởi tạo, một sự xác nhận được gửi trở lại client , client mà đang đòi hỏi 1 session, và session được cài đặt Cùng với ACK, SYN đáp lại bằng cách gửi để khởi tạo số nối tiếp số trên trong client Khi client nhận được ACK và SYN, nó sẽ gửi một thông báo quay trở lại server và session được thiết lập Ví dụ này đã được đơn giản hóa, nhưng nó sẽ minh họa rõ những khái niệm cơ bản của 1 lần bắt tay 3 bước
Khi 1 session đã xong và client đã ngừng yêu cầu cung cấp thông tin từ server, nó sẽ nói goodbye Để disconnect, client sẽ gửi FIN (final command) tới server, server sẽ nhận FIN
và gửi FIN của mình tới ACK để ghi nhận rằng session đã được hoàn thành Client sẽ gửi
1 ACK cuối cùng để xác nhận sự kết thúc của session, và client, sever sẽ tách rời nhau Trong thời gian connecting và disconnecting, client và server sẽ không ngừng gửi các gới
thông tin cho nhau với sequence numbers
Trang 13Các Attackers có thể sử dụng TCP/IP handshake Chẳng hạn, tấn công 1 TCP SYN bằng
cách phát sinh các SYN packets với những địa chỉ nguồn ngẫu nhiên và gửi chúng tại victim host (host của nạn nhân) Tất nhiên Victim sẽ hồi âm tới địa chỉ nguồn ngẫu nhiên này 1 SYN ACK và thêm 1 mục vào hàng đợi kết nối Tuy nhiên, một khi SYN ACK định sẵn cho 1 địa chỉ ma, bước cuối cùng của kết nối sẽ không bao giờ hoàn thành Theo cách đó, kết nối chỉ tồn tại được 1 phút Không may, sự tràn ngập kết nối bằng các packet giả có thể dẫn đến sự từ chối dịch vụ khi mà mục tiêu kết nối đến bì tràn ngập tài nguyên Xấu hơn, thật khó theo dấu của các attackers khi mà địa chỉ nguồn cũng là địa chỉ giả Với 1 public server hoặc web server (máy chủ dùng chung hoặc máy chủ web) thì không
có cách chống đỡ nào là hoàn hảo đối với sự tấn công như vậy Có thể có những biện pháp đối phó như kích thước các kết nối ngày càng tăng, giảm timeout hay thiết đặt lại các phần mềm được cung cấp để giảm thiểu các cuộc tấn công như vậy SYN cookies
cũng có vẻ hiệu quả đối với các cuộc tấn công
Kiểu tấn công làm ngập SYN dựa trên truyền thông tới 1 địa chỉ đích IP bất kì, bởi vậy
rất quan trong để lọc các truyền thông vớ vẩn trên net
6.12 Covert Channels - Chuyển đổi kênh
Chúng ta có thể lạm dụng TCP và IP header để truyền phát các dữ liệu ẩn Chẳng hạn, kẻ tấn công mã hoá các giá trị ASCII (thuộc các kí tự từ 0-255) vào trong trường xác định của gói tin IP, TCP sẽ khởi tạo trường sequence number, etc Bao nhiêu dữ liệu có thể được đi qua? Chúng ta thử xem 1 ví dụ: destination (nơi đến) hay source port (cổng nguồn) là 1 giá trị 16 bit (phạm vi của post là từ 0 đến 65535 hay 2^16-1==>hai mũ sáu
trừ một) trong khi số nối tiếp là 1 lĩnh vực 32bit đầy đủ
Sử dụng Convert Channels che dấu packet headers , cho phép các attacker bí mật đi qua
dữ liệu của các host Dữ liệu bí mật này xa hơn nữa là có thể bị lợi dụng để ghi thêm các thông số về destination IP addresses (nguồn địa chỉ IP) và ngay cả việc mật mã hoá dữ liệu Hơn nữa, bởi việc sử dụng TCP/IP headers có thể không bắt nên các attacker có thể
lừa gạt các hệ thống để xâm nhập
Trang 14Ví dụ, TCP/IP và UDP headers chứa đựng các lĩnh vực không xác định (TOS/ECN), unset (padding), được đặt tới những giá trị ngẫu nhiên (các số nối tiếp ban đầu), sẵn sàng thay đổi các giá trị (IP ID), hoặc không bắt buộc (options flag) Khi cẩn thận khai thác lĩnh vực này, 1 attacker có thể phát sinh những packet không hề có vẻ dị thường, bằng
những phiên giao dịch TCP truyền thống
6.13 IPv6
Trong khi được mô tả ở trên, IPv4 (Internet Protocol version 4) giới hạn trong 1địa chỉ là 32bit Đáng tiếc rằng, với sự mở rộng không ngừng của internet, chẳng mấy chốc các địa chỉ IPv4 sẽ bị sử dụng hết, vì vậy, IETF bắt đầu là việc trên thế hệ tiếp theo, đó chính là
IPv6 (Internet Protocol version 6) sử dụng 128bit hay 16 byte
6.13.1 Features of IPv6 (nét đặc biệt của IPv6)
IPv6 không cung cấp sự phân đoạn để hỗ trợ cho sự quá tải của các packet lớn trong router Các host cuối được yêu cầu thực hiện PMTU để tránh sự phân đoạn Ngoài ra, IPv6 đã tăng cường các tuỳ chọn hỗ trợ Những tuỳ chọn được định nghĩa trong các header riêng biệt thay vì là một phần trong IP Headers Được biết như trong chuỗi header, định dạng này chèn tùy chọn IP header vào giữa IP header và transport heạder IPv6
header có thể được mô tả như sau:
Version