Internet Protocol

**Internet Protocol** (tiếng Anh, viết tắt: **IP**, nghĩa là **Giao thức Internet**) là một giao thức hướng dữ liệu được sử dụng bởi các máy chủ nguồn và đích để truyền dữ liệu trong một liên mạng chuyển mạch gói.

Dữ liệu trong một liên mạng IP được gửi theo các khối được gọi là các gói (*packet* hoặc *datagram*). Cụ thể, IP không cần thiết lập các đường truyền trước khi một máy chủ gửi các gói tin cho một máy khác mà trước đó nó chưa từng liên lạc với.

IP cung cấp một dịch vụ gửi dữ liệu *không đảm bảo* (còn gọi là *cố gắng cao nhất*), nghĩa là nó hầu như không đảm bảo gì về gói dữ liệu. Gói dữ liệu có thể đến nơi mà không còn nguyên vẹn, nó có thể đến không theo thứ tự (so với các gói khác được gửi giữa hai máy nguồn và đích đó), nó có thể bị trùng lặp hoặc bị mất hoàn toàn. Nếu một phần mềm ứng dụng cần được bảo đảm, nó có thể được cung cấp từ nơi khác, thường từ các giao thức giao vận nằm phía trên IP.

Các thiết bị định tuyến liên mạng chuyển tiếp các gói tin IP qua các mạng tầng liên kết dữ liệu được kết nối với nhau. Việc không có đảm bảo về gửi dữ liệu có nghĩa rằng các chuyển mạch gói có thiết kế đơn giản hơn. (Lưu ý rằng nếu mạng bỏ gói tin, làm đổi thứ tự hoặc làm hỏng nhiều gói tin, người dùng sẽ thấy hoạt động mạng trở nên kém đi. Hầu hết các thành phần của mạng đều cố gắng tránh để xảy ra tình trạng đó. Đó là lý do giao thức này còn được gọi là *cố gắng cao nhất*. Tuy nhiên, khi lỗi xảy ra không thường xuyên sẽ không có hiệu quả đủ xấu đến mức người dùng nhận thấy được.)

IP rất thông dụng trong mạng Internet công cộng ngày nay. Giao thức tầng mạng thông dụng nhất ngày nay là IPv4; đây là giao thức IP phiên bản 4. IPv6 được đề nghị sẽ kế tiếp IPv4: Internet đang hết dần địa chỉ IPv4, do IPv4 sử dụng 32 bit để đánh địa chỉ (tạo được khoảng 4 tỷ địa chỉ); IPv6 dùng địa chỉ 128 bit, cung cấp tối đa khoảng 3.4×1038 địa chỉ (xem bài về IPv6 để biết thêm chi tiết). Các phiên bản từ 0 đến 3 hoặc bị hạn chế, hoặc không được sử dụng. Phiên bản 5 được dùng làm giao thức dòng (*stream*) thử nghiệm. Còn có các phiên bản khác, nhưng chúng thường dành là các giao thức thử nghiệm và không được sử dụng rộng rãi.

Địa chỉ IP được chia thành 4 số giới hạn từ 0 - 255. Mỗi số được lưu bởi 1 byte - > IP có kích thước là 4byte, được chia thành các lớp địa chỉ. Có 3 lớp là A, B, và C. Nếu ở lớp A, ta sẽ có thể có 16 triệu địa chỉ, ở lớp B có 65536 địa chỉ. Ví dụ: Ở lớp B với 132.25,chúng ta có tất cả các địa chỉ từ 132.25.0.0 đến 132.25.255.255. Phần lớn các địa chỉ ở lớp A llà sở hữu của các công ty hay của tổ chức. Một ISP thường sở hữu một vài địa chỉ lớp B hoặc C. Ví dụ: Nếu địa chỉ IP của bạn là 132.25.23.24 thì bạn có thể xác định ISP của bạn là ai. (có IP là 132.25.x.)

Trên Internet thì địa chỉ IP của mỗi người là duy nhất và nó sẽ đại diện cho chính người đó, địa chỉ IP được sử dụng bởi các máy tính khác nhau để nhận biết các máy tính kết nối giữa chúng. Đây là lý do tại sao bạn lại bị IRC cấm, và là cách người ta tìm ra IP của bạn. 
Địa chỉ IP có thể dễ dàng phát hiện ra, người ta có thể lấy được qua các cách sau:
* Bạn lướt qua một trang web, IP của bạn bị ghi lại
* Trên IRC, bất kì ai cũng có thể có IP của bạn
* Trên ICQ, mọi người có thể biết IP của bạn, thậm chí bạn chọn ``do not show IP`` người ta vẫn lấy được nó
* Nếu bạn kết nối với một ai đó, họ có thế gõ ``netstat –n ``, và biết được ai đang kết nối đên họ 
* Nếu ai đó gửi cho bạn một email với một đoạn mã java tóm IP, họ cũng có thể tóm được IP của bạn 
* Có thể dùng những phần mềm như tcpdump hay wireshark để nhìn vào gói tin IP và tìm ra IP của bạn

## Định tuyến và địa chỉ IP
Có lẽ các khía cạnh phức tạp nhất của IP là việc đánh địa chỉ và định tuyến. Đánh địa chỉ là công việc cấp địa chỉ IP cho các máy đầu cuối, cùng với việc phân chia và lập nhóm các mạng con của các địa chỉ IP. Việc định tuyến IP được thực hiện bởi tất cả các máy chủ, nhưng đóng vai trò quan trọng nhất là các thiết bị định tuyến liên mạng. Các thiết bị đó thường sử dụng các giao thức cổng trong (*interior gateway protocol*, viết tắt là IGP) hoặc các giao thức cổng ngoài (*external gateway protocol*, viết tắt là EGP) để hỗ trợ việc đưa ra các quyết định chuyển tiếp các gói tin IP (*IP datagram*) qua các mạng kết nối với nhau bằng giao thức IP.

## Xem thêm

* Connectionless protocol
* Bộ giao thức TCP/IP (*Internet protocol suite* hoặc *TCP/IP protocol suite*)
* IPv4
* IPv6
* Địa chỉ IP
* Gói IP (*IP packet*)
* Các cổng TCP và UDP
* IANA

## Tham khảo

## Liên kết ngoài
* RFC 791, RFC791 in html
* Internet Assigned Numbers Authority (IANA)