Router tìm đường qua Internet như thế nào?
Router biết phải gửi gói tin sang đâu?
Một gói tin có địa chỉ đích, chẳng hạn 203.0.113.9. Router nhận được nó phải quyết định:
Gửi gói này sang đâu tiếp theo?
Nó không cần biết toàn bộ hành trình tới đích. Nó chỉ cần chọn chặng kế tiếp (next hop).
Router tra bảng định tuyến
Mỗi router có một bảng định tuyến. Một bảng đơn giản có thể trông như sau:
| Vùng địa chỉ | Chuyển sang |
|---|---|
10.144.2.0/24 |
Router B |
10.144.0.0/16 |
Router C |
10.0.0.0/8 |
Router D |
Mỗi dòng là một tuyến (route): nếu địa chỉ đích nằm trong vùng này, chuyển gói sang chặng kia.
Gói gửi tới 10.144.2.5 khớp cả ba dòng. Nhưng /24 mô tả vùng nhỏ hơn /16, còn /16 nhỏ hơn /8. Router chọn dòng cụ thể nhất:
10.144.2.0/24 → Router B
Quy tắc này gọi là khớp tiền tố dài nhất.
Nếu không có tuyến nào khớp và cũng không có tuyến mặc định, router bỏ gói.
Vậy các tuyến trong bảng từ đâu ra?
Các mạng phải báo đường cho nhau
Internet gồm rất nhiều mạng độc lập: mạng của ISP, công ty lớn, nhà cung cấp điện toán đám mây, trường đại học. Mỗi mạng như vậy là một hệ tự trị (AS), tự quản lý mình và tự quyết định nối với những AS nào.
Muốn gửi dữ liệu qua nhiều AS, chúng cần báo cho nhau biết:
Những vùng địa chỉ nào có thể đi qua tôi?
Đó là việc của BGP (Border Gateway Protocol).
BGP lan truyền thông tin đường đi
Giả sử mạng F có vùng địa chỉ 203.0.113.0/24. F báo cho D rằng vùng này đi tới được qua F. D báo tiếp cho B, B báo cho A.
F: 203.0.113.0/24 ở đây
↓
D: đi tới vùng đó qua tôi
↓
B: đi tới vùng đó qua tôi
↓
A
Nhờ vậy, mỗi router có một tuyến tới 203.0.113.0/24. Khi gói gửi tới 203.0.113.9 xuất hiện, mỗi router chỉ tra bảng của mình:

BGP không chở từng gói tin. Nó giúp các mạng trao đổi thông tin để những tuyến cần thiết xuất hiện trong bảng định tuyến.
Nếu một mạng rút tuyến thì sao?
Mạng F cũng có thể báo: 203.0.113.0/24 không còn đi qua tôi được nữa.
D bỏ tuyến đó. Nếu D không còn đường nào khác tới F, nó cũng ngừng báo tuyến này cho B. B làm tương tự với A.
F rút tuyến → D bỏ tuyến → B bỏ tuyến → A bỏ tuyến
Server ở F vẫn có thể đang chạy. Nhưng các mạng bên ngoài không còn tuyến tới F, nên không biết phải gửi gói sang đâu.
BGP giúp các mạng trao đổi đường đi. Router dùng bảng định tuyến để chuyển từng gói sang chặng kế tiếp.
Router làm việc với những địa chỉ như 203.0.113.9. Nhưng khi mở website, bạn thường chỉ gõ facebook.com.
Từ facebook.com, máy tính lấy địa chỉ IP ở đâu?