Mạng hoạt động thế nào — dữ liệu đến đúng nơi nhận bằng cách nào

Bài viết này nằm trong khóa Kiến thức nền tảng về CNTT, xây dựng từ đầu những kiến thức CNTT thực tế tối thiểu mà bạn cần để lập trình và vibe coding.
Việc mà mạng làm là đưa dữ liệu đến đúng nơi nhận. Sơ đồ cấu trúc mạng cho thấy đường đi chia nhánh thế nào giữa bên trong cùng một LAN và bên ngoài.

Bài viết này nói về mạng.

Mạng chỉ làm một việc: đưa dữ liệu đến đúng nơi nhận.

Ba thứ được quyết định trước khi dữ liệu tới nơi
Dữ liệu bạnmuốn gửiQuyết địnhnơi nhậnChọnđường điTới được nơi nhậnĐịa chỉ IPTrong cùng một LANNgoài LANqua routerDừng giữa đường,không tới nơi
Từ trái sang phải. Khung trên và khung dưới là thứ được dùng ở bước đó và đường đi. Dưới cùng bên phải là trường hợp vấp ở một bước nào đó và không tới nơi.

Con số quyết định nơi nhận là địa chỉ IP, còn thiết bị đứng ở ranh giới nơi đường đi chia nhánh là router.

Mục đích của mạng là đưa dữ liệu đến đúng nơi nhận

Mạng (network — tập hợp các thiết bị nối với nhau bằng cáp hoặc sóng và gửi dữ liệu cho nhau được) được lồng vào nhau chứ không xếp cạnh nhau.

Mạng được lồng vào nhau
Internet (tất cả LAN trên thế giới nối lại)
  • LAN khắp thế giới nối với nhau
LAN của công ty
  • Máy tính của bạn, máy của đồng nghiệp, máy in
  • Chỉ trong khung này mới gửi dữ liệu trực tiếp được
LAN của gia đình
  • Điện thoại của bạn, TV
  • Không nhìn thấy bên trong LAN của công ty
Nơi đặt server công khai
  • Nằm trong một trung tâm dữ liệu
  • Từ LAN nào cũng tới được
Bên ngoài là Internet. Bên trong nó là LAN của công ty và của gia đình, và bên trong nữa là từng thiết bị một.

Cái nhỏ dựng bên trong một gia đình hay một công ty là LAN (Local Area Network), còn phần bên ngoài nối tất cả chúng trên khắp thế giới là Internet.

Cách nối vào LAN bằng sóng thay cho cáp là Wi-Fi.

Các thiết bị trong cùng một khung gửi dữ liệu trực tiếp cho nhau được, khác khung thì không gửi trực tiếp được.

Câu "hãy nối vào cùng một mạng" trong hướng dẫn nghĩa là hãy vào bên trong cùng một khung.

Điểm cần xemLANInternet
Phạm viTrong một gia đình hay một công tyToàn thế giới
Bên có thể gửi dữ liệu trực tiếpThiết bị trong cùng tòa nhàKhông gửi trực tiếp được
Khi đi ra ngoàiĐi qua routerVốn đã ở bên ngoài

Mạng lồng vào nhau chứ không song song

Mạng là tập hợp các thiết bị gửi dữ liệu cho nhau được.

Tập hợp nhỏ bên trong một gia đình hay công ty là LAN, phần bên ngoài nối chúng trên khắp thế giới là Internet; trong cùng một tập hợp thì dữ liệu đi thẳng, còn sang tập hợp khác thì phải ra ngoài rồi mới tới nơi.

Trong cùng một mạng, dữ liệu đi thẳng tới con số của nơi nhận

Mỗi thiết bị đều có một con số.

Đó là địa chỉ IP (Internet Protocol address — con số gán cho từng thiết bị trên mạng).

Cấu trúc mạng của một LAN công ty
Máy tính của bạn192.168.1.10Máy đồng nghiệp192.168.1.11Máy in192.168.1.20Điện thoại192.168.1.31RouterTrong 192.168.1.1Con số bên ngoài203.0.113.5InternetServer công khai198.51.100.7
Bốn thiết bị bên trái đều có con số bắt đầu bằng 192.168.1 và nằm trong cùng một LAN. Khi đi ra bên phải thì luôn qua router, và từ thế giới bên ngoài chúng chỉ hiện ra thành một con số ở mặt ngoài của router.

Các thiết bị có phần đầu của con số (192.168.1) giống nhau tạo thành một LAN.

Bên gửi nhìn phần đầu con số của nơi nhận rồi quyết định đường đi.

Bên gửi quyết định đường đi từ con số của nơi nhận
Gửi từ192.168.1.10Nơi nhận192.168.1.20Nơi nhận198.51.100.7Phần đầu giống→ bên trongPhần đầu khác→ bên ngoàiTới thẳngmáy inQua routerrồi mới tới
Bên trái là dữ liệu được gửi đi. Nếu phần đầu con số của nơi nhận giống của bạn thì đi lên, khác thì đi xuống. Nhánh trên không qua router, nhánh dưới thì luôn qua.

Trong cùng một LAN, dữ liệu tới thẳng bên kia mà không qua router.

Máy in dùng được ngay từ máy tính trong cùng phòng là vì nó đi theo đường này.

Thấy chữ "địa chỉ IP" thì kiểm tra xem là loại nào

Chữ "địa chỉ IP" trên màn hình thiết lập hay trong tài liệu hướng dẫn đôi khi không nói rõ đó là con số bên trong LAN hay con số dùng ở bên ngoài.

Nếu con số bắt đầu bằng 192.168 thì đó là chuyện bên trong LAN, còn không thì là chuyện bên ngoài.

Dữ liệu đi ra ngoài do router chuyển tiếp

Thiết bị đứng ở ranh giới giữa hai khung là router (router — thiết bị đứng giữa hai mạng và chuyển dữ liệu nhận được sang mạng tiếp theo).

Chỉ có một thiết bị, nhưng tên gọi thay đổi tùy bạn nhìn từ bên trong hay bên ngoài.

Cùng một router nhưng nhìn từ trong và từ ngoài lại khác nhau
==Router nhìn từbên trong LANNơi giao đầu tiênkhi đi ra ngoàiDefaultgatewayCùng một thiết bịRouter nhìn từphía InternetThiết bị đại diệncho cả LANThiết bị mangIP global
Hàng trên là router nhìn từ trong LAN, hàng dưới là router nhìn từ bên ngoài, và như dấu = cho thấy, chúng là cùng một thiết bị. Từ trái sang phải: tên gọi, vai trò và con số nó có.

Nơi giao đầu tiên khi đi ra ngoài là default gateway, và chữ "gateway" trên màn hình thiết lập thường chỉ chính router này.

Con số chỉ dùng được bên trong LAN là địa chỉ IP private (private IP address), còn con số duy nhất trên toàn Internet là địa chỉ IP global (global IP address).

Điểm cần xemIP privateIP global
Phạm vi dùng đượcChỉ trong LAN đóToàn bộ Internet
Trùng lặpLAN khác cũng có con số giống vậyDuy nhất trên thế giới
Thứ sở hữu nóThiết bị trong LANMặt ngoài của router, server công khai

Thứ duy nhất nhìn thấy được từ bên ngoài là một địa chỉ IP global mà router giữ.

Thứ bạn tự quyết chỉ là nơi nhận, còn giữa đường nó đi qua thiết bị nào thì mỗi lúc một khác.

Đường ra ngoài chỉ có một, và lối đi là router

Router đứng ở ranh giới giữa hai mạng và chuyển tiếp cả dữ liệu đi ra lẫn dữ liệu từ ngoài quay về.

Nơi giao đầu tiên khi đi ra ngoài là default gateway, và thứ duy nhất nhìn thấy được từ bên ngoài là một IP global của router.

Khi dữ liệu không tới nơi, hãy xem nó dừng ở đâu

Từ trong ra ngoài thì đi được, nhưng chiều ngược lại thì tự nó không qua được.

Thiết bị bên ngoài không biết các con số bên trong LAN, và router cũng không quyết được nên giao dữ liệu từ ngoài tới cho thiết bị nào.

Tùy chiều mà dữ liệu đi qua được hay dừng lại
Chiều của dữ liệuTrong → ngoàiBạn tự gửiNgoài → trongBên ngoài gửi tớiRouterchuyển tiếpDừng lạiở routerTới được nơi nhậnKhông tới nơi
Trên là chiều từ trong ra ngoài, router chuyển tiếp và dữ liệu tới nơi. Dưới là chiều từ ngoài vào trong, dữ liệu dừng ở router. Vì vậy thứ cần công khai được đặt ở bên ngoài ngay từ đầu.

Đây là lý do người bên ngoài không nối được vào my-app mà bạn chạy trên máy mình.

Để người bên ngoài cũng dùng được, bạn chuyển các file sang một máy tính vốn đã ở bên ngoài ngay từ đầu.

Máy đó là server công khai, còn việc chuyển sang là deploy.

Server công khai là máy tính đã được đặt bên ngoài khung ngay từ đầu.

Việc chuyển file được nói tới trong bài về deploy và biến môi trường của khóa này.

Khi dữ liệu không tới nơi, chỗ cần xem thay đổi tùy bên kia ở đâu
Dữ liệukhông tới nơiBên kia ở trongcùng một LANBên kia ởngoài LANXem phần đầucon số có giốngXem đã tới đượcrouter chưaChưa nối, hoặccon số saiXem thiết lậpcủa gateway
Bên trái là triệu chứng. Nó chia nhánh theo việc bên kia ở trong cùng LAN hay bên ngoài, và càng sang phải thì chỗ cần kiểm tra càng thu hẹp.

Nếu bên kia ở trong cùng một LAN thì router không liên quan.

Chỉ khi dữ liệu không tới được bên ngoài, bạn mới kiểm tra thiết lập gateway.

Cần server công khai vì từ ngoài không vào trong được

Từ trong ra ngoài thì đi được, nhưng từ ngoài vào trong thì dừng ở router.

Máy tính của bạn nằm trong LAN nên người bên ngoài không tới được; để ai cũng dùng được, bạn chuyển các file sang server công khai vốn đã ở bên ngoài ngay từ đầu.

QUIZ

Kiểm tra kiến thức

Hãy trả lời từng câu hỏi một.

Câu 1Khi bạn gửi dữ liệu tới máy in trong cùng một LAN, nó có qua router không?

Câu 2Khi một thiết bị trong LAN gửi dữ liệu tới server bên ngoài, nó giao dữ liệu cho ai trước?

Câu 3Vì sao người bên ngoài không nối được vào my-app mà bạn chạy trên máy tính của mình?