實驗三 網絡層實驗
- 將執行命令的結果填入下表:
2.6.1中步驟2中的執行結果 |
|
2.6.1中步驟4中的執行結果 |
|
2.6.2中步驟11中的執行結果 |
|
2.分析2.6.1步驟3中截獲的報文,統計“Protocol”字段填空:有 2 個ARP報文,有 8 個ICMP報文。在所有報文中,ARP報文中ARP協議樹的“Opcode”字段有兩個取值1,2,兩個取值分別表達什么信息?
答:Opcode 字段的取值1,2分別對應的信息為: request(1), reply(2)
3.根據2.6.1步驟6分析ARP報文結構:選中第一條ARP請求報文和第一條ARP應答報文,將ARP請求報文和ARP應答報文中的字段信息填入下表:
字段項 |
ARP請求數據報文 |
ARP應答數據報文 |
鏈路層Destination項 |
ff:ff:ff:ff:ff:ff(broadcast) |
00:0c:29:70:fc:f5 |
鏈路層Source項 |
00:0c:29:70:fc:f5 |
00:0c:29:85:69:df |
網絡層Sender MAC Address |
00:0c:29:70:fc:f5 |
00:0c:29:85:69:df |
網絡層Sender IP Address |
192.168.1.22 |
192.168.1.21 |
網絡層Target MAC Address |
00:00:00:00:00:00 |
00:0c:29:70:fc:f5 |
網絡層Target IP Address |
192.168.1.21 |
192.168.1.22 |
4.(1)比較ping1-學號中截獲的報文信息,少了什么報文?簡述ARP Cache的作用。
答:少了arp報文,ARP Cache的作用是存儲ARP協議,而ARP協議適用於匹配MAC地址和設備的硬件地址的。在通信前,主機會通過arp將IP地址解析出對應的mac地址,存放在arp表中,以便進行通信。
(2)按照圖-4重新進行組網,並確保連線正確。修改計算機的IP地址,並將PC A的默認網關修改為192.168.1.10,PC B的默認網關修改為192.168.2.10。考慮如果不設置默認網關會有什么后果?
答:如果不設置默認網關的話,會無法訪問不同網段的主機,但是仍能訪問同一網段內的主機。
5.根據2.6.2步驟12分析ARP報文結構:選中第一條ARP請求報文和第一條ARP應答報文,將ARP請求報文和ARP應答報文中的字段信息與上表進行對比。與ARP協議在相同網段內解析的過程相比較,有何異同點?
答:區別在於網關的作用,不在同一網段內就不能直接投遞,需通過默認網關間接發送。
|
相同網段 |
不同網段 |
請求報文網絡層 Target IP Address |
PCB的IP |
PCA的默認網關 |
應答報文鏈路層 Source |
PCB的MAC地址 |
PCA的默認網關S1 E1/0/1的MAC地址 |
應答報文網絡層 Sender MAC Address |
PCB的MAC地址 |
PCA的默認網關S1 E1/0/1的MAC地址 |
應答報文網絡層 Sender IP Address |
PCB的IP |
PCA的默認網關的IP |
6. 根據3.6.1步驟2——在PC A 和 PC B上啟動Wireshark軟件進行報文截獲,然后PC A ping PC B,分析截獲的ICMP報文: 共有 8 個ICMP報文,分別屬於哪些種類?對應的種類和代碼字段分別是什么?請分析報文中的哪些字段保證了回送請求報文和回送應答報文的一一對應?
答:
種類 |
代碼字段 |
request |
Type: 8 (Echo (ping) request) |
reply |
Type: 0 (Echo (ping) reply) |
網絡層的Source和Destination字段保證了回送請求報文和回送應答報文的一一對應。
7. 根據3.6.1步驟3——在PC A 和 PC B上啟動Wireshark軟件進行報文截獲,運行pingtest程序,設置地址掩碼請求報文參數,分析截獲報文填寫下表:
地址掩碼請求報文 |
地址掩碼應答報文 |
||
ICMP字段名 |
字段值 |
ICMP字段名 |
字段值 |
Type |
17 |
Type |
18 |
Code |
0 |
Code |
0 |
Checksum |
0xe3ff |
Checksum |
0xe3fe |
Identifier(BE) |
2560 (0x0a00) |
Identifier(BE) |
2560 (0x0a00) |
Identifier(LE) |
10 (0x000a) |
Identifier(LE) |
10 (0x000a) |
Sequence number (BE) |
256 (0x0100) |
Sequence(BE) |
256 (0x0100) |
Sequence number (LE) |
1 (0x0001) |
Sequence(LE) |
1 (0x0001) |
Address mask |
0.0.0.0 (0x00000000) |
Address mask |
255.255.255.0 (0xffffff00) |
8.根據3.6.1步驟4——在PC A 和 PC B上啟動Wireshark軟件進行報文截獲,運行pingtest程序,設置時間戳請求報文參數,分析截獲報文填寫下表:
時間戳請求報文 |
時間戳應答報文 |
||
ICMP字段名 |
字段值 |
ICMP字段名 |
字段值 |
Type |
13 |
Type |
14 |
Code |
0 |
Code |
0 |
Checksum |
0xe7ff |
Checksum |
0x1c96 |
Identifier(BE) |
2560 (0x0a00) |
Identifier(BE) |
2560 (0x0a00) |
Identifier(LE) |
10 (0x000a) |
Identifier(LE) |
10 (0x000a) |
Sequence number (BE) |
256 (0x0100) |
Sequence(BE) |
256 (0x0100) |
Sequence number (LE) |
1 (0x0001) |
Sequence(LE) |
1 (0x0001) |
Originate timestamp |
0 seconds after midnight UTC |
Originate timestamp |
0 seconds after midnight UTC |
Receive timestamp |
0 seconds after midnight UTC |
Receive timestamp |
13 hours, 54 minutes, 42.281 seconds after midnight UTC |
Transmit timestamp |
0 seconds after midnight UTC |
Transmit timestamp |
13 hours, 54 minutes, 42.281 seconds after midnight UTC |
通過上述實驗,仔細體會ICMP詢問報文的作用。
9. 根據3.6.2中步驟5回答:
(1) 請比較這兩種情況有何不同?
答:首先,由於ping的IP地址都與PCA不同網段,因此PCA會將報文發送給默認網關S1的E1/0/1。
對於第一種情況:ping 10.1.3.20,10.1.3.20在S1的E1/0/23端口的子網內,因此S1會將報文發送到E1/0/23端口。
對於第一種情況:ping 10.1.4.10,10.1.4.10不在S1的路由表中,因此S1認為10.1.4.10是不可達的,因此會回復Destination unreachable。
(2) 截獲了哪種ICMP差錯報文?其類型和代碼字段值是什么?此報文的ICMP協議部分又分為了幾部分?其作用是什么?
答:截取了終點不可達差錯報文,類型為Destination unreachable,代碼字段為3。此報文的ICMP協議部分又包括:Code,值為0代表網絡不可達;封裝的源Echo請求ICMP報文的IP層和ICMP層,表示該差錯報文來自來源於一個從10.1.2.10到10.1.4.10的Echo請求。
10.根據3.6.2中步驟6回答:
(1) 結合報文內容,簡述tracert的工作過程。
答:首先,PCA運行tracert向目的地址PCB發送具有不同IP生存時間(TTL,Time To Live)的ICMP Echo請求報文,在PCA到PCB的路徑上的每個路由都要在轉發該ICMP報文時將其TTL值-1。
當TTL = 0時,路由器向源主機PCA發送ICMP超時差錯報文。
而PCA通過向PCB發送TTL為1,2,......,n的Echo報文就可以獲得PCA到PCB的所有路徑信息
(2) 截獲了哪種ICMP差錯報文?其類型和代碼字段值是什么?
答:截獲到的是超時報文,類型為11:Time-to-live exceeded ,代碼字段為0(Time to live exceeded in transit);封裝的源Echo請求ICMP報文的IP層和ICMP層,表示該差錯報文來自來源於一個從10.1.2.10到10.1.4.10的Echo請求。
11.根據4.6中步驟1,,寫出tracert命令用到了IP協議報文的哪幾個字段?
答:tracert命令用到的IP協議報文的字段有:IP生存時間TTL(Time To Live)。
12.根據4.6中步驟2回答:觀察PC A和 PC B能否 ping通,結合截獲報文分析原因。
答:無法ping通,PCA上截獲了ARP的廣播請求報文,詢問10.1.3.10的物理地址(Who has 10.1.3.10),而PCB上沒有截獲到任何相關報文。
這是因為改變地址掩碼后,PCB的IP地址 & PCA的子網掩碼 = PCA的IP地址 & PCA的子網掩碼(& 指代按位取與)。因此PCA和PCB經過PCA子網掩碼mask之后的網絡地址是一樣的,從而PCA到PCB的報文會直接交付到本網絡,因此,PCA會直接發送ARP請求PCB的物理地址,這種行為顯然是不會有應答的,因此PCA不能ping通PCB。
13. 根據4.6中步驟3填寫下表:
Destination/Mask |
Protocol |
Pre |
Cost |
Nexthop |
Interface |
10.1.2.0/24 |
Direct |
0 |
0 |
10.1.2.1 |
Vlan2 |
10.1.2.1/32 |
Direct |
0 |
0 |
127.0.0.1 |
InLoop0 |
10.1.3.0/24 |
Direct |
0 |
0 |
10.1.3.1 |
Vlan3 |
10.1.3.1/32 |
Direct |
0 |
0 |
127.0.0.1 |
InLoop0 |
127.0.0.0/8 |
Direct |
0 |
0 |
127.0.0.1 |
InLoop0 |
127.0.0.1/32 |
Direct |
0 |
0 |
127.0.0.1 |
InLoop0 |
14. (1)按照實驗2的5.5節(PPP協議實驗)圖18配置路由器,兩個路由器相互ping,看能否ping通。根據R1上的debug顯示信息,畫出IPCP協議在協商過程中的狀態轉移圖(事件驅動、狀態轉移)。
答:
shutdown
undo shutdown
(2)將路由器R2的接口S0/0的IP地址改為10.0.0.1/24,兩台路由器能否ping通?並解釋為什么?注意體會IPCP協議的特點。(查看IPCP協議協商過程的debug信息)
答:可以ping通。因此為IPCP協議負責建立、使能和終止IP模塊,並給用戶分配一些上網必須的參數。地址修改后,IPCP重新協商再次達到打開狀態,使得鏈路聯通。
15. 根據5.6中步驟5:(選做)
(1)在截獲報文中,有 3 個ARP報文, 10 個ICMP:Echo報文, 5 個ICMP:Echo Reply報文, 15 個IP報文。
(2)據ping命令執行過程的分析,將本屬於同一個數據報文信息的報文截取出來,例如下列的報文,從信息欄中可以看出,報文1、2、3、4屬於同一數據段。
將第一個ICMP Request的報文分片信息填寫下表。
字段名稱 |
分片序號1 |
分片序號2 |
分片序號3 |
分片序號4 |
“Identification”字段值 |
0x00025(37) |
0x00025(37) |
0x00025(37) |
0x00025(37) |
“Flag”字段值 |
0x01 |
0x01 |
0x01 |
0x00 |
“Frame offset”字段值 |
0 |
80 |
160 |
240 |
傳輸的數據量 |
80 bytes |
80 bytes |
80 bytes |
68 bytes |
分析表格內容,根據IP首部字段設置,體會分片過程。
(3) ping的數據部分為300字節,路由器的以太網端口MTU設為100字節。回送請求報文為何被分片為4片而不是3片?數據部分長度為多少時報文正好被分為3片?
答:因為MTU為100字節,而每個分片報文都有20字節IP頭部信息,因此MTU為100字節時,數據字段只有100 - 20 = 80字節,而 300 ÷ 80 = 3 ...... 60,因此需要分為4片。
當數據部分長度為80 * 3 = 240字節時,報文正好被分為3片。
16 綜合型實驗(VLAN間路由實驗結果分析)
根據跨交換機VLAN間路由實驗(PCC ping PCD)所截獲報文,對整個網絡層和數據鏈路層的報文轉發過程進行分析。
約定如下:數據幀中的MAC地址對:(目的MAC地址,源MAC地址)
數據報中的IP地址對:(目的IP地址,源IP地址)
STEP 1
-
Ø PCC發送的第一個報文類型是什么?為什么?
答:arp,因為需要先獲得MAC地址到物理地址的映射關系才能聯通。
-
Ø 包含該報文數據幀中的VLAN id、MAC和IP地址對是:VLAN id= 2
MAC:(ff.ff.ff.ff.ff.ff ,MAC_PCC)
IP:(192.168.2.1,192.168.2.11)
STEP 2
-
Ø S2收到數據幀后,對其MAC地址表的操作是:
答: 插入PCC的MAC地址
Ø S2根據接收數據幀的端口所屬VLAN,在其中插VLAN id= 2 的標簽,並向除接收端口外的所有VLAN2端口轉發這個數據幀。
STEP 3
-
Ø S1收到數據幀后,對其MAC地址表的操作是:
答: 插入S2的MAC地址。
Ø S1將ARP 報文交付給網絡層,S1對其arp表的操作是:
答: 插入PAC的IP地址和MAC地址。
Ø S1發送的包含ARP Reply報文的數據幀中:(MAC_PCC, MAC_ VLAN 2)
(192.168.2.11,192.168.2.1);VLAN id= 2
STEP 4
Ø S2收到數據幀后,對其MAC地址表的操作是:
答: 插入S1的MAC地址。
Ø S2收到的數據幀后,根據VLAN標簽和 ARP 表,決定向端口 E0/1 轉發該數據幀;
Ø S2根據端口 E0/13 是 trunk 類型端口,去掉VLAN標簽,從端口 E0/1 轉發該幀。
STEP 5
Ø PCC收到ARP Reply報文,更新其ARP緩存,顯示ARP緩存的命令:
顯示的內容:
Ø PCC發送的包含ICMP Echo Request報文的數據幀中:VLAN id= 2
MAC:( MAC-S1 , MAC-PCC )
IP:( 192.168.2.11 , 192.168.2.1 )
STEP 6
Ø S2收到數據幀,根據其接收端口,添加VLAN2 標簽;根據目的MAC,查找MAC地址表;將數據幀由 E0/13 端口轉發給S1。
Ø S2轉發的數據幀中:VLAN id= 2
MAC:( MAC-S1 , MAC-PCC )
IP:( 192.168.2.1 , 192.168.2.11 )
STEP7
Ø S1收到S2轉發的數據幀,交付網絡層,根據目的IP地址,查路由表,將報文路由到int vlan 3,准備通過數據鏈路層交付給PCD;
Ø 但沒有查到PCD的MAC地址,就要發送包含ARP Request報文的數據幀; VLAN id= 3
MAC:( ff.ff.ff.ff.ff.ff , MAC-S1 )
IP:( broadcast , 192.168.2.11 )
STEP 8
Ø S2收到S1轉發的數據幀,根據其VLAN id= 3 ,向除接收端口外的所有屬於VLAN 3 的端口轉發該數據幀;
Ø S2根據端口 E0/13 是 trunk 類型端口,去掉VLAN標簽,從端口 E0/24 轉發該幀。
STEP 9
Ø PCD收到S2轉發的數據幀,更新其ARP緩存,其ARP緩存的內容是:
Interface: 192.168.3.11 --- 0x2
Internet AddressPhysical Address Type
192.169.3.138-91-d5-72-4b-95dynamic
Ø PCD發送包含ARP reply報文的數據幀中;VLAN id= 3
MAC:( MAC-S1 , MAC-PCD )
IP:( 192.168.3.1 , 192.168.3.11 )
STEP 10
Ø S2收到數據幀,根據其接收端口,添加VLAN 3 的標簽;根據目的MAC,查找MAC地址表;將數據幀由
E0/13 端口轉發給S1。
Ø S2轉發的數據幀中:VLAN id= 3
MAC:( MAC-S1 , MAC-PCD )
IP:( 192.168.3.1 , 192.168.3.11 )
STEP 11
Ø S1收到數據幀,提交到網絡層,更新其ARP表;
Ø S1對包含ICMP Echo Request報文的數據幀的VLAN標簽進行替換,由VLAN id= 2 變為VLAN id= 3 。封裝的數據幀中:VLAN id= 3
MAC:( MAC-PCD , MAC-S1 )
IP:( 192.168.3.11 , 192.168.3.1 )
Ø 查找MAC地址表,由 E0/13 端口發送。
STEP 12
Ø S2收到S1轉發的數據幀,根據其VLAN id和目的MAC地址,向 E0/24 端口轉發該數據幀;
Ø 同時,S2根據端口 E0/13 是 trunk 類型端口,去掉VLAN標簽,從端口 E0/24 轉發該幀。
STEP 13
Ø PCD收到包含ICMP Echo Request報文的數據幀,發送包含ICMP Echo Reply報文的數據幀:VLAN id= 3
MAC:( MAC-S1 , MAC-PCD )
IP:( 192.168.3.1 , 192.168.3.11 )
STEP 14
S2收到數據幀,根據其接收端口,添加VLAN 3 的標簽;根據目的MAC,查找MAC地址表;將數據幀由 E0/13 端口轉發給S1。
Ø S2轉發的數據幀中:VLAN id= 3
MAC:( MAC-S1 , MAC-PCD )
IP:( 192.168.3.1 , 192.168.3.11 )
STEP 15
Ø S1收到S2轉發的數據幀,交付網絡層,根據目的IP地址,查路由表,將報文路由到int vlan2,准備通過數據鏈路層交付給PCC;
Ø 查找PCC的MAC地址,替換VLAN標簽,封裝並發送數據幀;VLAN id= 2
MAC:( MAC-PCC , MAC-S1 )
IP:( 192.168.2.11 , 192.168.2.1 )
STEP 16
Ø S2收到S1轉發的數據幀,根據其VLAN id和目的MAC地址,向 E0/1 端口轉發該數據幀;
Ø 同時,S2根據端口 E0/13 是 trunk 類型端口,去掉VLAN標簽,從端口 E0/1 轉發該幀。
這樣,PCC收到S2轉發的包含ICMP Echo Reply報文的數據幀。第一輪ICMP詢問和應答過程結束。
17. 設計型實驗
如圖,某公司要建設公司網絡,從網絡服務商處租用了一個C類地址202.108.100.*/24,接網絡服務商路由器的地址如圖所示,請給出設計方案,滿足如下要求:
1) 網絡划分子網數越多越好,但每個子網的主機數大於15台;
2) 所有用戶都能上網,即要求所有主機都能ping通網絡服務商路由器的E0口。
提示:如圖所示,划分好子網后,在路由器和三層交換機上要配置靜態路由。
答:222.108.100.*/24 => 1101 1110 . 0110 1100 . 0110 0100 . * / 24。
因此 /24一共可分配256個地址,而且每個子網主機數要求大於15台,也就是每個子網主機數最小為16台,可如此分配: 256 = 128 * 2 = (64 * 2) * 2 = ((32 * 2) * 2) * 2 = (((16 * 2) * 2) * 2) * 2 = 16 * 16。
假如每個子網都分配16台主機,則可划分16個子網,前綴n都為/28
分配IP為:令k=16*(i-1), 則VLAN i的IP為202.108.100.k/28,其中i = 1,2,3,...,16。網絡結構如題圖,