Trước đây mã hóa (coding) chỉđược sử dụng ở tầng vật lý của node nguồn. R. Ahlswede là người đầu tiên đưa ra khái niệm mã mạng (network coding). Kỹ thuật này sử dụng kỹ thuật mã hóa ở các tầng khác ở các node trung gian. Ý tưởng chính của kỹ
thuật này là dữ liệu được trộn lại ở node trung gian trước khi gửi đi. Ahlswede đã chứng minh rằng, không đểđạt được thông lượng multicast tối ưu với kỹ thuật routing truyền thống, trong khi đó sử dụng kỹ thuật mã mạng có thể đạt được thông lượng tối
ưu này. Kỹ thuật routing có thể được xem như trường hợp đặc biệt của mã mạng khi các đầu ra của một node là hoán vị của các đầu vào.
Bài toán multicast là cho một node nguồn và một tập các node đích (sink). Tìm đường đi để truyền dữ liệu từ một node nguồn tới một tập các node đích một cách nhanh nhất.
Trong chương này, luận văn đưa ra các khái niệm cơ bản, đặc biệt là khái niệm multicast mã-tuyến tính (linear-code multicast - LCM) . Với một “generic” LCM, mỗi node có thểđồng thời nhận thông tin từ nguồn với tốc độ bằng với cận trên luồng-cực đại. Luận văn mô tả cách cài đặt vật lý của một LCM khi mạng là acyclic, sau đó với mạng là cyclic. Tiếp theo, luận văn mô tả một thuật toán tham lam để xây dựng một generic LCM cho một mạng acyclic. Cùng một thuật toán này được áp dụng cho mạng cyclic bằng cách mở rộng mạng thành một mạng acyclic. Tuy nhiên, kết quả
này trong một “time-varying” LCM yêu cầu độ phức tạp về cài đặt.
Mô hình mạng
Dùng một đồ thị G liên thông G=(V,E) để mô hình một mạng máy tính, với E là tập các cạnh của đồ thị, V là tập các node của mạng. Chỉ một node trong mạng được gọi là node nguồn s, một tập các node t1, t2, …tL được gọi là node đích (sink). Cho một giá trị xác định L, vấn đề sẽởđây là vấn đề 1-nguồn L-đích.