Professional Documents
Culture Documents
................................... ................................
b. Cáp đồng trục
Cáp đồng trục mảnh (Thinnet)
Cáp đồng trục dày (Thicknet)
c. Cáp quang
................................... ................................
................................... ................................
Các phụ kiện
- Patch Cord
- Modular Jack
- Outlet
- Patch Panel
................................... ................................
Trang 1/69
2. Các bước thực hiện bấm cáp UTP
a. Lựa chọn kiểu cáp: Straight Cable, Crossover Cable và Rollover
Cable
Kiểu cáp:.........................................................................................
Chức năng:.....................................................................................
Trang 2/69
Kiểu cáp:.........................................................................................
Chức năng:.....................................................................................
Kiểu cáp:.........................................................................................
Chức năng:.....................................................................................
<---cable---
Pin Connector#1 Pin Connector#2
>
White-
1 1 White-Green
Orange
2 Orange 2 Green
White-
3 White-Green 3
Orange
6 Green 6 Orange
Trang 3/69
c. Xác định kiểu cáp sử dụng cho các mô hình sau
a) b)
c)
a.................................................................................................
b.................................................................................................
c..................................................................................................
3. Hiểu biết về cấu hình TCP/IP trên hệ điều hành Microsoft
Windows
a. Xem thông tin TCP/IP
Sử dụng lệnh ipconfig để xem thông tin cấu hình TCP/IP
Thông thường có hai Adapter (Network Interface Card và giao tiếp
PPP)
Cho biết các thông tin trên Network Interface Card:
IP Address:...............................Subnet Mask:.............................................
Default Gateway:......................DNS Server:...............................................
Trang 4/69
b. Cấp phát động hoặc cấu hình tĩnh thông tin TCP/IP
Start -> Settings -> Control Panel -> Network Connections -> Local
Area Connection -> Properties -> Internet Protocol (TCP/IP) ->
Properties
Nếu muốn cấu hình tĩnh thì sử dụng các thông tin ở mục 3 để cấu
hình.
4. Hiểu biết về cấu hình TCP/IP trên hệ điều hành Linux
Xem xét tập tin cấu hình /etc/sysconfig/networking/devices/ifcfg-eth0.
Các thông tin trong tập tin /etc/sysconfig/networking/devices/ifcfg-eth0
để cấu hình TCP/IP cho NIC thứ nhất.
Nếu có thay đổi về thông tin TCP/IP thì thay đổi trong tập tin
/etc/sysconfig/ifcfg-ethx, sau đó khởi động lại dịch vụ nework:
# service network restart
5. Tìm hiểu một số lệnh liên quan về mạng
a. Lệnh ipconfig (ifconfig trên Linux/UNIX)
Người quản trị sử dụng lệnh này để xem thông tin TCP/IP trên các
giao tiếp mạng, và tất nhiên cũng có thể dùng để cấu hình TCP/IP
cho các giao tiếp mạng.
Cho biết cú pháp của lệnh trên:
.....................................................................................................................
.....................................................................................................................
b. Lệnh netstat
Người quản trị sử dụng lệnh này để xem xét toàn diện thông tin về hệ
thống cục bộ và bộ giao thức TCP/IP.
Cho biết kết quả của lệnh netstat –a
.....................................................................................................................
.....................................................................................................................
c. Lệnh tracert (traceroute trên Linux/UNIX)
Người quản trị sử dụng lệnh này để dò tìm đường đi đến một hệ
thống khác, mục đích xác định được lỗi xảy ra khi không thực hiện
được kết nối.
Cho biết kết quả của lệnh tracert www.google.com
.....................................................................................................................
.....................................................................................................................
d. Lệnh route
Người quản trị sử dụng lệnh này để xem, thêm hay loại bỏ các đường
đi trong bảng đường đi của mỗi máy tính.
Cho biết kết quả của lệnh route PRINT
.....................................................................................................................
.....................................................................................................................
e. Lệnh ping
Người quản trị sử dụng lệnh này để hỏi một hệ thống khác để chắc
chắn rằng kết nối vẫn còn hoạt động.
Cho biết kết quả của lệnh ping www.yahoo.com
Trang 5/69
.....................................................................................................................
.....................................................................................................................
f. Công cụ nslookup
Người quản trị sử dụng công cụ này để kiểm tra hoạt động của hệ
thống hỏi đáp tên (Domain Name System).
Cho biết địa chỉ IP của www.vnn.vn (thực hiện nslookup www.vnn.vn):
.....................................................................................................................
.....................................................................................................................
Cho biết địa chỉ IP của Mail eXchange domain hotmail.com (thực hiện
nslookup -type=MX hotmail.com)
g. SSH (Secure Shell) Client
Người quản trị sử dụng công cụ để kết nối vào một hệ thống và làm
việc từ xa. Thay thế cho telnet, ftp, rcp, rsh, ...
6. Hiểu biết về Wireshark
a. Packet Sniffer
Công cụ cơ bản cho việc quan sát các thông điệp trao đổi giữa các thực
thể hoạt động. Chúng nắm bắt các thông điệp vào ra trên máy tính của
bạn, lưu trữ và hiển thị các thành phần của các trường khác nhau của
giao thức trong các thông điệp trên.
b. Wireshark
Một packet analyzer miển phí chạy trên nhiều hệ điều hành (Windows, Unix,
Mac) kết hợp thư viện pcap. Các thông tin liên quan tham khảo tại:
http://www.wireshark.org/
c. Sử dụng Wireshark
Khi chạy chương trình Wireshark, giao diện đồ họa sẽ xuất hiện, và chưa
có thông tin gì hiển thị trên các cửa sổ.
Trang 6/69
Lựa chọn giao tiếp mạng và bắt đầu bắt gói: Capture -> Interfaces ->
Capture hoặc Capture -> Start, dừng lại và hiển thị thông tin.
d. Ví dụ
Khởi động một trình duyệt.
Khởi động Wireshark.
Catpure -> Start -> thay đổi các tùy chọn -> OK
Một cửa sổ tóm tắt số lượng các gói của nhiều loại. Nếu nhấn Stop,
sẽ dừng lại quá trình bắt gói vì vậy không nhấn Stop trong quá trình
bắt gói.
Nhập URL sau vào trình duyệt: http://www.hutech.edu.vn/, trang web
sẽ được hiển thị.
Dừng lại tiến trình bắt gói trên Wireshark. Các thông điệp HTTP trao
đổi với Web Server (hoặc Proxy Server) chắc chắn xuất hiện đâu đó
trong danh sách các thông điệp bắt được. Cho biết hình ảnh của
Wireshark sau khi dừng lại tiến trình bắt gói
Gõ “http” vào nơi khai báo filter, nhấn Apply để chỉ xem các thông
điệp liên quan đến HTTP. Cho biết hình ảnh của Wireshark sau khi
filter.
Chọn thông điệp đầu tiên để xem xét. Đây phải là thông điệp HTTP
GET mà máy tính bạn đã gởi đến Web Server www.hutech.edu.vn
(hoặc Proxy Server). Khi chọn thông điệp này thì Ethernet frame
header, IP datagram header, TCP segment header, HTTP message
heder cũng được hiển thị trong cửa sổ packet header.
Cho biết thông tin của các header (Ethernet frame header, IP
datagram header, TCP segment header, HTTP message heder).
Thoát khỏi Wireshark.
.
--HẾT—
Trang 7/69
BÀI THỰC HÀNH SỐ 2
Họ tên sinh viên: Trần Minh Thành.............................
Tổ:11CTH06 .................MSSV:1111020467 .............
III. Mục tiêu
Hiểu biết về Ethernet.
Hiểu biết về ARP.
Hiểu biết về ICMP.
IV. Các bước thực hiện
1. Hiểu biết về Ethernet
Khởi động trình duyệt IE hoặc Firefox, loại bỏ các thông tin trong cache:
o IE: Tools Internet Options Delete Files
Trang 8/69
Khởi động lại phần mềm Wireshark, bắt đầu tiến trình bắt gói.
Nhập URL: http://www.hutech.edu.vn/ vào trình duyệt IE, trang web hiển
thị.
Dừng lại tiến trình bắt gói trên Wireshark. Chọn Frame chứa thông điệp
HTTP GET.
Xem xét thông tin (từ chi tiết đến tổng quát) trong Frame trên và trả lời
các câu hỏi sau:
o Địa chỉ default gateway: .................................................................
o Kích thước của Frame (bytes): ......................................................
o Địa chỉ Ethernet 48-bit của máy tính bạn đang sử dụng: ...............
o Địa chỉ đích 48-bit trong Ethernet frame là gì: ................................
o Địa chỉ đích trên là địa chỉ của máy tính nào (www.hutech.edu.vn
hay default gateway): .....................................................................
o Các địa chỉ trên có phải là địa chỉ IP không?..................................
o Cho biết giá trị thập lục phân của trường Frame type (2 bytes): . . .
o Cho biết ý nghĩa của trường Frame type:.......................................
Trang 9/69
o Cho biết có bao nhiêu byte kể từ ký tự ASCII “G” trong từ khĩa
“GET” (hay chiều dài thông điệp ở tầng ứng dụng): ......................
o Hãy cho biết sự khác nhau giữa định dạng của Ethernet Frame
trên so với định dạng Ethernet Frame đã học ở chương 3 lý thuyết:
.........................................................................................................
Tương tự xem xét thông tin (từ chi tiết đến tổng quát) trong Frame chứa
thông điệp HTTP response và trả lời các câu hỏi sau:
o Kích thước của Frame (bytes): ......................................................
o Địa chỉ đích 48-bit có phải là địa chỉ Ethernet máy tính của bạn hay
không? ............................................................................................
o Địa chỉ nguồn 48-bit trong Ethernet frame: ....................................
o Địa chỉ nguồn trên là địa chỉ của máy tính nào (www.hutech.edu.vn
hay default gateway): .....................................................................
o Cho biết giá trị thập lục phân của trường Frame type: ..................
o Cho biết có bao nhiêu byte kể từ ký tự ASCII “O” trong “OK”: .......
2. Hiểu biết ARP (Address Resolution Protocol)
Xem lại lý thuyết chương 4, và các URL sau để nắm các thông tin về
ARP.
o ftp://ftp.rfc-editor.org/innotes/std/std37.txt
o http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/arp.html
Mở DOS prompt, thực hiện lệnh arp, lệnh này hiển thị các thành phần
của ARP cache trên máy tính của bạn.
o Cho biết cú pháp của lệnh arp để xem thông tin ARP cache: ........
o Cho biết ý nghĩa của từng cột trong ARP cache: ...........................
Xóa ARP cache bằng lệnh arp –d *
Khởi động trình duyệt và loại bỏ các thông tin trong cache.
Khởi động lại phần mềm Wireshark, bắt đầu tiến trình bắt gói.
Nhập URL: http://www.hutech.edu.vn/ vào trình duyệt, trang web hiển thị.
Dừng lại tiến trình bắt gói trên Etherea, lọc các thông điệp với “arp”.
Xem xét thông tin 02 Frame thuộc về protocol ARP request và reply, sau
đó trả lời các câu hỏi sau:
o Giá trị thập lục phân của địa chỉ nguồn và đích trong Ethernet
Frame của thông điệp ARP request là gì: ......................................
o Tìm Ethernet Frame bao gồm thông điệp ARP reply, cho biết giá trị
thập lục phân của địa chỉ nguồn và đích, và cho biết đó là địa chỉ
của máy tính nào: ...........................................................................
3. Hiểu biết về ICMP
a. ICMP và ping
Khởi động lại phần mềm Wireshark, bắt đầu tiến trình bắt gói.
Mở DOS prompt và thực hiện lệnh ping –n 10 www.hutech.edu.vn hoặc
ping –n 10 www.google.com (nếu lệnh ping www.hutech.edu.vn thất bại)
Sau khi lệnh ping kết thúc, dừng lại tiến trình bắt gói trên Wireshark. Lọc
các thông điệp với “icmp”.
Xem xét thông tin (từ chi tiết đến tổng quát) trong các gói ping trên và trả
lời các câu hỏi sau:
Trang 10/69
oĐịa chỉ IP máy tính của bạn: ..........................................................
oĐịa chỉ IP của website www.hutech.edu.vn (www.google.com): ....
oVì sao mỗi ICMP packet không có chỉ số port nguồn và đích? ......
oXem xét một ICMP packet request, cho biết định dạng của packet
này: .................................................................................................
o Xem xét một ICMP packet reply, cho biết định dạng của packet
này: .................................................................................................
b. ICMP và tracert
Khởi động lại phần mềm Wireshark, bắt đầu tiến trình bắt gói.
Mở DOS prompt và thực hiện lệnh tracert www.hutech.edu.vn hoặc
tracert www.google.com (nếu lệnh tracert www.hutech.edu.vn thất bại).
Sau khi lệnh tracert kết thúc, dừng lại tiến trình bắt gói trên Wireshark.
Lọc các thông điệp với “icmp”.
Xem xét thông tin (từ chi tiết đến tổng quát) trong các gói icmp trên và trả
lời các câu hỏi sau:
o Cho biết địa chỉ IP của máy tính có tên là www.cse.hcmut.edu.vn
(hoặc www.google.com): ................................................................
o Cho biết sự khác nhau giữa gói ICMP ping reply và gói ICMP ping
request: ..........................................................................................
o Phát thảo đường đi từ máy tính của bạn đến www.hutech.edu.vn
(www.google.com): .........................................................................
--HẾT--
BÀI THỰC HÀNH SỐ 3
Họ tên sinh viên: ...........................................
Tổ: ..............................MSSV: ......................
V. Mục tiêu
Cấu hình hạ tầng mạng cục bộ với ConfigMaker.
Giả lập hạ tầng mạng cục bộ với RouterSim.
Triển khai hạ tầng mạng cục bộ thực tế.
Trang 11/69
a. Đồ hình vật lý
Trang 12/69
một mạng (LAN, WAN), ta chỉ cần dùng chuột “kéo và thả” các trang thiết bị,
dùng chuột đánh dấu đầu và cuối cho các kết nối mạng.
Trang 13/69
Là màn hình giao diện đồ hoạ chính trong Router Sim. Đây là nơi bạn sẽ tạo và
cấu hình các thiết bị được thêm vào trong màn hình Network Visualizer. Nhấn đúp
chuột lên thiết bị để cấu hình một thiết bị đó, khi đó sẽ chuyển sang màn hình
Simulation.
Simulation Screen
Là màn hình giả lập các thiết bị, dùng để cấu hình các thiết bị như router, switch,
…
Trang 14/69
b. Giả lập một mạng máy tính trong Router Sim
1. Nhấp chuột vào nút Net Visualizer, khi đó màn hình lưới Network Visualizer
sẽ xuất hiện.
2. Chọn các “thiết bị” từ thực đơn bên và đưa vào màn hình Net Visualizer.
3. Tiếp tục thêm các thiết bị cần thiết để tạo thành một mạng máy tính.
Muốn bỏ một thiết bị ra khỏi màn hình Net Visualizer, chúng ta chọn thiết bị đó
và chọn Edit-> Cut. Nếu chúng ta muốn xóa toàn bộ các thiết bị, click vào nút
Clear Visualizer.
Nếu muốn bỏ các kết nối chúng ta làm tương tự như việc kết nối:
1. Click chuột phải lên thiết bị.
2. Click chuột trái lên kết nối muốn bỏ.
3. Chương trình sẽ hỏi chúng ta muốn bỏ kết nối đó hay không? OK
-HẾT-
Trang 15/69
BÀI THỰC HÀNH SỐ 4
Họ tên sinh viên: ...........................................
Tổ: ..............................MSSV: ......................
- Để kết nối vào router chúng ta nhấn enter từ màn hình Network Visualizer,
chúng ta sẽ vào user mode. Trong chế độ user mode chúng ta chỉ có thể sử dụng
được một số lệnh như: ping, traceroute, …
- Muốn cấu hình router chúng ta vào ở trong chế độ privileged mode, bằng cách
sử dụng lệnh enable để vào privileged mode ( Router# )
- Dùng lệnh logout, exit để thoát
- Các dấu nhắc trong Router:
o Router # : Đang ở chế độ privileged (enable)
o Router (config) # : Đang ở chế độ global config mode (config)
o Router (config-if) # : Đang ở chế độ config các interface của
router (interface ethernet0)
o Router (config-subif) # : subinterfacce (int f0/0.1)
o Router (config-line) # : cấu hình trên các line (line console 0)
o Router (config-router) # : Cấu hình routing (router rip)
Trang 16/69
o Xem cấu hình đang chạy của router và cấu hình của router được lưu trong
NVRAM.
Router(config)#line ?
<0-6> First Line number
aux Auxiliary line
console Primary terminal line
vty Virtual terminal
Trong đó:
o aux: config router qua modem
o console : config router thông qua console port
o vty : config router qua telnet. (Nếu không được đặt password thì không
thể sử dụng Telnet để cấu hình router)
- Line [aux/console/vty] [0]
- Login
- Password <pass>
c. Mã hóa mật mã
- Config t
- Service password-encryption
- Bắt đầu đặt password như trên
- No service password-encryption
Trang 17/69
b. Cấu hình các giao tiếp của router
- interface (int) e0/ s0/ s1 / [fastethernet 0/0]
- no shutdown (no shut)
- ip address A.B.C.D subnetmask
- ip address A.B.C.D subnetmask secondary
- description (desc) câu miêu tả
1. Đồ hình mạng
-HẾT-
Trang 18/69
BÀI THỰC HÀNH SỐ 5
Họ tên sinh viên: ...........................................
Tổ: ..............................MSSV: ......................
X. Mục tiêu
Cấu hình VLAN cơ bản.
Giả lập mạng cục bộ dùng VLAN.
+ Khi triển khai VLAN trong một hệ thống mạng cục bộ, người quản trị có thể thiết kế
VLAN theo hai cách thức:
Thực hiện
Trang 19/69
Mỗi VLAN có một số phân biệt là vlan-id, có thể từ 1 đến 1001. Để tạo cơ sở dữ liệu
VLAN (VLAN database) thực hiện các bước như sau:
Switch#vlan database
–Tạo mới VLAN bằng câu lệnh vlan vlan-id [name name]. Nếu không đặt tên cho
VLAN thì tên sẽ được lấy mặc định
–Cập nhật dữ liệu VLAN vào cơ sở dữ liệu VLAN, và thoát về priviledge mode.
Switch(vlan)# exit
Việc tạo ra các VLAN khác sẽ được thực hiện tương tự.
Trước tiên cần cấu hình tất cả các port là “access” ports. Các port trên switch 2950 có
thể ở 1 trong 3 chế độ: trunk port, multi-VLAN port và access port. Trunk port và
multi-VLAN port được dùng để nối với switch khác (hoặc thiết bị khác có tạo VLAN
trunking). Do kết nối các workstation với các port này nên cần phải cấu hình tất cả các
port này ở chế độ access port.
Trang 20/69
Switch(config)#interface fa0/1
Switch(config-if)#switchport mode access
Gán các port vào VLAN theo yêu cầu bằng cách sử dụng lệnh switchport access vlan n
(n là số hiệu VLAN)
Switch(config)#interface fa0/4
Switch(config-if)#switchport access vlan 10
Switch(config)#interface fa0/5
Switch(config-if)#switchport access vlan 10
Switch(config)#interface fa0/6
Switch(config-if)#switchport access vlan 10
Switch(config)#interface fa0/7
Switch(config-if)#switchport access vlan 20
Switch(config)#interface fa0/8
Switch(config-if)#switchport access vlan 20
Switch(config)#interface fa0/9
Switch(config-if)#switchport access vlan 20
Switch(config)#interface fa0/10
Switch(config-if)#switchport access vlan 30
Switch(config)#interface fa0/11
Switch(config-if)#switchport access vlan 30
Switch(config)#interface fa0/12
Switch(config-if)#switchport access vlan 30
Thực hiện
Cấu hình trên Switch DL1 làm VTP Server
Trang 21/69
1. Đặt hostname, mật khẩu và cấu hình cổng vlan trên DL1:
Switch#conf t
Enter configuration commands, one per line. End with
CNTL/Z.
Switch(config)#hostname DL1
DL1(config)#enable password cisco
DL1(config)#line vty 0 15
DL1(config-line)#password cisco
DL1(config-line)#login
DL1(config-line)#exit
DL1(config)#int vlan 1
DL1(config-if)#ip address 192.168.1.3 255.255.255.0
DL1(config-if)#end
DL1#
2. Thiết lập VTP domain là VNPRO, VTP mode là SERVER, tạo ra các VLAN 10
(SALES), 20 (ACCOUNTING), 30 (ENGINEERING)
DL1#vlan database
Thiết lập chế độ VTP server modeDL1(vlan)#vtp server
DL1(vlan)#vtp domain VNPRO đặt switch DL1 vào domain
VNPRO
Tạo VLAN 10 và đặt tên là SALESDL1(vlan)#vlan 10 name
SALES
VLAN 10 added:
Name: SALES
DL1(vlan)#vlan 20 name ACCOUNTING
VLAN 20 added:
Name: ACCOUNTING
DL1(vlan)#vlan 30 name ENGINEERING
VLAN 30 added:
Name: ENGINEERING
Lưu cấp hình vào file vlan.datDL1(vlan)#apply
APPLY completed.
DL1(vlan)#exit
APPLY completed.
Exiting....
DL1#
3. Kích hoạt trunking trên cổng Fa0/1 và cho phép tất cả các VLAN qua trunk:
DL1#conf t
Trang 22/69
Enter configuration commands, one per line. End with
CNTL/Z.
DL1(config)#int f0/1
DL1(config-if)#switchport mode trunk
đóng gói kiểu isl (hoặc dot1q) để đi qua đường
trunkDL1(config-if)#switchport trunk encapsulation isl
Cho phép tất cả các VLAN qua trunkDL1(config-
if)#switchport trunk allowed vlan all
DL1(config-if)#exit
DL1(config)#
+ Giả sử ta chỉ muốn cho phép các VLAN 10, 20, 30 ta dùng lệnh:
DL1(config-if)#switchport trunk allowed vlan 10
DL1(config-if)#switchport trunk allowed vlan 20
DL1(config-if)#switchport trunk allowed vlan 30
4. Gán các port vào VLAN tương ứng
DL1(config)#int f0/4
Cấu hình cổng ở access modeDL1(config-if)#switchport
mode access
cấu hình cổng vào vlan 10DL1(config-if)#switchport
access vlan 10
!–– Mỗi access port chỉ phục vụ cho một VLAN
DL1(config-if)#int f0/5
DL1(config-if)#switchport mode access
DL1(config-if)#switchport access vlan 10
DL1(config-if)#int f0/6
DL1(config-if)#switchport mode access
DL1(config-if)#switchport access vlan 10
DL1(config)#int f0/7
DL1(config-if)#switchport mode access
DL1(config-if)#switchport access vlan 20
DL1(config-if)#int f0/8
DL1(config-if)#switchport mode access
DL1(config-if)#switchport access vlan 20
DL1(config-if)#int f0/9
DL1(config-if)#switchport mode access
DL1(config-if)#switchport access vlan 20
DL1(config)#int f0/10
DL1(config-if)#switchport mode access
DL1(config-if)#switchport access vlan 30
DL1(config-if)#int f0/11
DL1(config-if)#switchport mode access
DL1(config-if)#switchport access vlan 30
Trang 23/69
DL1(config-if)#int f0/12
DL1(config-if)#switchport mode access
DL1(config-if)#switchport access vlan 30
1. Đặt hostname, mật khẩu và cấu hình management vlan trên DL1:
Switch#conf t
Enter configuration commands, one per line. End with
CNTL/Z.
Switch(config)#hostname AL1
AL1(config)#enable mật khẩu cisco
AL1(config)#line vty 0 15
AL1(config-line)#mật khẩu cisco
AL1(config-line)#login
AL1(config-line)#exit
AL1(config)#int vlan 1
AL1(config-if)#ip address 192.168.1.2 255.255.255.0
AL1(config-if)#end
AL1#
2. Thiết lập VTP domain là VNPRO, VTP mode là CLIENT
AL1#vlan database
AL1(vlan)#vtp client
AL1(vlan)#vtp domain VNPRO
Trang 24/69
AL1(vlan)#exit
In CLIENT state, no apply attempted.
Exiting....
AL1#
3. Kích hoạt trunking trên cổng Fa0/1 và cho phép tất cả các VLAN qua trunk:
AL1#conf t
Enter configuration commands, one per line. End with
CNTL/Z.
AL1(config)#int f0/1
AL1(config-if)#switchport mode trunk
đóng gói kiểu isl (hoặc dot1q) để đi qua đường
trunkAL1(config-if)#switchport trunk encapsulation isl
Cho phép tất cả các VLAN qua trunkAL1(config-
if)#switchport trunk allowed vlan all
AL1(config-if)#exit
AL1(config)#
4. Áp đặt các port chỉ định vào VLAN tương ứng
AL1(config)#int f0/4
AL1(config-if)#switchport mode access
AL1(config-if)#switchport access vlan 10
AL1(config-if)#int f0/5
AL1(config-if)#switchport mode access
AL1(config-if)#switchport access vlan 10
AL1(config-if)#int f0/6
AL1(config-if)#switchport mode access
AL1(config-if)#switchport access vlan 10
AL1(config)#int f0/7
AL1(config-if)#switchport mode access
AL1(config-if)#switchport access vlan 20
AL1(config-if)#int f0/8
AL1(config-if)#switchport mode access
AL1(config-if)#switchport access vlan 20
AL1(config-if)#int f0/9
AL1(config-if)#switchport mode access
AL1(config-if)#switchport access vlan 20
AL1(config)#int f0/10
AL1(config-if)#switchport mode access
AL1(config-if)#switchport access vlan 30
AL1(config-if)#int f0/11
AL1(config-if)#switchport mode access
Trang 25/69
AL1(config-if)#switchport access vlan 30
AL1(config-if)#int f0/12
AL1(config-if)#switchport mode access
AL1(config-if)#switchport access vlan 30
AL1#sh vlan
VLAN Name Status Ports
---- -------------------------------- ---------
---------------------------
1 default active Fa0/2, Fa0/3
10 SALES active Fa0/4, Fa0/5, Fa0/6
20 ACCOUNTING active Fa0/7, Fa0/8, Fa0/9
30 ENGINEERING active Fa0/10, Fa0/11, Fa0/12
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
Kiểm tra
1. Kiểm tra cổng Fa0/1 đã hoạt động chưa
Trang 26/69
ARP type: ARPA, ARP Timeout 04:00:00
...
2. Kiểm tra cổng Fa0/1 đã kích hoạt trunking và đúng kiểu encapsulation chưa
3. Kiểm tra revision number trên client có đồng bộ với server chưa
Trang 27/69
DL1#sh vtp status
VTP Version : 2
Configuration Revision : 2
Maximum VLANs supported locally : 1005
Number of existing VLANs : 8
VTP Operating Mode : Server
VTP Domain Name : VNPRO
VTP Pruning Mode : Disabled
VTP V2 Mode : Disabled
VTP Traps Generation : Disabled
MD5 digest : 0xDC 0x45 0xB2 0xD9 0x5B 0x7A 0x50 0x19
Configuration last modified by 192.168.1.2 at 3-1-93
01:54:06
Local updater ID is 192.168.1.2 on interface Vl1 (lowest
numbered VLAN interface
found)
DL1#
+ Revision number là một trong những thông số quan trọng của VTP. Mỗi khi VTP
server thay đổi VLAN database thì sẽ tăng giá trị revision lên 1 và thực hiện quảng cáo
VLAN database này. Các thiết bị có số revision nhỏ hơn phải chấp nhận VLAN
database có số revision lớn hơn.
Nếu VTP server xoá bỏ tất cả các VLAN & có số revision cao nhất thì các thiết bị khác
cũng sẽ bị xoá VLAN.
4. Kiểm tra số lần gửi và nhận thông tin trunking
Trang 28/69
Fa0/1 0 0 0
DL1#
Trang 29/69
XII. Cấu hình liên mạng cục bộ dùng VLAN
Mô hình Lab
Có ba 2950 switch được dùng trong bài lab. Chúng ta sẽ cấu hình VLAN trên các
switch 2950 và dùng 2600A router để diển tả việc định tuyến.Chúng ta sẽ tạo ba VLAN
trên các switch 2950A, 2950B, and 2950C. Chúng ta sẽ dùng subnet 192.168.100.0/24.
Trang 30/69
2600A(config-if)#no shutdown
2600A(config-if)#exit
2600A(config)#banner motd #
This is the 2600A router
#
2600A(config)#exit
2600A#write
2600A#
Trang 31/69
2950A#config t
2950A(config)#vtp domain routersim
2950A(config)#vtp mode server
5. Cấu hình 2950B switch là thành viên của VTP domain routersim
2950B#config t
2950B(config)#vtp domain routersim
2950B(config)#vtp mode client
Trang 32/69
2950C(config-line)#login
2950C(config-line)#line vty 0 15
2950C(config-line)#password todd
2950C(config-line)#login
2950C(config-line)#exit
2950C(config)#ip default-gateway 192.168.100.1
2950C(config)#interface vlan1
2950C(config-if)#ip address 192.168.100.4 255.255.255.0
2950C(config-if)#interface fastethernet 0/11
2950C(config-if)#description Trunk Link to 2950B
2950C(config-if)#switchport mode trunk
2950C(config-if)#speed 100
2950C(config-if)#duplex full
2950C(config-if)#interface fastethernet 0/12
2950C(config-if)#description Trunk Link to 2950A
2950C(config-if)#switchport mode trunk
2950C(config-if)#speed 100
2950C(config-if)#duplex full
2950C(config-if)#exit
2950C(config)#exit
2950C#ping 192.168.100.1
7. Cấu hình 2950C switch là thành viên của VTP domain routersim
2950C#config t
2950C(config)#vtp domain routersim
2950C(config)#vtp mode client
10. Tạo port f0/1 trên các Switch là thành viên của VLAN 2
2950A#config t
2950A(config)#interface fastethernet 0/1
2950A(config-if)#switchport access vlan 2
2950A(config-if)#switchport mode access
2950B#config t
2950B(config)#interface fastethernet 0/1
2950B(config-if)#switchport access vlan 2
Trang 33/69
2950B(config-if)#switchport mode access
2950C#config t
2950C(config)#interface fastethernet 0/1
2950C(config-if)#switchport access vlan 2
2950C(config-if)#switchport mode access
11. HostA, HostD và HostG sẽ thuộc VLAN 2 (Sales), là một vùng địa chỉ mạng con
của 192.168.100.0/24. HostA là 192.168.100.5, HostD là 192.168.100.8 và HostG là
192.168.100.11. Default gateway là 192.168.100.1.
12. Kiểm tra việc cấu hình đúng các VLAN bằng cách ping từ HostA đến HostD Và
HostA đến HostG.
13. HostB, HostE và HostH sẽ thuộc VLAN 3 (Marketing), là một vùng địa chỉ mạng
con của 192.168.100.0/24. HostB là 192.168.100.6, HostE là 192.168.100.9 và HostH
là 192.168.100.12. Default gateway là 192.168.100.1.
14. Cấu hình port f0/2 trên 2950A switch là thành viên của VLAN 3.
2950A#config t
2950A(config)#interface fastethernet 0/2
2950A(config-if)#switchport access vlan 3
2950A(config-if)#switchport mode access
Cấu hình port f0/2 trên 2950B switch là thành viên của VLAN 3.
2950B#config t
2950B(config)#interface fastethernet 0/2
2950B(config-if)#switchport access vlan 3
2950B(config-if)#switchport mode access
Cấu hình port f0/2 trên 2950C switch là thành viên của VLAN 3.
2950C#config t
2950C(config)#interface fastethernet 0/2
2950C(config-if)#switchport access vlan 3
2950C(config-if)#switchport mode access
15. Kiểm tra việc cấu hình đúng các VLAN bằng cách ping từ HostB đến HostE Và
HostB đến HostH.
16. HostC, HostF và HostI sẽ thuộc VLAN 3 (Finance), là một vùng địa chỉ mạng con
của 192.168.100.0/24. HostC là 192.168.100.7, HostF là 192.168.100.10 và HostI là
192.168.100.13. Default gateway là 192.168.100.1.
Trang 34/69
17. Cấu hình port f0/3 trên 2950A switch là thành viên của VLAN 4.
2950A#config t
2950A(config)#interface fastethernet 0/3
2950A(config-if)#switchport access vlan 4
2950A(config-if)#switchport mode access
Cấu hình port f0/3 trên 2950B switch là thành viên của VLAN 4.
2950B#config t
2950B(config)#interface fastethernet 0/3
2950B(config-if)#switchport access vlan 4
2950B(config-if)#switchport mode access
Cấu hình port f0/3 trên 2950C switch là thành viên của VLAN 4.
2950C#config t
2950C(config)#interface fastethernet 0/3
2950C(config-if)#switchport access vlan 4
2950C(config-if)#switchport mode access
18. Kiểm tra việc cấu hình đúng các VLAN bằng cách ping từ HostC đến HostF Và
HostC đến HostI.
-HẾT-
XIV. Giả lập liên mạng cục bộ dùng Switch Layer 3 hỗ trợ interVLAN Routing
Đồ hình mạng sử dụng:
Trang 35/69
1. Cấu hình Switch 3550
Switch#config t
Switch(config)#hostname 3550A
3550A(config)#ip routing
3550A(config)#interface fa0/1
3550A(config-if)#switchport trunk encapsulation ?
dot1q Interface uses only 802.1q trunking encapsulation when trunking
isl Interface uses only ISL trunking encapsulation when trunking
negotiate Device will negotiate trunking encapsulation with peer on interface
3550A(config-if)#switchport trunk encapsulation dot1q
3550A(config-if)#switchport mode trunk
3550A(config-if)#interface fa0/2
3550A(config-if)#switchport trunk encapsulation dot1q
3550A(config-if)#switchport mode trunk
3550A(config-if)#interface fa0/3
3550A(config-if)#switchport trunk encapsulation dot1q
3550A(config-if)#switchport mode trunk
3550A(config-f)#interface fa0/4
3550A(config-if)#switchport trunk encapsulation dot1q
3550A(config-if)#switchport mode trunk
2. Gán 1 địa chỉ IP cho Switch 3550A cho phép dể dàng quản trị và cấu hình
từ xa
Trang 36/69
3550A(config-if)#interface vlan 1
3550A(config-if)#ip address 192.168.10.1 255.255.255.0
3550A(config-if)#no shut
3. Tạo hai VLAN là 10 và 20.
3550A(config-if)#exit
3550A(config)#vlan 10
3550A(config-vlan)#vlan 20
3550A(config-vlan)#exit
3550A(config)#exit
4. Dùng lệnh show vlan để kiểm tra
3550A#sh vlan
VLAN Name Status Ports
-------------- --------- --------------------------------------
1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10
Fa0/11, Fa0/12, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gi0/1, Gi0/2
10 active VLAN0010
20 active VLAN0020
5. Xét VTP domain là RouterSim.
3550A#config t
3550A(config)#vtp domain RouterSim
Domain name set to RouterSim
3550A(config)#exit
6. Dùng lệnh show vtp status để kiểm tra trạng thái
3550A#sh vtp status
VTP Version : 2
Configuration Revision : 0
Maximum VLANs supported locally :1005
Number of existing VLANs : 8
VTP Operating Mode : Server
VTP Domain Name : RouterSim
VTP Pruning Mode : Disabled
VTP V2 Mode : Disabled
VTP Traps Generation : Disabled
MD5 digest : 0x80 0x2E 0xC5 0xF0 0x84 0x40 0xCD 0x64
Configuration last modified by 172.16.100.100 at 4-11-04 06:27:17
7. Cấu hình 2 switch 2950 (các port trunk và địa chỉ IP để dể dàng quản trị và
cấu hình từ xa)
Trang 37/69
Switch#config t
Switch(config)#hostname 2950A
2950A(config)#interface fa0/11
2950A(config-if)#switchport mode trunk
2950A(config-if)#interface fa0/12
2950A(config-if)#switchport mode trunk
2950A(config-if)#interface vlan 1
2950A(config-if)#ip address 192.168.10.2 255.255.255.0
2950A(config-if)#no shutdown
2950A(config-if)#exit
Switch#config t
Switch(config)#hostname 2950B
2950B(config)#interface fa0/11
2950B(config-if)#switchport mode trunk
2950B(config-if)#interface fa0/12
2950B(config-if)#switchport mode trunk
2950B(config-if)#interface vlan 1
2950B(config-if)#ip address 192.168.10.3 255.255.255.0
2950B(config-if)#no shutdown
2950B(config-if)#exit
8. Trên các Switch 2950 xét VTP domain là RouterSim và VTP mode là client
2950A(config)#vtp domain RouterSim
2950A(config)#vtp mode ?
client Set the device to client mode.
server Set the device to server mode.
transparent Set the device to transparent mode.
2950A(config)#vtp mode client
Setting device to VTP CLIENT mode.
2950A(config)#exit
2950B(config)#vtp domain RouterSim
2950B(config)#vtp mode client
Setting device to VTP CLIENT mode.
2950B(config)#exit
9. Gõ lệnh show vtp status và kiểm tra thông tin domain và mode. Gõ lệnh
show vlan và kiểm tra các VLAN 10 và 20.
10. Xét port Fa0/2 trên mỗi Switch 2950 là thành viên của VLAN 10 và 20; int
fa0/2 trên 2950A là VLAN 10 và int fa0/2 trên 2950B là VLAN 20.
2950A#config t
2950A(config)#int fa0/2
Trang 38/69
2950A(config-if)#switchport access vlan 10
2950A(config-if)#cntl-z
2950B#config t
2950B(config)#int fa0/2
2950B(config-if)#switchport access vlan 20
2950B(config-if)#cntl-z
11. Cấu hình Switch 3550 để cung cấp định tuyến giữa các VLAN 10 và 20.
3550A#config t
3550A(config)#int vlan 10
3550A(config-if)#ip address 10.10.10.1 255.255.255.0
3550A(config-if)#int vlan 20
3550A(config-if)#ip address 20.20.20.1 255.255.255.0
3550A(config-if)#cntl-z
12. Cấu hình Host A với địa chỉ IP là 10.10.10.2/24 và default gateway là
10.10.10.1, và 20.20.20.2/24 cho Host B và 20.20.20.1 là default gateway.
13. Ping từ Switch 3550 switch đến mỗi Switch 2950.
3550A#ping 192.168.10.2
3550A#ping 192.168.10.3
14. Kiểm tra bạn có thể định tuyến giữa các VLANs bằng cách ping từ Host A
đến Host B.
XV. Giả lập mạng Campus
-HẾT-
Trang 39/69
BÀI THỰC HÀNH SỐ 7
Họ tên sinh viên: ...........................................
Tổ: ..............................MSSV: ......................
XVI. Mục tiêu
Hiểu biết về IP.
Hiểu biết về TCP.
XVII. Các bước thực hiện
1. Hiểu biết về IP
a. IP và ping
- Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.
- Mở một DOS prompt và lần lượt thực hiện lệnh ping với kích thước
tin là 50, 500, 5000 bytes (tới bất kỳ trang nào).
- Sau khi lệnh ping kết thúc, dừng lại tiến trình bắt gói trên Ethereal.
Lọc các thông điệp với “ip.proto==01”.
- Xem xét thông tin Internet Protocol (từ chi tiết đến tổng quát) trong
các gói ping trên và trả lời các câu hỏi sau:
Cho biết version của IP:
.........................................................................................................
Bao nhiêu byte trong IP header:
.........................................................................................................
Bao nhiêu byte trong payload của IP datagram:
Khi ping 50 bytes: .................................................................
Khi ping 500 bytes: ...............................................................
Khi ping 5000 bytes: .............................................................
Cho biết giá trị và ý nghĩa của trường Identification: ................
Cho biết giá trị và ý nghĩa của trường TTL: ..............................
Các IP datagram trên có IP datagram nào bị fragment? Làm thế
nào để xác định datagram nào bị fragment hay không bị fragment?
.........................................................................................................
Đối với IP datagram thứ 3 (ping 5000 bytes), hãy cho biết có bao
nhiêu fragment được tạo ra?
.........................................................................................................
Xem xét fragment đầu tiên và fragment thứ 2 của IP datagram thứ
3 (ping 5000 bytes), cho biết sự thay đổi trong IP header.
.........................................................................................................
Xem xét fragment cuối cùng của datagram thứ 3 (ping 5000
bytes), cho biết thông tin nào cho biết nó là fragment cuối cùng:
.........................................................................................................
b. IP và các lớp trên (Transport, Application)
- Khởi động trình duyệt, xoá các thông tin trong cache.
- Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.
- Nhập URL: http://www.hutech.edu.vn/, trang web sẽ hiển thị.
- Dừng lại tiến trình bắt gói trên Ethereal. Lọc các thông điệp với “http”.
- Xem xét thông tin Internet Protocol (từ chi tiết đến tổng quát) trong gói
HTTP GET và trả lời các câu hỏi sau:
Bao nhiêu byte trong IP header:
Trang 40/69
.........................................................................................................
Bao nhiêu byte trong payload của IP datagram:
.........................................................................................................
Trong IP header, cho biết giá trị trường Protocol. Cho biêt ý nghĩa
của trường này:
.........................................................................................................
Xem xét kích thước các thành phần IP datagram trên, hãy cho biết
định dạng của IP datagram (xem lại lý thuyết và so sánh với thực
nghiệm, giải thích sự khác nhau nêu có).
.........................................................................................................
2. Hiểu biết về TCP
Khởi động trình duyệt IE, loại bỏ các thông tin trong cache (Tools->
Internet Options-> Delete Files), và loại bỏ việc sử dụng proxy server nếu
có thể (Tools ->Internet Options -> Connections -> LAN Settings), xóa
cach (xem bài thực hành số 2)
Khởi động phần mềm Ethereal, bắt đầu tiến trình bắt gói.
Nhập URL: www.hutech.edu.vn vào trình duyệt IE, trang web hiển thị
Sau khi download xong, dừng lại tiến trình bắt gói trên Ethereal, lọc các
thông điệp với “tcp”. Chọn gói thông điệp được gởi từ máy của bạn đến
server (xem địa chỉ IP nguồn và đích).
Xem xét thông tin (từ chi tiết đến tổng quát) trong gói trên và trả lời các
câu hỏi sau:
Địa chỉ IP máy tính của bạn (client):
.........................................................................................................
TCP port được dùng trên máy client:
.........................................................................................................
Địa chỉ IP của website www.hutech.edu.vn (server):
.........................................................................................................
TCP port được dùng với máy chủ (server):
.........................................................................................................
Ta không cần quan tâm đến các TCP segment chứa các thông điệp
HTTP vì vậy trên giao diện Ethereal chọn Analyze->Enabled Protocols,
bỏ chọn cho HTTP và nhấn OK. Giao diện của Ethereal sẽ thay đổi. Xem
xét thông tin (từ chi tiết đến tổng quát) trong các TCP segment trên và trả
lời các câu hỏi sau:
Sequence number của TCP SYN segment được dùng để bắt đầu
kết nối TCP giữa client (máy tính của bạn) và www.hutech.edu.vn?
(chọn package TCP SYN từ máy của bạn đến server)
.........................................................................................................
Thông tin của field nào trong segment này dùng để xác định nó là
một SYN segment?
.........................................................................................................
Sequence number của TCP SYN ACK segment được gởi bởi
www.hutech.edu.vn?
.........................................................................................................
Trang 41/69
Giá trị của trường ACKnowledgement field trong SYN ACK
segment này?
.........................................................................................................
www.hutech.edu.vn xác định giá trị ACKnowledgement bằng cách
nào?
.........................................................................................................
Thông tin của field nào trong segment này dùng để xác định nó là
một SYN ACK segment?
.........................................................................................................
Sequence number của TCP segment chứa lệnh HTTP GET (là
segment mà có GET trong trường DATA):
.........................................................................................................
Xem TCP chứa lệnh HTTP GET như là segment đầu tiên. Cho biết
các chỉ số sequence number của các segment tiếp theo trong TCP
connection có chứa lệnh HTTP GET:
.........................................................................................................
Cho biết kích thước của mỗi TCP segment trên:
.........................................................................................................
Cho biết throughput (bytes transferred per unit time) của TCP
connection trên:
.........................................................................................................
Xem lại chương 5 và dựa trên thực nghiệm hãy vẽ lại quá trình thiết
lập kết nối, truyền nhận dữ liệu, đóng kết nối TCP với đầy đủ các
thông số.
.........................................................................................................
--HẾT--
Trang 42/69
XIX. Các bước thực hiện
1. Hiểu biết về DNS
Mở một DOS prompt và thực hiện lệnh ipconfig /flushdns để loại bỏ
các thông tin trong DNS cache trên máy tính của bạn. Thực hiện lệnh
ipconfig để biết địa chỉ IP máy tính bạn đang sử dụng.
Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.
Thực hiện lệnh nslookup www.yahoo.com trên DOS prompt.
Sau khi lệnh nslookup thực hiện xong, dừng lại tiến trình bắt gói trên Ethereal,
lọc các thông điệp với “ip.addr==<your IP address>”.
Xem xét thông tin (từ chi tiết đến tổng quát) trong các thông điệp trên và trả lời
các câu hỏi sau:
Thông điệp DNS query được tạo ra từ máy tính nào và được gởi thông
qua port nào?
Máy tính nào? Địa chỉ IP:........................................
Port:....................................................................................................
Thông điệp DNS response được tạo ra từ máy tính nào và được gởi thông
qua port nào?
Máy tính nào? Địa chỉ IP:........................................
Port:....................................................................................................
Các thông điệp trên dùng TCP hay UDP? dựa vào trường nào để biết?
Địa chỉ IP đích trong thông điệp DNS query có trùng với địa chỉ DNS
Server cục bộ (dùng lệnh ipconfig/all để xác định) hay không?
Dựa vào trường nào để biết 1 thông điệp là DNS query hay DNS
response?
.......................................................................................................................
Xem xét thông điệp DNS query thứ 2, hãy cho biết giá trị và ý nghĩa
trường Type của DNS query?
.......................................................................................................................
Xem xét thông điệp DNS response cuối cùng, hãy cho biết kết quả trả lời
(trường Answer) gồm những thông tin gì và ý nghĩa của mỗi thông tin?
.......................................................................................................................
Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.
Thực hiện lệnh nslookup -type=MX yahoo.com trên DOS prompt.
Sau khi lệnh nslookup thực hiện xong, dừng lại tiến trình bắt gói trên Ethereal,
lọc các thông điệp với “ip.addr=<your IP address>”.
Xem xét thông tin trong các thông điệp trên và trả lời các câu hỏi sau:
Xem xét thông điệp DNS query thứ 2, hãy cho biết giá trị và ý nghĩa
trường Type của DNS query?
.......................................................................................................................
Xem xét thông điệp DNS response cuối cùng, hãy cho biết bao nhiêu kết
quả trả lời trong trường “Answers”?
.......................................................................................................................
Xét kết quả trả lời đầu tiên trong trường “Answers”, cho biết ý nghĩa của
những thông tin trong kết quả này?
.......................................................................................................................
Trang 43/69
2. Hiểu biết về HTTP
Khởi động trình duyệt IE hoặc Firefox, loại bỏ các thông tin trong cache (IE:
ToolsInternet OptionsDelete Files, FF: Ctrl-Shift-Del), và loại bỏ việc sử
dụng proxy server nếu có thể (IE: ToolsInternet OptionsConnectionsLAN
Settings, FF: ToolsOptions).
Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.
Nhập URL: http://www.cse.hcmut.edu.vn/people.html vào
trình duyệt, trang web hiển thị.
Dừng lại tiến trình bắt gói trên Ethereal, lọc các thông điệp với “http”.
Xem xét thông tin trong các thông điệp trên và trả lời các câu hỏi sau:
Web browser của bạn đang chạy là HTTP 1.0 hay HTTP 1.1? ..............
Cho biết sự khác nhau cơ bản giữa HTTP1.0 và HTTP1.1?...................
Version của HTTP mà server www.hutech.edu.vn đang chạy? .............
Thông tin và ý nghĩa của response code trả về từ server: ......................
Tập tin HTML mà Web browser nhận được đã được thay đổi lần cuối
cùng khi nào:
.......................................................................................................................
Kích thước của tập tin HTML mà Web browser nhận được: .................
Có bao nhiêu thông điệp yêu cầu HTTP GET được gởi từ trình duyệt: .
Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.
Làm tươi (refresh) trình duyệt web bằng cách nhấn F5 hoặc nút Refresh trên
toolbar.
Sau khi trang web hiển thị lại, dừng lại tiến trình bắt gói trên Ethereal, lọc các
thông điệp với “http”.
Xem xét thông tin (từ chi tiết đến tổng quát) trong các thông điệp trên và trả lời
các câu hỏi sau:
Xem xét yêu cầu HTTP GET đầu tiên của trình duyệt, cho biết có dòng
“IF-MODIFIED-SINCE” hay không? nếu có thì cho biết ý nghĩa của
dòng này? ...............................................................................................
Thông tin của response code trả về từ server: ........................................
Tập tin HTML do server trả về chứa những thông tin cơ bản nào? .......
Kích thước của thông điệp trả về từ Web server mà Web browser nhận
được:
.......................................................................................................................
Có bao nhiêu thông điệp yêu cầu HTTP GET được gởi từ trình duyệt: .
--HẾT--
Trang 44/69
Hiểu biết về IP Routing.
Liên mạng diện rộng dùng Cisco Router.
2. Kiểm tra thông tin cấu hình giao tiếp mạng diện rộng
2600#show interface s0/0
Ví dụ:
Router#con t
Router(config)#ip route 172.16.0.0 255.255.0.0
192.168.1.2
Router(config)#exit
Router#
Trang 45/69
Cấu hình default routing sử dụng các lệnh sau:
- con t
- no ip route NetID Subnetmask DestIP
- ip route 0.0.0.0 0.0.0.0 DestIP
- ip classless
- exit
Ví dụ:
Router>en
Router#con t
Enter configuration commands, one per line. End with
CNTL/Z.
Router(config)#ip route 0.0.0.0 0.0.0.0 172.16.20.1
Router(config)#ip classless
Router(config)#exit
Router#
3. Cấu hình RIP routing
- con t
- router rip
- network 172.16.0.0
- ^z
4. Cấu hình IGRP routing
- con t
- router IGRP 10
- network 172.16.0.0
- ^z
a. Đồ hình mạng
Trang 46/69
b. Định tuyến tĩnh
- Cấu hình.định tuyến tĩnh trên 02 bộ định tuyến.
- Kiểm tra kết nối liên mạng bằng lệnh ping.
- Xem xét bảng đường đi trên 02 bộ định tuyến.
- Lưu lại cấu hình này với tên tập tin là cauhinh1.nml
- Nếu thay đổi mạng 10.0.0.0/8 thành mạng 203.162.4.0/24 thì liên mạng có còn
hay
không. Hãy giải thích và đưa ra giải pháp định tuyến thay thế nếu không còn liên
mạng.
2. Cấu hình
a. Topo mạng
- Dùng kỹ thuật subnet để chia mạng 172.16.0.0/16 thành các mạng con.
- Sử dụng lại cauhinh1.nml ở trên để xây dựng đồ hình mạng mạng trên.
- Kiểm tra kết nối mạng trong mỗi subnet bằng lệnh ping.
Trang 47/69
b. Định tuyến
- Lựa chọn phương án cấu hình định tuyến hợp lý cho các bộ định tuyến.
- Kiểm tra kết nối liên mạng bằng lệnh ping.
- Xem xét bảng đường đi trên 03 bộ định tuyến
- Lưu lại cấu hình này với tên tập tin là cauhinh2.nml
-HẾT-
I. Mục tiêu
- Hiểu biết lập trình mạng với Java.
2. Soạn thảo tập tin MiniHTTPServer.java (Lưu ý: hiệu chỉnh các đoạn …)
import java.net.*;
import java.io.*;
import java.util.*;
Trang 48/69
Worker worker = new Worker (client_socket);
...
System.out.println ("New client connected");
}
} // main
} // class MiniHTTPServer
3. Soạn thảo tập tin Worker.java (Lưu ý: hiệu chỉnh các đoạn …)
import java.net.*;
import java.io.*;
import java.util.*;
/**
* This thread receives a message from the client
that will
* request a web page file. The file name is found
relative to
* the directory location of this code.
**/
public void run () {
try {
// Use the client socket to obtain an input stream
from it.
InputStream is = ...
Trang 49/69
// Finally, use a BufferReader wrapper to obtain
// buffering and higher order read methods.
BufferedReader in = new BufferedReader (isr);
Trang 50/69
// Check if the file is hypertext or plain text
String content_type;
if (file_name.endsWith (".html") ||
file_name.endsWith (".htm")) {
content_type = "text/html";
}
else {
content_type = "text/plain";
}
// Now read the file from the disk and write it
to the
// output stream to the client.
try {
} catch (FileNotFoundException e) {
// If no such file, then send the famous 404
message.
out.println ("404 Object Not Found" );
Trang 51/69
}
} else{
out.println ("400 Bad Request");
}
} catch (IOException e) {
System.out.println ( "I/O error " + e );
}
} // class Worker
5. Soạn thảo tập tin ClientApp.java (Lưu ý: hiệu chỉnh các đoạn …)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
Trang 52/69
/**
* This program provides a graphical user interface to
* set up the connection to a server and to download
* the file from the server and display it in a text
area.
**/
public class ClientApp extends JFrame
implements Runnable, ActionListener
{
//
JTextArea fTextArea = null;
JTextField fIpField;
JTextField fPortField;
JTextField fFileField;
// Default port
int fPort = 8000;
// File name
String fFilename = "hello.html";
Trang 53/69
new ClientApp ("Client for MicroServer ");
f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
/**
* Create user interface for client. Includes text
fields
* for the server IP address, the server's port
number, a
* text area to show the data returned from the
server, and
* a button to initiate the connection to the server.
**/
ClientApp (String title){
super (title);
Trang 54/69
// for making the menu items and registering
// their listener.
JMenu m = new JMenu ("File");
// File handling.
m.add (fMenuSave = makeMenuItem ("Save"));
m.add (fMenuClose = makeMenuItem ("Quit"));
setJMenuBar (mb);
setSize (400,400);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
} // ctor
if (command.equals (fButtonName) ) {
start ();
Trang 55/69
} else if (command.equals ("Quit") ){
dispose ();
}
} // actionPerformed
/**
* Start the thread to connect to the server
* and read the file from it.
*/
public void start (){
try{
// Connect to the server via the given IP address
and port number
...
Trang 56/69
new InputStreamReader ( ... ) );
fTextArea.setText ("");
String line;
// Add the text one line at a time from the server
// to the text area.
while ((line = br.readLine ()) != null )
fTextArea.append (line + '\n');
/**
* This "helper method" makes a menu item and then
* registers this object as a listener to it.
**/
private JMenuItem makeMenuItem (String name) {
JMenuItem m = new JMenuItem ( name );
m.addActionListener ( this );
return m;
}
/**
* Use a JFileChooser in Save mode to select files
* to open. Use a filter for FileFilter subclass to
select
* for *.java files. If a file is selected, then
write the
* the string from the text area into it.
**/
boolean saveFile () {
Trang 57/69
JFileChooser fc = new JFileChooser ();
if (result == JFileChooser.CANCEL_OPTION) {
return true;
}else if (result == JFileChooser.APPROVE_OPTION) {
file = fc.getSelectedFile ();
if (file.exists ()) {
int response = JOptionPane.showConfirmDialog
(null,
"Overwrite existing file?","Confirm
Overwrite",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (response == JOptionPane.CANCEL_OPTION)
return false;
}
return writeFile (file, fTextArea.getText ());
} else {
return false;
}
} // saveFile
/**
* Use a PrintWriter wrapped around a BufferedWriter,
which in turn
* is wrapped around a FileWriter, to write the
string data to the
* given file.
**/
public static boolean writeFile (File file, String
data_string){
try {
PrintWriter out =
Trang 58/69
new PrintWriter (new BufferedWriter (new
FileWriter (file)));
out.print (data_string);
out.flush ();
out.close ();
}catch (IOException e) {
return false;
}
return true;
}
} // class ClientApp
7. Bài tập
- Tạo giao diện người dùng cho MiniHTTP Server. Giao diện cho phép
người dùng đặt lại chỉ số port trước khi tạo ServerSocket và nó cũng hiển thị
địa chỉ IP của các client và tập tin mà client yêu cầu tương ứng.
Hướng dẫn:
// Get the port number from fPortField.
try{
port = Integer.parseInt
(fPortField.getText());
} catch (Exception e) {
port = 8000; // Default
System.out.println ("Use default port =
8000");
}
Trang 59/69
- Hiệu chỉnh MiniHTTP Server nhằm tạo đáp ứng cho yêu cầu dùng
phương thức HEAD
(Ví dụ: HEAD /index.html HTTP/1.0 \r\n\r\n)
- Hiệu chỉnh ClientApp nhằm tận dụng phương thức HEAD mà MiniHTTP
Server cung cấp.
9. Soạn thảo tập tin FileServer.java (Lưu ý: hiệu chỉnh các đoạn …)
import java.net.*;
import java.io.*;
import java.util.*;
Trang 60/69
IOException {
int port = 8000; // server port number
// Create a ServerSocket object
ServerSocket server_socket = ...
System.out.println ("Server started");
} // main
} // class FileServer
10. Soạn thảo tập tin Worker.java (Lưu ý: hiệu chỉnh các đoạn …)
import java.net.*;
import java.io.*;
import java.util.*;
/**
Trang 61/69
* This thread receives a message from the client
that will
* request a web page file. The file name is found
relative to
* the directory location of this code.
**/
public void run () {
try {
// Use the client socket to obtain an input stream
from it.
InputStream is = ...
while (true)
{
// First read the message from the client
String str = in.readLine ();
System.out.println ("Client message: " + str);
Trang 62/69
// Split the message into substrings.
String [] tokens = str.split(" ");
} catch (FileNotFoundException e) {
// If no such file, then send the 201 message.
out.println ("201 File Not Found" );
}
Trang 63/69
//}
} // class Worker
Trang 64/69
- Mở một Command Prompt:
telnet 127.0.0.1 8000
GET example.txt
- Quan sát kết quả trên Command Prompt.
12. Soạn thảo tập tin FileClient.java (Lưu ý: hiệu chỉnh các đoạn …)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
/**
* This program provides a graphical user interface to
* set up the connection to a server and to
download/upload
* the file from/to the server.
**/
public class ClientClient extends JFrame
implements Runnable, ActionListener
{
//
JTextArea fTextArea = null;
JTextField fIpField;
JTextField fPortField;
JTextField fFileField;
// Default port
int fPort = 8000;
// File name
String fFilename = "example.txt";
Trang 65/69
/** Start the program. **/
public static void main (String [] args) {
FileClient f =
new FileClient ("Client for FileServer ");
f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
/**
* Create user interface for client. Includes text
fields
* for the server IP address, the server's port
number, a
* text area to show the data returned from the
server, and
* a button to initiate the connection to the server.
**/
FileClient (String title){
super (title);
Trang 66/69
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
}
if (command.equals (fButtonName) ) {
start ();
}
}
/**
* Start the thread to connect to the server
* and read the file from it.
*/
public void start (){
try{
// Connect to the server via the given IP address
and port number
Trang 67/69
...
String line;
// Get some first line to get file size
...
// Prepare buffer to get data from File Server and
save to local file
...
fTextArea.setText ("OK");
Trang 68/69
} // run
Trang 69/69