網路運作原理
內容大綱 Network Interface Communication Protocol OSI 7-layer
通訊協定介紹
IPCONFIG C:\Documents and Settings\Administrator>ipconfig -all Ethernet adapter 區域連線: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : SiS190 100/10 Ethernet Device Physical Address. . . . . . . . . : 00-17-31-3A-13-26 Dhcp Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IP Address. . . . . . . . . . . . : 192.168.1.4 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.1 DHCP Server . . . . . . . . . . . : 192.168.1.1 DNS Servers . . . . . . . . . . . : 168.95.192.1 168.95.1.1 Lease Obtained. . . . . . . . . . : 2008年3月22日 下午 02:34:17 Lease Expires . . . . . . . . . . : 2008年3月23日 下午 02:34:17 台中 ADSL 的電腦資料
網路卡與其運作原理 網路卡扮演電腦與網路線間的橋樑(Network Interface) 網路卡的功能: a. 從電腦獲得資料給予網路纜線 b. 送資料給其他電腦 c. 控制兩端電腦與纜線系統速率的調整 d. 接收資料 Network interface: the point connect to network
電腦通訊的資料交換(1) 傳送方電腦 辨識資料 將資料分成一小小的資料區段,便於協定可以處理 將每一個資料區段附上發送者與目的地電腦的位址,以便傳送到對方 增加時間戳記與錯誤檢查碼 將資料放在網路卡,並送入網路線上送出
電腦通訊的資料交換(2) 接收方電腦 需要一套電腦間傳送資料的標準:通訊協定(Communication Protocol) 將資料從纜線接收。 將資料從網路卡中取出。 將資料的標頭、標尾等控制資訊取出。 將去除控制資訊的資料段依序組合成應用程式可用的資料。 需要一套電腦間傳送資料的標準:通訊協定(Communication Protocol)
通訊協定 (Communication Protocol) 網路通訊協定是網路上各個機器間的社會規範,描述電腦之間對於彼此通訊行為的一種期待。 Example:A says Hello!B says Hi! 這種「對於對方合理反應的期待」就是通訊協定。
通訊協定是否有共通點 我們希望能夠找到一套系統來說明所有的網路? Networks are complex! many “pieces”: hosts routers links of various media applications protocols hardware software 我們希望能夠找到一套系統來說明所有的網路? 網路的組織架構 網路的運作方式 用來設計新的通訊協定 讓新舊的通訊協定,網路元件可並存不會互相衝突
ISO OSI 參考模型 不同廠商各自發展其系統的通訊協定,各有目的與優點。 建立一套公認且通用的參考架構,可以釐清資料通訊的專用術語,彼此間的對應關係 ISO OSI 參考模型 國際標準組織(International Standards Organization,ISO) 開放系統互連參考模型(Open System International reference model,OSI) 開放系統互連參考模型(Open System International reference model,OSI) OSI 定義一個指導性的規範, 說明 兩台可能完全不相同的電腦(不同的 OS, hardware, i.e., 架構完全不同) 應該如何溝通, 所以電腦應該有那些功能, 這些功能和其他電腦間的關係 句子中的 system, component 都是指 computers 或具有 network 功能的設備. 不同廠商各自發展其系統的通訊協定,各有目的與優點。建立一套公認且通用的參考架構,可以釐清資料通訊的專用術語,彼此間的對應關係,所以雖然有這麼多不同架構的電腦與不同的通訊軟硬體,但仍可以用OSI model來看待它們運作的方式。
OSI 7-layer 層級架構 定義概念性功能 Why layering? Dealing with complex systems: explicit structure allows identification, relationship of complex system’s pieces layered reference model for discussion modularization eases maintenance, updating of system change of implementation of layer’s service transparent to rest of system e.g., change in gate procedure doesn’t affect rest of system layering considered harmful?
OSI 各層的功能 網路應用程式 應用層:讓各網路的AP有一套統一遵循規則 表述層:讓資料呈現方式有一致的標準 會議層:管理應用程式間的協議過程 傳輸層:提供 end-to-end 的錯誤偵測和更正 網路層:建立 source 與 destination 間的連線 資料鏈結層:提供 point-to-point 可靠的連線 實體層:定義網路媒介的實體特性
Connections between Hosts Point-to-point:the connection between two adjacent hosts End-to-End:the connection between source and destination hosts source destination node end link
OSI 參考模型的運作
OSI各層次的運作 同一機器上,每一層都只提供服務給上層和要求下層提供服務 不同機器上,每一層都只與同一層交談 Ex:layer 3layer 4layer 5 不同機器上,每一層都只與同一層交談 Ex:layer 4 只與 layer 4 談資料流量的問題 Note:透過雙方的 layer 3 提供傳話的服務
通訊協定的資料包裝與拆裝
OSI 的資料格式名稱 資料鏈結層:框架(frame)for 802系列、x.25 網路層:封包(packet)for x.25 或資料流(datagram)for IP 傳輸層:區段(segment)for TCP 或封包(packet)for UDP 應用層:訊息(message)for UDP 或資料流(stream)for TCP
實體層(Physical Layer) 負責兩個相臨節點(node)之間,經由實際的傳輸線路,傳送一連串的位元 定義載送資料硬體的特性:電壓準位、介面接腳數目與位置、最大傳輸距離、實體資料傳輸速率、編碼及解碼、亂碼及順碼 Example:RS232C、IEEE802.3 LAN的纜線標準、光纖標準 ....100111010110000011101010100111001.....
資料鏈結層 (Data Link Layer) C 資料鏈結層 (Data Link Layer) A B network 提供兩個相臨節點(node)之間可靠的(reliable)底層實體傳輸服務 定義框架(frame)格式,nodes共享實體網路的方式,判斷實體層是否傳送錯誤,解決資料的錯誤或遺漏、重覆接收、資料到達順序不對的問題 Example:IEEE 802 系列 Ethernet Frame Preamble Destination Source Type Data FCS 8 6 6 2 46-1500 4
可靠 v.s. 不可靠 可靠(reliable):檢查資料是否依適當順序正確地傳過網路。 不可靠(unreliable):表示此協定不包含驗證資料是否正確到達網路另一端的技術。
媒體存取控制層(Media Access Layer,MAC) 存取模式(Access Methods)定義電腦如何將資料放置纜線以及如何將資料從纜線中取出的規則,即定義電腦如何共享實體網路。 對應於OSI 的資料鏈結層內的MAC Layer定義如何使用傳輸媒介做資料傳送的網路協定。 Logic Link Control Data Link Layer Media Access Control
邏輯鏈結控制層(Logical Link Control Layer,LLC) MAC上層的LLC Layer,負責處理資料的錯誤或遺漏或重覆接收等問題,便確保資料正確到達對方。 Data Link Layer =LLC+MAC MAC通常為 hardware control。 LLC Data Link Layer MAC
驅動程式 驅動程式(driver)通常位於此層(Data Link Layer),是用來協調電腦系統與某周邊設備進行溝通的軟體(firmware)。 Driver也負責資料的收送。 位於MAC Layer上方。
網路層(Network Layer) 建立來源電腦(source)與目的電腦(destination)間的網路路徑(path)。 管理路徑上定址、封包交換、路由選擇、控制封包(packet)的壅塞(congestion)來傳遞資料。 Example:Internet Protocol C B A D network 1 network 2 network 3 AB BC CD
可路由 v.s. 不可路由 可路由(Routable):協定提供與其他區域網路溝通的功能。 不可路由(Nonroutable ):僅能在自己的區域網路內運作的協定。 Microsoft 的網路芳鄰是 nonroutable
傳輸層(Transport Layer) 建立端點對端點(end-to-end),i.e.,source與destination間的可靠的傳播路徑。 負責提供兩個使用者之間以原先約定的通訊品質來傳送資料。 連接導向connection 非連接導向connectionless Example:TCP、UDP
可靠的傳播路徑 Source-to-destination (end-to-end) delivery of the entire message. 提供通訊品質:流量控制、錯誤檢查與更正、反多工、重傳 a b c d a b c d 1 2 3 c d b a d c b a 4 5
連結導向 v.s. 非連結導向 連結導向(connection-oriented):在傳送資料前,會和遠端主機交換控制訊息(handshake),以確定對方已準備好接收資料。當handshake完成,就表示已建立connection。 非連結導向(connectionless):表示此協定將每一筆資料視為獨立的個體,只負責將訊息傳到網路上,不檢查資料是否被正確的接收。
流量控制(flow control) 控制網路上傳送資料的速度,以避免因接收端電腦的緩衝器已滿,從網路上新接收的資料必須丟棄。
多工(Multiplexing) 多工是將多筆 OSI第 n 層應用程式的通訊連線合在一起,使用第 n-1 層的一條通訊連線 。 n layer (ex: AP layer) n-1 layer (ex: TCP layer)
反多工(De-multiplexing) 反多工(de-multiplexing):將一筆 OSI 第n-1層的通訊連線,依據其不同的服務對象,分送給多個第 n 層的通訊軟體 。 IP 利用 protocol number 指定傳輸層 傳輸層利用 port number 指定應用程式 AP layer TCP layer
會議層(Session Layer) 處理兩個端點應用程式之process-to-process的溝通,以決定彼此間對談的方式。 例如對談時由那一端發送,何時發送,發送多久,若網路中斷將由誰重傳。 synchronization point System A System B section user A-1 c a b c d a acknowledge user B-1 b d user A-2 c
表述層(Presentation Layer) 定義兩端主機間資料交談的語法或格式 此層提出一套標準的程序,讓資料轉成一致的格式,以方便在網路上傳送。另一端的傳輸層再將其轉譯回應用程式所接受的樣子。 Example:處理不同字集的轉換(EBCDICASCII)、資料的壓縮與還原、加密與解密、圖形的處理 TCP/IP 將此層工作交由AP處理。
應用層(Application Layer) 提供使用者(i.e., 網路應用程式)使用網路的資源,建立連線的層級 使用者必須依照此層的規範來寫自己的應用程式 Example: 檔案傳輸協定(File Transfer Protocol,FTP) CuteFTP、Ws_ftp等應用程式 模擬終端機協定(Telnet)NetTerm 、telnet等應用程式
常見的通訊協定 應用層 表述層 會議層 傳輸層 網路層 資料鏈結層 實體層 TCP UDP SPX x.25 PLP IP IPX SMTP、FTP SNMP NetWare Service TCP UDP SPX x.25 PLP IP IPX 802.2 LLC x. 25 LAP/LAPB token ring FDDI Ethernet 光纖、雙絞線、無線通訊、同軸電纜
連結程序(Binding Process) 連結不同的協定堆疊運作。 連結程序A連結協定A、E、F、G。 連結程序B連結協定A、C 、 E、F、G。 協定 G 協定 F 協定 D 協定 E 協定 B 協定 C 協定 A binding process A binding process B
ISO OSI 參考模型堆疊 為何要階層化? 模組化 替代性 擴充性