一、網絡通信模式和網絡協議
分散式、集中式和分布式
在早期的計算機網絡中,為了有效的利用計算機,一般講數據通信模型分為分散式(Decentralized)、集中式(Centralized)和分布式(Distributed)。
1、分散式
在分散式系統中,用戶只需要管理自己的計算機系統,各自獨立的系統之間沒有資源或信息的交換或共享。這種模型由于存在大量共享數據的重復存儲,除了引起數據冗余之外,也很容易導致一個企業組織內各部門數據的不一致性,同時還會造成硬件,支持和運營維護等成本的大量增加,因此早淘汰。
2、集中式
在集中式環境中,用一臺主機算計保存一個企業組織的全部數據,而用戶則通過終端連接到這臺主機計算機系統并與之通信,從而達到訪問數據的目的。終端是包含鍵盤和顯示器設備,通過通信鏈路發送和接受數據。
集中式優點是所有運作和管理處于單個部門主持與控制之下,硬件成本低。另外,由于資源集中,既促進和方便了用戶間的數據共享,又減少或消除了數據的冗余與不一致性。但是,集中式的缺點也很明顯,首先,可靠性不如分布式,一旦主機出現故障,所有系統全部癱瘓。其次,集中式環境不能充分滿足各個部門或用戶的計算需求,這是因為系統所有部門和用戶數據都共享,無法滿足特殊部門的特殊要求;系統響應也會變慢。
3、分布式
分布式系統是分散式系統和集中式系統的混合,它由一個又一個的計算機連接起來的獨立計算機組成。相應的數據也是分布在其他計算機上,不會因為一臺計算機出現故障而無法使用的情況出現,更安全可靠,而且為不同的用戶設置個性化服務。
C/S模型
C/S(Client/Server)模型也叫C/S模式,它是分散式、集中式以及分布式的基礎上發展來的一種新的模型,C/S模型將一個網絡事務處理分為兩部分,一部分為客服端(Client),它為用戶提供網絡請求服務接口;另一部分是服務端(Server),它負責接收客服端對服務的請求,并將這些服務透明的提供給用戶。
B/S模型
B/S(Browse/Server)模型也叫B/S模式,它是一種基于WEB通信模型,使用HTTP(Hypertext Transfer Protocol,超文本傳輸協議)通信。
P2P模型
P2P(Peer-to-Peer,對等互連),每個聯網的計算機運行一個應用程序的Client部分和Server部分。
TCP/IP網絡協議
OSI(Open System Interconnect,開放式系統互連)七層參考模型,它將通信協議抽象為7層(由于較復雜,在實際應用中很少)。
廣泛應用的TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協議/因特網互聯協議),又名網絡通訊協議,是Internet最基本的協議、Internet國際互聯網絡的基礎,由網絡層的IP協議和傳輸層的TCP協議組成。
TCP/IP協議不是TCP和IP這兩個協議的合稱,而是指因特網整個TCP/IP協議族。
TCP/IP協議模塊關系
從協議分層模型方面來講,TCP/IP由四個層次組成:網絡接口層、網絡層、傳輸層、應用層。
網絡接口層
物理層是定義物理介質的各種特性:
1、機械特性;
2、電子特性;
3、功能特性;
4、規程特性。
數據鏈路層是負責接收IP數據包并通過網絡發送,或者從網絡上接收物理幀,抽出IP數據包,交給IP層。
ARP是正向地址解析協議,通過已知的IP,尋找對應主機的MAC地址。
RARP是反向地址解析協議,通過MAC地址確定IP地址。比如無盤工作站還有DHCP服務。
常見的接口層協議有:
Ethernet 802.3、Token Ring 802.5、X.25、Frame relay、HDLC、PPP ATM等。
網絡層
負責相鄰計算機之間的通信。其功能包括三方面。
處理來自傳輸層的分組發送請求,收到請求后,將分組裝入IP數據報,填充報頭,選擇去往信宿機的路徑,然后將數據報發往適當的網絡接口。
處理輸入數據報:首先檢查其合法性,然后進行尋徑--假如該數據報已到達信宿機,則去掉報頭,將剩下部分交給適當的傳輸協議;假如該數據報尚未到達信宿,則轉發該數據報。
處理路徑、流控、擁塞等問題。
網絡層包括:IP(Internet Protocol)協議、ICMP(Internet Control Message Protocol)
控制報文協議、ARP(Address Resolution Protocol)地址轉換協議、RARP(Reverse ARP)反向地址轉換協議。
IP是網絡層的核心,通過路由選擇將下一條IP封裝后交給接口層。IP數據報是無連接服務。
ICMP是網絡層的補充,可以回送報文。用來檢測網絡是否通暢。
Ping命令就是發送ICMP的echo包,通過回送的echo relay進行網絡測試。
傳輸層
提供應用程序間的通信。其功能包括:一、格式化信息流;二、提供可靠傳輸。為實現后者,傳輸層協議規定接收端必須發回確認,并且假如分組丟失,必須重新發送,即耳熟能詳的“三次握手”過程,從而提供可靠的數據傳輸。
傳輸層協議主要是:傳輸控制協議TCP(Transmission Control Protocol)和用戶數據報協議UDP(User Datagram protocol)。
應用層
向用戶提供一組常用的應用程序,比如電子郵件、文件傳輸訪問、遠程登錄等。遠程登錄TELNET使用TELNET協議提供在網絡其它主機上注冊的接口。TELNET會話提供了基于字符的虛擬終端。文件傳輸訪問FTP使用FTP協議來提供網絡內機器間的文件拷貝功能。
應用層協議主要包括如下幾個:FTP、TELNET、DNS、SMTP、NFS、HTTP。
FTP(File Transfer Protocol)是文件傳輸協議,一般上傳下載用FTP服務,數據端口是20H,控制端口是21H。
Telnet服務是用戶遠程登錄服務,使用23H端口,使用明碼傳送,保密性差、簡單方便。
DNS(Domain Name Service)是域名解析服務,提供域名到IP地址之間的轉換,使用端口53。
SMTP(Simple Mail Transfer Protocol)是簡單郵件傳輸協議,用來控制信件的發送、中轉,使用端口25。
NFS(Network File System)是網絡文件系統,用于網絡中不同主機間的文件共享。
HTTP(Hypertext Transfer Protocol)是超文本傳輸協議,用于實現互聯網中的WWW服務,使用端口80。
IP
IP層接收由更低層(網絡接口層例如以太網設備驅動程序)發來的數據包,并把該數據包發送到更高層---TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數據包傳送到更低層。IP數據包是不可靠的,因為IP并沒有做任何事情來確認數據包是按順序發送的或者沒有被破壞。IP數據包中含有發送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。
高層的TCP和UDP服務在接收數據包時,通常假設包中的源地址是有效的。也可以這樣說,IP地址形成了許多服務的認證基礎,這些服務相信數據包是從一個有效的主機發送來的。IP確認包含一個選項,叫作IP source routing,可以用來指定一條源地址和目的地址之間的直接路徑。對于一些TCP和UDP的服務來說,使用了該選項的IP包好像是從路徑上的最后一個系統傳遞過來的,而不是來自于它的真實地點。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統來進行平常是被禁止的連接。那么,許多依靠IP源地址做確認的服務將產生問題并且會被非法入侵。
TCP
TCP是面向連接的通信協議,通過三次握手建立連接,通訊完成時要拆除連接,由于TCP是面向連接的所以只能用于端到端的通訊。
TCP提供的是一種可靠的數據流服務,采用“帶重傳的肯定確認”技術來實現傳輸的可靠性。TCP還采用一種稱為“滑動窗口”的方式進行流量控制,所謂窗口實際表示接收能力,用以限制發送方的發送速度。
如果IP數據包中有已經封好的TCP數據包,那么IP將把它們向‘上’傳送到TCP層。TCP將包排序并進行錯誤檢查,同時實現虛電路間的連接。TCP數據包中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。
TCP將它的信息送到更高層的應用程序,例如Telnet的服務程序和客戶程序。應用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設備驅動程序和物理介質,最后到接收方。
面向連接的服務(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它們使用了TCP。DNS在某些情況下使用TCP(發送和接收域名數據庫),但使用UDP傳送有關單個主機的信息。
UDP
UDP是面向無連接的通訊協議,UDP數據包括目的端口號和源端口號信息,由于通訊不需要連接,所以可以實現廣播發送。
UDP通訊時不需要接收方確認,屬于不可靠的傳輸,可能會出丟包現象,實際應用中要求程序員編程驗證。
UDP與TCP位于同一層,但它不管數據包的順序、錯誤或重發。因此,UDP不被應用于那些使用虛電路的面向連接的服務,UDP主要用于那些面向查詢---應答的服務,例如NFS。相對于FTP或Telnet,這些服務需要交換的信息量較小。使用UDP的服務包括NTP(網絡時間協議)和DNS(DNS也使用TCP)。
欺騙UDP包比欺騙TCP包更容易,因為UDP沒有建立初始化連接(也可以稱為握手)(因為在兩個系統間沒有虛電路),也就是說,與UDP相關的服務面臨著更大的危險。
ICMP
ICMP與IP位于同一層,它被用來傳送IP的的控制信息。它主要是用來提供有關通向目的地址的路徑信息。ICMP的‘Redirect’信息通知主機通向其他系統的更準確的路徑,而‘Unreachable’信息則指出路徑有問題。另外,如果路徑不可用了,ICMP可以使TCP連接‘體面地’終止。PING是最常用的基于ICMP的服務。
通訊端口
TCP和UDP服務通常有一個客戶/服務器的關系,例如,一個Telnet服務進程開始在系統上處于空閑狀態,等待著連接。用戶使用Telnet客戶程序與服務進程建立一個連接。客戶程序向服務進程寫入信息,服務進程讀出信息并發出響應,客戶程序讀出響應并向用戶報告。因而,這個連接是雙工的,可以用來進行讀寫。
兩個系統間的多重Telnet連接是如何相互確認并協調一致呢?TCP或UDP連接唯一地使用每個信息中的如下四項進行確認:
源IP地址 發送包的IP地址。
目的IP地址 接收包的IP地址。
源端口 源系統上的連接的端口。
目的端口 目的系統上的連接的端口。
端口是一個軟件結構,被客戶程序或服務進程用來發送和接收信息。一個端口對應一個16比特的數。服務進程通常使用一個固定的端口,例如,SMTP使用25、Xwindows使用6000。這些端口號是‘廣為人知’的,因為在建立與特定的主機或服務的連接時,需要這些地址和目的地址進行通訊。
數據格式
數據幀:幀頭+IP數據包+幀尾 (幀頭包括源和目標主機MAC地址及類型,幀尾是校驗字)
IP數據包:IP頭部+TCP數據信息(IP頭包括源和目標主機IP地址、類型、生存期等)
TCP數據信息:TCP頭部+實際數據 (TCP頭包括源和目標主機端口號、順序號、確認號、校驗字等)
IP地址
在Internet上連接的所有計算機,從大型機到微型計算機都是以獨立的身份出現,我們稱它為主機。為了實現各主機間的通信,每臺主機都必須有一個唯一的網絡地址。就好像每一個住宅都有唯一的門牌一樣,才不至于在傳輸資料時出現混亂。
Internet的網絡地址是指連入Internet網絡的計算機的地址編號。所以,在Internet網絡中,網絡地址唯一地標識一臺計算機。
我們都已經知道,Internet是由幾千萬臺計算機互相連接而成的。而我們要確認網絡上的每一臺計算機,靠的就是能唯一標識該計算機的網絡地址,這個地址就叫做IP(Internet Protocol的簡寫)地址,即用Internet協議語言表示的地址。
在Internet里,IP地址是一個32位的二進制地址,為了便于記憶,將它們分為4組,每組8位,由小數點分開,用四個字節來表示,而且,用點分開的每個字節的數值范圍是0~255,如202.116.0.1,這種書寫方法叫做點數表示法。
IPV4
IPv4,是互聯網協議(Internet Protocol,IP)的第四版,也是第一個被廣泛使用,構成現今互聯網技術的基石的協議。1981年Jon Postel 在RFC791中定義了IP,Ipv4可以運行在各種各樣的底層網絡上,比如端對端的串行數據鏈路(PPP協議和SLIP協議) ,衛星鏈路等等。局域網中最常用的是以太網。
傳統的TCP/IP協議基于IPV4屬于第二代互聯網技術,核心技術屬于美國。它的最大問題是網絡地址資源有限,從理論上講,編址1600萬個網絡、40億臺主機。但采用A、B、C三類編址方式后,可用的網絡地址和主機地址的數目大打折扣,以至IP地址已經枯竭。其中北美占有3/4,約30億個,而人口最多的亞洲只有不到4億個,中國截止2010年6月IPv4地址數量達到2.5億,落后于4.2億網民的需求。雖然用動態IP及Nat地址轉換等技術實現了一些緩沖,但IPV4地址枯竭已經成為不爭的事實。在此,專家提出IPV6的互聯網技術,也正在推行,但IPV4的使用過度到IPV6需要很長的一段過渡期。中國主要用的就是ip4,在win7中已經有了ipv6的協議不過對于中國的用戶們來說可能很久以后才會用到吧。
傳統的TCP/IP協議基于電話寬帶以及以太網的電器特性而制定的,其分包原則與檢驗占用了數據包很大的一部分比例造成了傳輸效率低,網絡正向著全光纖網絡高速以太網方向發展,TCP/IP協議不能滿足其發展需要。
1983年TCP/IP協議被ARPAnet采用,直至發展到后來的互聯網。那時只有幾百臺計算機互相聯網。到1989年聯網計算機數量突破10萬臺,并且同年出現了1.5Mbit/s的骨干網。因為IANA把大片的地址空間分配給了一些公司和研究機構,90年代初就有人擔心10年內IP地址空間就會不夠用,并由此導致了IPv6 的開發。
IPv6
IPv6是Internet Protocol Version 6的縮寫,其中Internet Protocol譯為“互聯網協議”。IPv6是IETF(互聯網工程任務組,Internet Engineering Task Force)設計的用于替代現行版本IP協議(IPv4)的下一代IP協議。
與IPV4相比,IPV6具有以下幾個優勢:
一、IPv6具有更大的地址空間。IPv4中規定IP地址長度為32,即有2^32-1(符號^表示升冪,下同)個地址;而IPv6中IP地址的長度為128,即有2^128-1個地址。
二、IPv6使用更小的路由表。IPv6的地址分配一開始就遵循聚類(Aggregation)的原則,這使得路由器能在路由表中用一條記錄(Entry)表示一片子網,大大減小了路由器中路由表的長度,提高了路由器轉發數據包的速度。
三、IPv6增加了增強的組播(Multicast)支持以及對流的支持(Flow Control),這使得網絡上的多媒體應用有了長足發展的機會,為服務質量(QoS,Quality of Service)控制提供了良好的網絡平臺。
四、IPv6加入了對自動配置(Auto Configuration)的支持。這是對DHCP協議的改進和擴展,使得網絡(尤其是局域網)的管理更加方便和快捷。
五、IPv6具有更高的安全性。在使用IPv6網絡中用戶可以對網絡層的數據進行加密并對IP報文進行校驗,極大的增強了網絡的安全性。
編輯:hfy
-
IP
+關注
關注
5文章
1701瀏覽量
149504 -
網絡協議
+關注
關注
3文章
267瀏覽量
21534 -
計算機網絡
+關注
關注
3文章
337瀏覽量
22156 -
TCP協議
+關注
關注
1文章
91瀏覽量
12070
發布評論請先 登錄
相關推薦
評論