2014年10月31日 星期五

TCP(Transmission Control Protocol,傳輸控制協定)

TCP的工作就是確保資料在網路上能夠安全正確的傳輸,提供flow control(流量控制)的特性。TCP使用IP來傳送封包上一層的應用程式,並建立connection-oriented(連結導向)的傳輸資料。
TCP在傳輸前會先將封包分割成小封包,再加上編號後傳出資料。最後接收端會檢查是否全部收到?是否有錯誤的封包?確認無誤後便組合起來。

TCP功能

1.Sequence Number(循序編號):為每一個封包加上編號,因為封包不一定先傳先到所以可靠此編號還重新組合。

2.Acknowledgement(確認):在接收到封包後回傳一個"我已接收"的確認封包。

3.Checksum(錯誤檢查):在每一個封包的表頭中加上檢查欄位,如果接收端發現檢查值不合,就不會發出確認封包。

4.Retransmission(重送):經過一段時間發送端沒有收到確認封包就會重送該封包。


TCP封包格式


TCP的特性

1.Connection-Oriented(連結導向):在發送資料前,會先建立一個虛擬電路(Virtual Circuit),建立後資料就可以在這條虛擬電路中開始傳送資料。

2.Reliable(可靠性):確認、檢查、重送是TCP可靠性的依據。

3.Inefficient(效率較低):由於TCP協定是屬於『連線導向』、『可靠的』協定也就多出了很多封包傳輸前的確認動作,在傳輸過程中又多了等待對方Acknowledge的時間,因此在傳輸的整體過程中比較沒有效率,但卻可以保證將TCP封包正確地傳送到接收端。

4.Flow Control(流量控制):由於每一位使用者的電腦軟、硬體設備不一定相同,當接收的雙方設備等級差太多時,傳輸過程中,處理速度較慢的接收端,會因為來不及處理瞬間傳入的資料,而造成資料遺失,並要求重傳,無形中已造成不必要的浪費,TCP具有流量控制功能,可以協調彼此雙方都能接受的傳送速度,避免因為大量的接收封包,而造成主機無法負荷進而丟棄(discard)封包。



3-way handshaking
3-way handshaking(三向式握手程序)

步驟一:
要建立連線時發送端會將封包內的SYN(Synchronize,同步)設為1,其他設為0傳給接收端以進行同步要求。這代表"我要進行同步連結"

步驟二:
接收端收到這個封包時,如果符合要求,就會傳送一個SYN=1,ACK=1的封包,讓發送端知道已收到同步確認。這代表"你要同步連結,我已收到"

步驟三:
發送端會將SYN設為0、ACK設為1的封包,這代表"了解我要開始送資料了"。


TCP封包傳送與接收


TCP封包傳送與接收


步驟一:
發送端傳送封包並啟動定時器(Timer),此時接收端收到並檢查完序號後又回傳一個確認封包給發送端因為在逾時前收到所以完成第一個封包的接收。

步驟二:
發送端傳送封包並啟動定時器(Timer),此時接收端並未收到或是來不及處裡,因此發送端逾時。所以重新傳送。


Sliding Window(滑動視窗):







滑動視窗的流量控制方法:
發送端在收到確認訊息之前,可以連續傳送多個訊框。
滑動視窗用一個ACK來表示收到多個資料訊框。
所有滑動視窗是指發送端與接收端各有一個窗口,用來控制目前訊框送收狀態。
訊框可以隨時被確認,不用等到窗口填滿。
每個訊框 都有一個編號,從 0~n-1 (modulo n)。
譬如,若n=4,則訊框的編號為0~3之間變化,請注意,視窗的大小是n-1。
換言之,傳送端與接收端都能保存n-1個訊框,所以接收端在送回確認訊框之前,傳送端最多可送出n-1個訊框


ARP(Address Resolution Protocol,位址解析協定)

在乙太網路上,電腦要相互通訊時必須透過網路卡的MAC位址來識別對方。
網路卡可以使用ARP來尋找對方,一旦知道對方的MAC位址,資料鏈結層便可與對方進行點對點的通訊。

當對方與我們同一網段,我們欲送封包給它,卻沒有對方的MAC位址時,ARP協定便開始運作



2014年10月29日 星期三

IP(Internet protocol ,網際網路協定)



IP是構成網際網路重要的一環,它負責網路傳輸的邏輯位址,同時也具備網路定址能力,可以讓網路上的兩台電腦互相收發資料。


為什麼電腦需要IP:
IP就像住址一樣,在進行通訊時,就可以區分來源端及目的端,在經路由後送達目的。那麼你一定會問,那為什麼不用實體位址MAC當作住址就好了?那是因為MAC是靠廣播來做通訊,如果只靠廣播就好比在一間體育館裡面有十萬人同時進行廣播,在實際上和處理上都不可能辦到因此就需要IP來區分邏輯網路,所以這又衍生出了ARP和RARP這兩種協定來輔助對應的IP和MAC。

IP是由誰負責分配的:
全球的IP是由ICANN(Internet Corporation for Assigned Names and Numbers)所進行分配的因此要成立新的區域性網際網路就要向ICANN提出聲請。
在台灣則是TWNIC負責網域名稱及IP分配。
  
主要功能:
1.定址(Addressing)
為了讓資料可以在各種不同類型的傳輸媒介、電腦系統間有效的傳輸,為此制定了定址來辨別網際網路中的每台電腦。(就像郵差要送信之前要先查看"地址"一樣)

2.封包的切割與再組合
封包的傳輸過程中可能會經過不同的實體網路,例如從廣域網路送至區域網路,而每一種鏈結技術都有定義最大封包長度的限制(MTU,Maximum Transfer Unit),所以有時必須切割成數個較小的封包,才能繼續傳送到目的。封包的切割(Fragmentation)和再組合(Reassemble)是屬於連線服務的IP工作。

3.IP路由(Routing)
網際網路的情況隨時都有可能改變,所以每次走的路徑也不一定相同,因此IP路由的功能就可幫助封包尋找傳送的路徑。

IP的特性:
1.Connectionless(非連結導向)
每個封包都視為獨立個體,所走的路徑也可能不同,也不一定先送就先到。

2.Unreliable(不可信賴性)
IP封包送出去就不管它的死活了,沒到達目的也不予理會,好處就是效率、機動性高。

3.Best-Effort Delivery(盡力傳送)
因為發送者不管封包之後的下場,為了讓這些孩子不在網路中遊蕩形成負擔,每個封包都會給一個生命期(Finite Packet Lifetime),經過一定的時間後,就會自動消失。


IP封包格式

IP位址=網路位址+主機位址

IP分為5個級別A、B、C、D、E


A有8個網路位元+24個主機位元 遮罩為255.0.0.0
B有16個網路位元+16個主機位元 遮罩為255.255.0.0
C
有24個網路位元+8個主機位元 遮罩為255.255.255.0

2014年10月27日 星期一

第三層 網路層(Network layer)

目前所在位置


網路層的為何會產生,這是網路發展所造成的結果,在線路交換和連線系統的環境中,網路層功能的意義並不大。當主機的數量增加時,主機之間就會衍生出中間設備,如果有一台主機希望不只與一台而是和多台不同網段的主機進行溝通,這就會產生路由的問題,當一條物理線路建立後,如果只有一對用戶在使用就會因為出現閒置時間而被浪費掉,所以我們就會希望讓多對的用戶用戶共用一條鏈路為解決這一問題就出現了邏輯通道技術和虛擬電路技術。

網路層主要功能:

1路由選擇和中繼。
2啟動,終止網路連接。
3在一條資料連結上複用多條網路連接,大都採取分時多工技術 。
4錯誤檢測與恢復。
5排序、流量控制。
6服務選擇。
7網路管理。


RARP:
NAT:

路由協定 EIGRP 設定



設定需求:
1. 三部 Cisco 1841 路由器基本設定
1.1 路由器名稱分別為 R1、R2 與 R3
1.2 加密之特權模式密碼為 Nanya
1.3 主控台使用者模式之密碼為 CSIE
1.4 虛擬終端機使用者模式之密碼為 Cisco
1.5 介面之編號、IP及其網路遮罩分別如圖所標示的資料進行設定
1.6 兩部路由器之間的 Serial 為 E1 電路 (2Mbps)
1.7 路由器所有密碼均設定加密保護
R1
Router>enable
Router#configure  terminal
Router(config)#hostname R1
R1(config)#enable secret Nanya
R1(config)#line console 0
R1(config-line)#password CSIE
R1(config-line)#login
R1(config-line)#exit
R1(config)#line vty 0 4
R1(config-line)#password Cisco
R1(config-line)#login
R1(config-line)#exit
R1(config)#interface fastEthernet 0/0
R1(config-if)#ip address 192.168.1.254 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface serial 0/0/0
R1(config-if)#ip address 192.168.2.1 255.255.255.252
R1(config-if)#no shutdown
R1(config-if)#clock rate 2000000
R1(config-if)#exit
R1(config)#service password-encryption


R2
Router>enable
Router#configure terminal
Router(config)#hostname R2
R2(config)#enable secret Nanya
R2(config)#line console 0
R2(config-line)#password CSIE
R2(config-line)#login
R2(config-line)#exit
R2(config)#line vty 0 4
R2(config-line)#password Cisco
R2(config-line)#login
R2(config-line)#exit
R2(config)#interface fastEthernet 0/0
R2(config-if)#ip address 10.1.1.254 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface serial 0/0/0
R2(config-if)#ip address 192.168.2.2 255.255.255.252
R2(config-if)#no shutdown
R2(config-if)#interface serial 0/0/1
R2(config-if)#ip address 192.168.2.5 255.255.255.252
R2(config-if)#no shutdown
R2(config-if)#clock rate 2000000
R2(config-if)#exit
R2(config)#service password-encryption


R3
Router>enable
Router#configure terminal
Router(config)#hostname R3
R3(config)#enable secret Nanya
R3(config)#line console 0
R3(config-line)#password CSIE
R3(config-line)#login
R3(config-line)#exit
R3(config)#line vty 0 4
R3(config-line)#password Cisco
R3(config-line)#login
R3(config-line)#exit
R3(config)#interface fastEthernet 0/0
R3(config-if)#ip address 172.16.1.126 255.255.255.128
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#interface serial 0/0/1
R3(config-if)#ip address 192.168.2.6 255.255.255.252
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#service password-encryption

2. 三部PC指定IP、遮罩及預設閘道
2.1 使用如圖所標示的資料進行設定


pc1
IP address            192.168.1.1
Subnet Mask         255.255.255.0
Default Gateway   192.168.1.254


pc2
IP address            10.1.1.1
Subnet Mask         255.255.255.0
Default Gateway   10.1.1.254


pc3
IP address            172.16.1.1
Subnet Mask         255.255.255.128
Default Gateway   172.16.1.126

3. 路由協並設定
3.1 三部路由器均使用 EIGRP 作為其路由協定
3.2 自治系統號碼為100
3.3 啟用非自動總結
3.4 測試兩端之PC能否正常互相 ping 通


R1
R1(config)#router eigrp 100
R1(config-router)#network 192.168.1.0 0.0.0.255
R1(config-router)#network 192.168.2.0 0.0.0.3
R1(config-router)#no auto-summary
R1(config-router)#^Z


R2
R2(config)#router eigrp 100
R2(config-router)#network 192.168.2.0 0.0.0.3
R2(config-router)#network 10.1.1.0 0.0.0.255
R2(config-router)#network 192.168.2.4 0.0.0.3
R2(config-router)#no auto-summary
R2(config-router)#^Z


R3
R3(config)#router eigrp 100
R3(config-router)#network 172.16.1.0 0.0.0.127
R3(config-router)#network 192.168.2.4 0.0.0.3
R3(config-router)#no auto-summary
R3(config-router)#^Z


4. 測試網路均能正常運作,將所有設定檔儲存起來

R1
R1#copy running-config startup-config


R2
R2#copy running-config startup-config


R3

R3#copy running-config startup-config

路由器RIPv2動態路由設定







1. Cisco 1841 R1路由器的組態設定請由PC0利用Telnet遠端登入進行設定
加密之特權模式密碼為 ccnaen
主控台使用者模式之密碼為 ccnacon
虛擬終端機使用者模式之密碼為 ccnavty
(1) FastEthernet 0/1 介面之 IP為 Net2最後一個可使用IP
(2) Serial 0/0/0 介面之 IP為 Net6第一個可使用IP
(3) 依據拓樸資料啟動動態路由協定RIPv2並設定為非自動總結
(4) 關閉不必要的RIP更新訊息
(5) 將所有設定檔儲存起來


PC>telnet 192.168.1.126
Password: ccnavty
R1>enable
Password: ccnaen
R1#config terminal
R1(config)#interface fastEthernet 0/1
R1(config-if)#ip address 192.168.1.222 255.255.255.224
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface serial 0/0/0
R1(config-if)#ip address 192.168.1.249 255.255.255.252
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#net 192.168.1.0
R1(config-router)#net 192.168.1.192
R1(config-router)#net 192.168.1.248
R1(config-router)#no auto-summary
R1(config-router)#passive-interface f0/1
R1(config-router)#passive-interface f0/0
R1(config-router)#^Z
R1#copy running-config startup-config

2. Cisco 1841 R2路由器進入控制台埠進行下列設定
(1) 路由器名稱設定為 R2
(2) 加密之特權模式密碼為 tiiten
(3) 主控台使用者模式之密碼為 tiitcon
(4) 虛擬終端機使用者模式之密碼為 tiitvty
(5) 路由器所有密碼均設定加密保護
(6) FastEthernet 0/0 介面之 IP為Net3最後一個可使用IP
(7) FastEthernet 0/1 介面之 IP為Net4最後一個可使用IP
(8) Serial 0/0/0 介面之 IP為Net6最後一個可使用IP,提供兩部路由器之間的電路為64000bps
(9) Serial 0/0/1 介面之 IP為Net7第一個可使用IP,提供兩部路由器之間的電路為2Mbps
(10) 依據拓樸資料啟動動態路由協定RIPv2並設定為非自動總結
(11) 關閉不必要的RIP更新訊息
(12) 將所有設定檔儲存起來

Router>enable
Router#configure  terminal
Router(config)#hostname R2
R2(config)#enable secret tiiten
R2(config)#line console 0
R2(config-line)#password tiitcon
R2(config-line)#login
R2(config-line)#exit
R2(config)#line vty 0 4
R2(config-line)#password tiitvty
R2(config-line)#login
R2(config-line)#exit
R2(config)#service password-encryption
R2(config)#interface fastEthernet 0/0
R2(config-if)#ip address 192.168.1.190 255.255.255.192
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface fastEthernet 0/1
R2(config-if)#ip address 192.168.1.246 255.255.255.248
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface serial 0/0/0
R2(config-if)#ip address 192.168.1.250 255.255.255.252
R2(config-if)#no shutdown
R2(config-if)#clock rate 64000
R2(config-if)#exit
R2(config)#interface serial 0/0/1
R2(config-if)#ip address 192.168.1.253 255.255.255.252
R2(config-if)#no shutdown
R2(config-if)#clock rate 2000000
R2(config-if)#exit
R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#net 192.168.1.248
R2(config-router)#net 192.168.1.252
R2(config-router)#net 192.168.1.240
R2(config-router)#net 192.168.1.128
R2(config-router)#passive-interface f0/0
R2(config-router)#passive-interface f0/1
R2(config-router)#no auto-summary
R2(config-router)#^Z
R2#copy running-config startup-config

3. Cisco 1841 R3路由器進入控制台埠進行下列設定
(1) FastEthernet 0/0 介面之 IP為Net5最後一個可使用IP
(2) Serial 0/0/1 介面之 IP為最後一個可使用IP
(3) 依據拓樸資料啟動動態路由協定RIPv2並設定為非自動總結
(4) 關閉不必要的RIP更新訊息
(5) 將R3與ISP設定為預設繞送並啟用default-information originate
(6) 將所有設定檔儲存起來


R3>enable
R3#configure terminal
R3(config)#interface fastEthernet 0/0
R3(config-if)#ip address 192.168.1.238 255.255.255.240
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#interface serial 0/0/1
R3(config-if)#ip address 192.168.1.254 255.255.255.252
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#router rip
R3(config-router)#version 2
R3(config-router)#net 192.168.1.252
R3(config-router)#net 192.168.1.224
R3(config-router)#net 192.168.2.0
R3(config-router)#no auto-summary
R3(config-router)#passive-interface f0/0
R3(config-router)#passive-interface s0/0/0
R3(config-router)#ip route 0.0.0.0 0.0.0.0 192.168.2.2
R3(config)#router rip
R3(config-router)#default-information originate
R3(config-router)#^Z
R3#copy running-config startup-config

4. 個人電腦
(1) PC-PT PC1之IP為Net1第二個可使用IP
IP address            192.168.1.2
Subnet Mask         255.255.255.128
Default Gateway   192.168.1.126

(2) PC-PT PC2之IP為Net2第一個可使用IP
IP address            192.168.1.193
Subnet Mask         255.255.255.224
Default Gateway   192.168.1.222

(3) PC-PT PC3之IP為Net3第一個可使用IP
IP address            192.168.1.129
Subnet Mask         255.255.255.192
Default Gateway   192.168.1.190

(4) PC-PT PC4之IP為Net4第一個可使用IP
IP address            192.168.1.241
Subnet Mask         255.255.255.248
Default Gateway   192.168.1.246

(5) PC-PT PC5之IP為Net5第一個可使用IP
IP address            192.168.1.225
Subnet Mask         255.255.255.240
Default Gateway   192.168.1.238


5. 於個人電腦PC-PT PC0上使用ping測試與PC-PT PC1、PC-PT PC2、PC-PT PC3、PC-PT PC4、PC-PT PC5是否連通,並利用HTTP連至ISP1伺服器。


ping 192.168.1.2
ping 192.168.1.193
ping 192.168.1.129
ping 192.168.1.241
ping 192.168.1.225