GIAO THỨC LIấN MẠNG IP

Một phần của tài liệu GIÁO TRÌNH MẠNG MÁY TÍNH VÀ TRUYỀN DỮ LIỆU (Trang 112 - 116)

CHƯƠNG 5 TCP/IP VÀ INTERNET

5.4.GIAO THỨC LIấN MẠNG IP

5.4.1. Giới thiệu

Đặc trưng cụng nghệ:

Connectionless = Datagram

− Khụng phải thiết lập; giải phúng kết nối

− Packets cú thểđi theo cỏc con đường khỏc nhau

− Khụng cú cơ chế phỏt hiện/khắc phục lỗi truyền

→ Giao thức đơn giản, độ tin cậy khụng cao.

Cỏc chức năng chớnh:

– Định nghĩa khuụn dạng gúi dữ liệu (IP packet) – Định nghĩa phương thức đỏnh địa chỉ IP – Chon đường (Routing)

– Cắt/hợp dữ liệu (Fragmentation/ Reassembly)

5.4.2. Cấu trỳc gúi số liệu IP

• Version (4 bit): IPv4 hoặc IPv6

• IHL (IP packet Header Length) (4 bit): đơn vị word 32 bit. – Min = 5 (khụng cú thờm trường tuỳ chọn)

– Max = 15 (trường tuỳ chọn là 40 byte)

– Đối với một số tuỳ chọn, thớ dụđể ghi con đường mà packet đó đi qua, 40 byte là quỏ nhỏ, khụng thể dựng được.

• Trường Type of service (8 bits): Dịch vụ và mức ưu tiờn.

– í nghĩa của nú được người ta thay đổi chỳt ớt trong cỏc năm qua.

– Cú thể cú nhiều cỏch kết hợp khỏc nhau giữa độ tin cậy và tốc độ. Đối với tiếng núi được số hoỏ, việc phõn phỏt nhanh quan trọng hơn phõn phỏt chớnh xỏc. Đối với FTP, việc truyền khụng cú lỗi quan trọng hơn việc truyền nhanh.

– Bản thõn chớnh trường này lại bao gồm một số trường, tớnh từ trỏi qua phải như sau:

+ Precedence (3 bit đầu tiờn): quyền ưu tiờn; 0 = normal, ... , 7 = network control packet.

+ Cờ D, T và R (3 bit tiếp theo): cho phộp host chỉ ra là nú quan tõm (cần) đến gỡ nhất trong tập hợp {Delay, Throughput và Reliability}.

Trong thực tế, cỏc router hiện nay lờ toàn bộ trường Type of service

+ 2 bit cũn lại hiện nay chưa dựng đến.

• Trường Total Length (16 bits): Tổng chiều dài packet, kể cả header lẫn data, đơn vị = byte.

– Max = 65535 byte

– Hiện nay giới hạn trờn là cú thể chấp nhận được

– Với cỏc mạng Gigabit trong tương lai sẽ cần đến cỏc datagram lớn hơn. • Trường Identification (16 bit): từđịnh danh của datagram (IP packet)

– Dựng cho host đớch xỏc định được mảnh (fragment) thuộc về datagram nào. – Tất cả cỏc mảnh của một datagram cú cựng một giỏ trị của trường

Identification.

• Trường Flags (2 bits): dựng cho quỏ trỡnh Fragmentation/ Reassembly

– Sau trường Identification là một bit khụng dựng đến. Flags gồm 2 trường 1 bit là DF và MF. (adsbygoogle = window.adsbygoogle || []).push({});

– DF (Don't Fragment): lệnh cho cỏc router đừng cú phõn mảnh datagram. • Datagram phải trỏnh mạng cú kớch thước packet nhỏ.

• Tất cả cỏc mỏy được yờu cầu chấp nhận việc phõn mảnh đến 576 byte hoặc nhỏ hơn.

– MF (More Fragments): Tất cả cỏc mảnh của datagram, trừ mảnh cuối cựng phải cú bit MF=1 →để biết được khi nào tất cả cỏc mảnh của một datagram đó đến đớch.

• Trường Fragment offset (13 bits): cho biết khoảng cỏch tương đối của gúi tin IP trong gúi tin bị phõn mảnh.

– Tất cả cỏc mảnh của một datagram, trừ mảnh cuối cựng phải cú chiều dài là bội số của 8 bytes - đơn vị cơ sở của mảnh.

– 13 bit nờn số mảnh lớn nhất của một datagram là 8192

• Trường Time to live – TTL (8 bits): con đếm thời gian sống của một packet

– Khi TTL= 0, packet bị loại bỏ và một packet cảnh bỏo được gửi cho bờn nguồn

→ Ngăn chặn cỏc datagram đi lang thang mói (nếu bảng chọn đường cú lỳc bị hỏng)

– Giả thiết đơn vị là giõy → max = 255s; thường được đặt = 30s

– Phải được giảm đi một tại mỗi chặng (hop) và được giảm nhiều lần khi đứng xếp hàng một thời gian dài trong mỗi router.

– Thực tế, nú chỉđếm cỏc chặng.

• Trường Protocol (8 bits): Chỉ loại số liệu giao thức mức trờn nằm trong trường Data. – Cho biết cần trao datagram cho quỏ trỡnh nào của tầng transport.

+ Một khả năng là TCP

+ Nhưng cũng cú thể là UDP và cỏc quỏ trỡnh khỏc.

– Việc đỏnh số cỏc giao thức là trờn phạm vi toàn cầu, trờn toàn bộ Internet, được định nghĩa trong chuẩn RFC 1700.

• Trường Header checksum (16 bits):

– Tớnh riờng cho header, giỳp phỏt hiện cỏc lỗi phỏt sinh trong bộ nhớ của router. – Được tớnh lại tại mỗi chặng (hop), bởi vỡ sau mỗi chặng cú ớt nhất là một

trường bị thay đổi (trường TTL).

– Cỏch tớnh: cộng tất cả cỏc 16-bit halfwords sử dụng số dạng bự 1; sau đú lấy bự 1 của kết quả (phộp toỏn XOR → tốc độ cao).

• Trường Source address, Destination address (32 bit): – Địa chỉ IP của bờn gửi và nhận

– Mỗi địa chỉ bao gồm: địa chỉ mạng và địa chỉ host trong mạng • Trường Options: Tạo ra lối thoỏt cho cỏc version sau:

– Bổ sung thờm cỏc thụng tin khụng cú trong version đầu tiờn

– Thớ nghiệm thử cỏc ý tưởng mới và để trỏnh việc phải dành (allocate) cỏc bit của header cho cỏc thụng tin hiếm khi cần đến.

– Chiều dài cú thể thay đổi: 0..(15 – 5) x 32 bits

– Mỗi Option bắt đầu bằng một mó 1 byte chỉ ra tuỳ chọn – Hiện thời cú 5 tuỳ chọn (option) đó được định nghĩa

+ Security (an ning): Chỉ ra mức độ bớ mật của datagram + Strict source routing: Chỉ ra con đường đầy đủđểđi theo

+ Loose source routing: Chỉ ra danh sỏch cỏc router khụng được bỏ qua + Record route: Buộc mỗi router gắn địa chỉ IP của nú vào

+ Timestamp: Buộc mỗi router gắn địa chỉ IP và timestamp của nú vào – Tuy nhiờn khụng phải mọi router đều hỗ trợ tất cả cỏc tuỳ chọn này. – Padding: Được chốn thờm sao cho chiều dài Header = bội của 32 bits • Trường Data (32 bits): Số liệu của giao thức tầng trờn.

5.4.3. Cỏc lớp địa chỉ IP (adsbygoogle = window.adsbygoogle || []).push({});

− Mỗi địa chỉ IP (IPv4) gồm 32 bits, được chia thành 3 vựng, đú là Class + Netid + Hostid, mỗi mỏy nối mạng phải cú địa chỉ IP duy nhất trờn Internet

− Những mỏy nối với nhiều mạng cú cỏc địa chỉ IP khỏc nhau trờn từng mạng.

− Được chia thành 4 lớp: A, B, C, D và E (dự trữ), cấu trỳc cỏc lớp địa chỉđược chỉ rừ trong hỡnh trờn.

− Cỏch viết địa chỉ Internet: số thập phõn cú chấm (Dotted Decimal Notation), tức là cú dạng x.y.z.t, trong đú x, y, z, t cú giỏ trị từ 0-255 (mỗi số tương ứng với 8 bits).

− Để trỏnh đụng độ, cỏc địa chỉ mạng được NIC (Network Information Center) gỏn. Theo cấu trỳc trờn:

y Lớp A cho phộp định danh tới 126 mạng, với số mỏy tối đa tới hơn 16 triệu mỏy trờn mỗi mạng. Lớp này được dựng cho những mạng cú số mỏy cực lớn.

y Lớp B cho phộp định danh tới 16384 mạng, mỗi mạng cú thể cho phộp tối đa 65535.

y Lớp C cho phộp định danh tới hơn 2 triệu mạng, với tối đa 254 host mỗi mạng. Lớp này được dựng cho những mạng nhỏ.

y Lớp D dựng để gửi một nhúm cỏc host trờn một mạng (địa chỉ broadcast).

y Lớp E là lớp dự phũng cho tương lai.

Để nhận dạng cỏc lớp địa chỉ chỉ cần nhỡn vào octet đầu tiờn của địa chỉ IP (giỏ trị của x trong cấu trỳc x.y.z.t). Thật vậy, lớp A cú x ∈ 1ữ126, lớp B cú x ∈ 128ữ191, lớp C cú x

∈ 192ữ223, lớp D cú x ∈ 224ữ239, lớp E cú x ∈ 240ữ255.

Một số địa chỉ IP đặc biệt

Dưới đõy là một số cỏc địa chỉđặc biệt, khụng được dựng để cấp phỏt cho cỏc host: • 0.0.0.0: Dựng cho cỏc host khi mới khởi động

• Netid = 0: dựng cho cỏc host khi khụng biết địa chỉ mạng của nú

• Hostid = 1: là địa chỉ quảng bỏ trờn mạng cục bộ được định danh bởi phần Netid, nghĩa là nếu một mỏy nào đú gửi một gúi tin đến địa chỉ cú dạng này, thỡ tất cả cỏc mỏy trong mạng đều nhận được.

• 127.xx.yy.zz: packet gửi tới địa chỉ này khụng được đưa lờn đường truyền, mà được xử lý cục bộ giống như packet đến. Cho phộp gửi packet đến mạng cục bộ mà người gửi khụng cần biết địa chỉ của nú.

5.4.4. Cỏc bước thực hiện của giao thức IP

(đang tiếp tục bổ sung)

Một phần của tài liệu GIÁO TRÌNH MẠNG MÁY TÍNH VÀ TRUYỀN DỮ LIỆU (Trang 112 - 116)