- Ưu điểm của kiến trúc phân tầng : Ø Chia nhỏ cho phép xác định chức năng của mỗi tầng Ø Các tầng hoạt động độc lập : tầng trên chỉ quan tâm đến việc sử dụng tầng dưới mà không quan tân
Trang 2MỤC LỤC
I Kiến trúc phân tầng 3
1 Tại sao phải phân tầng? 3
2 Mô hình OSI 3
3 Mô hình TCP/IP 4
II Tầng vật lý và Tầng liên kết dữ liệu 6
1 Các chức năng của tầng liên kết dữ liệu 6
2 Kiểm soát đa truy nhập 6
3 Các kiểu đấu mạng LAN (LAN Topology) 7
4 Mạng LAN Ethernet 9
5 Địa chỉ MAC là gì ? 9
6 So sánh Hub và Switch ? 10
7 Cơ chế hoạt động của switch 11
8 Hoạt động của giao thức ARP 11
9 Wireless LAN 13
III Tầng mạng 14
1 Các giao thức hoạt động ở tầng mạng 14
2 IPv4 14
3 Mặt nạ mạng 15
4 Địa chỉ mạng, địa chỉ unicast, địa chỉ broadcast 17
5 Khuôn dạng gói tin IP 17
6 Các thành phần và chức năng trong IP Header 17
7 ICMP là gì ? 18
8 Ping là gì ? 21
9 Traceroute là gì ? 21
10 Chọn đường 22
11 Vai trò của bộ định tuyến ? 22
12 Vì sao giao thức IP được gọi là giao thức nỗ lực hết mình, “best effort”? 22
IV Tầng giao vận 23
Trang 31 Các giao thức hoạt động ở tầng giao vận ? 23
2 UDP hoạt động như thế nào ? 23
3 TCP hoạt động như thế nào ? 24
4 Kiểm soát luồng và kiểm soát tắc nghẽn trong TCP 26
5 Vì sao TCP được gọi là giao thức đáng tin cậy ? 26
6 So sánh TCP và UDP ? 27
V Tầng ứng dụng 28
1 Các giao thức hoạt động ở tầng ứng dụng 28
2 Các mô hình ứng dụng 28
3 Trình bày cơ chế hoạt động của HTTP? 29
4 Trình bày cơ chế hoạt động của SMTP ? 30
5 Trình bày cơ chế hoạt động của FTP ? 30
Trang 4ĐỀ CƯƠNG MẠNG MÁY TÍNH
I Kiến trúc phân tầng
1 Tại sao phải phân tầng?
- Việc phân tầng giúp cho công việc thiết kế, phát triển, bảo dưỡng, nâng cấp các thành phân trở nên dễ dàng hơn Vì nó cho phép xác định rõ nhiệm vụ của mỗi tầng và mối quan hệ giữa chúng Cụ thể mỗi tầng giải quyết một tập các vấn đề có liên quan đến việc truyền dữ liệu, và cung cấp cho các giao thức tầng cấp trên một dịch vụ được định nghĩa
rõ ràng dựa trên việc sử dụng các dịch vụ của các tầng thấp hơn Về mặt lôgic, các tầng trên gần với người dùng hơn và làm việc với dữ liệu trừu tượng hơn, chúng dựa vào các giao thức tầng cấp dưới để biến đổi dữ liệu thành các dạng mà cuối cùng có thể được truyền đi một cách vật lý
- Ưu điểm của kiến trúc phân tầng :
Ø Chia nhỏ cho phép xác định chức năng của mỗi tầng
Ø Các tầng hoạt động độc lập : tầng trên chỉ quan tâm đến việc sử dụng tầng dưới mà không quan tân đến các tầng xa hơn, từ đó cho phép định nghĩa giao diện chung giữa các tầng
Ø Tầng Vật lý : Truyền các bit trên đường truyền dữ liệu
Ø Tầng Liên kết dữ liệu : Truyền dữ liệu giữa các thành phần nối kết trong một mạng
Ø Tầng Mạng : Chọn đường, chuyển tiếp các gói tin từ nguồn đến đích
Ø Tầng Giao vận : Xử lý việc truyền nhận dữ liệu giữa các ứng dụng
Ø Tầng Phiên : Đồng bộ hóa, thiết lập các qui trình đánh dấu điểm hoàn thành
(checkpointing) - giúp việc phục hồi truyền thông nhanh hơn khi có lỗi xảy ra, vì điểm đã hoàn thành đã được đánh dấu - trì hoãn (adjournment), kết thúc (termination)
và khởi động lại (restart), và khôi phục quá trình trao đổi
Ø Tầng Trình diễn : Cho phép các ứng dụng biểu diễn dữ liệu, mã hóa, nén, chuyển
đổi
Trang 5Ø Tầng Ứng dụng : Cung cấp phương tiện cho người dùng truy nhập các thông tin và
dữ liệu trên mạng thông qua chương trình ứng dụng Tầng này là giao diện chính để người dùng tương tác với chương trình ứng dụng, và qua đó với mạng
- Dưới đây là hình ảnh về mô hình OSI và các dạng gói tin mà nó chuyển tiếp
3 Mô hình TCP/IP
- Bộ giao thức TCP/IP, ngắn gọn là TCP/IP (Internet protocol suite hoặc IP suite hoặc TCP/IP protocol suite - bộ giao thức liên mạng), là một bộ các giao thức truyền thông cài đặt chồng giao thức mà Internet và hầu hết các mạng máy tính thương mại đang chạy trên
đó Bộ giao thức này được đặt tên theo hai giao thức chính của nó là TCP (Giao thức Điều khiển Giao vận) và IP (Giao thức Liên mạng) Chúng cũng là hai giao thức đầu tiên được định nghĩa
- Bộ giao thức TCP/IP có thể được coi là một tập hợp các tầng, mỗi tầng giải quyết một tập các vấn đề có liên quan đến việc truyền dữ liệu, và cung cấp cho các giao thức tầng cấp trên một dịch vụ được định nghĩa rõ ràng dựa trên việc sử dụng các dịch vụ của các tầng thấp hơn Về mặt lôgic, các tầng trên gần với người dùng hơn và làm việc với dữ liệu trừu tượng hơn, chúng dựa vào các giao thức tầng cấp dưới để biến đổi dữ liệu thành các dạng mà cuối cùng có thể được truyền đi một cách vật lý
- Mô hình TCP/IP có thể gồm 4 hoặc 5 tầng tùy cách hiểu Hầu hết các tài liệu, hình ảnh trên mạng chia TCP/IP là 4 tầng là : Tầng ứng dụng, tầng giao vận, tầng mạng và tầng liên kết hay tầng truy nhập mạng Tuy nhiên, trong giáo trình học trên lớp, thì tầng liên kết được chia ra làm 2 tầng là tầng vật lý và tầng liên kết dữ liệu
Trang 6Ø Tầng Vật lý (Physical) : tầng là kết hợp của các thành phần mạng vật lý thực sự (hub,
các bộ lặp (repeater), cáp mạng, cáp quang, cáp đồng trục (coaxial cable), cạc mạng, cạc HBA (Host Bus Adapter) và các thiết bị nối mạng có liên quan: RJ-45), và các đặc tả mức thấp về các tín hiệu (mức hiệu điện thế, tần số, v.v )
Ø Tầng liên kết dữ liệu (Datalink layer hay Network Interface như trong giáo trình) :
Chuyển các gói tin từ tầng mạng tới các máy chủ (host) khác nhau Các quá trình
truyền các gói tin trên một liên kết cho trước và nhận các gói tin từ một liên kết cho trước có thể được điều khiển cả trong phần mềm điều vận thiết bị (device driver) dành cho cạc mạng, cũng như trong phần sụn (firmware) hay các chipset chuyên dụng Những thứ đó sẽ thực hiện các chức năng liên kết dữ liệu chẳng hạn như bổ sung một packet header để chuẩn bị cho việc truyền gói tin đó, rồi thực sự truyền frame dữ liệu qua một môi trường vật lý
Ø Tầng mạng (Network Layer hay IP như trong giáo trình) : Dẫn đường cho dữ liệu từ
mạng nguồn đến mạng đích
Ø Tầng giao vận (Transport layer hay TCP|UDP như trong giáo trình) : kết hợp các khả
năng truyền thông điệp trực tiếp (end-to-end) không phụ thuộc vào mạng bên dưới, kèm theo kiểm soát lỗi (error control), phân mảnh (fragmentation) và điều khiển lưu lượng Việc truyền thông điệp trực tiếp hay kết nối các ứng dụng tại tầng giao vận có thể được phân loại như sau: định hướng kết nối (connection-oriented), ví dụ TCP và phi kết nối (connectionless), ví dụ UDP Tầng giao vận có thể được xem như một cơ chế vận chuyển thông thường, nghĩa là trách nhiệm của một phương tiện vận tải là đảm bảo rằng hàng hóa/hành khách của nó đến đích an toàn và đầy đủ Tầng giao vận cung cấp dịch vụ kết nối các ứng dụng với nhau thông qua việc sử dụng các cổng TCP và UDP Do IP chỉ cung cấp dịch vụ phát chuyển nỗ lực tối đa (best effort delivery), tầng giao vận là tầng đâu tiên giải quyết vấn đề độ tin cậy
Ø Tầng ứng dụng (Application) : nơi các chương trình mạng thường dùng nhất làm
việc nhằm liên lạc giữa các nút trong một mạng Giao tiếp xảy ra trong tầng này là tùy theo các ứng dụng cụ thể và dữ liệu được truyền từ chương trình, trong định dạng được sử dụng nội bộ bởi ứng dụng này, và được đóng gói theo một giao thức tầng giao vận Do chồng TCP/IP không có tầng nào nằm giữa ứng dụng và các tầng giao vận, tầng ứng dụng trong bộ TCP/IP phải bao gồm các giao thức hoạt động như các giao thức tại tầng trình diễn và tầng phiên của mô hình OSI Việc này thường được thực hiện qua các thư viện lập trình
Trang 7II Tầng vật lý và Tầng liên kết dữ liệu
1 Các chức năng của tầng liên kết dữ liệu
- Đóng gói – Framing : Bên gửi thì đặt gói tin tầng mạng vào khung tin, thêm phần đầu phần cuối còn bên nhận thì bỏ phần đầu, phần cuối và lấy gói tin truyền lên tầng mạng
- Địa chỉ hóa – Addressing : Địa chỉ vật lý đặt trong phần đầu gói tin để định danh nút nguồn, nút đích
- Điều khiển truy nhập đường truyền : Nếu là mạng đa truy nhập, cần có cá giao thức truy nhập đường truyền cho nhiềm máy trạm
- Kiểm soát luồng : Kiểm soát tốc độ truyền của bên gửi sao cho bên nhận hoạt động tốt, không bị quá tải
- Kiểm soát lỗi : Phát hiện và sửa lỗi các bit
2 Kiểm soát đa truy nhập
- Chia kênh : Chia tài nguyên của đường truyền thành nhiều phần nhỏ, và chia từng phần nhỏ đó cho các nút mạng Các phương pháp chia kênh gồm
Ø TDMA (Time division multiple access) : Chia kênh theo thời gian
Ø FDMA (Frequency division multiple) : Chia kênh theo tần số
Ø CDMA (Code division multiple access) : Chia kênh theo mã
Chia kênh có hiệu quả và công bằng cho các đường truyền với lưu lượng lớn, và gây lãng phí nếu chúng ta cấp kênh cho một nút chỉ cần lưu lượng nhỏ
- Truy nhập ngẫu nhiên : Kênh không đượng chia, cho phép đồng thời truy nhập, chấp nhận
có xung đột Do đó cần có cơ chế để phát hiện và tránh xung đột
Ví dụ CSMA/CD (Carrier Sense Multiple Access with Collision Detection – Đa truy nhập, có phát hiện xung đột) Trong mạng LAN, khi một máy tính muốn truyền một gói tin, trước tiên nó sẽ lắng nghe xem trên đường truyền có sóng mang hay không (bằng cách lắng nghe tín hiệu Carrier) Nếu không có, nó sẽ thực hiện truyền gói tin (theo frame) Sau khi truyền gói tin, nó vẫn tiếp tục lắng nghe để xem có máy nào định truyền tin hay không Nếu không có xung đột, máy tính sẽ truyền gói tin cho đến hết Nếu phát hiện xung đột, nó sẽ gửi broadcast một gói tin báo hiệu cho các máy trên mạng không nên gửi tin để tránh làm nhiễu đường truyền, và sẽ tiến hành gửi lại gói tin tiến trình các bước như sau :
Ø Một thiết bị có frame cần truyền sẽ lắng nghe đường truyền cho đến khi nào đường truyền không còn bị chiếm
Ø Khi đường truyền không còn bị chiếm, máy gửi bắt đầu gửi frame
Ø Máy gửi cũng bắt đầu lắng nghe để đảm bảo rằng không có xung đột xảy ra
Ø Nếu có xung đột, tất cả các máy trạm đã từng gửi ra frame sẽ gửi ra một tín hiệu nghẽn
Trang 8Ø Sau khi tín hiệu nghẽn là hoàn tất, mỗi máy gửi của của những frame bị xung đột sẽ khởi động một bộ định thời timer và chờ hết khoảng thời gian này sẽ cố gắng truyền lại Những máy không tạo ra tín hiệu nghẽn ở trên sẽ không phải chờ
Ø Sau khi các thời gian định thời là hết, máy gửi có thể bắt đầu một lần nữa với bước 1 Khi tải nhỏ thì truy xuất ngẫu nhiên có hiệu quả vì mỗi nút có thể sử dụng toàn bộ kênh truyền, còn khi tải lớn thì xung đột sẽ tăng lên làm giảm hiệu quả
- Phương pháp quay vòng : Truyền tin theo hình thức quay vòng Ví dụ như trong Token Ring – Một “thẻ bài” được luân chuyển lần lượt qua các nút mạng, nút nào giữ “thẻ bài”
sẽ được gửi dữ liệu, gửi xong sẽ chuyển thẻ bài đi Phương pháp này có nhược điểm là tốn thời gian truyền “thẻ bài”, mất “thẻ bài”
3 Các kiểu đấu mạng LAN (LAN Topology)
- Topology của mạng là cấu trúc hình học không gian mà thực chất là cách bố trí phần tử của mạng cũng như cách nối giữa chúng với nhau Thông thường mạng có 3 dạng cấu trúc là: Mạng dạng hình sao (Star Topology), mạng dạng vòng (Ring Topology) và mạng dạng tuyến (Linear Bus Topology) Ngoài 3 dạng cấu hình kể trên còn có một số dạng khác biến tướng từ 3 dạng này như mạng dạng cây, mạng dạng hình sao - vòng, mạng hỗn hợp,v.v
- Mạng hình tuyến (Bus Topology)
Ø Theo cách bố trí hành lang các đường như hình vẽ thì máy chủ (host) cũng như tất cả các máy tính khác (workstation) hoặc các nút (node) đều được nối về với nhau trên một trục đường dây cáp chính để chuyển tải tín hiệu Tất cả các nút đều sử dụng chung đường dây cáp chính này Phía hai đầu dây cáp được bịt bởi một thiết bị gọi là terminator Các tín hiệu và gói dữ liệu (packet) khi di chuyển lên hoặc xuống trong dây cáp đều mang theo điạ chỉ của nơi đến
Trang 9• Khi có sự cố rất khó kiểm tra phát hiện lỗi
- Mạng dạng vòng (Ring Topology)
Ø Mạng dạng này, bố trí theo dạng xoay vòng, đường dây cáp được thiết kế làm thành một vòng khép kín, tín hiệu chạy quanh theo một chiều nào đó Các nút truyền tín hiệu cho nhau mỗi thời điểm chỉ được một nút mà thôi Dữ liệu truyền đi phải có kèm theo địa chỉ cụ thể của mỗi trạm tiếp nhận
Ø Ưu điểm :
• Tiết kiệm được dây cáp, tốc độ có nhanh hơn kiểu BUS
Ø Nhược điểm :
• Tốc độ vẫn còn bị chậm
• Khi trên đường cáp có sự cố thì toàn bộ mạng sẽ ngưng hoạt động
• Khi có sự cố rất khó kiểm tra phát hiện lỗi
- Mạng dạng hình sao (Star topology)
Ø Mạng dạng hình sao bao gồm một trung tâm và các nút thông tin Các nút thông tin là các trạm đầu cuối, các máy tính và các thiết bị khác của mạng Trung tâm của mạng điều phối mọi hoạt động trong mạng với các chức năng cơ bản là :
• Xác định cặp địa chỉ gửi và nhận được phép chiếm tuyến thông tin và liên lạc với nhau
Trang 10• Cho phép theo dõi và sử lý sai trong quá trình trao đổi thông tin
• Thông báo các trạng thái của mạng
Ø Ưu điểm :
• Tốc độ nhanh
• Hoạt động theo nguyên lý nối song song nên nếu có một thiết bị nào đó ở một nút thông tin bị hỏng thì mạng vẫn hoạt động bình thường
• Khi có lỗi mạng, ta dễ dàng kiểm tra sửa chữa
• Cấu trúc mạng đơn giản và các thuật toán điều khiển ổn định
• Mạng có thể mở rộng hoặc thu hẹp tuỳ theo yêu cầu của người sử dụng
• Không xung đột, không giao thức đa truy nhập
Ø Do có nhiều ưu điểm nổi bật nên mạng hình sao được sử dụng rộng rãi hiện nay !
Ø Ethernet dùng phương thức CSMA/CD (Carrier Sense Multiple Access with Collision Detection) để xử lý việc truy cập đồng thời vào mạng
Ø Các yếu tố hạn chế kích thớc mạng chủ yếu là mật độ lưu thông trên mạng
Ø 10BaseT : Dùng cáp xoắn đôi UTP 10BaseT thường dùng trong cấu trúc hình sao và
có giới hạn của một đoạn là 100m
Ø Hiện giờ còn có Fast Ethernet (100-Mbps) sử dụng cáp xoắn UTP, Gigabit Ethernet (1000-Mbps) sử dụng cáp quang
5 Địa chỉ MAC là gì ?
- Nói một cách đơn giản, địa chỉ MAC là địa chỉ vật lý hay còn gọi là số nhận dạng (Identification number) của thiết bị Mỗi thiết bị (card mạng, modem, router ) được nhà sản xuất chỉ định và gán sẵn 1 địa chỉ nhất định; thường được viết theo 2 dạng: MM:MM:MM:SS:SS:SS (cách nhau bởi dấu :) hay MM-MM-MM-SS-SS-SS (cách nhau bởi dấu -) Địa chỉ MAC là một số 48 bit được biểu diễn bằng 12 số hexa, trong đó 24bit đầu (MM:MM:MM) là mã số của nhà sản xuất (Linksys, 3COM ) và 24 bit sau (SS:SS:SS) là số seri của từng card mạng được nhà sản xuất gán Như vậy sẽ không xảy
ra trường hợp hai thiết bị trùng nhau địa chỉ vật lý vì số nhận dạng ID này đã được lưu
Trang 11trong chip ROM trên mỗi thiết bị trong quá trình sản xuất, người dùng không thể thay đổi được
- Địa chỉ MAC là cố định (được thiết lập cứng) trong khi địa chỉ IP có thể thay đổi được (thiết lập mềm) Trong mạng luôn duy trì một ánh xạ giữa địa chỉ IP và địa chỉ MAC của thiết bị Do đó, các thiết bị thường dùng cơ chế ARP (Address Resolution Protocol) và RARP (Reverse Address Resolution Protocol) để tìm được địa chỉ MAC, IP của các thiết
bị khác khi cần thiết lập kết nối
6 So sánh Hub và Switch ?
- Mỗi thiết bị dều đóng vai trò kết nối trung tâm cho tất cả các thiết bị mạng, và xử lý một dạng dữ liệu được gọi là "frame" (khung) Mỗi khung đều mang theo dữ liệu Khi khung được tiếp nhận, nó sẽ được khuyếch đại và truyền tới cổng của PC đích Sự khác biệt lớn nhất giữa hai thiết bị này là phương pháp phân phối các khung dữ liệu
- Với hub, một khung dữ liệu được truyền đi hoặc được phát tới tất cả các cổng của thiết bịmà không phân biệt các cổng với nhau Việc chuyển khung dữ liệu tới tất cả các cổng của hub để chắc rằng dữ liệu sẽ được chuyển tới đích cần đến Tuy nhiên, khả năng này lại tiêu tốn rất nhiều lưu lượng mạng và có thể khiến cho mạng bị chậm đi (đối với các mạng công suất kém) Ngoài ra, một hub 10/100Mbps phải chia sẻ băng thông với tất cả các cổng của nó Do vậy khi chỉ có một PC phát đi dữ liệu (broadcast) thì hub vẫn sử dụng băng thông tối đa của mình Tuy nhiên, nếu nhiều PC cùng phát đi dữ liệu, thì vẫn một lượng băng thông này được sử dụng, và sẽ phải chia nhỏ ra khiến hiệu suất giảm đi
- Trong khi đó, switch lưu lại bản ghi nhớ địa chỉ MAC của tất cả các thiết bị mà nó kết nối tới Với thông tin này, switch có thể xác định hệ thống nào đang chờ ở cổng nào Khi nhận được khung dữ liệu, switch sẽ biết đích xác cổng nào cần gửi tới, giúp tăng tối đa thời gian phản ứng của mạng Và không giống như hub, một switch 10/100Mbps sẽ phân phối đầy đủ tỉ lệ 10/100Mbps cho mỗi cổng thiết bị Do vậy với switch, không quan tâm
số lượng PC phát dữ liệu là bao nhiêu, người dùng vẫn luôn nhận được băng thông tối đa
Đó là lý do tại sao switch được coi là lựa chọn tốt hơn so với hub
- Miền xung đột lớn - Ít xảy ra xung đột do chia nhỏ miền
xung đột
- Do truyền broadcast nên dữ liệu
không được bảo mật
- Truyền dữ liệu cho máy xác định nên bảo mật cao
Trang 127 Cơ chế hoạt động của switch
- Switch cho phép nhiều cặp liên kết cùng hoạt động mà không có xung đột
- Switch có một bảng chọn đường MAC cho biết máy nào ở cổng nào
- Switch có cơ chế tự học, có thể tự nhận biết được địa chỉ MAC của máy nối vào Khi nhận được một frame thì đầu tiên switch sẽ tìm địa chỉ cổng vào, sau đó switch sẽ tiến hành tìm địa chỉ cổng ra bằng cách sử dụng bảng chuyển tiếp Nếu tìm thấy cổng ra, và cổng ra khác cổng vào thì switch sẽ chuyển tiếp frame đến cổng ra Nếu không tìm thấy,
nó sẽ tiến hành quảng bá frame, tức gửi frame đến mọi cổng trừ cổng nhận frame vào Khi đó nếu frame gửi được đến máy đích thì máy đích này sẽ trả lại thông báo, do đó swtich sẽ học được MAC của máy đích, và ghi vào bảng chuyển tiếp các số liệu : Địa chỉ MAC, số hiệu cổng, Time to Live
- Ví dụ có mô hình : PC1 -SW1 -SW2 -PC2 Gải sử bảng chuyển tiếp của switch 1 và switch 2 đều chưa có gì, nếu PC1 gửi một frame đến PC2 thì quá trình có thể tóm tắt như sau :
Ø Gói tin từ PC1 gửi tới SW1, lúc này bảng MAC SW1 trống nên SW1 sẽ học MAC của PC1 dựa vào cổng nhận gói tin vào (ví dụ cổng 1 của switch nhận gói tin từ PC1 thì switch sẽ học MAC của PC1 nằm ở cổng 1)
Ø Do SW1 chưa biết được phải chuyển sang cổng nào để đến PC2, nó sẽ chuyển đến tất
cả các cổng trừ cổng nhận gói tin vào
Ø Frame đến được SW2, giả sử vào từ cổng 1, do bảng MAC của SW2 còn trống nên nó
sẽ học MAC của PC1, nằm ở cổng 1 SW2 tiếp tục quảng bá frame, chuyển tiếp nó đi tất cả các cổng trừ cổng nhận gói tin vào là cổng 1
Ø PC2 nhận được frame và trả lời lại Khi gói tin qua SW2, SW2 sẽ học được MAC của PC2, giả sử là ở cổng 2, và tiếp tục chuyển tiếp gói tin qua SW1 Tại đây SW1 cũng
sẽ học được MAC của PC2, giả sử tại cổng 2
Ø Cuối cùng gói tin gửi đến PC1 do SW1 đã biết PC1 nằm ở cổng 1
Ø Như vậy cần chú ý là Switch sẽ học địa chỉ MAC của PC chứ không học địa chỉ MAC của switch gắn vào nó Do đó, trong bảng MAC, tại một cổng có thể có nhiều địa chỉ MAC ! (trường hợp nhiều máy kết nối vào một switch, switch đó lại được kết nối vào một cổng của switch thứ hai)
8 Hoạt động của giao thức ARP
- Trên thực tế, các card mạng (NIC) chỉ có thể kết nối với nhau theo địa chỉ MAC, địa chỉ
cố định và duy nhất của phần cứng Do vậy ta phải có một cơ chế để chuyển đổi các dạng địa chỉ này qua lại với nhau Từ đó ta có giao thức phân giải địa chỉ: Address Resolution Protocol (ARP).Khi máy A muốn gửi gói tin đến B mà không biết được địa chỉ MAC của
B, nó cần sử dụng ARP
- Trong mạng LAN : Khi một thiết bị mạng muốn biết địa chỉ MAC của một thiết bị mạng nào đó mà nó đã biết địa chỉ ở tầng network (IP, IPX…) nó sẽ gửi một ARP request bao
Trang 13gồm địa chỉ MAC address của nó và địa chỉ IP của thiết bị mà nó cần biết MAC address trên toàn bộ một miền broadcast Mỗi một thiết bị nhận được request này sẽ so sánh địa chỉ IP trong request với địa chỉ tầng network của mình Nếu trùng địa chỉ thì thiết bị đó phải gửi ngược lại cho thiết bị gửi ARP request một gói tin (trong đó có chứa địa chỉ MAC của mình) Trong một hệ thống mạng đơn giản, ví dụ như PC A muốn gửi gói tin đến PC B và nó chỉ biết được địa chỉ IP của PC B Khi đó PC A sẽ phải gửi một ARP broadcast cho toàn mạng để hỏi xem "địa chỉ MAC của PC có địa chỉ IP này là gì ?" Khi
PC B nhận được broadcast này, nó sẽ so sánh địa chỉ IP trong gói tin này với địa chỉ IP của nó Nhận thấy địa chỉ đó là địa chỉ của mình, PC B sẽ gửi lại một gói tin cho PC A trong đó có chứa địa chỉ MAC của B Sau đó PC A mới bắt đầu truyền gói tin cho B
- Trong môi trường mạng : Hoạt động của ARP trong một môi trường mạng phức tạp hơn Giả sử hai hệ thống mạng gắn với nhau thông qua một Router C Máy A thuộc mạng A muốn gửi gói tin đến máy B thuộc mạng B Do các broadcast không thể truyền qua Router nên khi đó máy A sẽ xem Router C như một cầu nối hay một trung gian (Agent)
để truyền dữ liệu Trước đó, máy A sẽ biết được địa chỉ IP của Router C (địa chỉ Gateway) và biết được rằng để truyền gói tin tới B phải đi qua C Tất cả các thông tin như vậy sẽ được chứa trong một bảng gọi là bảng định tuyến (routing table) Bảng định tuyến theo cơ chế này được lưu giữ trong mỗi máy Bảng định tuyến chứa thông tin về các Gateway để truy cập vào một hệ thống mạng nào đó Ví dụ trong trường hợp trên trong bảng sẽ chỉ ra rằng để đi tới LAN B phải qua port X của Router C Bảng định tuyến
sẽ có chứa địa chỉ IP của port X Quá trình truyền dữ liệu theo từng bước sau :
Ø Máy A gửi một ARP request (broadcast) để tìm địa chỉ MAC của port X
Ø Router C trả lời, cung cấp cho máy A địa chỉ MAC của port X
Ø Máy A truyền gói tin đến port X của Router
Ø Router nhận được gói tin từ máy A, chuyển gói tin ra port Y của Router Trong gói tin
có chứa địa chỉ IP của máy B Router sẽ gửi ARP request để tìm địa chỉ MAC của máy B
Ø Máy B sẽ trả lời cho Router biết địa chỉ MAC của mình Sau khi nhận được địa chỉ MAC của máy B, Router C gửi gói tin của A đến B
Trên thực tế ngoài dạng bảng định tuyến này người ta còn dùng phương pháp proxyARP, trong đó có một thiết bị đảm nhận nhiệm vụ phân giải địa chỉ cho tất cả các thiết bị khác.Theo đó các máy trạm không cần giữ bảng định tuyến nữa Router C sẽ có nhiệm vụ thực hiện, trả lời tất cả các ARP request của tất cả các máy
- Chú ý : Hoạt động của ARP có liên quan đến địa chỉa MAC, hơn nữa trong giáo trình của thầy cũng trình bày nó ở tầng liên kết dữ liệu, nên đưa nó vào chương này thôi chứ thực
tế ARP hoạt động ở tầng mạng chứ không phải ở tầng liên kết dữ liệu !
Trang 149 Wireless LAN
- Mạng WLAN sử dụng sóng điện từ (vô tuyến và tia hồng ngoại) để truyền thông tin từ điểm này sang điểm khác mà không dựa vào bất kỳ kết nối vật lý nào Các sóng vô tuyến thường là các sóng mang vô tuyến bởi vì chúng thực hiện chức năng phân phát năng lượng đơn giản tới máy thu ở xa Dữ liệu truyền được chồng lên trên sóng mang vô tuyến
để nó được nhận lại đúng ở máy thu Đó là sự điều biến sóng mang theo thông tin được truyền Một khi dữ liệu được chồng (được điều chế) lên trên sóng mang vô tuyến, thì tín hiệu vô tuyến chiếm nhiều hơn một tần số đơn, vì tần số hoặc tốc độ truyền theo bit của thông tin biến điệu được thêm vào sóng mang
- Trong một cấu hình mạng WLAN tiêu biểu, một thiết bị thu phát, được gọi một điểm truy cập (AP - access point), nối tới mạng nối dây từ một vị trí cố định sử dụng cáp Ethernet chuẩn Điểm truy cập (access point) nhận, lưu vào bộ nhớ đệm, và truyền dữ liệu giữa mạng WLAN và cơ sở hạ tầng mạng nối dây Một điểm truy cập đơn hỗ trợ một nhóm nhỏ người sử dụng và vận hành bên trong một phạm vi vài mét tới vài chục mét
- Phương pháp truy nhập cơ bản của mạng LAN là CSMA/CA, về cơ bản là đa truy cập cảm biến sóng mang với cơ chế tránh xung đột Các giao thức CSMA được biết trong công nghiệp, mà phổ biến nhất là Ethernet, là giao thức CSMA/CD Giao thức CSMA làm việc như sau: Một trạm truyền đi các cảm biến môi trường, nếu môi trường bận (ví
dụ, có một trạm khác đang phát), thì trạm sẽ trì hoãn truyền một lúc sau, nếu môi trường
tự do thì trạm được cho phép để truyền Loại giao thức này rất có hiệu quả khi môi trường không tải nhiều, do đó nó cho phép các trạm truyền với ít trì hoãn, nhưng thường xảy ra trường hợp các trạm phát cùng lúc (có xung đột), gây ra do các trạm nhận thấy môi trường tự do và quyết định truyền ngay lập tức Các cơ chế dò tìm xung đột này phù hợp với mạng LAN nối dây, nhưng chúng không được sử dụng trong môi trường mạng LAN không dây, vì hai lý do chính :
Ø Việc thực hiện cơ chế dò tìm xung đột yêu cầu sự thi hành toàn song công, khả năng phát và nhận đồng thời, nó sẽ làm tăng thêm chi phí một cách đáng kể
Ø Trên môi trường không dây chúng ta không thể giả thiết tất cả các trạm “nghe thấy” được nhau (đây là sự giả thiết cơ sở của sơ đồ dò tìm xung đột), và việc một trạm nhận thấy môi trường tự do và sẵn sàng để truyền không thật sự có nghĩa rằng môi trường là tự do quanh vùng máy thu
Để vượt qua các khó khăn này, chuẩn IEEE 802.11 sử dụng một cơ chế tránh xung đột với một sơ đồ Ghi nhận tính tích cực (Positive Acknowledge) như sau : Một trạm muốn truyền cảm biến môi trường, nếu môi trường bận thì nó trì hoãn Nếu môi trường rãnh với thời gian được chỉ rõ (gọi là DIFS, Distributed Inter Frame Space, Không gian khung Inter phân tán), thì trạm được phép truyền, trạm thu sẽ kiểm tra mã CRC của gói nhận được và gửi một gói chứng thực (ACK) Chứng thực nhận được sẽ chỉ cho máy phát biết không có sự xung đột nào xuất hiện Nếu máy phát không nhận chứng thực thì nó sẽ truyền lại đoạn cho đến khi nó được thừa nhận hoặc không được phép truyền sau một số lần phát lại cho trước
Trang 15- Người ta sử dụng một số 32 bit để định danh một máy trạm, bộ định tuyến gọi là địa chỉ
IP Địa chỉ IP có tính duy nhất, và được biểu diễn bởi 4 phần 8 bits Địa chỉ IP gồm 2 phần là Host ID, hay Node ID, địa chỉ máy trạm, và Network ID, địa chỉ mạng
- Một số địa chỉ IP đặc biệt
Ø Nếu địa chỉ của Network Address toàn là các Bit 0 nghĩa là nó đại diện cho mạng đó
Ø Nếu địa chỉ của Network Address toàn là các Bit 1 nghĩa là nó đại diện cho tất cả các mạng
Ø Địa chỉ mạng là 127 đựơc gọi là địa chỉ LoopBack được thiết kế cho mỗi máy (local node), thường dùng cho việc tự kiểm tra mà không ảnh hưởng đến giao dich trên mang ví dụ ping 127.0.0.1
Ø Tât cả các Bit của Node Address toàn là 0 – Địa chỉ mạng
Ø Tât cả các Bit của Node Address toàn là 1 - Tất cả các máy trong một mạng nào đó
- Người ta chia địa chia IP thành 5 lớp kí hiệu là A, B, C, D và E để dễ quản lý Trong đó lớp A, B, C chứa địa chỉ có thể gán được Lớp D dành riêng cho lớp kỹ thuật multicasting Lớp E được dành những ứng dụng trong tương lai
- Lớp A
Ø Định dạng : Mạng.Node.Node.Node
Ø Bit đầu tiên : 0
Ø Ở đây ta nhận thấy là ngoại trử Bit đầu tiên của địa chỉ IP là 0 - dùng để xác định là mạng lớp A, còn lại 7 Bit có thể nhận các giá trị 1 hoặc 0 => tổ hợp chập được 2 mũ 7
vị trí => có 128 mạng cho lớp A Nhưng theo quy định là nếu tất cả các Bit của địa chỉ mạng là 0 sẽ không đựơc sử dụng, vậy còn 127 mạng cho lớp A Nhưng địa chỉ
127 là địa chỉ loopback, do đó cũng không sử dụng được địa chỉ này nên Lớp A chỉ còn 126 lớp mạng bắt đầu từ 1 -126 Khi nhìn vào một địa chỉ IP ta chỉ cần nhin vào Bit đầu tiên nếu biểu diễn ở dạng nhị phân là số 0 thì đó chính là mạng lớp A, còn nếu
ở dạng thập phân thi nó nằm trong khoảng từ 1- 126.Thế số máy tính trong mỗi mạng lớp A là : 224- 2 =16,777,214 máy
Trang 16- Lớp B
Ø Định dạng : Mạng.Mạng.Node.Node
Ø Hai Bit đầu tiên : 10
Ø Tương tự như cách tính với lớp A ta cũng có số mạng của lớp B sẽ là 214= 16384 mạng lớp B - tương đương với số thập phân là 128 - 191 Và số máy trong mỗi mạng lớp A là 216-2 = 65,534 máy Một địa chỉ IP mà hai Bit đầu tiên là 10 hay ở dạng thập phân mà là 128 - 191 thì đó là máy tính trong mạng lớp B
- Lớp C
Ø Định dạng : Mạng.Mạng.Mạng.Node
Ø Ba Bit đầu tiên : 110
Ø Số mạng lớp C sẽ là 2,097,152 mạng và 254 máy trong một mạng Một địa chỉ IP mà các Bit đầu tiên là 110 hay ở dạng thập phân mà là 192 - 223 thì đó là máy tính trong mạng lớp C
- InterNIC và IANA đã đưa ra một số dải địa chỉ IP gọi là private address dùng để thiết lập cho các mạng cục bộ không kết nối với Internet Theo RFC 1597 thì 3 dải đó là :
Ø 10.0.0.0 với Subnet mask là 255.0.0.0
Ø 172.16.0.0 với Subnet mask là 255.255.0.0
Ø 192.168.0.0 với Subnet mask là 255.255.255.0
3 Mặt nạ mạng
- Thường thì mỗi tổ chức, công ty hay quốc gia đựơc InterNIC cấp cho một số địa chỉ IP nhất định và nó có các máy tính đặt ở các vùng khác nhau Cách tốt nhất để quản lý là chia ra thành các mạng nhỏ và kết nối với nhau bởi router Những mạng nhỏ như thế gọi
là Subnets Khi chia ra thành các Subnet nhằm làm :
Ø Giảm giao dịch trên mạng : lúc này router sẽ kiểm soát các gói tin trên mạng - chỉ có gói tin nào có địa chỉ đích ở ngoài mới đựoc chuyển ra
Ø Quản lý đơn giản hơn và nếu có sự cố thì cũng dễ kiểm tra và xác định đựơc nguyên nhân gây lỗi hơn là trong một mạng lớn
- Một điều quan trọng cũng cần phải nhớ là mỗi một Subnet vẫn là một phần của mạng nhưng nó cũng cần đựơc phân biết với các Subnet khác bằng cách thêm vào một đinh danh nào đó Định danh này được gọi là Subnet addess Trước khi chia mạng thành các Subnet ta cần xác định số Subnet cho mạng và số máy trong mỗi Subnet là bao nhiêu, còn router trên mỗi một subnet chỉ cần biết các thông tin :
Ø Địa chỉ của mỗi máy trên một Subnet mà nó quản lý
Ø Địa chỉ của các Subnet khác
- Ta đã biết rằng mỗi máy tính trong một mạng cụ thể nào đó thì phải có cùng một địa chỉ mạng, do đó địa chỉ mạng không thể thay đổi đựơc, vậy chỉ còn cách lấy một phần địa chỉ Node Address để làm đinh danh cho mỗi Subnet Điều này có thể thực hiện đựơc bằng cách gán cho mỗi máy tính một Subnet mask Subnet mask là một số 32 bit gồm các bit 1