TCP/IP(Transmission Control Protocol/Internet Protocol)的簡寫,中文譯名為傳輸控制協議/互聯網絡協議)協議是
Internet最基本的協議,簡單地說,就是由網絡層的IP協議和傳輸層的TCP協議組成的。
眾所周知,如今電腦上因特網都要作TCP/IP協議設置,顯然該協議成了當今地球村“人與人”之間的“牽手協議”。
1997年,為了褒獎對因特網發展作出突出貢獻的科學家,并對TCP/IP協議作出充分肯定,美國授予為因特網發明和定義TCP/IP協議的文頓·瑟夫和卡恩“國家技術金獎”。這無疑使人們認識到TCP/IP協議的重要性。
在阿帕網(ARPR)產生運作之初,通過接口信號處理機實現互聯的電腦并不多,大部分電腦相互之間不兼容,在一臺電腦上完成的工作,很難拿到另一臺電腦上去用,想讓硬件和軟件都不一樣的電腦聯網,也有很多困難。當時美國的狀況是,陸軍用的電腦是DEC系列產品,海軍用的電腦是Honeywell中標機器,空軍用的是IBM公司中標的電腦,每一個軍種的電腦在各自的系里都運行良好,但卻有一個大弊病:不能共享資源。
當時科學家們提出這樣一個理念:“所有電腦生來都是平等的。”為了讓這些“生來平等”的電腦能夠實現“資源共享”就得在這些系統的標準之上,建立一種大家共同都必須遵守的標準,這樣才能讓不同的電腦按照一定的規則進行“談判”,并且在談判之后能“握手”。
在確定今天因特網各個電腦之間“談判規則”過程中,最重要的人物當數瑟夫(Vinton G.Cerf)。正是他的努力,才使今天各種不同的電腦能按照協議上網互聯。瑟夫也因此獲得了與克萊因羅克(“因特網之父”)一樣的美稱“互聯網之父”。
瑟夫從小喜歡標新立異,堅強而又熱情。中學會書時,就被允許使用加州大學洛杉磯分校的電腦,他認為“為電腦編程序是個非常激動人心的事,…只要把程序編好,就可以讓電腦做任何事情。”1965年,瑟夫從斯坦福大學畢業到IBM的一家公司當系統工程師,工作沒多久,瑟夫就覺得知識不夠用,于是到加州大學洛杉磯分校攻讀博士,那時,正逢阿帕網的建立,“接口信號處理機”(IMP)的研試及網絡測評中心的建立,瑟夫也成了著名科學家克萊因羅克手下的一位學生。瑟夫與另外三位年輕人(溫菲爾德、克羅克、布雷登)參與了阿帕網的第一個節點的聯接。此后不久,BBN公司對工作中各種情況發展有很強判斷能力、被公認阿帕網建成作出巨大貢獻的鮑伯·卡恩(Bob Kahn)也來到了加州大學洛杉磯分校。 在那段日子里,往往是卡恩提出需要什么軟件,而瑟夫則通宵達旦地把符合要求的軟件給編出來,然后他們一起測試這些軟件,直至能正常運行。當時的主要格局是這樣的,羅伯茨提出網絡思想設計網絡布局,卡恩設計阿帕網總體結構,克萊因羅克負責網絡測評系統,還有眾多的科學家、研究生參與研究、試驗。69年9月阿帕網誕生、運行后,才發現各個IMP連接的時候,需要考慮用各種電腦都認可的信號來打開通信管道,數據通過后還要關閉通道。否則這些IMP不會知道什么時候應該接收信號,什么時候該結束,這就是我們現在所說的通信“協議”的概念。70年12月制定出來了最初的通信協議j 由卡恩開發、瑟夫參與的“網絡控制協議”(NCP),但要真正建立一個共同的標準很不容易,72年10月國際電腦通信大會結束后,科學家們都在為此而努力。“包切換”理論為網絡之間的聯接方式提供了理論基礎。卡恩在自己研究的基礎上,認識到只有深入理解各種操作系統的細節才能建立一種對各種操作系統普適的協議,73年卡恩請瑟夫一起考慮這個協議的各個細節,他們這次合作的結果產生了目前在開放系統下的所有網民和網管人員都在使用的“傳輸控制協議”(TCP,Transsmission-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協議作為因特網上所有主機間的共同協議,從此以后被作為一種必須遵守的規則被肯定和應用。正是由于TCP/IP協議,才有今天“地球村”因特網的巨大發展。
什么是 TCP/IP?
TCP/IP 是供已連接因特網的計算機進行通信的通信協議。
TCP/IP 指傳輸控制協議/網際協議 (Transmission Control Protocol / Internet Protocol)。
TCP/IP 定義了電子設備(比如計算機)如何連入因特網,以及數據如何在它們之間傳輸的標準。
TCP/IP協議介紹
TCP/IP的通訊協議
這部分簡要介紹一下TCP/IP的內部結構,為討論與互聯網有關的安全問題打下基礎。TCP/IP協議組之所以流行,部分原因是因為它可以用在各種各樣的信道和底層協議(例如T1和X.25、以太網以及RS-232串行接口)之上。確切地說,TCP/IP協議是一組包括TCP協議和IP協議,UDP(User Datagram Protocol)協議、ICMP(Internet Control Message Protocol)協議和其他一些協議的協議組。
TCP/IP整體構架概述
TCP/IP協議并不完全符合OSI的七層參考模型。傳統的開放式系統互連參考模型,是一種通信協議的7層抽象的參考模型,其中每一層執行某一特定任務。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。而TCP/IP通訊協議采用了4層的層級結構,每一層都呼叫它的下一層所提供的網絡來完成自己的需求。這4層分別為:
應用層:應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程訪問協議(Telnet)等。
傳輸層:在此層中,它提供了節點間的數據傳送服務,如傳輸控制協議(TCP)、用戶數據報協議(UDP)等,TCP和UDP給數據包加入傳輸數據并把它傳輸到下一層中,這一層負責傳送數據,并且確定數據已被送達并接收。
互連網絡層:負責提供基本的數據封包傳送功能,讓每一塊數據包都能夠到達目的主機(但不檢查是否被正確接收),如網際協議(IP)。
網絡接口層:對實際的網絡媒體的管理,定義如何使用實際網絡(如Ethernet、Serial Line等)來傳送數據。
TCP/IP中的協議
以下簡單介紹TCP/IP中的協議都具備什么樣的功能,都是如何工作的:
1. IP
網際協議IP是TCP/IP的心臟,也是網絡層中最重要的協議。
IP層接收由更低層(網絡接口層例如以太網設備驅動程序)發來的數據包,并把該數據包發送到更高層---TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數據包傳送到更低層。IP數據包是不可靠的,因為IP并沒有做任何事情來確認數據包是按順序發送的或者沒有被破壞。IP數據包中含有發送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。
高層的TCP和UDP服務在接收數據包時,通常假設包中的源地址是有效的。也可以這樣說,IP地址形成了許多服務的認證基礎,這些服務相信數據包是從一個有效的主機發送來的。IP確認包含一個選項,叫作IP source routing,可以用來指定一條源地址和目的地址之間的直接路徑。對于一些TCP和UDP的服務來說,使用了該選項的IP包好像是從路徑上的最后一個系統傳遞過來的,而不是來自于它的真實地點。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統來進行平常是被禁止的連接。那么,許多依靠IP源地址做確認的服務將產生問題并且會被非法入侵。
2. TCP
如果IP數據包中有已經封好的TCP數據包,那么IP將把它們向‘上’傳送到TCP層。TCP將包排序并進行錯誤檢查,同時實現虛電路間的連接。TCP數據包中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。
TCP將它的信息送到更高層的應用程序,例如Telnet的服務程序和客戶程序。應用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設備驅動程序和物理介質,最后到接收方。
面向連接的服務(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它們使用了TCP。DNS在某些情況下使用TCP(發送和接收域名數據庫),但使用UDP傳送有關單個主機的信息。
3.UDP
UDP與TCP位于同一層,但它不管數據包的順序、錯誤或重發。因此,UDP不被應用于那些使用虛電路的面向連接的服務,UDP主要用于那些面向查詢---應答的服務,例如NFS。相對于FTP或Telnet,這些服務需要交換的信息量較小。使用UDP的服務包括NTP(網絡時間協議)和DNS(DNS也使用TCP)。
欺騙UDP包比欺騙TCP包更容易,因為UDP沒有建立初始化連接(也可以稱為握手)(因為在兩個系統間沒有虛電路),也就是說,與UDP相關的服務面臨著更大的危險。
4.ICMP
ICMP與IP位于同一層,它被用來傳送IP的的控制信息。它主要是用來提供有關通向目的地址的路徑信息。ICMP的‘Redirect’信息通知主機通向其他系統的更準確的路徑,而‘Unreachable’信息則指出路徑有問題。另外,如果路徑不可用了,ICMP可以使TCP連接‘體面地’終止。PING是最常用的基于ICMP的服務。
5. TCP和UDP的端口結構
TCP和UDP服務通常有一個客戶/服務器的關系,例如,一個Telnet服務進程開始在系統上處于空閑狀態,等待著連接。用戶使用Telnet客戶程序與服務進程建立一個連接。客戶程序向服務進程寫入信息,服務進程讀出信息并發出響應,客戶程序讀出響應并向用戶報告。因而,這個連接是雙工的,可以用來進行讀寫。
兩個系統間的多重Telnet連接是如何相互確認并協調一致呢?TCP或UDP連接唯一地使用每個信息中的如下四項進行確認:
源IP地址 發送包的IP地址。
目的IP地址 接收包的IP地址。
源端口 源系統上的連接的端口。
目的端口 目的系統上的連接的端口。
端口是一個軟件結構,被客戶程序或服務進程用來發送和接收信息。一個端口對應一個16比特的數。服務進程通常使用一個固定的端口,例如,SMTP使用25、Xwindows使用6000。這些端口號是‘廣為人知’的,因為在建立與特定的主機或服務的連接時,需要這些地址和目的地址進行通訊。
IP協議
IP(Internet Protocol)協議的英文名直譯就是:因特網協議。從這個名稱我們就可以知道IP協議的重要性。在現實生活中,我們進行貨物運輸時都是把貨物包裝成一個個的紙箱或者是集裝箱之后才進行運輸,在網絡世界中各種信息也是通過類似的方式進行傳輸的。IP協議規定了數據傳輸時的基本單元和格式。如果比作貨物運輸,IP協議規定了貨物打包時的包裝箱尺寸和包裝的程序。 除了這些以外,IP協議還定義了數據包的遞交辦法和路由選擇。同樣用貨物運輸做比喻,IP協議規定了貨物的運輸方法和運輸路線。
TCP協議
我們已經知道了IP協議很重要,IP協議已經規定了數據傳輸的主要內容,那TCP(Transmission Control Protocol)協議是做什么的呢?不知大家發現沒有,在IP協議中定義的傳輸是單向的,也就是說發出去的貨物對方有沒有收到我們是不知道的。就好像8毛錢一份的平信一樣。那對于重要的信件我們要寄掛號信怎么辦呢?TCP協議就是幫我們寄“掛號信”的。TCP協議提供了可靠的面向對象的數據流傳輸服務的規則和約定。簡單的說在TCP模式中,對方發一個數據包給你,你要發一個確認數據包給對方。通過這種確認來提供可靠性。
1.1 TCP/IP參考模型
TCP/IP協議并不完全符合OSI的七層參考模型。傳統的開放式系統互連參考模型,是一種通信協議的7層抽象的參考模型,其中每一層執行某一特定任務。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數據鏈路層、網路層、傳輸層、話路層、表示層和應用層。而TCP/IP通訊協議采用了4層的層級結構,每一層都呼叫它的下一層所提供的網絡來完成自己的需求。這4層分別為:
應用層:應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程訪問協議(Telnet)等。
傳輸層:在此層中,它提供了節點間的數據傳送服務,如傳輸控制協議(TCP)、用戶數據報協議(UDP)等,TCP和UDP給數據包加入傳輸數據并把它傳輸到下一層中,這一層負責傳送數據,并且確定數據已被送達并接收。
互連網絡層:負責提供基本的數據封包傳送功能,讓每一塊數據包都能夠到達目的主機(但不檢查是否被正確接收),如網際協議(IP)。
網絡接口層:對實際的網絡媒體的管理,定義如何使用實際網絡(如Ethernet、Serial Line等)來傳送數據。
1. 2 網間協議IP
Internet 上使用的一個關鍵的底層協議是網際協議,通常稱IP協議。我們利用一個共同遵守的通信協議,從而使 Internet 成為一個允許連接不同類型的計算機和不同操作系統的網絡。要使兩臺計算機彼此之間進行通信,必須使兩臺計算機使用同一種"語言"。通信協議正像兩臺計算機交換信息所使用的共同語言,它規定了通信雙方在通信中所應共同遵守的約定。
計算機的通信協議精確地定義了計算機在彼此通信過程的所有細節。例如,每臺計算機發送的信息格式和含義,在什么情況下應發送規定的特殊信息,以及接收方的計算機應做出哪些應答等等。
網際協議IP協議提供了能適應各種各樣網絡硬件的靈活性,對底層網絡硬件幾乎沒有任何要求,任何一個網絡只要可以從一個地點向另一個地點傳送二進制數據,就可以使用IP協議加入 Internet 了。
如果希望能在 Internet 上進行交流和通信,則每臺連上 Internet 的計算機都必須遵守IP協議。為此使用 Internet 的每臺計算機都必須運行IP軟件,以便時刻準備發送或接收信息。
IP協議對于網絡通信有著重要的意義:網絡中的計算機通過安裝IP軟件,使許許多多的局域網絡構成了一個龐大而又嚴密的通信系統。從而使 Internet 看起來好像是真實存在的,但實際上它是一種并不存在的虛擬網絡,只不過是利用IP協議把全世界上所有愿意接入 Internet 的計算機局域網絡連接起來,使得它們彼此之間都能夠通信。
1.3 傳輸控制協議TCP
盡管計算機通過安裝IP軟件,從而保證了計算機之間可以發送和接收資料,但IP協議還不能解決資料分組在傳輸過程中可能出現的問題。因此,若要解決可能出現的問題,連上 Internet 的計算機還需要安裝TCP協議來提供可靠的并且無差錯的通信服務。
TCP協議被稱作一種端對端協議。這是因為它為兩臺計算機之間的連接起了重要作用:當一臺計算機需要與另一臺遠程計算機連接時,TCP協議會讓它們建立一個連接、發送和接收資料以及終止連接。
傳輸控制協議TCP協議利用重發技術和擁塞控制機制,向應用程序提供可靠的通信連接,使它能夠自動適應網上的各種變化。即使在 Internet 暫時出現堵塞的情況下,TCP也能夠保證通信的可靠。
眾所周知, Internet 是一個龐大的國際性網絡,網絡上的擁擠和空閑時間總是交替不定的,加上傳送的距離也遠近不同,所以傳輸資料所用時間也會變化不定。TCP協議具有自動調整"超時值"的功能,能很好地適應 Internet 上各種各樣的變化,確保傳輸數值的正確。
因此,從上面我們可以了解到:IP協議只保證計算機能發送和接收分組資料,而TCP協議則可提供一個可靠的、可流控的、全雙工的信息流傳輸服務。
綜上所述,雖然IP和TCP這兩個協議的功能不盡相同,也可以分開單獨使用,但它們是在同一時期作為一個協議來設計的,并且在功能上也是互補的。只有兩者的結合,才能保證 Internet 在復雜的環境下正常運行。凡是要連接到 Internet 的計算機,都必須同時安裝和使用這兩個協議,因此在實際中常把這兩個協議統稱作TCP/IP協議。
1.4 IP地址及其分類
在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類地址的表示范圍為:10.0.0.0~126.255.255.255,默認網絡屏蔽為:255.0.0.0;A類地址分配給規模特別大的網絡使用。A類網絡用第一組數字表示網絡本身的地址,后面三組數字作為連接于網絡上的主機的地址。分配給具有大量主機(直接個人用戶)而局域網絡個數較少的大型網絡。例如IBM公司的網絡。
2. B類地址
B類地址的表示范圍為:127.0.0.0~191.255.255.255,默認網絡屏蔽為:255.255.0.0;B類地址分配給一般的中型網絡。B類網絡用第一、二組數字表示網絡的地址,后面兩組數字代表網絡上的主機地址。
3. C類地址
C類地址的表示范圍為:192.0.0.0~223.255.255.255,默認網絡屏蔽為:255.255.255.0;C類地址分配給小型網絡,如一般的局域網,它可連接的主機數量是最少的,采用把所屬的用戶分為若干的網段進行管理。C類網絡用前三組數字表示網絡的地址,最后一組數字作為網絡上的主機地址。
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類地址稱為廣播地址,供特殊協議向選定的節點發送信息時用。E類地址保留給將來使用。
連接到Internet上的每臺計算機,不論其IP地址屬于哪類都與網絡中的其它計算機處于平等地位,因為只有IP地址才是區別計算機的唯一標識。所以,以上IP地址的分類只適用于網絡分類。
在Internet中,一臺計算機可以有一個或多個IP地址,就像一個人可以有多個通信地址一樣,但兩臺或多臺計算機卻不能共享一個IP地址。如果有兩臺計算機的IP地址相同,則會引起異常現象,無論哪臺計算機都將無法正常工作。
順便提一下幾類特殊的IP地址:
1. 廣播地址 目的端為給定網絡上的所有主機,一般主機段為全0
2. 單播地址 目的端為指定網絡上的單個主機地址
3. 組播地址 目的端為同一組內的所有主機地址
4. 環回地址 127.0.0.1 在環回測試和廣播測試時會使用
1.5 子網的劃分
若公司不上Internet,那一定不會煩惱IP地址的問題,因為可以任意使用所有的IP地址,不管是A類或是B類,這個時候不會想到要用子網,但若是上Internet那IP地址便彌足珍貴了,目前全球一陣Internet熱,IP地址已經愈來愈少了,而所申請的IP地址目前也趨保守,而且只有經申請的IP地址能在Internet使用,但對某些公司只能申請到一個C類的IP地址,但又有多個點需要使用,那這時便需要使用到子網,這就需要考慮子網的劃分,下面簡介子網的原理及如何規劃。
1.5.1 子網掩碼(Subnet Mask)的介紹
設定任何網絡上的任何設備不管是主機、個人電腦、路由器等皆需要設定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
其它的子網掩碼所分成的網絡編碼可自行以上述方法自行推演出來。
1.5.3 子網的應用
使用子網是要解決只有一組C類地址但需要數個網絡編碼的問題,并不是解決IP地址不夠用的問題,因為使用子網反而能使用的IP地址會變少,子網通常是使用在跨地域的網絡互聯之中,兩者之間使用路由器連線,同時也上Internet,但只申請到一組C 類IP地址,過路由又需不同的網絡,所以此時就必須使用到子網,當然二網絡間也可以遠程橋接(Remote Bridge,字面翻譯)連接,那便沒有使用子網的問題。
網關地址
若要使兩個完全不同的網絡(異構網)連接在一起,一般使用網關,在Internet中兩個網絡也要通過一臺稱為網關的計算機實現互聯。這臺計算機能根據用戶通信目標計算機的IP地址,決定是否將用戶發出的信息送出本地網絡,同時,它還將外界發送給屬于本地網絡計算機的信息接收過來,它是一個網絡與另一個網絡相聯的通道。為了使TCP/IP協議能夠尋址,該通道被賦予一個IP地址,這個IP地址稱為網關地址。
完美測試TCP/IP協議簡介
安裝網絡硬件和網絡協議之后,我們一般要進行TCP/IP協議的測試工作,那么怎樣測試才算是比較全面的測試呢?我們認為,全面的測試應包括局域網和互聯網兩個方面,因此應從局域網和互聯網兩個方面測試,以下是我們在實際工作中利用命令行測試TCP/IP配置的步驟:
1、 單擊“開始”/“運行”,輸入CMD按回車,打開命令提示符窗口。
2、 首先檢查IP地址、子網掩碼、默認網關、DNS服務器地址是否正確,輸入命令ipconfig /all,按回車。此時顯示了你的網絡配置,觀查是否正確。
3、 輸入ping 127.0.0.1,觀查網卡是否能轉發數據,如果出現“Request timed out”,表明配置差錯或網絡有問題。
4、 Ping一個互聯網地址,如ping 202.102.128.68,看是否有數據包傳回,以驗證與互聯網的連接性。
5、 Ping 一個局域網地址,觀查與它的連通性。
6、 用nslookup測試DNS解析是否正確,輸入如nslookup www.ccidnet.com,查看是否能解析。
如果你的計算機通過了全部測試,則說明網絡正常,否則網絡可能有不同程度的問題。在此不展開詳述。不過,要注意,在使用 ping命令時,有些公司會在其主機設置丟棄ICMP數據包,造成你的ping命令無法正常返回數據包,不防換個網站試試。
補充:
TCP/IP 協議簇
TCP/IP(Transmission Control Protocol/Internet Protocol)已成為一個事實上的工業
標準。
TCP/IP是一組協議的代名詞,它還包括許多協議,組成了TCP/IP協議簇。
TCP/IP協議簇分為四層,IP位于協議簇的第二層(對應OSI的第三層),TCP位于協議簇的第
三層(對應OSI的第四層)。
TCP和IP是TCP/IP協議簇的中間兩層,是整個協議簇的核心,起到了承上啟下的作用。
1、接口層
TCP/IP的最低層是接口層,常見的接口層協議有:
Ethernet 802.3、Token Ring 802.5、X.25、Frame reley、HDLC、PPP等。
2、網絡層
網絡層包括: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服務。
3、傳輸層
傳輸層協議主要是:傳輸控制協議TCP(Transmission Control Protocol)和用戶數據報協
議UDP(User Datagram rotocol)。
TCP是面向連接的通信協議,通過三次握手建立連接,通訊時完成時要拆除連接,由于TCP
是面向連接的所以只能用于點對點的通訊。
TCP提供的是一種可靠的數據流服務,采用“帶重傳的肯定確認”技術來實現傳輸的可靠
性。TCP還采用一種稱為“滑動窗口”的方式進行流量控制,所謂窗口實際表示接收能力,用
以限制發送方的發送速度。
UDP是面向無連接的通訊協議,UDP數據包括目的端口號和源端口號信息,由于通訊不需要
連接,所以可以實現廣播發送。
UDP通訊時不需要接收方確認,屬于不可靠的傳輸,可能會出丟包現象,實際應用中要求
在程序員編程驗證。
4、應用層
應用層一般是面向用戶的服務。如FTP、TELNET、DNS、SMTP、POP3。
FTP(File Transmision Protocol)是文件傳輸協議,一般上傳下載用FTP服務,數據端口
是20H,控制端口是21H。
Telnet服務是用戶遠程登錄服務,使用23H端口,使用明碼傳送,保密性差、簡單方便。
DNS(Domain Name Service)是域名解析服務,提供域名到IP地址之間的轉換。
SMTP(Simple Mail Transfer Protocol)是簡單郵件傳輸協議,用來控制信件的發送、中
轉。
POP3(Post Office Protocol 3)是郵局協議第3版本,用于接收郵件。
數據格式:
數據幀:幀頭+IP數據包+幀尾 (幀頭包括源和目標主機MAC地址及類型,幀尾是校驗字)
IP數據包:IP頭部+TCP數據信息 (IP頭包括源和目標主機IP地址、類型、生存期等)
TCP數據信息:TCP頭部+實際數據 (TCP頭包括源和目標主機端口號、順序號、確認號、校
驗字等)