Mục lục bài họcĐang ở d03-b1
Network Types, Layers and Protocols
Types of network. A LAN covers a single site and is usually owned by one organisation. A WAN connects sites over a wide area and normally uses infrastructure leased from a carrier. A WLAN is a LAN using radio rather than cable. A VLAN divides one physical network into separate logical networks so that traffic from different departments is isolated without laying new cable. A PAN covers a few metres around one person; a SAN is a dedicated high-speed network for storage devices. A VPN creates an encrypted tunnel across a public network so that a remote user appears to be inside the organisation's network.
Why protocols and standards exist. A protocol is an agreed set of rules for communication: message format, ordering, timing, error handling and how data flow is controlled. Without shared protocols, equipment from different manufacturers could not interoperate, so standards are what make a network of networks possible at all.
Layering and encapsulation. Protocols are organised into layers. As data travels down the stack on the sending machine each layer adds its own header: the transport layer adds port numbers and sequence numbers, the network layer adds source and destination IP addresses, the data link layer adds the next-hop MAC address and an error check. The receiver removes these headers in reverse order. The reason for layering is independence: each layer only reads its own header and only talks to the layers immediately above and below it, so a technology can be replaced in one layer — cable to Wi-Fi, for example — without changing anything above it.
Packet switching. Data is divided into packets, each carrying addressing information, and each packet is routed independently. This shares links efficiently, because a link left idle by one conversation is immediately usable by another, and it is resilient, because packets route around a failed link. The costs are that packets can arrive out of order or be lost, and that delay varies. Circuit switching reserves a dedicated path for the whole conversation: it guarantees bandwidth and constant delay but wastes capacity while idle.
Key protocols and devices. TCP is connection-oriented and reliable: it numbers segments, requires acknowledgements and retransmits what is lost. UDP is connectionless and does not retransmit, which is chosen deliberately for live audio and video where a late packet is worse than a missing one. IP handles addressing and routing between networks. DNS translates domain names into IP addresses. A switch forwards frames within a LAN using MAC addresses; a router forwards packets between networks using IP addresses.
Các loại mạng. Mạng cục bộ phủ một địa điểm duy nhất và thường do một tổ chức sở hữu. Mạng diện rộng nối các địa điểm cách xa nhau và thường dùng hạ tầng thuê của nhà mạng. Mạng cục bộ không dây là mạng cục bộ dùng sóng vô tuyến thay cho cáp. Mạng cục bộ ảo chia một mạng vật lý thành nhiều mạng lôgic riêng biệt để lưu lượng của các phòng ban được cách ly mà không phải kéo thêm cáp. Mạng cá nhân phủ vài mét quanh một người; mạng lưu trữ là mạng tốc độ cao chuyên dụng cho các thiết bị lưu trữ. Mạng riêng ảo tạo một đường hầm được mã hoá đi xuyên qua mạng công cộng, nhờ đó người dùng ở xa xuất hiện như đang nằm bên trong mạng của tổ chức.
Vì sao cần giao thức và chuẩn. Giao thức là tập quy tắc đã được thống nhất cho việc trao đổi: định dạng thông điệp, thứ tự, thời điểm, cách xử lý lỗi và cách điều khiển luồng dữ liệu. Không có giao thức chung, thiết bị của các hãng khác nhau không thể làm việc với nhau, nên chính các chuẩn mới là thứ làm cho một mạng của các mạng trở nên khả thi.
Phân tầng và đóng gói. Các giao thức được tổ chức thành nhiều tầng. Khi dữ liệu đi xuống chồng tầng ở máy gửi, mỗi tầng thêm phần nhãn của riêng nó: tầng giao vận thêm số hiệu cổng và số thứ tự, tầng mạng thêm địa chỉ IP nguồn và đích, tầng liên kết dữ liệu thêm địa chỉ MAC của chặng kế tiếp cùng mã kiểm lỗi. Bên nhận gỡ các nhãn này theo thứ tự ngược lại. Lý do phân tầng là tính độc lập: mỗi tầng chỉ đọc nhãn của chính nó và chỉ giao tiếp với tầng kề trên và kề dưới, nên có thể thay công nghệ ở một tầng — ví dụ chuyển từ cáp sang Wi-Fi — mà không phải sửa gì ở các tầng trên.
Chuyển mạch gói. Dữ liệu được chia thành các gói, mỗi gói mang thông tin địa chỉ, và mỗi gói được định tuyến độc lập. Cách này dùng chung đường truyền rất hiệu quả, vì một đường đang rảnh do cuộc trao đổi này để trống thì cuộc trao đổi khác dùng được ngay, và nó có khả năng chống chịu vì các gói đi vòng qua đường bị hỏng. Cái giá là các gói có thể tới sai thứ tự hoặc thất lạc, và độ trễ thay đổi. Chuyển mạch kênh dành riêng một đường cho suốt cuộc trao đổi: nó bảo đảm băng thông và độ trễ ổn định nhưng lãng phí dung lượng trong lúc không truyền.
Các giao thức và thiết bị chính. TCP hướng kết nối và tin cậy: nó đánh số các đoạn, đòi báo nhận và truyền lại phần bị mất. UDP không hướng kết nối và không truyền lại, và đây là lựa chọn có chủ đích cho âm thanh và hình ảnh trực tiếp, nơi một gói tới muộn còn tệ hơn một gói bị thiếu. IP lo việc đánh địa chỉ và định tuyến giữa các mạng. DNS dịch tên miền thành địa chỉ IP. Bộ chuyển mạch chuyển tiếp khung trong một mạng cục bộ dựa trên địa chỉ MAC; bộ định tuyến chuyển tiếp gói giữa các mạng dựa trên địa chỉ IP.
Một ứng dụng gọi thoại và họp trực tuyến dùng UDP cho luồng âm thanh và hình ảnh, nhưng dùng TCP cho phần trò chuyện bằng văn bản và cho việc gửi tệp. Giải thích lựa chọn này.
Điểm mấu chốt: TCP không phải "tốt hơn" UDP; hai giao thức tối ưu cho hai thứ khác nhau. TCP tối ưu cho tính toàn vẹn, UDP tối ưu cho độ trễ thấp, và không thể có cả hai cùng lúc.
Cơ chế của TCP và cái giá của nó. TCP đánh số thứ tự từng đoạn, chờ báo nhận, và nếu không nhận được báo nhận trong một khoảng thời gian thì truyền lại. Nó cũng giữ lại các đoạn đã tới để chờ đoạn bị thiếu, nhằm giao cho ứng dụng đúng thứ tự. Cái giá là: khi một gói thất lạc, TCP phải chờ hết thời gian chờ, truyền lại, rồi chờ gói đó tới — và trong suốt thời gian đó, mọi gói đã tới sau nó đều bị giữ lại chứ chưa được giao lên.
Vì sao điều đó là thảm hoạ với âm thanh trực tiếp. Âm thanh trong một cuộc gọi có ý nghĩa chỉ khi tới đúng lúc. Nếu một gói chứa 20 mili giây tiếng nói bị thất lạc, việc truyền lại nó mất ít nhất một vòng khứ hồi — thường hàng chục tới hàng trăm mili giây — và khi nó tới thì khoảnh khắc đó trong cuộc trò chuyện đã trôi qua. Tệ hơn, việc chờ nó làm mọi âm thanh sau đó bị giữ lại, nên người nghe nhận một khoảng lặng rồi một đoạn dồn cục. Trong khi đó, nếu đơn giản BỎ QUA gói bị mất, người nghe chỉ gặp một khiếm khuyết rất ngắn mà tai hầu như không nhận ra, đặc biệt khi bộ giải mã có cơ chế che lấp. Vì vậy một gói tới muộn còn tệ hơn một gói bị thiếu.
Vì sao trò chuyện văn bản và gửi tệp thì ngược lại. Ở đây tính toàn vẹn là tuyệt đối và độ trễ gần như không quan trọng. Một tin nhắn thiếu vài ký tự là vô nghĩa; một tệp thiếu vài byte có thể hỏng hoàn toàn. Người dùng hoàn toàn chấp nhận việc tin nhắn tới chậm hơn 200 mili giây, nhưng không chấp nhận việc nó tới sai. Vì vậy TCP là lựa chọn đúng.
Câu tổng quát để trả lời mọi câu hỏi dạng này. Hãy hỏi: với dữ liệu này, mất một phần nhỏ hay chậm một chút thì cái nào tệ hơn. Nếu chậm tệ hơn thì chọn UDP; nếu mất tệ hơn thì chọn TCP. Ứng dụng phức tạp thường dùng cả hai cho các luồng khác nhau, đúng như trong tình huống của đề.
Người dùng gõ một địa chỉ trang web vào trình duyệt. Hãy mô tả những gì xảy ra ở mức mạng cho tới khi trang bắt đầu hiển thị, nêu rõ vai trò của DNS, IP, TCP, bộ chuyển mạch và bộ định tuyến.
Bước 1 — phân giải tên miền. Trình duyệt chỉ có một chuỗi ký tự, nhưng mạng định tuyến theo số. Máy tính gửi một truy vấn tới máy chủ DNS để hỏi địa chỉ IP tương ứng với tên miền đó. Nếu kết quả đã có trong bộ nhớ đệm của máy hoặc của bộ định tuyến gia đình thì bước này gần như tức thời; nếu không, truy vấn đi lên hệ thống máy chủ tên miền phân cấp. Đây là lý do lần truy cập đầu tiên vào một trang lạ thường chậm hơn các lần sau.
Bước 2 — thiết lập kết nối TCP. Có địa chỉ IP rồi, trình duyệt mở một kết nối TCP tới cổng của máy chủ web. TCP là hướng kết nối, nên trước khi truyền dữ liệu có một thủ tục bắt tay để hai bên thống nhất số thứ tự khởi đầu và xác nhận rằng bên kia sẵn sàng. Thủ tục này tốn một vòng khứ hồi, và đó là một phần của độ trễ mà người dùng cảm nhận được.
Bước 3 — đóng gói và gửi yêu cầu. Trình duyệt tạo một yêu cầu HTTP ở tầng ứng dụng. Tầng giao vận bọc nó trong một đoạn TCP có số hiệu cổng và số thứ tự. Tầng mạng bọc tiếp thành gói IP mang địa chỉ IP nguồn và đích. Tầng liên kết bọc thành khung mang địa chỉ MAC của chặng kế tiếp — thường là bộ định tuyến gia đình — cùng mã kiểm lỗi.
Bước 4 — trong mạng cục bộ. Bộ chuyển mạch nhận khung và đọc địa chỉ MAC đích để chuyển tiếp tới đúng cổng vật lý. Nó hoạt động hoàn toàn ở tầng liên kết và không quan tâm tới nội dung IP bên trong.
Bước 5 — giữa các mạng. Bộ định tuyến mở lớp khung, đọc địa chỉ IP đích, tra bảng định tuyến để chọn chặng kế tiếp, rồi đóng lại thành một khung MỚI với địa chỉ MAC của chặng kế tiếp đó. Chi tiết đáng nhớ: địa chỉ IP nguồn và đích giữ nguyên suốt hành trình, còn địa chỉ MAC bị thay ở mỗi chặng. Đây là chỗ phân biệt rõ vai trò của hai loại địa chỉ và là một câu hỏi thường gặp.
Bước 6 — nhận và ghép lại. Trang web được chia thành nhiều gói, và các gói này đi độc lập nên có thể theo những đường khác nhau và tới không đúng thứ tự. Tầng giao vận ở máy nhận dùng số thứ tự để sắp lại đúng trình tự, gửi báo nhận cho những gì đã tới, và yêu cầu truyền lại những gì thiếu. Chỉ khi dữ liệu đã hoàn chỉnh và đúng thứ tự, nó mới được giao lên cho trình duyệt để hiển thị.
Bẫy 2 — nhầm vai trò của bộ chuyển mạch và bộ định tuyến. Bộ chuyển mạch làm việc TRONG một mạng cục bộ dựa trên địa chỉ MAC; bộ định tuyến làm việc GIỮA các mạng dựa trên địa chỉ IP. Và nhớ rằng địa chỉ IP giữ nguyên suốt hành trình còn địa chỉ MAC bị thay ở mỗi chặng.
Bẫy 3 — nêu phân tầng mà không nêu LỢI ÍCH của nó. Lợi ích là tính độc lập: đổi công nghệ ở một tầng không buộc phải sửa các tầng khác, và thiết bị của nhiều hãng làm việc được với nhau. Không có ý này thì không lấy được điểm giải thích.
Đọ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í.