天天看點

TCP/IP協定 詳解

Transmission Control Protocol/Internet Protocol的簡寫,中譯名為傳輸控制協定/網際網路互聯協定,又名網絡通訊協定,是Internet最基本的協定、Internet國際網際網路絡的基礎,由網絡層的IP協定和傳輸層的TCP協定組成。TCP/IP 定義了電子裝置如何連入網際網路,以及資料如何在它們之間傳輸的标準。協定采用了4層的層級結構,每一層都呼叫它的下一層所提供的網絡來完成自己的需求。通俗而言:TCP負責發現傳輸的問題,一有問題就發出信号,要求重新傳輸,直到所有資料安全正确地傳輸到目的地。而IP是給網際網路的每一台電腦規定一個位址。

<dl><dd></dd></dl>

  從協定分層模型方面來講,TCP/IP由四個層次組成:網絡接口層、網絡層、傳輸層、應用層。  TCP/IP協定并不完全符合OSI的七層參考模型,OSI(Open System Interconnect)是傳統的開放式系統互連參考模型,是一種通信協定的7層抽象的參考模型,其中每一層執行某一特定任務。該模型的目的是使各種硬體在相同的層次上互相通信。這7層是:實體層、資料鍊路層(網絡接口層)、網絡層(網絡層)、傳輸層、會話層、表示層和應用層(應用層)。而TCP/IP通訊協定采用了4層的層級結構,每一層都呼叫它的下一層所提供的網絡來完成自己的需求。由于ARPNET的設計者注重的是網絡互聯,允許通信子網(網絡接口層)采用已有的或是将來有的各種協定,是以這個層次中沒有提供專門的協定。實際上,TCP/IP協定可以通過網絡接口層連接配接到任何網絡上,例如X.25交換網或IEEE802區域網路。  

TCP/IP結構對應OSI結構

TCP/IP

OSI

應用層

表示層

會話層

主機到主機層(TCP)(又稱傳輸層)

傳輸層

網絡層(IP)(又稱互聯層)

網絡層

網絡接口層(又稱鍊路層)

資料鍊路層

實體層

  實體層是定義實體媒體的各種特性:  1、機械特性;  2、電子特性;  3、功能特性;  4、規程特性。  資料鍊路層是負責接收IP資料包并通過網絡發送,或者從網絡上接收實體幀,抽出IP資料包,交給IP層。  常見的接口層協定有:  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進行網絡測試。  ARP是正向位址解析協定,通過已知的IP,尋找對應主機的MAC位址。  RARP是反向位址解析協定,通過MAC位址确定IP位址。比如無盤工作站還有DHCP服務。

  提供應用程式間的通信。其功能包括:一、格式化資訊流;二、提供可靠傳輸。為實作後者,傳輸層協定規定接收端必須發回确認,并且假如分組丢失,必須重新發送,即耳熟能詳的“三次握手”過程,進而提供可靠的資料傳輸。  傳輸層協定主要是:傳輸控制協定TCP(Transmission Control Protocol)和使用者資料報協定UDP(User Datagram protocol)。

  向使用者提供一組常用的應用程式,比如電子郵件、檔案傳輸通路、遠端登入等。遠端登入TELNET使用TELNET協定提供在網絡其它主機上注冊的接口。TELNET會話提供了基于字元的虛拟終端。檔案傳輸通路FTP使用FTP協定來提供網絡内機器間的檔案拷貝功能。  應用層協定主要包括如下幾個:FTP、TELNET、DNS、SMTP、RIP、NFS、HTTP。  FTP(File Transfer Protocol)是檔案傳輸協定,一般上傳下載下傳用FTP服務,資料端口是20H,控制端口是21H。  Telnet服務是使用者遠端登入服務,使用23H端口,使用明碼傳送,保密性差、簡單友善。  DNS(Domain

Name Service)是域名解析服務,提供域名到IP位址之間的轉換。  SMTP(Simple Mail Transfer Protocol)是簡單郵件傳輸協定,用來控制信件的發送、中轉。  RIP (Router Information Protocol)是路由資訊協定,用于網絡裝置之間交換路由資訊。  NFS (Network File System)是網絡檔案系統,用于網絡中不同主機間的檔案共享。  HTTP(Hypertext Transfer Protocol)是超文本傳輸協定,用于實作網際網路中的WWW服務。   

總結

OSI中的層

功能

TCP/IP協定族

檔案傳輸,電子郵件,檔案服務,虛拟終端

TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等

資料格式化,代碼轉換,資料加密

沒有協定

解除或建立與别的接點的聯系

提供端對端的接口

TCP,UDP

為資料包選擇路由

IP,ICMP,OSPF,EIGRP,IGMP,RIP

傳輸有位址的幀以及錯誤檢測功能

SLIP,CSLIP,PPP,MTU,ARP,RARP

以二進制資料形式在實體媒體上傳輸資料

ISO2110,IEEE802,IEEE802.2

網絡層中的協定主要有IP,ICMP,IGMP等,由于它包含了IP協定子產品,是以它是所有基于TCP/IP協定網絡的核心。在網絡層中,IP子產品完成大部分功能。ICMP和IGMP以及其他支援IP的協定幫助IP完成特定的任務,如傳輸差錯控制資訊以及主機/路由器之間的控制電文等。網絡層掌管着網絡中主機間的資訊傳輸。  傳輸層上的主要協定是TCP和UDP。正如網絡層控制着主機之間的資料傳遞,傳輸層控制着那些将要進入網絡層的資料。兩個協定就是它管理這些資料的兩種方式:TCP是一個基于連接配接的協定;UDP則是面向無連接配接服務的管理方式的協定。  TCP/IP模型的主要缺點有:  第一,它在服務、接口與協定的差別上就不是很清楚。一個好的軟體工程應該将功能與實作方法區分開來,TCP/IP恰恰沒有很好地做到這點,就使得TCP/IP參考模型對于使用新的技術的指導意義是不夠的。TCP/IP參考模型不适合于其他非TCP/IP協定簇。  第二,主機-網絡層本身并不是實際的一層,它定義了網絡層與資料鍊路層的接口。實體層與資料鍊路層的劃分是必要和合理的,一個好的參考模型應該将它們區分開,而TCP/IP參考模型卻沒有做到這點。

  資料幀:幀頭+IP資料包+幀尾 (幀頭包括源和目标主機MAC位址及類型,幀尾是校驗字)  IP資料包:IP頭部+TCP資料資訊(IP頭包括源和目标主機IP位址、類型、生存期等)  TCP資料資訊:TCP頭部+實際資料 (TCP頭包括源和目标主機端口号、順序号、确認号、校驗字等)

  在阿帕網(ARPA)産生運作之初,通過接口信号處理機實作互聯的電腦并不多,大部分電腦互相之間不相容。在一台電腦上完成的工作,很難拿到另一台電腦上去用,想讓硬體和軟體都不一樣的電腦聯網,也有很多困難。當時美國的狀況是,陸軍用的電腦是DEC系列産品,海軍用的電腦是Honeywell中标機器,空軍用的是IBM公司中标的電腦,每一個軍種的電腦在各自的系裡都運作良好,但卻有一個大弊病:不能共享資源。  當時科學家們提出這樣一個理念:“所有電腦生來都是平等的。”為了讓這些“生來平等”的電腦能夠實作“資源共享”就得在這些系統的标準之上,建立一種大家共同都必須遵守的标準,這樣才能讓不同的電腦按照一定的規則進行“談判”,并且在談判之後能“握手”。  在确定今天網際網路各個電腦之間“談判規則”過程中,最重要的人物當數瑟夫(Vinton

G.Cerf)。正是他的努力,才使今天各種不同的電腦能按照協定上網互聯。瑟夫也是以獲得了與克萊因羅克(“網際網路之父”)一樣的美稱“網際網路之父”。  瑟夫從小喜歡标新立異,堅強而又熱情。中學讀書時,就被允許使用加州大學洛杉矶分校的電腦,他認為“為電腦程式設計式是個非常激動人心的事,…隻要把程式編好,就可以讓電腦做任何事情。”1965年,瑟夫從斯坦福大學畢業到IBM的一家公司當系統工程師,工作沒多久,瑟夫就覺得知識不夠用,于是到加州大學洛杉矶分校攻讀博士,那時,正逢阿帕網的建立,“接口信号處理機”(IMP)的研試及網絡測評中心的建立,瑟夫也成了著名科學家克萊因羅克手下的一位學生。瑟夫與另外三位年輕人(溫菲爾德、克羅克、布雷登)參與了阿帕網的第一個節點的聯接。此後不久,BBN公司對工作中各種情況發展有很強判斷能力、被公認阿帕網建成作出巨大貢獻的鮑伯·卡恩(Bob

Kahn)也來到了加州大學洛杉矶分校。在那段日子裡,往往是卡恩提出需要什麼軟體,而瑟夫則通宵達旦地把符合要求的軟體給編出來,然後他們一起測試這些軟體,直至能正常運作。  當時的主要格局是這樣的,羅伯茨提出網絡思想設計網絡布局,卡恩設計阿帕網總體結構,克萊因羅克負責網絡測評系統,還有衆多的科學家、研究所學生參與研究、試驗。69年9月阿帕網誕生、運作後,才發現各個IMP連接配接的時候,需要考慮用各種電腦都認可的信号來打開通信管道,資料通過後還要關閉通道。否則這些IMP不會知道什麼時候應該接收信号,什麼時候該結束,這就是我們現在所說的通信“協定”的概念。70年12月制定出來了最初的通信協定由卡恩開發、瑟夫參與的“網絡控制協定”(NCP),但要真正建立一個共同的标準很不容易,72年10月國際電腦通信大會結束後,科學家們都在為此而努力。  “包切換”理論為網絡之間的聯接方式提供了理論基礎。卡恩在自己研究的基礎上,認識到隻有深入了解各種作業系統的細節才能建立一種對各種作業系統普适的協定,73年卡恩請瑟夫一起考慮這個協定的各個細節,他們這次合作的結果産生了目前在開放系統下的所有網民和網管人員都在使用的“傳輸控制協定”(TCP,Transmission-Control

Protocol)和“網際網路協定”(IP,Internet Protocol)即TCP/IP協定。  通俗而言:TCP負責發現傳輸的問題,一有問題就發出信号,要求重新傳輸,直到所有資料安全正确地傳輸到目的地。而IP是給網際網路的每一台電腦規定一個位址。1974年12月,卡恩、瑟夫的第一份TCP協定詳細說明正式發表。當時美國國防部與三個科學家小組簽定了完成TCP/IP的協定,結果由瑟夫領銜的小組捷足先登,首先制定出了通過詳細定義的TCP/IP協定标準。當時作了一個試驗,将資訊包通過點對點的衛星網絡,再通過陸地電纜,再通過衛星網絡,再由地面傳輸,貫串歐洲和美國,經過各種電腦系統,全程9.4萬公裡竟然沒有丢失一個資料位,遠距離的可靠資料傳輸證明了TCP/IP協定的成功。  1983年1月1日,運作較長時期曾被人們習慣了的NCP被停止使用,TCP/IP協定作為網際網路上所有主機間的共同協定,從此以後被作為一種必須遵守的規則被肯定和應用。

  在建構了阿帕網先驅之後,DARPA開始了其他資料傳輸技術的研究。NCP誕生後兩年,1972年,羅伯特·卡恩(Robert E. Kahn)被DARPA的資訊技術處理辦公室雇傭,在那裡他研究衛星資料包網絡和地面無線資料包網絡,并且意識到能夠在它們之間溝通的價值。在1973年春天,已有的ARPANET網絡控制程式(NCP)協定的開發者文頓·瑟夫(Vinton Cerf)加入到卡恩為ARPANET設計下一代協定而開發開放互連模型的工作中。  到了1973年夏天,卡恩和瑟夫很快就開發出了一個基本的改進形式,其中網絡協定之間的不同通過使用一個公用網際網路絡協定而隐藏起來,并且可靠性由主機保證而不是像ARPANET那樣由網絡保證。(瑟夫稱贊Hubert

Zimmerman和Louis Pouzin(CYCLADES網絡的設計者)在這個設計上發揮了重要影響。)  由于網絡的作用減少到最小的程度,就有可能将任何網絡連接配接到一起,而不用管它們不同的特點,這樣就解決了卡恩最初的問題。(一個流行的說法提到瑟夫和卡恩工作的最終産品TCP/IP将在運作“兩個罐子和一根弦”上,實際上它已經用在信鴿上。一個稱為網關(後來改為路由器以免與網關混淆)的計算機為每個網絡提供一個接口并且在它們之間來回傳輸資料包。  這個設計思想更細的形式由瑟夫在斯坦福的網絡研究組的1973年–1974年期間開發出來。(處于同一時期的誕生了PARC通用包協定組的施樂PARC早期網絡研究工作也有重要的技術影響;人們在兩者之間搖擺不定。)  DARPA于是與BBN、斯坦福和倫敦大學簽署了協定開發不同硬體平台上協定的運作版本。有四個版本被開發出來——TCP

v1、TCP v2、在1978年春天分成TCP v3和IP v3的版本,後來就是穩定的TCP/IP v4——目前網際網路仍然使用的标準協定。  1975年,兩個網絡之間的TCP/IP通信在斯坦福和倫敦大學(UCL)之間進行了測試。1977年11月,三個網絡之間的TCP/IP測試在美國、英國和挪威之間進行。在1978年到1983年間,其他一些TCP/IP原型在多個研究中心之間開發出來。ARPANET完全轉換到TCP/IP在1983年1月1日發生。[1]  1984年,美國國防部将TCP/IP作為所有計算機網絡的标準。1985年,網際網路架構理事會舉行了一個三天有250家廠商代表參加的關于計算産業使用TCP/IP的工作會議,幫助協定的推廣并且引領它日漸增長的商業應用。  2005年9月9日卡恩和瑟夫由于他們對于美國文化做出的卓越貢獻被授予總統自由勳章。

  IP層接收由更低層(網絡接口層例如以太網裝置驅動程式)發來的資料包,并把該資料包發送到更高層---TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的資料包傳送到更低層。IP資料包是不可靠的,因為IP并沒有做任何事情來确認資料包是按順序發送的或者沒有被破壞。IP資料包中含有發送它的主機的位址(源位址)和接收它的主機的位址(目的位址)。  高層的TCP和UDP服務在接收資料包時,通常假設包中的源位址是有效的。也可以這樣說,IP位址形成了許多服務的認證基礎,這些服務相信資料包是從一個有效的主機發送來的。IP确認包含一個選項,叫作IP

source routing,可以用來指定一條源位址和目的位址之間的直接路徑。對于一些TCP和UDP的服務來說,使用了該選項的IP包好像是從路徑上的最後一個系統傳遞過來的,而不是來自于它的真實地點。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統來進行平常是被禁止的連接配接。那麼,許多依靠IP源位址做确認的服務将産生問題并且會被非法入侵。

  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與TCP位于同一層,但它不管資料包的順序、錯誤或重發。是以,UDP不被應用于那些使用虛電路的面向連接配接的服務,UDP主要用于那些面向查詢---應答的服務,例如NFS。相對于FTP或Telnet,這些服務需要交換的資訊量較小。使用UDP的服務包括NTP(網絡時間協定)和DNS(DNS也使用TCP)。  欺騙UDP包比欺騙TCP包更容易,因為UDP沒有建立初始化連接配接(也可以稱為握手)(因為在兩個系統間沒有虛電路),也就是說,與UDP相關的服務面臨着更大的危險。

  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。這些端口号是‘廣為人知’的,因為在建立與特定的主機或服務的連接配接時,需要這些位址和目的位址進行通訊。

  在Internet上連接配接的所有計算機,從大型機到微型計算機都是以獨立的身份出現,我們稱它為主機。為了實作各主機間的通信,每台主機都必須有一個唯一的網絡位址。就好像每一個住宅都有唯一的門牌一樣,才不至于在傳輸資料時出現混亂。  Internet的網絡位址是指連入Internet網絡的計算機的位址編号。是以,在Internet網絡中,網絡位址唯一地辨別一台計算機。  我們都已經知道,Internet是由幾千萬台計算機互相連接配接而成的。而我們要确認網絡上的每一台計算機,靠的就是能唯一辨別該計算機的網絡位址,這個位址就叫做IP(Internet

Protocol的簡寫)位址,即用Internet協定語言表示的位址。  目前,在Internet裡,IP位址是一個32位的二進制位址,為了便于記憶,将它們分為4組,每組8位,由小數點分開,用四個位元組來表示,而且,用點分開的每個位元組的數值範圍是0~255,如202.116.0.1,這種書寫方法叫做點數表示法。

  IP位址可确認網絡中的任何一個網絡和計算機,而要識别其它網絡或其中的計算機,則是根據這些IP位址的分類來确定的。一般将IP位址按節點計算機所在網絡規模的大小分為A,B,C三類,預設的網絡屏蔽是根據IP位址中的第一個字段确定的。  1. A類位址  A類位址的表示範圍為:1.0.0.1~126.255.255.255,預設網絡屏蔽為:255.0.0.0;A類位址配置設定給規模特别大的網絡使用。A類網絡用第一組數字表示網絡本身的位址,後面三組數字作為連接配接于網絡上的主機的位址。配置設定給具有大量主機(直接個人使用者)而區域網路絡個數較少的大型網絡。例如IBM公司的網絡。  127.0.0.0到127.255.255.255是保留位址,用做循環測試用的。  0.0.0.0到0.255.255.255也是保留位址,用做表示所有的IP位址。  一個A類IP位址由1位元組(每個位元組是8位)的網絡位址和3個位元組主機位址組成,網絡位址的最高位必須是“0”,即第一段數字範圍為1~127。每個A類位址理論上可連接配接16777214&lt;256*256*256-2&gt;;台主機(-2是因為主機中要用去一個網絡号和一個廣播号),Internet有126個可用的A類位址。A類位址适用于有大量主機的大型網絡。  2.

B類位址  B類位址的表示範圍為:128.0.0.1~191.255.255.255,預設網絡屏蔽為:255.255.0.0;B類位址配置設定給一般的中型網絡。B類網絡用第一、二組數字表示網絡的位址,後面兩組數字代表網絡上的主機位址。  169.254.0.0到169.254.255.255是保留位址。如果你的IP位址是自動擷取IP位址,而你在網絡上又沒有找到可用的DHCP伺服器,這時你将會從169.254.0.0到169.254.255.255中臨時獲得一個IP位址。  一個B類IP位址由2個位元組的網絡位址和2個位元組的主機位址組成,網絡位址的最高位必須是“10”,即第一段數字範圍為128~191。每個B類位址可連接配接65534(2^16-2,因為主機号的各位不能同時為0,1)台主機,Internet有16383(2^14-1)個B類位址(因為B類網絡位址128.0.0.0是不指派的,而可以指派的最小位址為128.1.0.0[COME06])。  3.

C類位址  C類位址的表示範圍為:192.0.0.1~223.255.255.255,預設網絡屏蔽為:255.255.255.0;C類位址配置設定給小型網絡,如一般的區域網路,它可連接配接的主機數量是最少的,采用把所屬的使用者分為若幹的網段進行管理。C類網絡用前三組數字表示網絡的位址,最後一組數字作為網絡上的主機位址。  一個C類位址是由3個位元組的網絡位址和1個位元組的主機位址組成,網絡位址的最高位必須是“110”,即第一段數字範圍為192~223。每個C類位址可連接配接254台主機,Internet有2097152個C類位址段(32*256*256),有532676608個位址(32*256*256*254)。  RFC

1918留出了3塊IP位址空間(1個A類位址段,16個B類位址段,256個C類位址段)作為私有的内部使用的位址。在這個範圍内的IP位址不能被路由到Internet骨幹網上;Internet路由器将丢棄該私有位址。  IP位址類别 RFC 1918内部位址範圍  A類 10.0.0.0到10.255.255.255   B類 172.16.0.0到172.31.255.255  C類 192.168.0.0到192.168.255.255  使用私有位址将網絡連至Internet,需要将私有位址轉換為公有位址。這個轉換過程稱為網絡位址轉換(Network

Address Translation,NAT),通常使用路由器來執行NAT轉換。  實際上,還存在着D類位址和E類位址。但這兩類位址用途比較特殊,在這裡隻是簡單介紹一下:  D類位址不分網絡位址和主機位址,它的第1個位元組的前四位固定為1110。D類位址範圍:224.0.0.1到239.255.255.254。D類位址用于多點播送。D類位址稱為多點傳播位址(或稱多點傳播位址),供特殊協定向標明的節點發送資訊時用。  E類位址保留給将來使用。  連接配接到Internet上的每台計算機,不論其IP位址屬于哪類都與網絡中的其它計算機處于平等地位,因為隻有IP位址才是差別計算機的唯一辨別。是以,以上IP位址的分類隻适用于網絡分類。  在Internet中,一台計算機可以有一個或多個IP位址,就像一個人可以有多個通信位址一樣,但兩台或多台計算機卻不能共享一個IP位址。如果有兩台計算機的IP位址相同,則會引起異常現象,無論哪台計算機都将無法正常工作。  順便提一下幾類特殊的IP位址:  1.

廣播位址目的端為給定網絡上的所有主機,一般主機段為全1   2. 單點傳播位址目的端為指定網絡上的單個主機位址   3. 多點傳播位址目的端為同一組内的所有主機位址   4. 環回位址127.0.0.1在環回測試和廣播測試時會使用

  若要使兩個完全不同的網絡(異構網)連接配接在一起,一般使用網關,在Internet中兩個網絡也要通過一台稱為網關的計算機實作互聯。這台計算機能根據使用者通信目标計算機的IP位址,決定是否将使用者發出的資訊送出本地網絡,同時,它還将外界發送給屬于本地網絡計算機的資訊接收過來,它是一個網絡與另一個網絡相聯的通道。為了使TCP/IP協定能夠尋址,該通道被賦予一個IP位址,這個IP位址稱為網關位址。

  内部位址和外部位址在區域網路的IP位址配置設定中,并沒有差別,都可以使用。  在區域網路的IP位址配置設定中,子網屏蔽的“1”部分隻要和對應的IP位址分類規定的前幾個二進制數一緻即可。

  若公司不上Internet,那一定不會煩惱IP位址的問題,因為可以任意使用所有的IP位址,不管是A類或是B類,這個時候不會想到要用子網,但若是上Internet那IP位址便彌足珍貴了,目前全球一陣Internet熱,IP位址已經愈來愈少了,而所申請的IP位址目前也趨飽和,而且隻有經申請的IP位址能在Internet使用,但對某些公司隻能申請到一個C類的IP位址,但又有多個點需要使用,那這時便需要使用到子網,這就需要考慮子網的劃分,下面簡介子網的原理及如何規劃。

  設定任何網絡上的任何裝置不管是主機、個人電腦、路由器等皆需要設定IP位址,而跟随着IP位址的是所謂的子網路遮罩(NetMask,Subnet Mask),這個子網路遮罩主要的目的是由IP位址中也能獲得網絡編碼,也就是說IP位址和子網路遮罩合作而得到網絡編碼,如下所示:  IP位址  192.10.10.6 11000000.00001010.00001010.00000110   子網路遮罩  255.255.255.0 11111111.11111111.11111111.00000000

  AND   -------------------------------------------------------------------   Network Number   192.10.10.0 11000000.00001010.00001010.00000000   子網路遮罩有所謂的預設值,如下所示  類 IP位址範圍 子網路遮罩  A 1.0.0.0-126.255.255.255 255.0.0.0   B 128.0.0.0-191.255.255.255 255.255.0.0

  C 192.0.0.0-223.255.255.255 255.255.255.0   在預設的子網路遮罩(Net Mask)都隻有255的值,在談到子網路遮罩(Subnet Mask)時這個值便不一定是255了。在完整一組C類位址中如203.67.10.0-203.67.10.255 子網路遮罩255.255.255.0,203.67.10.0稱之網絡編碼(Network Number,将IP 位址和子網路遮罩作和),而203.67.10.255是廣播的IP位址,是以這兩者皆不能使用,實際隻能使用203.67.10.1--203.67.10.254等254個IP位址,這是以255.255.255.0作子網路遮罩的結果,而所謂Subnet

Msk尚可将整組C類位址分成數組網絡編碼,這要在子網路遮罩上作手腳,若是要将整組C類位址分成2個網絡編碼那子網路遮罩設定為255.255.255.128,若是要将整組C類分成8組網絡編碼則子網路遮罩要為255.255.255.224,這是怎麼來的,由以上知道網絡編碼是由IP位址和子網路遮罩作AND而來的,而且将子網路遮罩以二進制表示法知道是1的會保留,而為0的去掉  192.10.10.193--11000000.00001010.00001010.11000001   255.255.255.0--11111111.11111111.11111111.00000000

  --------------------------------------------------------------   192.10.10.0--11000000.00001010.00001010.00000000   以上是以255.255.255.0為子網路遮罩的結果,網絡編碼是192.10.10.0,若是使用255.255.255.224作子網路遮罩結果便有所不同  192.10.10.193--11000000.00001010.00001010.11000001   255.255.255.224--11111111.11111111.11111111.11100000

  --------------------------------------------------------------   192.10.10.192--11000000.00001010.00001010.11000000   此時網絡編碼變成了192.10.10.192,這便是子網。那要如何決定所使用的子網路遮罩,255.255.255.224以二進制表示法為11111111.11111111.11111111.11100000,變化是在最後一組,11100000便是224,以三個位(Bit)可表示2的3次友善是8個網絡編碼  子網路遮罩二進制表示法可分幾個網絡  255.255.255.011111111.11111111.11111111.000000001

  255.255.255.128   11111111.11111111.11111111.100000002   255.255.255.192   11111111.11111111.11111111.110000004   255.255.255.224   11111111.11111111.11111111.111000008   255.255.255.240   11111111.11111111.11111111.1111000016   255.255.255.248   11111111.11111111.11111111.1111100032

  255.255.255.252   11111111.11111111.11111111.1111110064   以下使用255.255.255.224将C類位址203.67.10.0分成8組網絡編碼,各個網絡編碼及其廣播IP位址及可使用之IP位址序号網絡編碼廣播可使用之IP位址  (1)203.67.10.0--203.67.10.31   203.67.10.1--203.67.10.30   (2)203.67.10.32--203.67.10.63   203.67.10.33--203.67.10.62

  (3)203.67.10.64--203.67.10.95   203.67.10.65--203.67.10.94   (4)203.67.10.96--203.67.10.127   203.67.10.97--203.67.10.126   (5)203.67.10.128--203.67.10.159   203.67.10.129--203.67.10.158   (6)203.67.10.160--203.67.10.191   203.67.10.161--203.67.10.190   (7)203.67.10.192--203.67.10.223

  203.67.10.193--203.67.10.222   (8)203.67.10.224--203.67.10.255   203.67.10.225--203.67.10.254   可驗證所使用的IP位址是否如上表所示  203.67.10.115--11001011.01000011.00001010.01110011   255.255.255.224--11111111.11111111.11111111.11100000   --------------------------------------------------------------

  203.67.10.96--11001011.01000011.00001010.01100000   203.67.10.55--11001011.01000011.00001010.00110111   255.255.255.224--11111111.11111111.11111111.11100000   --------------------------------------------------------------   203.67.10.32--11001011.01000011.00001010.00100000

  其它的子網路遮罩所分成的網絡編碼可自行以上述方法自行推演出來。

  使用子網是要解決隻有一組C類位址但需要數個網絡編碼的問題,并不是解決IP位址不夠用的問題,因為使用子網反而能使用的IP位址會變少,子網通常是使用在跨地域的網絡互聯之中,兩者之間使用路由器連線,同時也上Internet,但隻申請到一組C 類IP位址,過路由又需不同的網絡,是以此時就必須使用到子網,當然二網絡間也可以遠端橋接(Remote Bridge,字面翻譯)連接配接,那便沒有使用子網的問題。

  IP申請的術語:  網絡位址:在申請IP位址或是闡述TCP/IP協定的IP位址分類時,用到這個術語。它表示IP位址的代碼序列中不可根據需要改變的部分。  主機位址:在申請IP位址或是闡述TCP/IP協定的IP位址分類時,用到這個術語。它表示IP位址的代碼序列中能夠根據需要來改變的部分。  子網屏蔽:在闡述TCP/IP協定的IP位址分類時,用到這個術語。在申請IP位址時,由它表示所申請到的IP位址的網絡位址和主機位址。

  内網搭建的術語:  網絡編碼(網絡号):經過子網劃分後,子網路遮罩序列中“1”對應的IP位址部分。一個網絡編碼,對應一個網域(或網段)。包括申請到的網絡位址的全部和主機位址的部分。  主機編碼(主機号):經過子網劃分後,子網路遮罩序列中“0”對應的IP位址部分。一個主機編碼,對應一個網域(或網段)的一台計算機。包括申請到主機位址的部分。  子網路遮罩:用于子網劃分,它将能夠改變的主機位址分為主機編碼和網絡編碼的一部分。同時,它将網絡位址全部确定為網絡編碼。

  全面的測試應包括區域網路和網際網路兩個方面,是以應從區域網路和網際網路兩個方面測試,以下是在實際工作中利用指令行測試TCP/IP配置步驟:  1. 單擊“開始”/“運作”,輸入CMD按回車,打開指令提示符視窗。  2.首先檢查IP位址、子網路遮罩、預設網關、DNS伺服器位址是否正确,輸入指令ipconfig /all,按回車。此時顯示了你的網絡配置,觀查是否正确。  3.輸入ping 127.0.0.1,觀查網卡是否能轉發資料,如果出現“Request timed

out”,表明配置差錯或網絡有問題。  4.Ping一個網際網路位址,看是否有資料包傳回,以驗證與網際網路的連接配接性。  5. Ping 一個區域網路位址,觀查與它的連通性。  6.用nslookup測試DNS解析是否正确,輸入如nslookup ,檢視是否能解析。  如果你的計算機通過了全部測試,則說明網絡正常,否則網絡可能有不同程度的問題。在此不展開詳述。不過,要注意,在使用 ping指令時,有些公司會在其主機設定丢棄ICMP資料包,造成你的ping指令無法正常傳回資料包,不防換個網站試試。

  (1)TCP/IP協定不依賴于任何特定的計算機硬體或作業系統,提供開放的協定标準,即使不考慮Internet,TCP/IP協定也獲得了廣泛的支援。是以TCP/IP協定成為一種聯合各種硬體和軟體的實用系統。  (2)TCP/IP協定并不依賴于特定的網絡傳輸硬體,是以TCP/IP協定能夠內建各種各樣的網絡。使用者能夠使用以太網(Ethernet)、令牌環網(Token Ring Network)、撥号線路(Dial-up line)、X.25網以及所有的網絡傳輸硬體。  (3)統一的網絡位址配置設定方案,使得整個TCP/IP裝置在網中都具有惟一的位址  (4)标準化的高層協定,可以提供多種可靠的使用者服務。

  在長期的發展過程中,IP逐漸取代其他網絡。這裡是一個簡單的解釋。IP傳輸通用資料。資料能夠用于任何目的,并且能夠很輕易地取代以前由專有資料網絡傳輸的資料。下面是一個普通的過程:  一個專有的網絡開發出來用于特定目的。如果它工作很好,使用者将接受它。  為了便利提供IP服務,經常用于通路電子郵件或者聊天,通常以某種方式通過專有網絡隧道實作。隧道方式最初可能非常沒有效率,因為電子郵件和聊天隻需要很低的帶寬。  通過一點點的投資IP 基礎設施逐漸在專有資料網絡周邊出現。  用IP取代專有服務的需求出現,經常是一個使用者要求。  IP替代品過程遍布整個網際網路,這使IP替代品比最初的專有網絡更加有價值(由于網絡效應)。  專有網絡受到壓制。許多使用者開始維護使用IP替代品的複制品。  IP包的間接開銷很小,少于1%,這樣在成本上非常有競争性。人們開發了一種能夠将IP帶到專有網絡上的大部分使用者的不昂貴的傳輸媒介。  大多數使用者為了削減開銷,專有網絡被取消。

  如果需要重新安裝 TCP/IP 以使TCP/IP 堆棧恢複為原始狀态。可以使用NetShell 實用程式重置TCP/IP 堆棧,使其恢複到初次安裝作業系統時的狀态。具體操作如下:  1.單擊 開始--&gt; 運作,輸入"CMD" 後單擊"确定";   2.在指令行模式輸入指令  netsh int ip reset C:\resetlog.txt   (其中,Resetlog.txt記錄指令結果的日志檔案,一定要指定,這裡指定了Resetlog.txt

日志檔案及完整路徑。)   運作結果可以檢視C:\resetlog.txt (咨詢中可根據使用者實際操作情況提供)   運作此指令的結果與删除并重新安裝TCP/IP 協定的效果相同。  注意

  本操作具有一定的風險性,請在操作前備份重要資料,并根據操作熟練度酌情使用。

  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是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封包進行校驗,極大的增強了網絡的安全性。

繼續閱讀