Tầng mạng

**Tầng mạng** (tiếng Anh: *network layer*) là tầng thứ ba trong bảy tầng của mô hình OSI. Tầng này chịu trách nhiệm đáp ứng các yêu cầu dịch vụ từ tầng giao vận và đưa ra những yêu cầu dịch vụ đối với tầng liên kết dữ liệu.

Tầng mạng đánh địa chỉ cho các thông điệp và dịch các địa chỉ lôgic và tên sang địa chỉ vật lý. Tầng này còn quyết định tuyến truyền thông từ nguồn đến đích, đồng thời quản lý những vấn đề về giao thông, chẳng hạn như chuyển mạch, định tuyến (*routing*), và khống chế sự tắc nghẽn của các gói dữ liệu.

Về căn bản, tầng mạng chịu trách nhiệm phân phát các gói dữ liệu từ đầu này sang đầu kia (*end-to-end*, từ nguồn đến đích), trong khi tầng liên kết dữ liệu lại chịu trách nhiệm phân phát gói dữ liệu từ nút này sang nút khác (*hop-to-hop*, giữa hai nút mạng trung gian có đường liên kết (*link*) trực tiếp).

Tầng mạng cung cấp các phương tiện có tính chức năng và quy trình để truyền các chuỗi dữ liệu có độ dài đa dạng từ nguồn tới đích, qua một hay nhiều mạng máy tính, trong khi vẫn duy trì chất lượng dịch vụ (*quality of service*) đòi hỏi bởi tầng giao vận. Tầng mạng thi hành chức năng định tuyến, điều khiển lưu lượng dữ liệu, phân đoạn và hợp đoạn mạng (*network segmentation/desegmentation*), và kiểm soát lỗi (*error control*).

Tầng mạng xử lý việc truyền thông dữ liệu trên cả đoạn đường từ nguồn đến đích, và đồng thời truyền bất cứ tin tức gì, từ bất cứ nguồn nào tới bất cứ đích nào mà chúng ta cần. Nếu ở tầng mạng mà chúng ta không liên lạc được với một địa điểm nào đấy, thì chúng ta chẳng còn cách nào để có thể liên lạc được với nó. Sau đây là một số những điểm mà tầng mạng cần quan tâm:

 
* Mạng có tính chất định hướng kết nối (*connection-oriented*) hay phi kết nối (*connectionless*)
: Ví dụ, thư thường (*snail mail*) có tính phi kết nối, bởi vì chúng ta có thể gửi một bức thư cho ai đó mà không cần người đó phải làm gì, và họ sẽ nhận được bức thư. Trong khi đó, hệ thống điện thoại lại định hướng kết nối, vì nó đòi hỏi người ở đầu bên kia nhấc máy điện thoại lên, trước khi sự truyền tin được thiết lập. Giao thức tầng mạng của mô hình OSI có thể định hướng kết nối hoặc phi kết nối. Tầng liên mạng của TCP/IP (tương đương với tầng mạng OSI) chỉ hỗ trợ giao thức liên mạng phi kết nối.
* Địa chỉ toàn cầu (*Global Addresses*) là gì
:Mỗi người trên mạng truyền thông cần có một địa chỉ duy nhất. Địa chỉ này xác định người đó là ai. Địa chỉ này thường có cấu trúc phả hệ, vì thế bạn có thể là "Nguyễn Văn An" đối với người thành phố Huế, hoặc "Nguyễn Văn An, Huế" đối với người ở Việt Nam, hoặc "Nguyễn Văn An, Huế, Việt Nam" với mọi người trên toàn thế giới. Trong mạng Internet, những địa chỉ này được gọi là số IP.
* Chuyển tiếp một thông điệp
:Đây là một vấn đề liên quan nhiều đến những ứng dụng di động, vì trong những ứng dụng này, người dùng có thể nhanh chóng di chuyển từ nơi này sang nơi khác, và chúng ta phải bố trí sao cho thông điệp của người ấy đi theo họ. Phiên bản 4 của giao thức IP (IPv4) - không thực sự hỗ trợ việc này, cho dù nó cũng đã được người ta sửa đổi (*hack*) ít nhiều kể từ khi nó bắt đầu đi vào hoạt động. Phiên bản 6 sắp tới, IPv6, có một giải pháp được thiết kế tốt hơn, điều đó có thể làm cho loại ứng dụng này hoạt động suôn sẻ hơn.

Trong hệ thống bưu điện truyền thống, hay còn được gọi là thư thường, nhiệm vụ này do người đưa thư đảm nhiệm (tới một mức độ nào đấy).

## Ví dụ
* IP/IPv6, Internet Protocol
** DVMRP, Distance Vector Multicast Routing Protocol
** ICMP, Internet Control Message Protocol
** IGMP, Internet Group Multicast Protocol
** PIM-SM, Protocol Independent Multicast Sparse Mode
** PIM-DM, Protocol Independent Multicast Dense Mode
** SLIP, Serial Line IP
* IPSec, Internet Protocol Security
* IPX, Internetwork Packet Exchange
** RIP, Routing Information Protocol
** NLSP, NetWare Link State Protocol
* X.25, Packet Level Protocol
** X.75, Packet Switched Signaling Between Public Networks
* DDP, Datagram Delivery Protocol
* Bộ giao thức ISO (*ISO protocol suite*)
* DECnet (*Giao thức mạng truyền thông của công ty Digital Equipment Corporation, Mỹ.*)

## Tham khảo