LỚP INTERNET
Chức năng lớp internet của mô hình tcp/ip hoàn toàn tương tự như lớp Network của mô hình OSI. Các thực thể của lớp này thực hiện các nhiệm vụ chính là định tuyến (Routing), tìm đường đi tối ưu từ điểm này đến điểm kia của mạng cho việc di chuyển một loại lưu lượng nào đó . Ngoài ra lớp internet còn cung cấp cách thức truyền tải dữ liệu trên một sơ đồ đã được định tuyến và cung cấp cách thức đánh địa chỉ logic để phục vụ cho tác vụ định tuyến
Mục này sẽ đi vào tìm hiểu các đặc điểm của giao thức IP – Internet Protocol , là một giao thức của chồng giao thức TCP/IP thuộc về lớp Internet , tương ứng với lớp thứ 3 (lớp Network ) của mô hình OSI. Ngày nay , IP gần như là giao thức lớp 3 thống trị, được sử dụng rộng rãi trong mọi hệ thống mạng trên phạm vi toàn thế giới.
Những đặc điểm chung của giao thức IP
Giao thức IP có một số đặc điểm chung đáng chú ý như sau :
- Giao thức này hoạt động ở lớp Internet của mô hình TCP/IP , hay lớp network của mô hình OSI. IP cung cấp một cơ chế truyền tải lớp 3 qua một sơ đồ mạng đã được định tuyến
- IP là một giao thức connectionless điển hình : dữ liệu của IP sẽ được thiết bị lớp 3 truyền đi ngay lập tức nếu có thể (best effort), không có bất kì cơ chế thiết lập kết nối , không có cớ chế báo nhận hay điều khiển luồng nào được sử dụng với IP, các gói tin IP cũng không được đánh số thứ tự khi trao đổi trên mạng …
- Mỗi gói tin IP khi đến một thiết bị lớp 3 nào đó sẽ được thiết bị này xử lý mốt cách hoàn toàn độc lập với các gói tin IP khác .
- Giáo thức IP sử dụng cơ chế định địa chỉ theo kiểu phân cấp (hierachical addressing), trong đó phần Network-id của địa chỉ giống như tên của một con đường và phần host-id của địa chỉ IP sẽ giống như số nhà của một căn nhà trên con đường ấy
- Không có cơ chế khôi phục lại gói tin bị mất trên đường đi. Việc này được giao lại cho các giao tức lớp trên tại các host đầu cuối .
Giao thức IP cũng sử dụng gói tin được cấu trức thành 2 phần : header và data. Trong đó , Header là phần chứa thông tin quản lý của gói tin và data chính là phần dữ liệu cần truyền tải được đóng gói trong gói tin IP . Nếu so sánh gói tin của IP như một kiện hàng thì header chính là phần ghi lại thông tin hàng hóa còn data chính là hàng hóa được vận chuyển .
Trong đó :
- Version (4 bit ) : trường này cho biết version của giao thức IP đang sử dụng. Hiện nay chỉ có hai version của giao thức IP là 4 và 6. Header hình trên là giao giao thức IPv4 nên giá trị của trường này luôn dược thiết lập là 4.
- IP Header Length (4 bit) : trường này cho biết kích thước tính theo đơn vị word – 32 bit của IP Header.
- Service Type (8 bit) : trường này được sử dụng cho mục đích đánh dấu dữ liệu (marking) phục vụ cho tác vụ QoS với các gói tin IP . QoS (Quality of Service) là tập hợp các kĩ thuật cho phép cấp phát các tài nguyên một cách thích hợp cho các loại dữ liệu khác nhau, từ đó có thể đảm bảo chất lượng dịch vụ mạng cho các loại dữ liệu này .
- Packet Length (16 bit) : cho biết chiều dài tính theo byte của toàn bộ gói tin IP.
- Các trường Identification, Flag và Fragment Offset: được sử dụng cho mục đích phân mảnh gói tin IP
- Time to Live (TTL) (8 bit) : được sử dụng để chống loop gói tin IP khi xảy ra lỗi định tuyến trên sơ đồ mạng, Cứ mỗi khi gói tin IP đi qua một node lớp 3 (ví dụ: Router), giá trị TTL này lại được giảm đi 1 đơn vị . Khi TTL = 0, gói tin sẽ bị loại bỏ.
- Protocol (8 bit) : trường này được sử dụng để nhận dạng giao thức nào đang được truyền tải trong phần data của gói tin IP . Các giao thức truyền tải bởi giao thức IP đều được gán cho một giá trị Protocol-ID được quy định bởi IANA (Internet Assigned Number Authority), là tổ chức quốc tế quản lý địa chỉ IP và số hiệu mạng.
Ví dụ : nếu Protocol-id = 6 , phần data của gói tin IP đang đóng gói một TCP segment; nếu protocol-id = 17 , phần data của gói tin IP đang đóng gói một UDP datagram; nếu protocol-id = 89 , phần data của một gói tin IP đang đóng gói một gói tin của giao thức định tuyến OSPF,v.v..
Tương tự như trường port của giao thức TCP và UDP, trường protocol cho phép một thiết bị lớp 3 nhận dạng được giao thức được truyền tải bởi giao thức IP mà không cần phải mở gói IP ra để kiểm tra
- Header checksum (8 bit) : trường này được sử dụng cho việc kiểm tra lỗi của IP Header
- Các trường Source Address (32 bit) và Destination Address (32 bit) : cho biết địa chỉ của thiết bị gửi đi gói IP và thiết bị đích đến của gói IP đang xét .
- Options và Padding : trường option cho phép thêm vào tính năng mới cho giao thức IP. Cấu trúc của gói IP quy định option phải là bội số của 32 bit nên nếu option không đủ số bit , các bit padding sẽ được thêm vào để đạt được yêu cầu này .
ĐỊA CHỈ IP
Phần này sẽ trình bày các đặc điểm chung cần phải năm về địa chỉ IP
Cấu trúc địa chỉ IP
- Địa chỉ IP gồm 32 bit nhị phân , chia thành 4 cụm 8 bit (gọi là các octet). Các octet được biểu diễn dưới dạng thập phân và được ngăn cách bằng các dấu chấm
- Địa chỉ IP được chia thành 2 phần : phần mạng (network) và phần host.
- Việc đặt địa chỉ IP phải tuân theo các quy tắc sau :
- Các bit phần mạng không được phép đồng thời bằng 0.
Ví dụ : địa chỉ 0.0.1 với phần mạng là 0.0.0 và phần host là 1 là không hợp lệ. - Nếu các bit phần host đồng thời bằng 0 , ta có một địa chỉ mạng.
Ví dụ : địa chỉ 168.1.1 là một địa chỉ có thể gán cho host nhưng địa chỉ 192.168.1.0 là một địa chỉ mạng , không thể gán cho host . - Nếu các bit phần host đồng thời bằng 1 , ta có một địa chỉ broadcast.
Ví dụ : địa chỉ 168.1.255 là địa chỉ broadcast cho mạng 192.168.1.0
- Các bit phần mạng không được phép đồng thời bằng 0.
Các lớp đia chỉ IP
Không gian địa chỉ IP được chia thành các lớp như sau:
Lớp A:
- Địa chỉ lớp A sử dụng một otet đầu làm phần mạng, ba octet sau làm phần host
- Bit đầu của một địa chỉ lớp A luôn được giữ là 0.
- Các địa chỉ lớp mạng lớp A gồm : 1.0.0.0 -> 126.0.0.0.
- Mạng 127.0.0.0 được sử dụng làm loopback
- Phần host có 24 bit => mỗi mạng lớp A có (224 – 2) host.
Lớp B:
- Địa chỉ lớp B sử dụng hai octet đầu làm phần mạng , hai octet sau làm phần host.
- Hai bit đầu của một địa chỉ lớp B luôn được giữ là 1 0
- Các địa chỉ mạng lớp B gồm : 128.0.0.0 -> 191.255.0.0 . Có tất cả 214 mạng trong lớp B.
- Phần host dài 16 bit do đó một mạng lớp B có (216 – 2) host.
Lớp C:
- Địa chỉ lớp C sử dụng 3 octet đầu làm phần mạng , một octet sau làm phần host.
- Ba bit đầu của một địa chỉ lớp C luôn được giữ là 1 1 0.
- Các địa chỉ mạng lớp C gồm : 192.0.0.0 -> 223.255.255.0 . Có tất cả 221 mạng trong lớp C.
- Phần host dài 8 bit do đó có một mạng lớp C có (28 – 2) = 254 host
Lớp D:
- Gồm các địa chỉ thuộc dải: 244.0.0.0 -> 239.255.255.255
- Được sử dụng để làm địa chỉ multicast.
- Ví dụ : 224.0.0.5 dùng cho OSPF; 224.0.0.9 dùng cho RIPv2
Lớp E:
- Từ 240.0.0.0 trở đi .
- Được sử dụng cho mục đích dự phòng
Lưu ý:
- Các lớp địa chỉ IP có thể sử dụng để đặt cho các host là các lớp A,B,C
- Để thuận tiện cho việc nhận diện một địa chỉ IP thuộc lớp nào , có thể quan sát octet đầu của địa chỉ, nếu octet này có giá trị nằm trong khoảng :
1 -> 126: Địa chỉ lớp A
128 -> 191: Địa chỉ lớp B
192 -> 223: Đạ chỉ lớp C
224 -> 239: Địa chỉ lớp D
240 -> 255: Địa chỉ lớp E
Địa chỉ Private và Public
Địa chỉ IP được phân thành hai loại : Private và Public
- Private: Chỉ được sử dụng trong mạng nội bộ (mạng LAN), không được định tuyến trên môi trường Internet. Có thể được sử dụng lặp lại trong các mạng LAN khác nhau .
- Public: là địa chỉ IP sử dụng cho các gói tin đi trên môi trường Internet, được định tuyến trên môi trường Internet. Địa chỉ public phải là duy nhất cho mỗi host tham gia vào Internet.
- Dải địa chỉ private (được quy định trong RFC 1918):
Lớp A: 10.x.x.x
Lớp B: 172.16.x.x -> 172.31.x.x
Lớp C: 192.168.x.x - Kỹ thuật NAT (Network Address Translation) được sử dụng để chuyển đổi giữa IP private và IP public
- Ý nghĩa của địa chỉ private: được sử dụng để bảo tồn địa chỉ IP public
Địa chỉ broadcast
- Direct broadcast. Ví dụ: 192.168.1.255.
- Local broadcast. 255.255.255.255.
Để phân biệt 2 địa chỉ broadcast này , xem xét ví dụ sau:
Xét host có địa chỉ IP là 192.168.2.1. Khi host này gửi broadcast đến 255.255.255.255, tất cả các host thuộc mạng 192.168.2.0 sẽ nhận được gói broadcast này, còn nếu nó gửi broadcast đến địa chỉ 192.168.1.255 thì tất cả các host thuộc mạng 192.168.1.0 sẽ nhận được gói broadcast này).
Subnet mask và số prefix length
- Subnet mask: Subnet mask là một dãy nhị phân dài 32 bit đi kèm với một địa chỉ IP để cho phép xác định được network mà IP này thuộc về. Điều này được thực hiện bằng AND địa chỉ IP với subnet-mask theo từng bit mộtVí dụ : Xét địa chỉ IP 192.168.1.1 với subnet-mask là 255.255.255.0. Để xác định địa chỉ mạng của đia chỉ này , thực hiện AND 192.168.1.1 với 255.255.255.0.
Dạng thập phân | Dạng nhị phân | |
Địa chỉ IP | 192.168.1.1 | 11000000.10101000.00000001.00000001 |
Subnet mask | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
Địa chỉ mạng | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
Phép toán AND:
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
Để đơn giản, chỉ cần nhớ rằng : phần network của địa chỉ mạng chạy đến, các bit 1 của subnet-mask chạy đến đó; ứng với các bit phần host của địa chỉ , các bit của subnet mask nhận giá trị bằng 0
Các subnet-mask chuẩn của các địa chỉ lớp A,B và C:
Lớp A: 255.0.0.0
Lớp B: 255.255.0.
Lớp C: 255.255.255.0
- Prefix – length: Một cách khác để hiển thị địa chỉ IP là sử dụng số prefix-length. Số prefix-length là số bit mạng trong một địa chỉ IP . Giá trị này được viết ngay sau địa chỉ IP và ngăn cách bởi dấu “/”
Ví dụ: 192.168.1.1/24, 172.16.2.1/16, 10.0.0.1/8,…
LuanPM