IP-datagram 1 Cấu trúc IP-datagram

Một phần của tài liệu ĐỒ án IPV6 và CÁCH CHUYỂN đổi từ IPV4 SANG IPV6 (Trang 26 - 30)

2.1 Cấu trúc IP-datagram

Cĩ sự tương đồng lớn giữa một mạng vật lý và một mạng TCP/IP Internet. Trên một mạng vật lý, đơn vị truyền dữ liệu là một framebao gồm phần đầu và dữ liệu, với phần đầu cung cấp các thơng tin như địa chỉ nguồn và địa chỉ đích. Internet gọi đơn vị truyền dữ liệu của nĩ là một Internet- datagram, cịn được gọi là IP datagram, hoặc đơn giản hơn là datagram.

Cũng giống như một frame trong mạng vật lý, một datagram bao gồm hai phần, phần đầu và phần dữ liệu. Cũng như một frame, phần đầu của datagram bao gồm địa chỉ nguồn và địa chỉ đích và một vùng kiểu để xác định nội dung của datagram. Dĩ nhiên điểm khác biệt là phần đầu của datagram bao gồm các địa chỉ IP trong khi phần đầu của frame bao gồm các địa chỉ vật lý. Dạng tổng quát của datagram được trình bày bằng hình vẽ:

Cấu trúc các vùng trong một datagram được mơ tả bằng hình vẽ:

Cụ thể từng vùng như sau:

Version: Gồm 4 bit, trường này là phiên bản của giao thức IP đã dùng đểû tạo gĩi dữ liệu. Nĩ được dùng để kiểm tra rằng máy gởi, máy nhận, và các bộ định tuyến cùng thống nhất với nhau về định dạng của datagram. Tất cả phần mềm IP được yêu cầu kiểm tra vùng phiên bản trước khi xử lý một datagram để bảo đảm rằng nĩ phù hợp với định dạng mà phần mềm đạng sử dụng. Nếu chuẩn thay đổi, máy tính sẽ từ chối nhứng datagram cĩ phiên bản khác, để tránh tình trạng hiểu sai nội dung của datagram.

IHL ( IP header Length): Gồm 4 bit, cung cấp thơng tin về độ dài phần đầu của gĩi dữ liệu, được tính theo các từ 32 bit.

Type of Service: Gồm 8 bit, dùng để xác định cách mà datagram được xử lý trong suốt quá trình truyền dữ liệu qua mạng. Ta chỉ xem xét nĩ như là một hướng dẫn cho thuật giải định tuyến để giúp nĩ chọn trong số các con đường dẫn tới đích dựa vào chính sách địa phương và kiến thức của nĩ về các kỹ thuật phần cứng dọc theo các

Datagram header Vùng Datagram-data

VERS IHL Type of Service Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum

Source Address Destination Address

Options + Padding Data

Hình 3.1: Dạng tổng quát của IP datagram

con đường này. Một mạng khơng đảm bảo cung cấp bất kỳ kiểu dịch vụ cụ thể.

Total Length: Gồm 16 bit, xác định chiều dài tổng của datagram, bao gồm IP-Header và Data. Do kích thước của trường này là 16 bit nên kích thước tối đa của một IP-datagram là 216 hay 65.535 octet. • Identification: Gồm 16 bit, chứa một số nguyên duy nhất xác định

datagram. Mục đích của nĩ là để máy đích biết các phân đoạn đến thuộc dataagram nào khi thực hiện ghép chúng lại. Giá trị này sẽ được tăng lên mỗi khi cĩ một datagram mới được tạo ra và được gán cho vùng identification của dataagram mới này.

Flags: Gồm 3 bit để điều khiển việc phân đoạn cĩ cấu trúc như sau:

Bit 0: chưa được sử dụng, luơn cĩ giá trị 0.

DF: dài một bit, nếu cĩ giá trị 1 thì datagram đĩ khơng được phép chia nhỏ.

MF: dài 1 bit, nếu MF=1, điều này cĩ nghĩa là cịn cĩ gĩi nhỏ sau nĩ trong thao tác phân mảnh datagram, ngước lại MF=0 nghĩa là gĩi cuối cùng trong một loạt các gĩi nhỏ được phân mảnh từ một datagram.

Fragment Offset: Gồm 13 bit, xác định vị trí tương đối trong datagram ban đầu của dữ liệu được truyền tải trong phân đoạn, được tính theo đơn vị 8 octet bắt đầu từ zero.

Time-to-Live: Gồm 8 bit, xác định thời gian lớn nhất mà một datagram được phép tồn tại trên hệ thống liên mạng. Khi giá trị này là 0 thì gĩi dữ liệu sẽ bị hủy. Thời gian sống được đo bằng đơn vị giây. Mỗi gĩi dữ liệu đi qua một thực thể thì giá trị này sẽ bị giảm đi 1.

Protocol: Protocol gồm 8 bit, xác định giao thức lớp trên nào được sử dụng để tạo thơng điệp truyền tải trong vùng data của gĩi dữ liệu. • Header Checksum: Gồm 16 bit, đảm bảo sự tồn vẹn của các giá trị

trong phần đầu. Trường này được hình thành bằng cách xem phần đầu như một chuỗi các số nguyên 16 bit, cộng chúng lại bằng thuật tốn số học phần bù của 1 và rồi lấy phần bù của 1 làm kết quả. Với mục đích để tính Cheksum, vùng Header Checksum được giả định cĩ giá trị zero. Việc tính Cheksum cho phần đầu cĩ ưu điểm là giảm bớt thời gian xử lý tại bộ định tuyến, đồng thời cho phép cấp cao hơn

0 DF MF

được chọn mơ hình Checksum cho riêng nĩ cho vùng datagram vì phần đầu thường chiếm ít octet hơn phần dữ liệu. Tuy nhiên, điều này làm các giao thức lớp cao hơn bị buộc phải thêm Checksum của riêng nĩ hoặc nguy cơ khơng nhận ra được dữ liệu bị sai lệch.

Source Address: Gồm 32 bit, chứa địa chỉ 32 bit của nơi gởi gĩi dữ liệu.

Destination Address: Gồm 32 bit, chứa địa chỉ của nới nhận gĩi dữ liệu.

Option: Trường này cĩ thể cĩ hoặc khơng trong gĩi dữ liệu. Các lựa chọn thêm vào chủ yếu cho việc kiểm tra và bắt lỗi trên mạng.

Data: Chứa thơng tin của lớp trên. (adsbygoogle = window.adsbygoogle || []).push({});

Như vậy, ta thấy rằng, tất cả các vùng trong phần đầu cĩ độ dài cố định ngoại trừ vùng Options và vùng Padding tương ứng. Phần đầu thơng thường nhất, khơng cĩ Options và Padding, dài 20 octets và cĩ vùng độ dài phần đầu bằng 5.

2.1. Đĩng gĩi datagram

Khơng giống như các frame mạng vật lý được nhận diện bởi phần cứng, datagram địi hỏi được xử lý bằng phần mềm. Chúng cĩ thể cĩ độ dài bất kỳ tùy vào chọn lựa của người thiết kế giao thức.

Chúng ta biết rằng, khi datagram di chuyển từ máy này sang máy khác, chúng phải luơn luơn được chuyển đi bởi mạng vật lý cơ sở. Để cho việc phát chuyển trên internet được hiệu quả, chúng ta nên bảo đảm rằng mỗi datagram được chuyển tải trong một frame vật lý riêng biệt. Ý tưởng về việc chuyển tải một datagram trong một frame mạng được gọi là sự đĩng gĩi. Đối với mạng cơ sở, một datagram giống như bất kỳ một thơng điệp khác gởi từ một máy tới máy khác. Phần cứng khơng nhận biết định dạng datagram, cũng như khơng biết địa chỉ IP đích. Việc đĩng gĩi này cĩ thể được mơ tả bẳng hình vẽ:

Datagram header Datagram Data Area

Frame Data Area Datagram header

Từ hình vẽ, khi một máy gởi một IP-datagram tới máy khác, tồn bộ datagram sẽ được di chuyển trong phần dữ liệu của frame mạng.

2.2. Kích thước datagram và MTU mạng

Trong trường hợp lý tưởng, tồn bộ IP-datagram nằm vừa vặn trong một frame vật lý, làm cho việc truyền trên mạng vật lý được hiệu quả. Để đạt được hiệu quả này, người thiết kế IP cĩ thể chọn một kích thước tối đa của datagram sao cho một datagram luơn luơn nằm vừa trong một frame.

Mỗi kỹ thuật chuyển gĩi đặt một chặn trên cố định đối với tổng số dữ liệu cĩ thể được truyền trong một frame vật lý. Các giới hạn này được gọi là đơn vị truyền tối đa của mạng ( MTU – Max7imum Transfer Unit). Kích thước của MTU cĩ thể rất nhỏ: một vài kỹ thuật phần cứng giới hạn việc truyền xuống 128 octet, thậm chí cịn ít hơn nữa.

Việc giới hạn datagram để vừa MTU nhỏ nhất trong Internet làm cho việc truyền khơng được hiệu quả khi datagram đi qua một mạng mà cĩ thể chuyển tải frame cĩ kích thước lớn hơn. Tuy nhiên việc cho phép datagram cĩ kích thước lớn hơn MTU tối thiểu của mạng trong Internet cĩ nghĩa là một datagram cĩ thể khơng luơn luơn vừa với một frame mạng.

Tiêu chí của thiết kế Internet là để che dấu kỹ thuật mạng cơ sở và làm cho việc thơng tin liên lạc được tiện lợi cho người sử dụng. Do đĩ, thay vì thiết kế các datagram tuân theo các ràng buộc của mạng vật lý, phần mềm TCP/IP chọn một kích thước khởi đầu và bố trí một cách để chia các datagram lớn thành những phần nhỏ hơn khi datagram cần đi qua một mạng mà cĩ MTU nhỏ. Những phần nhỏ của một datagram được gọi là fragments, và tiến trình chia một datagram được gọi là phân đoạn. Ngược lại, việc tổng hợp các fragments ghép lại với nhau được gọi là tái hợp.

Một phần của tài liệu ĐỒ án IPV6 và CÁCH CHUYỂN đổi từ IPV4 SANG IPV6 (Trang 26 - 30)