Ghi chép Môn học Mạng máy tính - Đại học Bách khoa Hà Nội

Khái niệm cơ bản về Mạng máy tính

  • Địa chỉ cổng (Port address): Được sử dụng để vận chuyển chính xác một bản tin đến đúng ứng dụng cụ thể đang chạy trên một máy chủ (host).
  • Đồ hình (Topology): Chỉ sự sắp xếp về mặt vật lý của một mạng máy tính.
  • Định thời (Timing): Đề cập đến hai tính chất quan trọng trong truyền dữ liệu:
    • Khi nào dữ liệu có thể được truyền đi.
    • Tốc độ mà dữ liệu có thể được truyền tải.
  • Tiêu chuẩn (Standard): Là một tập hợp các quy tắc điều chỉnh việc giao tiếp dữ liệu.
  • Giao thức (Protocol): Một bộ các quy tắc cho phép trao đổi thông tin có thứ tự. Nó định nghĩa khuôn dạng (format) và thứ tự của các bản tin được trao đổi giữa hai thiết bị truyền thông.
  • Quá trình đóng gói và giải đóng gói dữ liệu:
    • Phía nhận (Dưới lên trên): Khi gói dữ liệu di chuyển từ lớp dưới lên lớp trên trong mô hình phân lớp, phần tiêu đề (header) sẽ được gỡ bỏ (removed).
    • Phía gửi (Trên xuống dưới): Khi gói dữ liệu chuyển từ lớp trên xuống lớp dưới, phần tiêu đề sẽ được thêm vào (added).

Mô hình OSI và Kiến trúc mạng

  • Loại hình kết nối đặc thù: Truyền thông hồng ngoại là loại hình yêu cầu tầm nhìn thẳng (line-of-sight) và không được bị ngắt quãng giữa các thiết bị.
  • Độ tin cậy trong mô hình OSI: Hai lớp chịu trách nhiệm chính trong việc cung cấp dịch vụ truyền tin tin cậy là:
    • Lớp liên kết dữ liệu (Data Link Layer).
    • Lớp giao vận (Transport Layer).
  • Thiết lập kết nối: Các giao thức thuộc tầng giao vận (như TCP) phải thực hiện thiết lập kết nối trước khi bắt đầu truyền dữ liệu thực tế.
  • Dịch vụ lớp Liên kết dữ liệu (Link Layer) cung cấp cho lớp Mạng (Network Layer):
    • Đóng khung dữ liệu (Framing).
    • Kiểm soát lỗi (Error Control).
    • Điều khiển luồng (Flow Control).
  • Thiết bị Gateway: Trong mô hình Internet, Gateway là thiết bị hoạt động từ lớp 11 đến lớp 55.
  • Chức năng của lớp Mạng (Network Layer): Định tuyến (routing), chuyển tiếp gói tin (forwarding) và điều khiển tắc nghẽn (congestion control).
  • Các loại trễ (Delay) trong mạng:
    • Trễ lan truyền (Propagation delay): Phụ thuộc vào kích thước vật lý của mạng (d/sd/s).
    • Trễ hàng đợi (Queuing delay): Có mức độ biến thiên lớn nhất tùy thuộc vào lưu lượng mạng.
    • Trễ phục vụ gói/phát gói (Transmission/Service delay): Phụ thuộc trực tiếp vào kích thước của gói tin (L/RL/R).
    • Trễ xử lý (Processing delay): Thời gian để kiểm tra lỗi, header gói tin tại các node.
  • Thông lượng (Throughput): Trong một đường truyền qua nhiều chặng, thông lượng của toàn bộ quá trình truyền được quyết định bởi chặng có tốc độ thấp nhất (bottleneck). Ví dụ: Với các chặng R1=100kbpsR1=100\,kbps, R2=1MbpsR2=1\,Mbps, R3=5MbpsR3=5\,Mbps, thông lượng sẽ là 100kbps100\,kbps.
  • Xử lý lớp tại Host: Trong mô hình Internet, các máy chủ (host) xử lý đầy đủ từ lớp 11 đến lớp 55.

Lớp Liên kết dữ liệu và Truyền dẫn vật lý

  • Bảng chuyển mạch (Switching table): Trong các bộ chuyển mạch lớp 22, các mục của bảng được xây dựng dựa trên quá trình học (learning) địa chỉ MAC và chúng có một thời gian tồn tại nhất định (aging time), không phải vĩnh viễn.
  • Xử lý của Switch lớp 22 khi thiếu địa chỉ: Nếu không tìm thấy địa chỉ MAC đích trong bảng chuyển mạch, switch sẽ gửi khung dữ liệu đó đến tất cả các cổng (flooding), ngoại trừ cổng đã nhận khung đó.
  • Quy trình đóng gói (Encapsulation): Thứ tự đúng là: Dữ liệu (Data) $\rightarrow$ Phân đoạn (Segments) $\rightarrow$ Gói tin (Packets) $\rightarrow$ Khung (Frames) $\rightarrow$ Bit.
  • Mã Manchester:
    • Sử dụng các sự kiện chuyển mức điện áp để mã hóa bit 11 và bit 00.
    • Giúp việc khôi phục tín hiệu đồng hồ (clock recovery) dễ dàng hơn so với các loại mã đường dây khác.
  • Mã hóa khối: Với kích thước khối đầu vào k=8k=8, số lượng khóa có thể có cho phương pháp mã hóa là (28)!(2^8)!.
  • Bảo mật mật khẩu: Kịch bản bảo mật tốt nhất là Server chỉ lưu hàm băm (hash) của mật khẩu người dùng.

Giao thức liên mạng (IP - Internet Protocol)

  • Tính chất của IP:
    • Mỗi node trên mạng Internet đều phải có địa chỉ IP.
    • Được coi là giao thức "nỗ lực tối đa" (best-effort) vì nó không cung cấp cơ chế xác nhận (acknowledgment) cho các gói tin đã gửi.
    • IP là giao thức không tin cậy (unreliable) và không hướng kết nối (connectionless).
  • Địa chỉ IP đặc biệt:
    • Địa chỉ Loopback: 127.0.0.1127.0.0.1 (hoặc bất kỳ địa chỉ nào trong dải 127.x.x.x127.x.x.x).
    • Địa chỉ mạng riêng (Private IP) không dùng kết nối trực tiếp Internet: 192.168.98.20192.168.98.20.
  • Cấu trúc IPv4 Datagram:
    • Trường HLEN: Xác định chiều dài phần Header theo đơn vị từ 4bytes4\,bytes. Nếu HLEN=12HLEN = 12 (thập phân), chiều dài header là 12×4=48bytes12 \times 4 = 48\,bytes. Nếu Totallength=40,000Total\,length = 40,000, thì chiều dài dữ liệu (data) là 40,00048=39,952bytes40,000 - 48 = 39,952\,bytes.
    • Trường Fragment Offset: Xác định vị trí của mảnh trong datagram theo đơn vị 8bytes8\,bytes. Nếu Offset=100Offset = 100, byte đầu tiên của mảnh là byte thứ 100×8=800100 \times 8 = 800.
    • Kích thước IP datagram: Có thể thay đổi khi đi qua các liên kết khác nhau do giới hạn của MTU (Maximum Transmission Unit) trên từng liên kết.
    • Cờ DF (Do Not Fragment): Nếu DF=1DF=1, router sẽ không phân đoạn gói tin. Nếu MTU của liên kết đầu ra nhỏ hơn kích thước gói, router sẽ hủy gói và gửi thông báo lỗi ICMP về nguồn phát.
  • Giao thức DHCP (Dynamic Host Configuration Protocol):
    • Quá trình cấp phát gồm 44 bước: DHCP DISCOVER (Client quảng bá) $\rightarrow$ DHCP OFFER (Server gửi) $\rightarrow$ DHCP REQUEST (Client chọn) $\rightarrow$ DHCP ACK (Server xác nhận).
    • Bản tin DHCP INFORM không nằm trong quy trình gán địa chỉ cơ bản.
  • Router: Các cổng vào/ra của router thực hiện chức năng của lớp Vật lý (Physical) và lớp Liên kết dữ liệu (Data Link).
  • Địa chỉ IP dùng trong định tuyến: Router sử dụng phần địa chỉ mạng (Network address) để tìm đường đi.
  • Chia mạng con (Subnetting):
    • Địa chỉ lớp CC có tối đa 8bits8\,bits host, nhưng chỉ có thể mượn tối đa 6bits6\,bits để chia subnet (để chừa lại ít nhất 2bits2\,bits cho host ID).
    • Mượn 4bits4\,bits từ phần host của lớp CC (mặc định 24bits24\,bits mạng) tạo ra subnet mask: /28/28 tương ứng với 255.255.255.240255.255.255.240.

Giao thức tầng giao vận (TCP/UDP)

  • API và Socket:
    • API: Phương thức cho phép ứng dụng dùng chức năng của ứng dụng khác mà không cần biết chi tiết vận hành bên trong.
    • Socket: Giao diện lập trình ứng dụng (interface) để trao đổi dữ liệu giữa hai máy tính.
  • UDP (User Datagram Protocol):
    • Giao thức tiến trình tới tiến trình, không tin cậy.
    • Không thực hiện điều khiển luồng (Flow Control) hay kiểm soát tắc nghẽn.
    • Sử dụng 22 địa chỉ socket (IP nguồn/đích và Port nguồn/đích).
    • Phù hợp cho các ứng dụng video do độ trễ đầu cuối thấp và ít nhạy cảm với việc mất gói.
  • TCP (Transmission Control Protocol):
    • Hướng dòng (Stream-oriented) và hướng kết nối (Connection-oriented).
    • Bắt tay ba bước (Three-way handshake): SYN (A$\rightarrow$B) $\rightarrow$ SYN-ACK (B$\rightarrow$A) $\rightarrow$ ACK (A$\rightarrow$B).
    • Giải phóng kết nối: FIN (B$\rightarrow$A) $\rightarrow$ ACK (A$\rightarrow$B); FIN (A$\rightarrow$B) $\rightarrow$ ACK (B$\rightarrow$A).
    • Số thứ tự (Sequence number): Là số thứ tự của byte đầu tiên được vận chuyển trong segment đó. Số ACK (Acknowledgment number) là số mang tính tích lũy (cumulative), chỉ định byte tiếp theo máy nhận đang chờ đợi.
    • Điều khiển luồng: Sử dụng cơ chế cửa sổ trượt (sliding window) với thông số rwndrwnd (received window).
    • Điều khiển tắc nghẽn: Sử dụng cửa sổ tắc nghẽn cwndcwnd. Lượng dữ liệu tối đa được phép phát là Win=min(cwnd,rwnd)Win = \min(cwnd, rwnd).
    • Giải thuật TCP:
      • Sử dụng AIMD (Additive Increase Multiplicative Decrease).
      • Khi xảy ra timeout, cwndcwnd thường giảm về 1MSS1\,MSS.
      • Phục hồi nhanh (Fast Recovery): Không giảm cwndcwnd về 11 mà giảm xuống mức ngưỡng để tránh gián đoạn truyền tải dữ liệu.
    • Thời gian Time_out: Được tính toán xấp xỉ từ 1.51.5 đến 22 lần giá trị RTTRTT (Round Trip Time) dự đoán.

Mạng cục bộ (LAN) và Đa truy nhập (MAC)

  • Địa chỉ MAC: Dùng để phân phối gói tin đến đúng Host đích trong cùng một phân đoạn mạng, trong khi IP dùng để định tuyến qua các mạng khác nhau.
  • Kết nối các mạng LAN: Router có thể kết nối các mạng LAN sử dụng giao thức hoặc chuẩn công nghệ khác nhau (như Ethernet và Token Ring).
  • CSMA/CD (Carrier Sense Multiple Access with Collision Detection):
    • Sử dụng trong mạng Ethernet có dây (IEEE 802.3).
    • Nếu kênh bận, trạm sẽ liên tục cảm nhận cho đến khi rỗi thì truyền ngay (1-persistent).
    • Thuật toán Back-off (như hàm mũ) giúp giảm xác suất va chạm ở những lần phát lại.
    • Xác suất chọn giá trị tbackofft_{backoff} sau xung đột lần thứ 22 (n=2n=2) với KK chọn ngẫu nhiên trong khoảng [0,2n1][0, 2^n - 1] (00 đến 33) là 1/4=0.251/4 = 0.25.
  • CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance):
    • Sử dụng trong mạng Wifi (IEEE 802.11) vì không thể nghe đồng thời với gửi dữ liệu và vấn đề "nút ẩn" (hidden node).
    • Sử dụng các chiến lược: khoảng cách liên khung (IFS), cửa sổ tranh chấp (contention window) và xác nhận (ACK).
  • ALOHA:
    • Slotted ALOHA: Xác suất không trạm nào truyền trong một khe là (1p)N(1-p)^N.
    • Thông lượng tối đa của ALOHA thuần túy là khoảng 18.4%18.4\%.
  • Giao thức ARP (Address Resolution Protocol):
    • Dùng để tìm địa chỉ MAC khi biết địa chỉ IP.
    • ARP Request: Bản tin quảng bá (Broadcast). Tất cả các máy trong mạng nhận được nhưng chỉ máy có IP trùng mới trả lời.
    • ARP Reply: Bản tin đơn bản (Unicast) trả trực tiếp về máy yêu cầu.
  • Đặc điểm vật lý Ethernet:
    • 10Base5: Cáp đồng trục béo, segment tối đa 500m500\,m.
    • 10Base2: Cáp đồng trục gầy, segment tối đa 185m185\,m.
    • 10BaseT: Cáp xoắn đôi (UTP), đầu nối RJ45, segment tối đa 100m100\,m, sử dụng mã Manchester.

Thiết bị mạng và Định tuyến

  • Hub và Repeater: Hoạt động tại lớp vật lý, lặp lại tín hiệu, tạo ra duy nhất một miền xung đột (collision domain).
  • Bridge và Switch: Hoạt động tại lớp liên kết dữ liệu, lọc lưu lượng theo MAC, chia tách các miền xung đột. Một switch lớp 22 vẫn duy trì một miền quảng bá (broadcast domain).
  • Router: Hoạt động tại lớp mạng, dùng để kết nối các mạng khác nhau và kiểm soát được miền quảng bá (broadcast domain).
  • Định tuyến động:
    • Vector khoảng cách (như RIP): Gửi đường đi ngắn nhất đến tất cả các nút cho các nút lân cận. RIP sử dụng số chặng (hop count) làm đơn vị đo.
    • Trạng thái liên kết (như OSPF): Trao đổi thông tin trạng thái liên kết với tất cả các router trong vùng.
    • Định tuyến liên vùng (Interdomain): Sử dụng giao thức BGP giữa các Hệ thống tự trị (Autonomous Systems - AS).
  • Lệnh hệ thống:
    • PING: Kiểm tra tính liên thông giữa các máy tính.
    • TRACERT: Xác định đường truyền/đường đi của gói tin.
    • IPCONFIG: Xem cấu hình IP của máy.
    • NSLOOKUP: Tra cứu DNS (hoạt động trên cổng 5353).