Trong bài viết này tóm tắt lại nội dung của tầng mạng trong mô hình osi, nội dung bài viết sẽ xoay quanh chức năng và các giao thức mà Network layer sử dụng. Và các đặc điểm của IP cũng là phần quan trọng trong tầng này.
Nằm trong chuỗi bài về seri tìm hiểu về Network Basic, bài viết này chúng tôi sẽ giới thiệu đến bạn kiến thức về mô hình mạng OSI. Là một phần quan trọng trong việc gắn kết các thiết bị và định tuyến cho hệ thống mạng.
Bài viết cùng chủ đề:
1. Tổng quan
- Tầng mạng là tầng 3 trong7 tầng của mô hình OSI.
- Tầng này cung cấp đường truyền giữa 2 máy tính của tầng mạng. Cụ thể hơn là chuyển gói tin (segment) của tầng transport từ máy tính này đến máy tính khác. Các thiết bị trong tầng mạng gồm nhiều máy tính, các router trung gian, Switch layer 3.
2. Chức năng
IP datagram packet (Protocol Data Unit của lớp Network) từ mạng nguồn phải được gửi đến thiết bị nhận đặt tại mạng đích. Vì thế, mô hình mạng OSI có các chức năng sau:
- Addressing: Xác định địa chỉ IP Destination.
- Định tuyến (Routing):
- Xác định đường đi: Tầng Network phải xác định các Router trung gian hay tuyến đường để truyền gói tin từ nơi gửi tới nơi nhận.
- Xác định đường đi ngắn nhất giữa 2 thiết bị đang truyền tin với nhau.
- Chuyển tiếp (Forwarding): Khi gói tin đến đầu vào router, router phải quyết định gửi gói tin đến đầu ra (exit interface) thích hợp nào đó.
- Encapsulation: Nhận dữ liệu từ giao thức tầng trên, thêm IP Header vào quá trình truyền từ nguồn tới đích.
- De-capsulation: Nhận và mở gói nhận được từ tầng data link.
- Đảm bảo chất lượng dịch vụ(QoS): Có cơ chế để kiểm soát lưu lượng và đảm bảo hiệu suất truyền gói tin.
- Network layer sử dụng dịch vụ chuyển mạch gói:
- Không duy trì trạng thái kết nối nào (không thiết lập kênh ảo).
- Thiết bị trung chuyển sẽ định tuyến gói tin đến đích bằng cách xác định địa chỉ đích, tìm kiếm trên bảng định tuyến và chuyển tiếp gói tin theo hướng đến đích.
- Vì bảng định tuyến có thể cập nhật liên tục nên các gói tin được gửi từ các thiết bị đầu cuối này đến thiết bị đầu cuối khác có thể đi theo nhiều tuyến đường khác nhau và đến đích không theo thứ tự.
3. Các giao thức tầng Network
Mô hình mạng OSI có các giao thức:
- Internet Protocol: Xác định địa chỉ tầng mạng, đóng gói segment và hành động của router và thiết bị đầu cuối khi nhận được Packet (PDU - Protocol Data Network của tầng mạng). Giao thức Internet phổ biến là:
- IPv4 (Internet Protocol version 4)
- IPv6 (Internet Protocol version 6)
- Routing Protocol:
- RIP (Routing Information Protocol)
- OSPF ( Open Shortest Path First)
- …
- Giao thức báo lỗi như: Internet Control Message Protocol (ICMP).
4. Định tuyến
Định tuyến có hai loại:
- Thuật toán định tuyến tĩnh: Tuyến đường rất ít thay đổi theo thời gian (thường do con người tác động)
- Thuật toán định tuyến động: Cho phép thay đổi các tuyến đường khi lưu lượng mạng kiến trúc liên kết mạng bị thay đổi. Có thể chạy định kỳ hoặc khi cấu trúc mạng hay giá trị tuyến đường bị thay đổi.
4.1 Thuật toán định tuyến trong mô hình mạng OSI
- Để truyền gói dữ liệu từ máy tính gửi đến máy tính nhận, mô hình mạng OSI phải quyết định đường đi hoặc các router mà gói dữ liệu phải đi qua. Đây là các công việc được thực hiện bởi các giao thức định tuyến ở tầng mạng.
- Để có thể làm điều này, giao thức định tuyến cần có các thuật toán để xác định đường đi cho gói tin.
- Mục tiêu: Xác định đường đi tốt nhất từ thiết bị nguồn đến thiết bị đích trong mô hình mạng OSI.
- Từ đó có thể chia thuật toán định tuyến thành 2 kiểu:
- Thuật toán định tuyến toàn cục (global link state) xác định đường đi với ngắn nhất giữa nguồn và đích bằng cách sử dụng tất cả thông tin tổng thể về mạng (có đầy đủ thông tin về topology mạng). Ví dụ như khi tìm đường trên google map ta có thể nhìn tổng thể quảng đường ta phải đi để đến được đích. Đầu vào của thuật toán là tất cả các nút và giá trị của nó.
- Thuật toán định tuyến phân tán (distance vector) xác định đường đi ngắn nhất được thực hiện dần dần qua từng router theo các thức phân tán. (không có nút nào có đầy đủ thông tin về đường đi của tất cả các liên kết trên mạng, ngược với link state). Ban đầu mỗi nút chỉ biết giá của đường đi với nút kết nối trực tiếp với nó. Ví dụ như gửi thư, người đưa thư chỉ cần biết bưu điện gần nhất.
4.2. Thuật toán Link state (LS)
Trong thuật toán Link state, cấu trúc mạng và đường đi của tất cả các liên kết đều phải xác định trước.
Điều này được thực hiện bằng cách mỗi node sẽ gửi thông báo quảng bá về định danh của mình và giá các liên kết trực tiếp đến nó tới tất cả các router khác trên mô hình mạng OSI.
Có thể hiểu là:
- Ban đầu nút chỉ biết được thông tin về các nút bên cạnh của mình.
- Sau đó nó sẽ xác định được tổng thể của phần còn lại của mạng khi nhận được các message quảng bá từ các nút khác.
Kết quả là tất cả các nút có đầy đủ thông tin về tổng thể mạng. Mỗi nút đều có thể chạy thuật toán link state (cụ thể ở đây là thuật toán Dijkstra - được đặt tên theo tên người phát minh ra).
Giao thức sử dụng thuật toán này:
- ISIS (Intermediate System to Intermediate System)
- OSPF (Open Shortest Path First)
4.3. Thuật toán Distance vector (DV)
- Thuật toán DV là thuật toán lặp, tự kết thúc và phân tán.
-
- Mỗi nút chỉ thông báo đến các nút lân cận khi cập nhật thông tin định tuyến.
- Các nút lân cận đó sẽ gửi đến các lân cận khác (nếu cần).
- Quá trình cập nhật thông tin định tuyến sẽ lặp đi lặp lại đến khi không còn thông tin trao đổi giữa các cặp hàng xóm. Có thông tin mới nó tự động gửi cho các nút bên cạnh, sau khi không còn thông tin nó tự dừng mà không cần 1 tín hiệu kết thúc.
- Là thuật toán phân tán
- Tính lặp, tự kết thúc
- Một số giao thức sử dụng thuật toán trong tầng mạng trong mô hình mạng OSI:
- RIP (Routing Information Protocol)
- EIGRP (Enhance Interior Gateway Routing Protocol)
Ngoài ra, một số loại định tuyến khác là với môi trường lý tưởng hoá như định tuyến phẳng không đúng trong thực tế.
5. Encapsulation và Decapsulation
5.1. Encapsulation
- Trong mô hình mạng OSI, dữ liệu nhận được từ lớp trên của nó (lớp Transport) một lần nữa được Encapsulation trong Header lớp Internet (thường với Header IPv4 hoặc Header IPv6). Sau đó được chuyển xuống lớp dưới cùng của nó (lớp Data Link).
5.2. Decapsulation
- Máy thu mở Header lớp Internet, sử dụng các giá trị của IP Header để xử lý dữ liệu ở lớp Internet.
- Chuyển đến lớp Transport để xử lý tiếp.
Note:
- PDU (Protocol Data Unit) của tầng Network là IP Packet, một số tài liệu gọi là IP datagram.
- Transport layer:
- Có PDU là segment cho TCP.
- Có PDU là datagram cho UDP.
6. IPv4 - Địa chỉ IP trong Network Layer
Nằm giữa máy tính và đường kết nối vật lý là 1 giao diện ghép nối (interface). Trên router có thể có nhiều kết nối và bộ phận nằm giữa router với kết nối cũng là interface. Như vậy router có nhiều interface, mỗi interface ứng với 1 kết nối. Do đó địa chỉ IP ứng với interface chứ không phải với máy tính hay router.
6.1 Cấu trúc IP header
Version:
- Kích thước 4 bit.
- Xác định phiên bản của giao thức IP. Qua đó router xác định được ý nghĩa các trường còn lại trong IP header (do các phiên bản IP khác nhau sử dụng cấu trúc gói khác nhau).
IP Header Length:
- Kích thước 4 bit.
- Cho biết độ dài của IP header từ đó xác định vị trí bắt đầu của Data trong IP packet.
Differentiated Services or DiffServ (DS):
- Differentiated Services or DiffServ (DS) trước đây được gọi là trường loại dịch vụ (ToS - Type Of Service).
- Kích thước 8 bit.
- Sử dụng để xác định mức độ ưu tiên của mỗi gói (packet).
- Gồm
-
- Kích thước: 6 bit.
- Phân loại gói tin (Gói ưu tiên).
- Kích thước: 2 bit.
- Thông báo tắc nghẽn hay không (Congestion).
- Differentiated Services Code Point (DSCP).
- Explicit Congestion Notification (ECN).
Total Length:
- Kích thước 16 bit.
- Tổng độ dài của gói tin IPv4 (cả phần IP Header và Data) tính theo byte.
- Độ dài trường này là 16 bit nên theo lý thuyết kích thước tối đa của IP packet là 65535 byte.
- Tuy nhiên hiếm khi kích thước vượt quá 1500 byte và thường giới hạn là 576 byte.
Header Checksum:
- Kích thước 16 bit.
- Đảm bảo sự toàn vẹn của gói tin (Bằng cách phát hiện lỗi trong trường tiêu đề).
- Router sẽ tính lại trường checksum và so sánh với checksum của IP packet. Nếu khác gói tin sẽ bị loại bỏ.(Nó chỉ check cho IP header).
Time to Live (TTL):
- Kích thước 8 bit.
- Sử dụng để giới hạn thời gian tồn tại của gói tin.
- Thiết bị nguồn của gói IPv4 đặt giá trị TTL ban đầu.
- Giá trị này giảm đi 1 lần mỗi khi gói được xử lý bởi router. Nếu TTL giảm xuống 0, Router sẽ loại bỏ gói tin và gửi gói tin Internet Control Message Protocol (ICMP) thông báo quá thời gian tới địa chỉ nguồn.
Protocol:
- Có độ dài 8 bit.
- Sử dụng để xác định giao thức được sử dụng trong phần dữ liệu của gói IPv4.
- Cho phép lớp mạng chuyển dữ liệu đến giao thức lớp trên thích hợp.
- Ví dụ: TCP (6), UDP (17)
Source IPv4 Address:
- Kích thước 32 bit.
- Đại diện cho địa chỉ IP nguồn của Packet.
Destination IPv4 Address:
- Kích thước 32 bit.
- Đại diện cho địa chỉ IP đích của Packet, xác định nơi gói tin đến.
6.2. Đặc điểm cơ bản của IP trong mô hình mạng OSI
IP sẽ có 3 đặc điểm:
- Connectionless
- Best Effort
- Media Independent.
6.2.1. Connectionless
Giao thức IP là Connectionless, có nghĩa là không có kết nối end-to-end chuyên dụng nào được tạo bởi IP trước khi dữ liệu được gửi đi.
Tương tự như việc gửi một bức thư cho ai đó mà không thông báo trước cho người nhận.
Đối chiếu với các giao thức IP nó cũng sẽ như vậy.
- Các thiết bị gửi sẽ không biết thiết bị nhận có tồn tại hay không.
- Không biết được khi nào bản tin đến được nơi.
- Không biết được liệu thiết bị nhận được có đọc được packet của thiết bị gửi.
6.2.2. Best Effort
Best Effort có nghĩa là nỗ lực tốt nhất - có thể hiểu là nó sẽ tìm cách forward bản tin đi càng nhanh càng tốt, cứ nhận được là nó đẩy đi.
Không tin cậy: không có cơ chế phục hồi nếu có lỗi. (Hình dưới gói tin bị mất trong quá trình gửi đi). Cần có sự hỗ trợ của dịch vụ tầng transport để đảm bảo độ tin cậy (TCP).
6.2.3. Media Independent
Media Independent không phụ thuộc vào môi trường truyền dẫn. Cùng 1 gói tin IP có thể được đẩy qua mạng cáp đồng hay cáp quang hay một mạng Wireless mà không phải thay đổi giao thức mô hình mạng OSI.
7. ICMP (Internet Control Message Protocol)
Tại Network Layer trong mô hình mạng OSI, ICMP được các máy tính đầu cuối, router và các cổng (gateway) sử dụng để trao đổi các thông tin tầng mạng với nhau.
- Báo lỗi: không tìm được host, mạng cổng,...
- Phản hồi request/reply (Ping)
Ví dụ khi không tìm được đường đến đích, router sẽ tạo và gửi message ICMP kiểu 3 tới máy tính gửi gói tin để báo lỗi. Máy tính nhận đc thông báo lỗi sẽ trả lại mã lỗi cho TCP đang cố gắng kết nối tới máy tính đích, TCP trả lỗi cho ứng dụng.
ICMP thường được coi là 1 phần của IP, nhưng về kiến trúc lại nằm trên IP vì thông báo ICMP đặt trong gói IP( giống như TCP hay UDP segment).
Cấu trúc của gói tin ICMP trong mô hình mạng OSI:
Mặc dù mỗi message ICMP có dạng riêng của nó nhưng chúng đều bắt đầu với ba trường sau:
- TYPE (8 bit): là một số nguyên 8 bit để xác định thông điệp.
- CODE (8bit): cung cấp thêm thông tin về kiểu thông điệp.
- CHECKSUM(16 bit): ICMP sử dụng thuật giải checksum như IP, nhưng ICMP checksum chỉ tính đến thông điệp ICMP.
8. Kết luận về mô hình mạng (Network Layer)
Bên trên là các tài liệu tổng hợp về mô hình mạng OSI được ứng dụng nhiều trong thức tế và các kiến thức được tổng hợp tinh gọn về Network Layer. Sau bài đọc này bạn phải nhớ được nhiệm vụ và chức năng của tầng mạng, các giao thức mà Network Layer có.