The Internet and how data travels · Internet và cách dữ liệu di chuyển
The Internet
- The Internet is a huge network of computers that are joined together.
- No single computer is in charge. Many computers share the work.
- When you open a web page, your data travels across many of these computers.
Internet
- Internet là một mạng lưới khổng lồ các máy tính được kết nối với nhau.
- Không có một máy tính nào nắm quyền kiểm soát. Nhiều máy tính chia sẻ công việc.
- Khi bạn mở một trang web, dữ liệu của bạn truyền qua nhiều máy tính trong số đó.
Data is split into packets
- Big data does not travel in one piece.
- It is cut into small pieces called packets.
- Each packet carries a bit of the data, plus an address (where it goes) and a number (its order).
Dữ liệu được chia thành các gói
- Dữ liệu lớn không di chuyển dưới dạng một mảnh duy nhất.
- Nó bị cắt thành các phần nhỏ gọi là gói (packets).
- Mỗi gói mang theo một phần dữ liệu, cộng thêm một địa chỉ (nơi nó đi đến) và một số (thứ tự của nó).
Your message: "HELLO FRIEND"
Split into packets:
[1] "HELL" to: 203.0.113.7
[2] "O FR" to: 203.0.113.7
[3] "IEND" to: 203.0.113.7
Routing: many paths
- Routing means choosing a path for each packet through the network.
- Packets pass through many computers called routers on the way.
- Different packets can take different paths to the same place.
Định tuyến: nhiều đường đi
- Routing (định tuyến) có nghĩa là chọn một đường đi cho từng gói tin qua mạng.
- Các gói tin truyền qua nhiều máy tính được gọi là bộ định tuyến trên đường đi.
- Các gói tin khác nhau có thể đi theo những đường khác nhau đến cùng một đích.
[You] --- router A --- router B --- [Website]
\ /
--- router C --- router D -
Packet 1 may go A -> B.
Packet 2 may go C -> D.
Both still arrive.
Redundancy and fault tolerance
- Redundancy means there is more than one path between two points.
- Because of this the Internet has fault tolerance: it keeps working even if one link fails.
- If router B breaks, packets just use another route, like C -> D.
Tính dư thừa và khả năng chịu lỗi
- Tính dư thừa có nghĩa là có nhiều hơn một đường giữa hai điểm.
- Nhờ vậy, Internet có khả năng chịu lỗi: nó vẫn hoạt động ngay cả khi một liên kết bị hỏng.
- Nếu bộ định tuyến B hỏng, các gói tin chỉ cần dùng một đường khác, ví dụ C -> D.
[You] --- router A --- (router B BROKEN)
\
--- router C --- router D --- [Website]
The path through B fails.
Packets still arrive through C -> D.
TCP/IP: the rules
- Computers must agree on rules so they can talk. We call a set of rules a protocol.
- IP (Internet Protocol) gives every computer an address and helps send each packet.
- TCP (Transmission Control Protocol) checks that all packets arrive and puts them back in order.
TCP/IP: các quy tắc
- Các máy tính phải thống nhất về các quy tắc để có thể giao tiếp. Một tập hợp các quy tắc được gọi là giao thức.
- IP (Giao thức Internet) cấp cho mỗi máy tính một địa chỉ và giúp gửi từng gói tin.
- TCP (Giao thức Kiểm soát Truyền tải) kiểm tra xem tất cả các gói tin đã đến chưa và sắp xếp lại chúng theo thứ tự.
Packets arrive (maybe out of order):
[3] "IEND" [1] "HELL" [2] "O FR"
TCP reorders them by number:
[1] "HELL" + [2] "O FR" + [3] "IEND"
= "HELLO FRIEND"
HTTP: the web
- The web (World Wide Web) is the pages and links you open in a browser.
- The web uses a protocol called HTTP (HyperText Transfer Protocol).
- Your browser sends an HTTP request ("please give me this page"); the server sends an HTTP response (the page).
HTTP: Web
- Web (World Wide Web) là các trang và liên kết bạn mở trong trình duyệt.
- Web sử dụng một giao thức gọi là HTTP (Giao thức Chuyển tải Siêu văn bản).
- Trình duyệt của bạn gửi một yêu cầu HTTP ("hãy gửi cho tôi trang này"); máy chủ phản hồi bằng một câu trả lời HTTP (trang đó).
Why this design is strong
- No single point controls everything, so there is no single point to break the whole Internet.
- Many paths + packets = the network can route around problems.
- Shared rules (TCP/IP, HTTP) let very different computers work together.
Tại sao thiết kế này lại mạnh mẽ
- Không có điểm điều khiển trung tâm nào, nên cũng không có điểm đơn lẻ nào có thể làm sập toàn bộ Internet.
- Nhiều đường đi + gói tin = mạng có thể định tuyến tránh các sự cố.
- Các quy tắc chung (TCP/IP, HTTP) cho phép rất nhiều loại máy tính khác nhau hoạt động cùng nhau.
Key words
- Packet: a small piece of data with an address and an order number.
- Routing: choosing a path for packets through routers.
- Redundancy / fault tolerance: many paths, so one failure does not stop the network.
- TCP/IP: rules to send packets and reassemble them in order.
- HTTP: the rules the web uses to request and send pages.
Từ khóa chính
- Gói tin: một mảnh dữ liệu nhỏ có địa chỉ và số thứ tự.
- Định tuyến: chọn đường đi cho các gói tin qua các bộ định tuyến.
- Tính dư thừa / Khả năng chịu lỗi: có nhiều đường đi, nên một sự cố không làm ngừng mạng.
- TCP/IP: các quy tắc để gửi gói tin và tái lắp ráp chúng theo thứ tự.
- HTTP: các quy tắc mà Web sử dụng để yêu cầu và gửi trang.
Common mistakes
- Data is split into packets that travel separately and are reassembled.
- The Internet and the World Wide Web are not the same thing.
Lỗi thường gặp
- Dữ liệu được chia thành các gói tin di chuyển riêng biệt và sau đó được tái lắp ráp.
- Internet và World Wide Web không phải là cùng một thứ.
Now you try
- These tasks model how data really travels: split it, reassemble it, and route around a failure.
- Press Check answer to test your code.
Bây giờ bạn thử
- Các bài tập này mô phỏng cách dữ liệu thực tế di chuyển: chia nhỏ, tái lắp ráp và định tuyến tránh sự cố.
- Nhấn Check answer (Kiểm tra câu trả lời) để thử mã của bạn.
Data travels in packets · Dữ liệu di chuyển dưới dạng gói tin
The Internet splits data into packets that are routed and reassembled. · Internet chia dữ liệu thành các gói tin được định tuyến và ghép lại.
TCP puts packets back in order by their number. packets is a list of [order, text] pairs that arrived shuffled. Write reassemble(packets) that sorts them by order and returns the joined text. Example: reassemble([[2, "O FR"], [1, "HELL"], [3, "IEND"]]) is "HELLO FRIEND". · TCP sắp xếp lại các gói tin theo số thứ tự của chúng. packets là một danh sách các cặp [order, text] đã đến lộn xộn. Viết reassemble(packets) sắp xếp chúng theo order và trả về văn bản đã nối lại. Ví dụ: reassemble([[2, "O FR"], [1, "HELL"], [3, "IEND"]]) là "HELLO FRIEND".
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Big data is cut into fixed-size packets. Write split(text, size) that returns a list of [order, chunk] pairs (order starts at 1), each chunk at most size characters. Example: split("HELLO FRIEND", 4) is [[1, "HELL"], [2, "O FR"], [3, "IEND"]]. · Big data được cắt thành các gói tin kích thước cố định. Viết split(text, size) trả về một danh sách các cặp [order, chunk] (thứ tự bắt đầu từ 1), mỗi phần không quá size ký tự. Ví dụ: split("HELLO FRIEND", 4) là [[1, "HELL"], [2, "O FR"], [3, "IEND"]].
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Redundancy gives more than one path, so the network can route around a failure. paths is a list of routes (each a list of router names). A route works only if it avoids the broken router. Write working_routes(paths, broken) returning the routes that do not contain broken. · Tính dư thừa cung cấp nhiều đường đi hơn, giúp mạng có thể định tuyến tránh sự cố. paths là một danh sách các tuyến đường (mỗi tuyến là một danh sách tên bộ định tuyến). Một tuyến hoạt động chỉ khi nó tránh bộ định tuyến broken. Viết working_routes(paths, broken) trả về các tuyến không chứa broken.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.