Mục lục bài họcĐang ở d03-b3
Network Hardware, Packets and Error Detection
What a packet carries. A message is split into packets, and each packet carries headers added by successive layers: the MAC addresses of the source and next device (layer 2), the IP addresses of the original sender and final destination (layer 3), the port numbers and sequence number of TCP or UDP (layer 4), then the payload — a fragment of the file, page or audio — and finally a checksum or cyclic redundancy check for error detection. Headers are overhead: small packets waste a higher proportion of capacity on headers, while large packets lose more data to a single bit error because the whole packet must be resent. Typical sizes of about 1 500 bytes are a compromise between the two.
Hub, switch, router: each reads one layer. A hub reads nothing; it repeats every incoming signal to every port, so all devices share the medium, collisions occur, and any machine can listen to any traffic — which is why hubs are obsolete. A switch reads the layer-2 MAC address and forwards the frame to the one port where that address was last seen, learning the table automatically; two pairs of machines can talk at full speed simultaneously. A router reads the layer-3 IP address and chooses the next hop between different networks using a routing table; it is the device that connects a home or school network to the internet. A wireless access point is a switch port that uses radio. A modem converts between the digital signal of the network and the form used by the telephone, cable or fibre line. Because each device reads only its own layer's header and ignores the rest, a router need not understand what the payload is — which is why the internet carries kinds of content that did not exist when it was designed.
Media. Copper twisted pair (Ethernet cable) is cheap and easy to install but limited to about 100 m per run and vulnerable to electrical interference. Fibre optic carries light, so it has far higher bandwidth, runs for kilometres, and is immune to interference and much harder to tap, but it costs more and needs skilled installation. Wireless needs no cabling and supports mobility, but shares its channel among all users in range, is slowed by walls and distance, and can be received by anyone nearby, which turns security into an encryption problem. Choosing a medium is a question of distance, required speed, mobility, interference and budget.
Detecting errors. Noise flips bits in transit, so receivers check. A parity bit makes the number of 1s in a byte even (or odd); it catches any single-bit error but misses two flipped bits, and it cannot say which bit is wrong. A checksum adds the values of the data and sends the total; the receiver recalculates and compares. A cyclic redundancy check uses polynomial division and catches burst errors that checksums miss. All of these detect; correction is done by asking for retransmission, which is what TCP does using acknowledgements and sequence numbers. Detection costs extra bits per packet — another reason header overhead matters.
Gói tin mang gì. Một thông điệp được cắt thành các gói, và mỗi gói mang các phần đầu do các lớp kế tiếp thêm vào: địa chỉ MAC của nguồn và thiết bị kế tiếp (lớp 2), địa chỉ IP của người gửi ban đầu và đích cuối (lớp 3), số cổng và số thứ tự của TCP hoặc UDP (lớp 4), rồi tới tải trọng — một mảnh của tệp, trang hay âm thanh — và cuối cùng là checksum hoặc kiểm tra dư thừa vòng để phát hiện lỗi. Phần đầu là chi phí: gói nhỏ lãng phí tỷ lệ dung lượng lớn hơn cho phần đầu, còn gói lớn mất nhiều dữ liệu hơn cho một lỗi bit vì cả gói phải gửi lại. Kích thước điển hình khoảng 1 500 byte là sự thoả hiệp giữa hai điều đó.
Hub, switch, router: mỗi thiết bị đọc một lớp. Hub không đọc gì; nó lặp mọi tín hiệu tới vào mọi cổng, nên mọi thiết bị dùng chung đường truyền, va chạm xảy ra, và bất kỳ máy nào cũng nghe được mọi lưu lượng — đó là lý do hub đã lỗi thời. Switch đọc địa chỉ MAC ở lớp 2 và chuyển khung tới đúng một cổng nơi địa chỉ đó được thấy lần cuối, tự học bảng; hai cặp máy có thể nói chuyện đồng thời ở tốc độ tối đa. Router đọc địa chỉ IP ở lớp 3 và chọn chặng tiếp theo giữa các mạng khác nhau bằng bảng định tuyến; nó là thiết bị nối mạng gia đình hay trường học với internet. Điểm truy cập không dây là một cổng switch dùng sóng vô tuyến. Modem chuyển đổi giữa tín hiệu số của mạng và dạng tín hiệu trên đường điện thoại, cáp hay quang. Vì mỗi thiết bị chỉ đọc phần đầu của lớp mình và bỏ qua phần còn lại, router không cần hiểu tải trọng là gì — đó là lý do internet chuyển được các loại nội dung chưa tồn tại khi nó được thiết kế.
Đường truyền. Cáp đồng xoắn đôi (cáp Ethernet) rẻ và dễ lắp nhưng giới hạn khoảng 100 m mỗi đoạn và dễ nhiễu điện. Cáp quang truyền ánh sáng nên băng thông cao hơn nhiều, đi được hàng kilômét, miễn nhiễu và khó nghe trộm hơn hẳn, nhưng đắt hơn và cần thợ lành nghề. Không dây không cần đi cáp và cho di động, nhưng chia sẻ kênh giữa mọi người dùng trong tầm, bị tường và khoảng cách làm chậm, và ai ở gần cũng thu được nên bảo mật trở thành bài toán mã hoá. Chọn đường truyền là câu hỏi về khoảng cách, tốc độ cần, di động, nhiễu và ngân sách.
Phát hiện lỗi. Nhiễu làm lật bit trên đường đi, nên bên nhận phải kiểm. Bit chẵn lẻ làm số bit 1 trong một byte thành chẵn (hoặc lẻ); nó bắt được mọi lỗi một bit nhưng bỏ sót hai bit lật, và không nói được bit nào sai. Checksum cộng giá trị của dữ liệu và gửi tổng; bên nhận tính lại và so. Kiểm tra dư thừa vòng dùng phép chia đa thức và bắt được lỗi chùm mà checksum bỏ sót. Tất cả đều phát hiện; sửa lỗi được làm bằng cách yêu cầu gửi lại, đó là việc TCP làm bằng xác nhận và số thứ tự. Phát hiện tốn thêm bit mỗi gói — thêm một lý do chi phí phần đầu quan trọng.
Một trường có hai toà nhà cách nhau 400 m, mỗi toà 30 phòng học cần mạng có dây và Wi-Fi, và một phòng máy chủ ở toà A nối internet. Hãy đề xuất thiết bị và đường truyền, giải thích từng lựa chọn.
Nối hai toà nhà — cáp quang. 400 m vượt giới hạn 100 m của cáp đồng, và đường đi ngoài trời gần dây điện dễ nhiễu; cáp quang đi được khoảng cách này, miễn nhiễu, băng thông cao để gánh toàn bộ lưu lượng của toà B về máy chủ và internet ở toà A. Không dây điểm-điểm là phương án dự phòng rẻ hơn nhưng phụ thuộc thời tiết và tầm nhìn.
Trong mỗi toà — switch tầng và cáp đồng. Mỗi tầng một switch, nối tới các ổ cắm trong phòng học bằng cáp đồng xoắn đôi vì đoạn ngắn, rẻ và dễ lắp. Switch, không phải hub, để mỗi phòng có băng thông riêng và để máy phòng này không nghe được lưu lượng phòng kia. Các switch tầng nối về một switch trung tâm của toà bằng cáp quang hoặc cáp đồng tốc độ cao.
Wi-Fi — điểm truy cập mỗi vài phòng. Mỗi điểm truy cập là một cổng switch dùng sóng, nối bằng cáp về switch tầng. Đặt một điểm cho hai tới ba phòng vì tường làm suy hao tín hiệu và vì mọi người dùng trong tầm chia sẻ một kênh — một điểm cho cả tầng sẽ nghẽn khi ba lớp cùng dùng. Bắt buộc mã hoá WPA2 hoặc WPA3, vì ai ở gần cũng thu được sóng.
Ra internet — router và tường lửa ở toà A. Router là thiết bị duy nhất đọc địa chỉ IP và chọn đường giữa mạng trường và mạng nhà cung cấp; tường lửa đặt cạnh nó lọc lưu lượng. Đặt máy chủ trong một mạng con riêng để lưu lượng học sinh không đi qua máy chủ.
Điểm đánh giá. Mỗi lựa chọn được biện minh bằng một ràng buộc cụ thể — khoảng cách, nhiễu, tường, chia sẻ kênh, ranh giới mạng — chứ không bằng tốt hơn chung chung. Đó là cách giám khảo phân biệt hiểu bài với thuộc tên thiết bị.
Một hệ dùng bit chẵn lẻ chẵn. Byte nhận được là 1011 0110 1 (bit cuối là bit chẵn lẻ). (a) Có lỗi không? (b) Nếu byte gốc là 1011 0111 1 và hai bit bị lật trên đường, bên nhận có phát hiện được không? (c) Vì sao TCP không dùng chẵn lẻ mà dùng checksum, và vì sao phát hiện lỗi vẫn chưa đủ?
(a) Kiểm tra. Đếm bit 1 trong dữ liệu 1011 0110: có 5 bit 1. Bit chẵn lẻ là 1, tổng cộng 6 bit 1 — chẵn. Theo quy tắc chẵn, byte này hợp lệ, không phát hiện lỗi. Lưu ý: hợp lệ theo chẵn lẻ không có nghĩa là đúng; nó chỉ có nghĩa là không có lỗi lẻ bit.
(b) Hai bit lật. Byte gốc 1011 0111 có 6 bit 1, chẵn lẻ 1 cho tổng 7 — nhưng 7 là lẻ, nên byte gốc đã sai theo quy tắc chẵn; đề cho thấy thí sinh phải kiểm giả thiết trước. Giả sử gốc đúng là 1011 0111 với bit chẵn lẻ 0 (tổng 6, chẵn). Nếu hai bit lật, ví dụ bit thứ 8 từ 1 thành 0 và bit thứ 5 từ 0 thành 1, dữ liệu thành 1011 1110, vẫn 6 bit 1, tổng với bit chẵn lẻ 0 vẫn chẵn — bên nhận không phát hiện được. Chẵn lẻ bắt mọi lỗi lẻ bit và bỏ sót mọi lỗi chẵn bit; nó cũng không biết bit nào sai nên không sửa được.
(c) Vì sao checksum, và vì sao chưa đủ. Lỗi thực tế trên đường truyền thường là chùm — nhiều bit liền nhau hỏng do một xung nhiễu — và chùm dễ có số bit chẵn nên chẵn lẻ gần như vô dụng. Checksum cộng toàn bộ dữ liệu thành một tổng 16 bit nên xác suất một chùm lỗi giữ nguyên tổng rất nhỏ; kiểm tra dư thừa vòng ở lớp 2 còn tốt hơn với lỗi chùm. Nhưng cả hai chỉ phát hiện: bên nhận biết gói hỏng mà không biết nội dung đúng là gì. Vì vậy TCP cần thêm số thứ tự và xác nhận — gói hỏng bị bỏ, không có xác nhận, bên gửi hết giờ chờ và gửi lại. Phát hiện cộng gửi lại mới thành truyền tin cậy; phát hiện một mình chỉ là biết mình đã mất dữ liệu.
Bẫy 2 — coi bit chẵn lẻ là sửa lỗi. Chẵn lẻ chỉ phát hiện lỗi lẻ bit, bỏ sót lỗi chẵn bit, và không biết bit nào sai; sửa lỗi là việc gửi lại.
Bẫy 3 — chọn đường truyền bằng từ tốt hơn. Phải nêu ràng buộc: khoảng cách 100 m của cáp đồng, nhiễu, tường, chia sẻ kênh không dây.
Đọc xong rồi — làm thử ngay
Bài tập của chương Networks gồm 14 câu trắc nghiệm và 5 đề tự luận. Đáp án hiện ngay khi chọn, miễn phí.