8.1 Đặc điểm của Lớp Network (OSI Layer 3) và Giao thức IP
8.1 Đặc điểm của Lớp Network
8.1.1 Lớp Network
Lớp network, hay OSI Layer 3, cung cấp các dịch vụ cho phép các thiết bị đầu cuối trao đổi dữ liệu qua mạng. IP version 4 (IPv4) và IP version 6 (IPv6) là các giao thức truyền thông chính của lớp network. Các giao thức lớp network khác bao gồm:
- Các giao thức định tuyến như Open Shortest Path First (OSPF)
- Các giao thức nhắn tin như Internet Control Message Protocol (ICMP)
Các Giao thức Lớp Network
- Internet Protocol version 4 (IPv4)
- Internet Protocol version 6 (IPv6)
💡: Hãy tưởng tượng Internet như một hệ thống bưu điện khổng lồ. Lớp Network (Layer 3) giống như dịch vụ bưu chính - nó biết cách gửi "bưu kiện" (packet) từ địa chỉ này đến địa chỉ khác. IPv4 và IPv6 là hai "hệ thống mã bưu chính" khác nhau mà chúng ta sử dụng.
Bốn Hoạt động Cơ bản
Để hoàn thành việc truyền thông từ đầu cuối đến đầu cuối qua các ranh giới mạng, các giao thức lớp network thực hiện bốn hoạt động cơ bản:
💡: Giống như gửi hàng qua bưu điện cần 4 bước: (1) Ghi địa chỉ người nhận, (2) Đóng gói hàng vào hộp, (3) Chọn đường vận chuyển, (4) Mở hộp khi đến nơi.
- Địa chỉ hóa thiết bị đầu cuối - Các thiết bị đầu cuối phải được cấu hình với địa chỉ IP duy nhất để nhận dạng trên mạng.
- Đóng gói (Encapsulation) - Lớp network đóng gói protocol data unit (PDU) từ lớp transport vào một packet. Quá trình đóng gói thêm thông tin IP header, như địa chỉ IP của nguồn (gửi) và đích (nhận). Quá trình đóng gói được thực hiện bởi nguồn của IP packet.
- Định tuyến (Routing) - Lớp network cung cấp dịch vụ để hướng các packet đến máy chủ đích trên mạng khác. Để di chuyển đến các mạng khác, packet phải được xử lý bởi router. Vai trò của router là chọn đường đi tốt nhất và hướng các packet đến máy chủ đích trong quá trình được gọi là routing. Một packet có thể đi qua nhiều router trước khi đến máy chủ đích. Mỗi router mà packet đi qua để đến máy chủ đích được gọi là một hop.
- Mở gói (De-encapsulation) - Khi packet đến lớp network của máy chủ đích, máy chủ kiểm tra IP header của packet. Nếu địa chỉ IP đích trong header khớp với địa chỉ IP của nó, IP header sẽ được loại bỏ khỏi packet. Sau khi packet được mở gói bởi lớp network, Layer 4 PDU kết quả được chuyển lên dịch vụ thích hợp tại lớp transport. Quá trình mở gói được thực hiện bởi máy chủ đích của IP packet.
Không giống như lớp transport (OSI Layer 4), quản lý việc truyền dữ liệu giữa các process đang chạy trên mỗi máy chủ, các giao thức truyền thông lớp network (ví dụ: IPv4 và IPv6) chỉ định cấu trúc packet và xử lý được sử dụng để mang dữ liệu từ một máy chủ đến máy chủ khác. Hoạt động mà không quan tâm đến dữ liệu được mang trong mỗi packet cho phép lớp network mang các packet cho nhiều loại truyền thông giữa nhiều máy chủ.
8.1.2 Đóng gói IP
IP đóng gói segment của lớp transport (lớp ngay trên lớp network) hoặc dữ liệu khác bằng cách thêm IP header. IP header được sử dụng để chuyển packet đến máy chủ đích.
💡: Đóng gói IP giống như cho dữ liệu vào phong bì và ghi địa chỉ lên ngoài. IP header chính là "mặt ngoài phong bì" chứa thông tin địa chỉ người gửi và người nhận.
Quá trình Đóng gói
Quá trình đóng gói dữ liệu theo từng lớp cho phép các dịch vụ ở các lớp khác nhau phát triển và mở rộng mà không ảnh hưởng đến các lớp khác. Điều này có nghĩa là các segment lớp transport có thể dễ dàng được đóng gói bởi IPv4 hoặc IPv6 hoặc bởi bất kỳ giao thức mới nào có thể được phát triển trong tương lai.
Các điểm chính về IP Headers
- IP header được kiểm tra bởi các thiết bị Layer 3 (ví dụ: router và Layer 3 switch) khi nó di chuyển qua mạng đến đích của nó
- Thông tin địa chỉ IP vẫn giữ nguyên từ khi packet rời khỏi máy chủ nguồn cho đến khi nó đến máy chủ đích, ngoại trừ khi được dịch bởi thiết bị thực hiện Network Address Translation (NAT) cho IPv4
- Router triển khai các giao thức định tuyến để định tuyến packet giữa các mạng
- Phần dữ liệu của packet (transport layer PDU được đóng gói hoặc dữ liệu khác) vẫn không thay đổi trong quá trình xử lý lớp network
Lưu ý: NAT sẽ được thảo luận trong các module sau.
8.1.3 Đặc điểm của IP
IP được thiết kế như một giao thức có overhead thấp. Nó chỉ cung cấp các chức năng cần thiết để chuyển packet từ nguồn đến đích qua hệ thống mạng được kết nối với nhau. Giao thức không được thiết kế để theo dõi và quản lý luồng packet. Các chức năng này, nếu cần, được thực hiện bởi các giao thức khác ở các lớp khác, chủ yếu là TCP ở Layer 4.
Các Đặc điểm Cơ bản của IP
- Connectionless (Không kết nối) - Không có kết nối với đích được thiết lập trước khi gửi các data packet
- Best Effort (Nỗ lực tốt nhất) - IP vốn không đáng tin cậy vì việc chuyển packet không được đảm bảo
- Media Independent (Độc lập với phương tiện) - Hoạt động độc lập với phương tiện (ví dụ: copper, fiber-optic, hoặc wireless) mang dữ liệu
💡:
- Connectionless: Như gửi postcard - không cần gọi điện hỏi trước
- Best Effort: Như bưu điện thường - không đảm bảo 100% sẽ đến nơi
- Media Independent: Có thể đi qua mọi con đường - đường bộ, đường thủy, đường hàng không
8.1.4 Connectionless (Không kết nối)
IP là connectionless, có nghĩa là không có kết nối đầu cuối đến đầu cuối chuyên dụng được tạo bởi IP trước khi dữ liệu được gửi. Truyền thông connectionless về mặt khái niệm tương tự như gửi thư cho ai đó mà không thông báo cho người nhận trước.
Tương tự về Truyền thông Connectionless
Giống như gửi thư qua hệ thống bưu chính:
- Một packet (bao gồm IP header và segment) được gửi từ nguồn trên một mạng đến đích trên mạng khác
- Không cần thông báo trước hoặc thiết lập kết nối
IP không yêu cầu trao đổi thông tin điều khiển ban đầu để thiết lập kết nối đầu cuối đến đầu cuối trước khi packet được chuyển tiếp.
8.1.5 Best Effort (Nỗ lực tốt nhất)
IP cũng không yêu cầu các trường bổ sung trong header để duy trì kết nối đã thiết lập. Quá trình này giảm đáng kể overhead của IP. Tuy nhiên, không có kết nối đầu cuối đến đầu cuối được thiết lập trước, người gửi không biết liệu:
- Thiết bị đích có hiện diện và hoạt động khi gửi packet hay không
- Đích có nhận được packet hay không
- Thiết bị đích có thể truy cập và đọc packet hay không
Đặc điểm Chuyển giao Không đáng tin cậy
Giao thức IP không đảm bảo rằng tất cả các packet được chuyển đi thực sự được nhận. Việc chuyển giao không đáng tin cậy hoặc best-effort này có nghĩa là:
- Packet được định tuyến qua mạng nhanh chóng
- Một số packet có thể bị mất trên đường đi
- IP không đảm bảo việc chuyển giao tất cả các packet đã gửi
Là một giao thức lớp network không đáng tin cậy, IP không đảm bảo rằng tất cả các packet đã gửi sẽ được nhận. Các giao thức khác quản lý quá trình theo dõi packet và đảm bảo việc chuyển giao của chúng.
8.1.6 Media Independent (Độc lập với phương tiện)
Không đáng tin cậy có nghĩa là IP không có khả năng quản lý và phục hồi từ các packet không được chuyển giao hoặc bị hỏng. Điều này là do trong khi IP packet được gửi với thông tin về vị trí chuyển giao, chúng không chứa thông tin có thể được xử lý để thông báo cho người gửi liệu việc chuyển giao có thành công hay không.
Các vấn đề Chuyển giao Packet
Packet có thể đến đích:
- Bị hỏng
- Không theo thứ tự
- Hoặc không đến nơi
IP không cung cấp khả năng truyền lại packet nếu xảy ra lỗi. Nếu các packet không theo thứ tự được chuyển giao, hoặc packet bị thiếu, thì các ứng dụng sử dụng dữ liệu, hoặc các dịch vụ lớp trên, phải giải quyết các vấn đề này. Điều này cho phép IP hoạt động rất hiệu quả. Trong bộ giao thức TCP/IP, độ tin cậy là vai trò của giao thức TCP ở lớp transport.
Độc lập với Phương tiện
IP hoạt động độc lập với phương tiện mang dữ liệu ở các lớp thấp hơn của protocol stack. IP packet có thể được truyền thông như:
- Tín hiệu điện tử qua cáp copper
- Tín hiệu quang qua fiber
- Tín hiệu vô tuyến không dây
IP packet có thể di chuyển qua các loại phương tiện khác nhau trong cùng một đường dẫn mạng:
- Copper Ethernet
- Kết nối Serial copper
- Optical Fiber
- Kết nối Wireless
Maximum Transmission Unit (MTU)
Lớp data link OSI chịu trách nhiệm lấy IP packet và chuẩn bị nó để truyền qua phương tiện truyền thông. Điều này có nghĩa là việc chuyển giao IP packet không bị giới hạn ở bất kỳ phương tiện cụ thể nào.
Tuy nhiên, có một đặc điểm chính của phương tiện mà lớp network xem xét: kích thước tối đa của PDU mà mỗi phương tiện có thể vận chuyển. Đặc điểm này được gọi là maximum transmission unit (MTU).
💡: MTU giống như giới hạn trọng tải của xe tải. Mỗi "con đường" (Ethernet, WiFi, etc.) có giới hạn khác nhau về kích thước "kiện hàng" có thể vận chuyển.
Quy trình MTU
- Lớp data link chuyển giá trị MTU lên lớp network
- Lớp network sau đó xác định packet có thể lớn đến mức nào
- Một phần của giao tiếp điều khiển giữa lớp data link và lớp network là thiết lập kích thước tối đa cho packet
Phân mảnh (Fragmentation)
Trong một số trường hợp, thiết bị trung gian (thường là router) phải chia nhỏ IPv4 packet khi chuyển tiếp nó từ một phương tiện này sang phương tiện khác có MTU nhỏ hơn. Quá trình này được gọi là phân mảnh packet, hoặc fragmentation.
- Phân mảnh gây ra độ trễ
- IPv6 packet không thể bị phân mảnh bởi router