Tài liệu học tập Mạng máy tính (Phần 1)
Mục đích:
Ngày nay, nhu cầu sử dụng máy tính không ngừng được tăng lên về cả số lượng
và ứng dụng, đặc biệt là sự phát triển hệ thống mạng máy tính, kết nối các máy tính lại
với nhau thông qua môi trường truyền tin để cùng nhau chia sẻ tài nguyên trên mạng góp
phần làm tăng hiệu quả của các ứng dụng trong tất cả các lĩnh vực khoa học kỹ thuật,
kinh tế, quân sự, văn hoá. Sự kết hợp của máy tính với hệ thống truyền thông
(communication) đặc biệt là viễn thông (telecommunication) đã tạo ra một sự chuyển
biến có tính cách mạng trong vấn đề tổ chức khai thác và sử dụng các hệ thống máy tính.
Từ đó đã hình thành các môi trường trao đổi thông tin tập trung, phân tán, cho phép đồng
thời nhiều người cùng trao đổi thông tin với nhau một cách nhanh chóng và hiệu quả từ
những vị trí địa lý khác nhau. Các hệ thống như thế được gọi là mạng máy tính (computer
networks).
Mạng máy tính trở thành lĩnh vực nghiên cứu, phát triển rất quan trọng bảo đảm
truyền tin đáng tin cậy, chính xác, phù hợp tốc độ và đảm bảo an toàn thông tin trên
mạng.
1.1. Sự hình thành và phát triển Mạng máy tính.
Trước những năm 1970 đã bắt đầu hình thành các máy tính nối với nhau thành
mạng và các thiết bị đầu cuối dữ liệu đã kết nối trực tiếp vào máy tính trung tâm để tận
dụng tài nguyên chung, khai thác dữ liệu, giảm giá thành truyền số liệu, sử dụng tiện lợi
và nhanh chóng hơn. Cùng với thời gian xuất hiện các máy tính Mini Computer và máy
tính cá nhân (Personal Computer) đã tăng yêu cầu truyền số liệu giữa máy tính - trạm đầu
cuối (Terminal) và ngược lại hình thành nhiều mạng cục bộ, mạng diện rộng trong phạm
vi lớn. Do đó mạng máy tính ngày càng được phát triển để đáp ứng với nhu cầu của
người sử dụng. Sự hình thành của mạng máy tính được mô tả như sau:
Ban đầu là sự kết nối các thiết bị đầu cuối trực tiếp đến máy tính lớn, tiếp theo do
sự phát triển ngày càng nhiều các trạm nên chúng được kết nối thành từng nhóm qua bộ
tập trung rồi nối đến máy chủ trung tâm. Trong giai đọan này máy tính trung tâm có chức
năng quản lý truyền tin qua các tấm ghép nối điều khiển cứng đó để tăng sức mạnh quản
lý toàn hế thống trước khi dữ liệu được đưa đến máy tính trung tâm người ta thay thế các
tấm ghép nối, quản lý đường truyền bằng máy tính MINI. Bộ tiền xử lý gắn chặt với
trung tâm, các xử lý ngọai vi đưa vào máy chủ trong những trạm đầu cuối thông minh.
Trong giai đọan cuối đưa vào mạng truyền tin cho phép xây dựng mạng máy tính
rộng lớn .
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Tài liệu học tập Mạng máy tính (Phần 1)
ngày một sai lệch – tăng lên sau mỗi lần trao đổi. Khi một gói tin định đi đến mạng 192.168.3.0/24 đi đến R2, R2 sẽ tra bảng định tuyến rồi đẩy nó sang R3 theo cổng ra là S2/1 (xem hình 10). R3 khi tiếp nhận gói tin này lại tra bảng định tuyến rồi đẩy ngƣợc lại R2, R2 khi nhận đƣợc lại đẩy trở lại về R3Từ đó tạo nên một vòng loop trong vận chuyển gói tin. Hình 4. 27 Loop trong định tuyến Các quy tắc chống loop Để khắc phục hiện tƣợng này, RIP sử dụng một quy tắc chống loop gọi là quy tắc Split – horizon. Luật Split – horizon: Khi router nhận đƣợc cập nhật định tuyến của một mạng từ phía cổng nào thì nó không gửi ngƣợc lại cập nhật cho mạng ấy về phía cổng mà nó nhận đƣợc nữa. Theo cách này, trở lại ví dụ trên, khi R2 đã nhận cập nhật định tuyến cho mạng 192.168.3.0/24 từ cổng S2/1 thì trong những lần gửi cập nhật định tuyến về phía cổng S2/1, nó sẽ loại ra không gửi thông tin 192.168.3.0/24 đi nữa. Từ đó R3 sẽ không nhận đƣợc thông tin định tuyến sai lệch khi mạng 192.168.3.0/24 của nó bị down. - 122 - Hình 4. 28 R2 sẽ không gửi ngược thông tin nó học được từ R3 về cho R3 Ngoài ra, khi xảy ra các sự cố down mạng nhƣ trên, RIP còn sử dụng thêm các quy tắc sau để thúc đẩy nhanh hơn tiến trình cập nhật định tuyến và hỗ trợ cho tiến trình chống loop: Route – poisoning: Khi một subnet kết nối trực tiếp chuyển sang down, router sẽ gửi đi một bản tin cập nhật cho subnet này có metric = 16 (infinity metric) cho láng giềng của nó. Router láng giềng khi nhận đƣợc bản tin này sẽ cập nhật đƣợc rằng subnet đã không còn nữa, đến lƣợt nó, nó lại tiếp tục phát ra một cập nhật định tuyến cho subnet này với metric =16 cho láng giềng tiếp theo, cứ thế cả mạng sẽ nhanh chóng biết đƣợc subnet này không còn nữa. Việc phát ra bản tin cập nhật cho subnet down đƣợc thực hiện ngay lập tức mà không cần phải chờ tới hạn định kỳ (ta gọi việc này là trigger update). Poison – reverse: Khi router láng giềng nhận đƣợc bản tin update cho một subnet down có metric = 16 (infinity metric), nó cũng phải ngay lập tức hồi đáp về cho láng giềng một bản tin cập nhật cho subnet ấy cũng với metric = 16. Hoạt động này đƣợc gọi là poison – reverse. Trigger – update: Việc phát ra các bản tin Route – poisoning và Poison – reverse phải đƣợc thực hiện ngay lập tức mà không cần chờ tới hạn định kỳ gửi cập nhật định tuyến đƣợc gọi là hoạt động trigger update. Hình 4. 29 Route poisoning và Poison reverse - 123 - Ngoài ra, để chống loop, RIP còn sử dụng một tiến trình đó là tiến trình holddown, sử dụng một bộ định thời gọi là holddown – timer. Holddown timer: Ta cùng xem xét một trƣờng hợp cho thấy rằng ngay cả khi split – horizon đã đƣợc bật, vẫn có thể xảy ra loop và lỗi tăng metric đến infinity. Sơ đồ ví dụ: Hình 4. 30 Sơ đồ ví dụ 2 Nhƣ đã thảo luận trong ví dụ trƣớc, trong trƣờng hợp bình thƣờng, khi bật RIP trên các router R1, R2 và R3, R3 sẽ gửi thông tin về mạng 192.168.3.0/24 của mình ra khỏi các cổng serial đấu nối đến R1 và R2 để R1 và R2 cập nhật thông tin về mạng 192.168.3.0/24 vào bảng định tuyến của mình nhƣ hình 13. Tất nhiên, R1 và R2 đến lƣợt chúng cũng lại tiếp tục gửi cập nhật ra các cổng serial còn lại sang nhau nhƣng R1 và R2 đều bỏ qua các cập nhật mạng 192.168.3.0/24 nhận đƣợc từ nhau vì metric của các cập nhật này lớn hơn metric trong cập nhật nhận đƣợc trực tiếp từ R3. Khi mạng 192.168.3.0/24 trên cổng F0/0 của R3 chuyển sang down, nhƣ đã trình bày, R3 sẽ gửi các bản tin route – poisoning đến R1 và R2 với nội dung “192.168.3.0/24, metric = 16”. R1 và R2 sẽ cập nhật và biết đƣợc mạng 192.168.3.0/24 đã down, sau đó chúng tiếp tục gửi bản tin này cho láng giềng khác (gửi cho nhau). Tuy nhiên, một trƣờng hợp có thể xảy ra đó là khi bản tin route – poisoning đã đi đến đƣợc R1, R1 kết luận mạng 192.168.3.0/24 down, nhƣng bản tin này chƣa đến kịp R2 (có thể do trễ) và đúng vào lúc đó R2 gửi cho R1 bản tin cập nhật nhƣ thƣờng lệ về mạng 192.168.3.0/24 (R2 lúc này chƣa biết mạng này đã down) (xem hình 4.31). - 124 - Hình 4. 31 Mạng 192.168.3.0/24 down R1 khi nhận đƣợc bản tin cập nhật từ R2 lập tức cập nhật mạng 192.168.3.0/24 vào bảng định tuyến của nó vì lúc này nó đang ở trạng thái không biết mạng 192.168.3.0/24. Đến lựot nó, nó lại gửi tiếp cập nhật 192.168.3.0/24 cho R3, R3 lúc này cũng không biết mạng 192.168.3.0/24 nên lại cập nhật vào bảng định tuyến chỉ đƣờng về R1. Sau đó R3 tiếp tục gửi cập nhật đi cho R2 và R2 lại cập nhật lại mạng 192.168.3.0/24 vào bảng định tuyến của nó chỉ đƣờng đi về R3 Cứ nhƣ vậy, loop lại xảy ra (xem hình 4.32). Hình 4. 32 Sơ đồ xảy ra loop Các giao thức Distance – vector sử dụng holddown – timer để ngăn chặn việc xảy ra loop trong trƣờng hợp nhƣ thế này. Luật Holddown timer: Sau khi nhận đƣợc một poisoned route, router sẽ khởi động bộ định thời holddown – timer cho route này. Trƣớc khi bộ timer này hết hạn, không tin - 125 - tƣởng bất kỳ thông tin định tuyến nào về route down này, ngoại trừ thông tin đến từ chính láng giềng đã cập nhật cho mình route này đầu tiên. Giá trị default của holddown – timer là 180s. Nhƣ vậy theo luật này, khi R1 nhận đƣợc cập nhật route – poisoning từ R3 cho mạng 192.168.3.0/24 và kết luận rằng route này down, R1 sẽ không chấp nhận bất kỳ thông tin nào đến từ nguồn tin khác ngoại trừ R3 trong suốt khoảng thời gian holddown – timer. Nhờ đó thông tin route – poisoning cho mạng 192.168.3.0/24 đƣợc cập nhật kịp thời đến R2 và không còn gây ra loop nữa. Các bộ timer Bên cạnh các quy tắc chống loop đã đề cập ở trên, RIP còn sử dụng một số timer cho hoạt động của mình: Update timer: khoảng thời gian định kỳ gửi bản tin cập nhật định tuyến ra khỏi các cổng chạy RIP, giá trị default là 30s. Invalid timer: khi router đã nhận đƣợc cập nhật về một subnet nào đó mà sau khoảng thời gian invalid timer vẫn không nhận lại cập nhật về mạng này (mà đúng ra là phải nhận đƣợc 30s/lần), router sẽ coi route đi đến subnet này là invalid nhƣng vẫn chƣa xóa route này khỏi bảng định tuyến. Giá trị default của timer này là 180s. Flush timer: : khi router đã nhận đƣợc cập nhật về một subnet nào đó mà sau khoảng thời gian flush timer vẫn không nhận lại cập nhật về mạng này (mà đúng ra là phải nhận đƣợc 30s/lần), router sẽ xóa bỏ hẳn route này khỏi bảng định tuyến. Giá trị default của timer này là 240s. Nhƣ vậy, khi một route cho một subnet nào đó xuất hiện trong bảng định tuyến, router kỳ vọng rằng cứ 30s một lần route này phải đƣợc láng giềng gửi lại cập nhật để “refresh”. Nếu sau 30s, route không đƣợc “refresh”, nó sẽ đƣợc theo dõi tiếp cho đến hết giây thứ 180 và bị đánh dấu invalid. Khi invalid, route vẫn còn đƣợc duy trì trong bảng định tuyến thêm 60s nữa (đến hết giây thứ 240) mới bị xóa hoàn toàn khỏi bảng định tuyến. 4.7. Tổng kết và bài tập ứng dụng 4.7.1. Wireshark Lab : ICMP 1. Địa chỉ IP của máy bạn ? Địa chỉ IP của máy đích ? - 126 - Địa chỉ IP máy trạm của tôi : 192.168.1.2 Địa chri IP máy trạm đích: 222.255.121.131 2. Tại sao 1 ICMP packet không có số hiệu cổng nguồn, đích? ICMP là giao thức lớp 3 trong khi port number lại đƣợc sử dụng ở lớp 4 3. Khảo sát một gói tin yêu cầu đƣợc gửi trên máy của bạn. Cho biết giá trị của 2 thuộc tính Type và Code của gói tin ICMP? Và các thuộc tính khác nhƣ Checksum, sequence và identifier Type 8 Code 0 Checksum: 0x4d56 Identifier: 0x0001 Sequence number: 5 (0x0005) 4. Khảo sát một gói tin reply yêu cầu. Cho biết giá trị của 2 thuộc tính Type và Code của gói tin ICMP? Và các thuộc tính khác nhƣ Checksum, sequence và identifier Type : 0 Code: 0 ( ) Cheksum: 0x5556 Identifier: 0x0001 Sequence number: 5 5. What is the IP address of your host? What is the IP address of the target destination host? IP address of your host 192.168.1.2 the IP address of the target destination host 222.255.121.131 6. Nếu ICMP gửi gói tin UDP thay thế (as in Unix/Linux), thì IP protocol number có còn là 01 đối với các gói tin ko? Nếu ko thì nó sẽ là bao nhiêu? Không, ICMP sẽ gửi packet có port 0x01(17) - 127 - 7. Khảo sát ICMP echo packet trên máy của bạn. Có gì khác biệt giữa các thành phần so với ICMP ping query packets ở nửa đầu bài lab ko? Nếu có thì khác ở điểm nào? Không có gì khác biệt 8. Khảo sát gói tin ICMP error. Nó có them thuộc tính nào so với gói tin ICMP echo Nó bao gồm những thuộc tính gì ? Điểm khác biệt là Type: 11 Code: 0 Ko có thuộc tính Identifier 9. Khảo sát gói tin ICMP error. Nó có them thuộc tính nào so với gói tin ICMP echo Nó bao gồm những thuộc tính gì ? - 128 - Điểm khác biệt là Type: 11 Code: 0 Ko có thuộc tính Identifier Khảo sát 3 gói tin ICMP cuối cùng nhận đƣợc bởi host nguồn. Những gói tin này có gì khác biệt so với gói tin ICMP error? Tại sao chúng lại khác nhau? Đó là 3 gói tin ICMP reply 10. Khi thực hiện lệnh tracert ta thấy có 1 số link có độ trễ lớn hơn các link khác, cho biết đó là link nào? Dự đoán xem nguyên nhân là tại sao? Ví dụ nhƣ khi ta thực hiện lệnh tracert www.inria.fr có kết quả nhƣ sau: Để trả lời câu hỏi 10 ta sẽ xem lại 1 số quy tắt đọc kết quả từ lệnh tracert - 129 - Dòng 1: là dòng kết nối giữa modem và máy tính, độ trễ tốt nhất là 1ms 1ms 1ms! Nếu cao hơn hoặc xuất hiện dấu * hay Request timed out thì kết nối modem và máy có vấn đề! Dòng 2: là kết nối giữa modem và mạng của ISP (nhà cung cấp mạng), độ trễ tốt nhất nên trong khoảng 10-40 ms! Cao hơn khoảng này hoặc xuất hiện dấu * hay Request timed out thì kết nối modem và mạng ISP có vấn đề ! Dòng 3 trở đi tới trace complete: là kết nối trong mạng giữa các ISP với nhau , nếu xuất hiện dấu * hay Request timed out thì kết nối trong mạng ISP có vấn đề ! Dựa vào đó ta thấy từ hop thứ 13 đến 23 độ trễ tăng rất cao đặc biệt co hop còn bị request timed out, nguyên nhân có thể là do kết nối trong mạng giữa các ISP với nhau, hoặc do số lƣợng truy cập quá đông, đứt cáp, nhiệt độ hay khí hậu (lƣu ý là từ dòng thứ 3 trở đi ta không thể có cách khác phục độ trễ) 4.7.2 Wireshark Lab : IP 1. Địa chỉ IP máy tính của bạn là gì ? Địa chỉ IP máy tính của tôi là : 192.168.1.4 2. Trong gói IP packet header,trƣờng giá trị nào thuộc về giao thức lớp trên? Đó là trƣờng : ICMP(0x01) 3. Kích cỡ của IP header ? Kích cỡ của IP datagram ở trong payload ? Giải thích tại sao lại xác định đƣợc những giá trị đó? IP header = Total Length – Header Length = 56 – 20 = 36 . payload of the IP datagram is 0 bytes bởi vì trƣờng Flags : 0×00 . 4. IP datagram có bị phân mảnh ko ? Giải thích tại sao lại ? IP datagram ko bị phân mảnh . Vì flags=0 và offset=0; 5. Những trƣờng giá trị nào luôn thay đổi trong IP datagram? Trả lời: 1. Identification 2. Time to live (TTL) 3. Checksum 6. Những giá trị nào là hằng số ? Những giá trị nào phải thay đổi ? Tại sao Những trƣờng giá trị là hằng số: 1. Version 2. Header length 3. Flag 4. Fragment offset 5. Protocol 6. Sourece 7. Destination Checksum phải thay đổi vì checksum phụ thuộc vào TTL và ID. 7. Giới thệu qua về những gì bạn nhìn thấy ở trƣờng identification của IP datagram Identification : unique IP datagram value. Có độ dài là 16 bits - 130 - 8. Giá trị của Identification và TTL? Trả lời: Identification: 0×117b(4475) Time to live: 1 9. Giá trị ICMP TTL-exceeded replies gửi tới máy nguồn từ các router gần nhất ( first hop) có thay đổi đƣợc ko? Vì sao? Trả lời: Giá trị ICMP TTL-exceeded replies gửi tới máy nguồn từ các router gần nhất ( first hop) ko đƣợc thay đổi vì giá trị TTL đối với router ở hop đầu tiên là duy nhất. TTL phụ thuộc vào hệ điều hành và số lƣợng các hop. 10. Tìm đến gói tin request echo ICMP đầu tiên sau khi bạn thay đôi giá trị của Packet trong chƣơng trình pinglotter lên 2000. Gói tin này có bị phân mảnh thành nhiều IP datagram ko? Trả lời: Theo hình vẽ gói tin có bị phân mảnh thành các IP datagram. 11. Trƣờng thông tin nào ở trong IP header cho thấy rằng gói dữ liệu có bị phân mảnh hay ko? Và trƣờng thông tin nào cho thấy đó có phải là fragment đầu tiên hay ko? Kích cỡ của IP datagram? - 131 - Giá trị flags chứng tỏ rằng gói dữ liệu đƣợc phân mảnh. Nếu đó là fragment đầu tiên thì feagment offset thiết lập bằng 0. kích cỡ của gói dữ liệu IP là 1500 (bytes) 12. Thông tin nào ở trong IP header cho thấy đó ko phải là datagram fragment đầu tiên? Nó có bị phân mảnh nữa ko? Giải thích? The Fragment offset = 1480 vì thế nó không phải datagram fragment đầu tiên. Nó sẽ ko phân mảnh nữa vì Flags = 0x00 0..= Reserved bit: Not set .0. = Don‟t fragment: Not set ..0 = More fragments: Not set - 132 - 13. Giá trị nào thay đổi trong IP header giữa fragment đầu tiên và thứ hai ? Trả lời 1.Total length 2.Flag 3.Fragment offset 4.Checksum 14. Có bao nhiêu fragments đƣợc tạo ra từ datagram đầu tiên ? Quan sát wireshark ta thấy có 3 gói tin có fragment offset =0 => Có 3 gói packet đƣợc tạo từ datagram gốc - 133 - - 134 - 15. Những giá trị nào thay đổi trong IP header giữa các fragment ? Trả lời: 1.Total length 2.Flag 3.Fragment offset 4.Checksum TÓM TẮT NỘI DUNG CỐT LÕI. - Vai trò chức năng tầng mạng. - Dịch vụ cung cấp cho tầng mạng. - Tổ chức các kênh truyền tin trong mạng. - Các kỹ thuật định tuyến. - Vấn đề tắc nghẽn mạng. BÀI TẬP ỨNG DỤNG: Câu 1. Byte đầu tiên của một địa chỉ IP có dạng: 11000001. Vậy nó thuộc lớp nào - 135 - A. Lớp A B. Lớp B C.Lớp C D. B Lớp D Câu 2. Cấu trúc khuôn dạng của IP lớp B là A. Bit 1-2: 10, bit 3 - 16: NetID, bit 17-32: HostID B. Bit 1-2: 11, bit 3-16: NetID, bit 17-32: HostID C. Bit 1: 0, bit 2-16: NetID, bit 17-32: HostID D. Bit 1-2: 11, bit 3-8: NetID, 9-32: HostID Câu 3. Mạng Internet là A. Mạng máy tính toàn cầu B. Mạng của các máy tính toàn cầu kết nối lại với nhau theo giao thức TCP/IP C. Mạng diện rộng D. Mạng của các mạng con kết nối lại với nhau Câu 4. Địa chỉ IP nào dƣới đây là hợp lệ A.192.168.10.132 B. 192.0.0.0 C. 192.255.255.255 D. Tất cả đều sai Câu 5. Địa chỉ IP nào sau đây là địa chỉ quảng bá cho một mạng bất kỳ A. 10.255.255.255 B. 172.16.255.255 C.255.255.255.255 D. 230.20.30.255 Câu 6. Xác định subnet mask để 2 IP 172.16.1.2 và 172.16.3.1 cùng mạng A. 255.255.240.0 B.255.255.0.0 C. 255.255.255.0 D. 255.255.254.0 Câu 7. Một mạng con lớp A cần chứa tối thiểu 255 host sử dụng subnet mask nào sau đây A. 255.255.255.240 B. 255.255.255.192 C. 255.255.254.0 D. 255.0.0.255 Câu 8. Địa chỉ ip 169.254.0.0 với subnet mask 255.255.0.0 đƣợc gọi là A. Địa chỉ mạng B. Không phải là địa chỉ IP C. Địa chỉ broadcast D. Địa chỉ host Câu 9. Địa chỉ 129.219.255.255 là địa chỉ gì A. Broadcast lớp A B.Broadcast lớp B C. Host lớp A D. Host lớp B Câu 10. Địa chỉ 29.219.255.255 là địa chỉ gì A. Host lớp A B. Host lớp B C. Broadcast lớp A D. Broadcast lớp B
File đính kèm:
- tai_lieu_hoc_tap_mang_may_tinh_phan_1.pdf