計算機網絡,根據其規模可分爲WAN(Wide Area Network,廣域網)和LAN(Local Area Network,局域網)前端
爲了能讓更多的人使用計算機,出現了批處理系統。所謂批處理,是指事先將用戶程序和數據裝入卡帶或磁帶,並由計算機按照必定的順序讀取,使用戶所要執行的這些程序和數據可以一併批量獲得處理的方式。數據庫
繼批處理系統以後,20世紀60年代出現了分時系統(TSS)。它是指多個終端與同一個計算機鏈接,容許多個用戶同時使用一臺計算機系統。緩存
物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層安全
OSI(參考模型)將通訊功能劃爲7個分層,稱做OSI參考模型。OSI協議以OSI參考模型爲基礎界定了每一個階層協議和每一個階層之間接口相關的標準。遵循OSI協議的產品叫作OSI產品,而它們所遵循的通訊則被成爲OSI通訊。服務器
層數 | 分層名稱 | 功能 | 每層功能概覽 |
---|---|---|---|
7 | 應用層 | 針對特定應用的協議 | 電子郵件、遠程登陸、文件傳輸等 |
6 | 表示層 | 設備固有數據格式和網絡標準數據格式的轉換 | 接收不一樣表現形式的信息,如文字流、圖像、聲音等 |
5 | 會話層 | 通訊管理。負責創建和斷開通訊鏈接。管理傳輸層如下的分層 | 什麼時候創建鏈接,什麼時候斷開鏈接以及保持多久的鏈接 |
4 | 傳輸層 | 管理兩個節點之間的數據傳輸。負責可靠傳輸 | 是否有數據丟失? |
3 | 網絡層 | 地址管理與路由選擇 | 通過哪一個路由傳遞到目標地址? |
2 | 數據鏈路層 | 互連設備之間傳送和識別數據幀 | 數據幀與比特流之間的轉換 |
1 | 物理層 | 以「0」、「1」表明電壓的高低、燈光的閃滅 | 比特流與電子信號之間的轉換 |
在不一樣的網絡體系結構下,網絡層有時也不能保證數據的可達性。例如在至關於TCP/IP網絡層的IP協議中,就不能保證數據必定會發送到對端地址。所以,數據傳送過程當中出現數據丟失、順序混亂等問題可能性會大大增長。像這樣沒有可靠性傳輸要求的網絡層中,能夠由傳輸層負責提供「正確傳輸數據的處理」。TCP/IP中,網絡層與傳輸層相互協做以確保數據包可以傳送到世界各地,實現可靠傳輸。網絡
通訊傳輸其實是經過物理的傳輸介質來實現的。數據鏈路層的做用就是在這些經過傳輸介質互連的設備之間進行數據處理。數據結構
物理層中,將數據0、1轉換爲電壓和脈衝光傳輸給物理的傳輸介質,而相互直連的設備之間使用地址實現傳輸。這種地址被稱爲MAC地址,也可稱爲物理地址或硬件地址。採用MAC地址,目的是爲了識別鏈接到同一個傳輸介質上的設備。所以,在這一分層中將包含MAC地址信息的首部附加到從網絡層轉發過來的數據上,將其發送到網絡。併發
面向有鏈接型與面向無鏈接型負載均衡
面向有鏈接型中,在發送數據以前,須要在收發主機之間鏈接一條通訊線路。 面向有鏈接型就比如人們日常打電話,輸入完對方電話號碼撥出以後,只有對端拿起電話才能真正通話,通話結束以後將電話機扣上就如同切斷電源。所以在面向有鏈接的方式下,必須在通訊傳輸先後,專門進行創建和斷開鏈接的處理。若是對端之間沒法通訊,就能夠避免發送無謂的數據。 - **面向無鏈接型** 面向無鏈接型則不要求創建和斷開鏈接。發送端可於任什麼時候候自由發送數據。反之,接收端也永遠不知道本身會在什麼時候從哪裏接收到數據。所以,在面向無鏈接的狀況下,接收端須要時常確認是否收到了數據。 在面向無鏈接的通訊中,不須要確認對端是否存在。即便接收端不存在或沒法接收數據,發送端也能將數據發送出去。
目前,網絡通訊方式大體分爲兩種——電路交換和分組交換。電路交換技術的歷史相對久遠,主要用於過去的電話網。而分組交換技術則是一種較新的通訊方式。TCP/IP正是採用了分組交換技術。ide
在電路交換中,交換機主要負責數據的中轉處理。計算機首先被鏈接到交換機上,而交換機與交換機之間則由衆多通訊線路再繼續鏈接。所以計算機之間在發送數據時,須要經過交換機與目標主機創建通訊電路。咱們將鏈接電路稱爲創建鏈接。創建好鏈接以後,用戶就能夠一直使用這條電路,直到該鏈接被斷開爲止。
若是某條電路只是用來鏈接兩臺計算機的通訊線路,就意味着只須要在這兩臺計算機之間實現通訊,所以這臺計算機是能夠獨佔線路進行數據傳輸的。可是,若是一條電路上鍊接了好多臺計算機,而這些計算機之間須要相互傳遞數據,就會出現新的問題。鑑於一臺計算機在收發信息時會獨佔整個電路,其餘計算機只能等待這臺計算機處理結束之後纔有機會使用這條電路收發數據。而且在此過程當中,誰也沒法預測某一臺計算機的數據傳輸從什麼時候開始又在什麼時候結束。若是併發用戶數超過交換機之間的通訊線路數,就意味着通訊根本沒法實現。
爲此人們想到了一個新的方法,即讓鏈接到通訊電路的計算機將所要發送的數據分紅多個數據包,按照必定的順序排列以後分別發送。這就是分組交換。有了分組交換,數據被細分後,全部的計算機就能夠一齊收發數據,這樣也就提升了通訊線路的利用率。因爲在分組過程當中,已經在每一個分組的首部寫入了發送端和接收端的地址,因此即便同一條線路同時爲多個用戶提供服務,也能夠明確區分每一個分組數據發往的目的地,以及它與哪臺計算機進行的通訊。
在分組交換中,由分組交換機(路由器)鏈接通訊線路。分組交換的大體處理過程是:發送端計算機將數據分組發送給路由器,路由器收到這些分組數據之後,緩存到本身的緩衝區,而後再轉發給目標計算機。所以,分組交換也有另外一個名稱:蓄積交換。
路由器接受到數據之後會按照順序緩存到相應的隊列中,再以先進先出的順序將它們逐一發送出去。
在分組交換中,計算機與路由器之間以及路由器與路由器之間一般只有一條通訊線路。所以,這條線路實際上是一條共享線路。在電路交換中,計算機之間的傳輸速度不變。然而在分組交換中,通訊線路的速度可能會有所不一樣。
根據接收端數量分類
在網絡通訊當中,也能夠根據目標地址的個數及其後續的行爲對通訊進行分類。如廣播、多播等。
IP地址分層:一方面,IP地址由網絡號和主機號兩部分組成。即便通訊主題的IP地址不一樣,若主機號不一樣,網絡號相同,說明它們處於同一個網段。另外一方面,網絡號相同的主機在組織結構、提供商類型和地域分佈上都比較集中,也爲IP尋址帶來了極大的方便。
設備 | 做用 |
---|---|
網卡 | 使計算機連網的設備 |
中繼器(Repeater) | 從物理層上延長網絡的設備 |
網橋(Bridge)/2層交換機 | 從數據鏈路層上延長網絡的設備 |
路由器(Router)/3層交換機 | 經過網絡層轉發分組數據的設備 |
4~7層交換機 | 處理傳輸層以上各層網絡傳輸的設備 |
網關(Gateway) | 轉換協議的設備 |
在數據傳輸的過程當中,兩個設備之間數據流動的物理速度稱爲傳輸速率。從嚴格意義上講,各類傳輸媒介中信號的流動速度是恆定的。所以,即便數據鏈路的傳輸速率不相同,也不會出現傳輸的速度忽快忽慢的狀況。傳輸速率高也不是指單位數據流動的速度有多快,而是指單位時間內傳輸的數據量有多少。
傳輸速率又稱爲帶寬,帶寬越大網絡傳輸能力越強。
此外,主機之間實際的傳輸速率被稱爲吞吐量。其單位與帶寬相同,都是bps。
中繼器是在OSI模型的第一層——物理層面上延長網絡的設備。由電纜傳過來的電信號或光信號經由中繼器的波形調整和放大再傳給另外一個電纜。
通常狀況下,中繼器的兩端鏈接的是相同的通訊媒介,但有的中繼器也能夠完成不一樣媒介之間的轉接工做。然而,在這種狀況下,中繼器也只是單純負責信號在0和1比特流之間的替換,所以不能在傳輸速度不一樣的媒介之間轉發。
路由器是在網絡層面上鍊接兩個網絡、並對分組報文進行轉發的設備。網橋是根據物理地址(MAC地址)進行處理,而路由器/3層交換機則是根據IP地址進行處理的。由此,TCP/IP中網絡層的地址就成爲了IP地址。
4~7層交換機負責處理OSI模型中從傳輸層至應用層的數據。若是用TCP/IP分層模型來表述,4~7層交換機就是以TCP等協議的傳輸層及其上面的應用層爲基礎,分析收發數據,並對其進行特定的處理。
網關是OSI參考模型中負責將從傳輸層到應用層的數據進行轉換和轉發的設備。它與4~7層交換機同樣都是處理傳輸層及以上的數據,可是網關不只轉發數據還負責對數據進行轉換,它一般會使用一個表示層或應用層網關,在兩個不能進行直接通訊的協議之間進行翻譯,最終實現二者之間的通訊。
TCP/IP協議分層模型包括:硬件(物理層)、網絡接口層(數據鏈路層)、互聯網層(網絡層)、傳輸層、應用層
互聯網層:互聯網層使用IP協議,它至關於OSI模型中的第3層網絡層。IP協議基於IP地址轉發分包數據。TCP/IP分層中的互聯網層與傳輸層的功能一般由操做系統提供。尤爲是路由器,它必須得實現經過互聯網層轉發分組數據包的功能。此外,鏈接互聯網的全部主機跟路由器必須都實現IP的功能。其餘鏈接互聯網的網絡設備(如網橋、中繼器或集線器)就沒有必要必定實現IP或TCP的功能。
傳輸層傳輸層最主要的功能就是可以讓應用程序之間實現通訊。計算機內部,一般同一時間運行着多個程序。爲此,必須分清是哪些程序與哪些程序在進行通訊。
應用層:
網絡中傳輸的數據包由兩部分組成:一部分是協議所要用到的首部,另外一部分是上層傳過來的數據。首部的結構由協議的具體規範詳細定義。
數據鏈路的段是指一個被分割的網絡。然而根據使用者不一樣,其含義也不盡相同。
網絡的鏈接和構成的形態成爲網絡拓撲。網絡拓撲包括總線型、環型、星型、網狀型等。拓撲一詞不只用於直觀可見的配線方式上,也用於邏輯上網絡的組成結構。
MAC地址用於識別數據鏈路中互連的節點。MAC地址長48比特,在使用網卡的狀況下,MAC地址通常會被燒入ROM中。所以,任何一個網卡的MAC地址都是惟一的,在全世界都不會重複。
從通訊介質的使用方法上看,網絡可分爲共享介質型和非共享介質型。
共享介質型網絡指由多個設備共享一個通訊介質的一種網絡。最先的以太網和FDDI就是介質共享型網絡。在這種方式下,設備之間使用同一個載波信道進行發送和接收。爲此,基本上採用半雙工通訊方式,並有必要對介質進行訪問控制。
共享介質型網絡中有兩種介質訪問控制方式:一種是爭用方式,另外一種是令牌傳遞方式。
非共享介質網絡是指不共享介質,是對介質採起專用的一種傳輸控制方式。在這種方式下,網絡中的每一個站直連交換機,由交換機負責轉發數據幀。此方式下,發送端與接收端並不共享通訊介質,所以不少狀況下采用全雙工通訊方式。
以太網交換機就是持有多個端口的網橋。它們根據數據鏈路層中每一個幀的目標MAC地址,決定從哪一個網絡接口發送數據。這時所參考的、用以記錄發送接口的表就叫作轉發表。因爲MAC地址沒有層次性,轉發表中的入口個數與整個數據鏈路中全部網絡設備的數量有關。當設備數量增長時,轉發表也會隨之變大,檢索轉發表所用的時間也就愈來愈長。當鏈接多個終端時,有必要將網絡分紅多個數據鏈路,採用相似於網絡層的IP地址同樣對地址進行分層管理。
PPP定義:PPP(Point-to-Point Protocol)是指點對點,即1對1鏈接計算機的協議。PPP至關於位於OSI參考模型第二層的數據鏈路層。
在開始進行數據傳輸前,要先創建一個PPP級的鏈接。當這個鏈接創建之後,就能夠進行身份認證、壓縮與加密。
在PPP的主要功能中包括兩個協議:一個是不依賴於上層的LCP協議,另外一個是依賴上層的NCP協議。若是上層爲IP,此時的NCP也叫作IPCP。
LCP主要負責創建和斷開鏈接、設置最大接收單元、設置驗證協議以及設置是否進行通訊質量的監控。
IPCP則負責IP地址設置以及是否進行TCP/IP首部壓縮等設置。
TCP/IP的心臟是互聯網層。這一層主要由IP和ICMP兩個協議組成。
IP(IPv四、IPv6)至關於OSI參考模型中的第3 層——網絡層。
網絡層的主要做用是「實現終端節點之間的通訊」。這種終端節點之間的通訊也叫「點對點通訊」。
IP大體分爲三大做用模塊,它們是IP尋址、路由以及IP分包與組包。
廣播地址用於在同一個鏈路中相互鏈接的主機之間發送數據包。將IP地址中的主機地址部分所有設置爲1,就成了廣播地址。
IPv6是爲了根本解決IPv4地址耗盡的問題而被標準化的網際協議。IPv4的地址長度爲4個8位字節,即32比特。而IPv6的地址長度則是原來的4倍,即128比特,通常寫成8個16位字節。
咱們日常在訪問某個網站時不使用IP地址,而是用一串由羅馬字和點號組成的字符串。而通常用戶在使用TCP/IP進行通訊時也不使用IP地址。可以這樣作是由於有了DNS功能的支持。DNS能夠將那字符串自動轉換爲具體的IP地址。
在應用中,當用戶輸入主機名(域名)時,DNS會自動檢索那個註冊了主機名和IP地址的數據庫,並迅速定位對應的IP地址。並且,若是主機名和IP地址須要進行變動時,也只須要在組織機構內部進行處理便可,而沒有必要再向其餘機構進行申請或報告。
只要肯定了IP地址,就能夠向這個目標地址發送IP數據報。然而,在底層數據鏈路層,進行實際通訊時卻有必要了解每一個IP地址所對應的MAC地址。
ARP是一種解決地址問題的協議。以目標IP地址爲線索,用來定位下一個應該接收數據分包的網絡設備對應的MAC地址。若是目標主機不在同一個鏈路上時,能夠經過ARP查找下一跳路由器的MAC地址。不過ARP只適用於IPv4.
ARP是藉助於ARP請求和ARP響應兩種類型的包肯定MAC地址的。
將ARP反過來,從MAC地址獲取IP地址。
ICMP的主要功能包括,確認IP包是否成功送達目標地址,通知在發送過程中IP包被廢棄的具體緣由,改善網絡設置等。
主要的ICMP消息
爲了實現自動設置IP地址、統一管理IP地址分配,就產生了DHCP協議。有了DHCP,計算機只要鏈接到網絡,就能夠進行TCP/IP通訊。也就是說,DHCP讓即插即用變得可能。
NAT是用於在本地網絡中使用私有地址,在鏈接互聯網時轉而使用全局IP地址的技術。
TCP是面向鏈接的、可靠的流協議。流就是指不間斷的數據結構,你能夠把它想象成排水管道中的水流。當應用程序採用TCP發送消息時,雖然能夠保證發送的順序,但仍是猶如沒有任何間隔的數據流發送給接收端。
TCP爲提供可靠性傳輸,實行「順序控制」或「重發控制」機制。此外還具有「流量控制」、「擁塞控制」、提升網絡利用率等衆多功能。
UDP是不具備可靠性的數據報協議。細微的處理它會交給上層的應用去完成。在UDP的狀況下,雖然能夠確保發送消息的大小,卻不能保證消息必定會到達。
UDP不提供複雜的控制機制,利用IP提供面向無鏈接的通訊服務。而且它是將應用程序發來的數據在收到的那一刻,當即按照原樣發送到網絡上的一種機制。
即便是出現網絡擁堵的狀況下,UDP也沒法進行流量控制等避免網絡擁塞的行爲。此外,傳輸途中即便出現丟包,也不會重發。
TCP經過檢驗和、序列號、確認應答、重發控制、鏈接管理以及窗口控制等機制實現可靠性傳輸。
互聯網是由路由器鏈接的網絡組合而成的。爲了能讓數據包正確的到達目標主機,路由器必須在途中進行正確的轉發。這種向「正確的方向」轉發數據所進行的處理就叫作路由控制或路由。
路由器根據路由控制錶轉發數據包。它根據所收到的數據包中目標主機的IP地址與路由控制表的比較得出下一個應該接收的路由器。所以,這個過程當中路由控制表的記錄必定要正確無誤。
TELNET利用TCP的一條鏈接,經過這一條鏈接向主機發送文字命令並在主機上執行。
TELNET能夠分爲兩類基本服務。一是仿真終端功能,二是協商選項機制。
TELNET常常用於登陸路由器或高性能交換機等網絡設備進行相應的設置。
SSH是加密的遠程登陸系統。TELNET中登陸時無需輸入密碼就能夠發送,容易形成通訊竊聽和非法入侵的危險。使用SSH後能夠加密通訊內容。即便信息被竊聽也沒法破解所發送的密碼、具體命令以及命令返回的結果是什麼。
SSH還包括不少很是方便的功能:
FTP協議使用兩條TCP鏈接:一條用來控制,另外一條用於數據(文件)的傳輸。
數據傳輸用的TCP鏈接一般使用端口20.
提供電子郵件服務的協議叫作SMTP,SMTP爲了實現高效發送郵件內容,在其傳輸層使用了TCP協議。
SMTP使用的是TCP的25號端口。
在TCP/IP的網絡管理中可使用SNMP收集必要的信息。它是一款基於UDP/IP的協議。