TCP、IP協(xié)議簡(jiǎn)介
/網(wǎng)際協(xié)議)是互聯(lián)網(wǎng)中的基本通信語(yǔ)言或協(xié)議。在私TCP 此時(shí)接收你所發(fā)送的信息的計(jì)算機(jī)也應(yīng)有一個(gè)TCP /IP 程序TCP /IP 是一個(gè)兩層的程序。高層為傳輸控制協(xié)議,它負(fù)責(zé)聚集信息或把文件拆分稱更

/網(wǎng)際協(xié)議)是互聯(lián)網(wǎng)中的基本通信語(yǔ)言或協(xié)議。在私

TCP 此時(shí)接收你所發(fā)送的信息的計(jì)算機(jī)也應(yīng)有一個(gè)TCP /IP 程序
TCP /IP 是一個(gè)兩層的程序。高層為傳輸控制協(xié)議,它負(fù)責(zé)聚集信息或把文件拆分稱更小的包。這些包通過(guò)網(wǎng)絡(luò)傳送到接收端的TCP 層,接收端的TCP 層把包還原為原始文件。低層是網(wǎng)際協(xié)議,它處理每個(gè)包的地址部分,使這些包正確的到達(dá)目的地。網(wǎng)絡(luò)上的網(wǎng)關(guān)計(jì)算機(jī)根據(jù)信息的地址來(lái)進(jìn)行路由選擇。即使來(lái)自同一文件的分包路由也有可能不同,但最后會(huì)在目的地匯合。
TCP /IP 使用客戶端/服務(wù)器模式進(jìn)行通信。TCP /IP 通信是點(diǎn)對(duì)點(diǎn)的,意思是通信是網(wǎng)絡(luò)中的一臺(tái)主機(jī)與另一臺(tái)主機(jī)之間的。TCP /IP 與上層應(yīng)用程序之間可以說(shuō)是“沒(méi)有國(guó)籍的”,因?yàn)槊總€(gè)客戶請(qǐng)求都被看做是與上一個(gè)請(qǐng)求無(wú)關(guān)的。正是它們之間的“無(wú)國(guó)籍的”釋放了網(wǎng)絡(luò)路徑,才是每個(gè)人都可以連續(xù)不斷的使用網(wǎng)絡(luò)。
許多用戶熟悉使用TCP /IP 協(xié)議的高層應(yīng)用協(xié)議。包括萬(wàn)維網(wǎng)的超文本傳輸協(xié)議(HTTP ),文件傳輸協(xié)議(FTP ),Telnet 和簡(jiǎn)單郵件傳輸協(xié)議(SMTP )。這些協(xié)議通常和TCP /IP 協(xié)議打包在一起。
使用模擬電話調(diào)制解調(diào)器連接網(wǎng)絡(luò)的個(gè)人電腦通常是使用串行線路接口協(xié)議(SLIP )和點(diǎn)對(duì)點(diǎn)協(xié)議(PPP )。這些協(xié)議壓縮IP 包后通過(guò)撥號(hào)電話線發(fā)送到對(duì)方的調(diào)制解調(diào)器中。
有TCP /IP 協(xié)議相關(guān)的協(xié)議還包括用戶數(shù)據(jù)報(bào)協(xié)議(UDP ),它代替TCP /IP 協(xié)議來(lái)達(dá)到特殊的目的。其他協(xié)議是網(wǎng)絡(luò)主機(jī)用來(lái)交換路由信息的,包括
Internet 控制信息協(xié)議(ICMP ),內(nèi)部網(wǎng)關(guān)協(xié)議(IGP ),外部網(wǎng)關(guān)協(xié)議(EGP ),邊界網(wǎng)關(guān)協(xié)議(BGP )。
TCP/IP協(xié)議
TCP/IP(Transmission Control Protocol/Internet Protocol)的簡(jiǎn)寫(xiě),中文譯名為傳輸控制協(xié)議/互聯(lián)網(wǎng)絡(luò)協(xié)議)協(xié)議是Internet 最基本的協(xié)議,簡(jiǎn)單地說(shuō),就是由底層的IP 協(xié)議和TCP 協(xié)議組成的。
眾所周知,如今電腦上因特網(wǎng)都要作TCP/IP協(xié)議設(shè)置,顯然該協(xié)議成了當(dāng)今地球村“人與人”之間的“牽手協(xié)議”。
1997年,為了褒獎(jiǎng)對(duì)因特網(wǎng)發(fā)展作出突出貢獻(xiàn)的科學(xué)家,并對(duì)TCP/IP協(xié)議作出充分肯定,美國(guó)授予為因特網(wǎng)發(fā)明和定義TCP/IP協(xié)議的文頓·瑟夫和卡恩“國(guó)家技術(shù)金獎(jiǎng)”。這無(wú)疑使人們認(rèn)識(shí)到TCP/IP協(xié)議的重要性。
在阿帕網(wǎng)(ARPR )產(chǎn)生運(yùn)作之初,通過(guò)接口信號(hào)處理機(jī)實(shí)現(xiàn)互聯(lián)的電腦并不多,大部分電腦相互之間不兼容,在一臺(tái)電腦上完成的工作,很難拿到另一臺(tái)電腦上去用,想讓硬件和軟件都不一樣的電腦聯(lián)網(wǎng),也有很多困難。當(dāng)時(shí)美國(guó)的狀況是,陸軍用的
,電腦是DEC 系列產(chǎn)品,海軍用的電腦是Honeywell 中標(biāo)機(jī)器,空軍用的是IBM 公司中標(biāo)的電腦,每一個(gè)軍種的電腦在各自的系里都運(yùn)行良好,但卻有一個(gè)大弊病:不能共享資源。
當(dāng)時(shí)科學(xué)家們提出這樣一個(gè)理念:“所有電腦生來(lái)都是平等的?!睘榱俗屵@些“生來(lái)平等”的電腦能夠?qū)崿F(xiàn)“資源共享”就得在這些系統(tǒng)的標(biāo)準(zhǔn)之上,建立一種大家共同都必須遵守的標(biāo)準(zhǔn),這樣才能讓不同的電腦按照一定的規(guī)則進(jìn)行“談判”,并且在談判之后能“握手”。
在確定今天因特網(wǎng)各個(gè)電腦之間“談判規(guī)則”過(guò)程中,最重要的人物當(dāng)數(shù)瑟夫
(Vinton G.Cerf)。正是他的努力,才使今天各種不同的電腦能按照協(xié)議上網(wǎng)互聯(lián)。瑟夫也因此獲得了與克萊因羅克(“因特網(wǎng)之父”)一樣的美稱“互聯(lián)網(wǎng)之父”。
瑟夫從小喜歡標(biāo)新立異,堅(jiān)強(qiáng)而又熱情。中學(xué)會(huì)書(shū)時(shí),就被允許使用加州大學(xué)洛杉磯分校的電腦,他認(rèn)為“為電腦編程序是個(gè)非常激動(dòng)人心的事,…只要把程序編好,就可以讓電腦做任何事情?!?965年,瑟夫從斯坦福大學(xué)畢業(yè)到IBM 的一家公司當(dāng)系統(tǒng)工程師,工作沒(méi)多久,瑟夫就覺(jué)得知識(shí)不夠用,于是到加州大學(xué)洛杉磯分校攻讀博士,那時(shí),正逢阿帕網(wǎng)的建立,“接口信號(hào)處理機(jī)”(IMP )的研試及網(wǎng)絡(luò)測(cè)評(píng)中心的建立,瑟夫也成了著名科學(xué)家克萊因羅克手下的一位學(xué)生。瑟夫與另外三位年輕人(溫菲爾德、克羅克、布雷登)參與了阿帕網(wǎng)的第一個(gè)節(jié)點(diǎn)的聯(lián)接。此后不久,BBN 公司對(duì)工作中各種情況發(fā)展有很強(qiáng)判斷能力、被公認(rèn)阿帕網(wǎng)建成作出巨大貢獻(xiàn)的鮑伯·卡恩(Bob Kahn)也來(lái)到了加州大學(xué)洛杉磯分校。 在那段日子里,往往是卡恩提出需要什么軟件,而瑟夫則通宵達(dá)旦地把符合要求的軟件給編出來(lái),然后他們一起測(cè)試這些軟件,直至能正常運(yùn)行。當(dāng)時(shí)的主要格局是這樣的,羅伯茨提出網(wǎng)絡(luò)思想設(shè)計(jì)網(wǎng)絡(luò)布局,卡恩設(shè)計(jì)阿帕網(wǎng)總體結(jié)構(gòu),克萊因羅克負(fù)責(zé)網(wǎng)絡(luò)測(cè)評(píng)系統(tǒng),還有眾多的科學(xué)家、研究生參與研究、試驗(yàn)。69年9月阿帕網(wǎng)誕生、運(yùn)行后,才發(fā)現(xiàn)各個(gè)IMP 連接的時(shí)候,需要考慮用各種電腦都認(rèn)可的信號(hào)來(lái)打開(kāi)通信管道,數(shù)據(jù)通過(guò)后還要關(guān)閉通道。否則這些IMP 不會(huì)知道什么時(shí)候應(yīng)該接收信號(hào),什么時(shí)候該結(jié)束,這就是我們現(xiàn)在所說(shuō)的通信“協(xié)議”的概念。70年12月制定出來(lái)了最初的通信協(xié)議j 由卡恩開(kāi)發(fā)、瑟夫參與的“網(wǎng)絡(luò)控制協(xié)議”(NCP ),但要真正建立一個(gè)共同的標(biāo)準(zhǔn)很不容易,72年10月國(guó)際電腦通信大會(huì)結(jié)束后,科學(xué)家們都在為此而努力?!鞍袚Q”理論為網(wǎng)絡(luò)之間的聯(lián)接方式提供了理論基礎(chǔ)??ǘ髟谧约貉芯康幕A(chǔ)上,認(rèn)識(shí)到只有深入理解各種操作系統(tǒng)的細(xì)節(jié)才能建立一種對(duì)各種操作系統(tǒng)普適的協(xié)議,73年卡恩請(qǐng)瑟夫一起考慮這個(gè)協(xié)議的各個(gè)細(xì)節(jié),他們這次合作的結(jié)果產(chǎn)生了目前在開(kāi)放系統(tǒng)下的所有網(wǎng)民和網(wǎng)管人員都在使用的“傳輸控制協(xié)議”(TCP ,Transsmission-Control Protocol)和“因特網(wǎng)協(xié)議”(IP ,Internet Protocol)即TCP/IP協(xié)議。
通俗而言:TCP 負(fù)責(zé)發(fā)現(xiàn)傳輸?shù)膯?wèn)題,一有問(wèn)題就發(fā)出信號(hào),要求重新傳輸,直到所有數(shù)據(jù)安全正確地傳輸?shù)侥康牡?。而IP 是給因行網(wǎng)的每一臺(tái)電腦規(guī)定一個(gè)地址。1974年12月,卡恩、瑟夫的第一份TCP 協(xié)議詳細(xì)說(shuō)明正式發(fā)表。當(dāng)時(shí)美國(guó)國(guó)防部與三個(gè)科學(xué)家小組簽定了完成TCP/IP的協(xié)議,結(jié)果由瑟夫領(lǐng)銜的小組捷足先登,首先制定出了通過(guò)詳細(xì)定義的TCP/IP協(xié)議標(biāo)準(zhǔn)。當(dāng)時(shí)作了一個(gè)試驗(yàn),將信息包通過(guò)點(diǎn)
,對(duì)點(diǎn)的衛(wèi)星網(wǎng)絡(luò),再通過(guò)陸地電纜,再通過(guò)衛(wèi)星網(wǎng)絡(luò),再由地面?zhèn)鬏?,貫串歐洲和美國(guó),經(jīng)過(guò)各種電腦系統(tǒng),全程9.4萬(wàn)公里竟然沒(méi)有丟失一個(gè)數(shù)據(jù)位,遠(yuǎn)距離的可靠數(shù)據(jù)傳輸證明了TCP/IP協(xié)議的成功。
1983年1月1日,運(yùn)行較長(zhǎng)時(shí)期曾被人們習(xí)慣了的NCP 被停止使用,TCP/IP協(xié)議作為因特網(wǎng)上所有主機(jī)間的共同協(xié)議,從此以后被作為一種必須遵守的規(guī)則被肯定和應(yīng)用。正是由于TCP/IP協(xié)議,才有今天“地球村”因特網(wǎng)的巨大發(fā)展。 什么是 TCP/IP?
TCP/IP 是供已連接因特網(wǎng)的計(jì)算機(jī)進(jìn)行通信的通信協(xié)議。
TCP/IP 指?jìng)鬏斂刂茀f(xié)議/網(wǎng)際協(xié)議 (Transmission Control Protocol / Internet Protocol) 。
TCP/IP 定義了電子設(shè)備(比如計(jì)算機(jī))如何連入因特網(wǎng),以及數(shù)據(jù)如何在它們之間傳輸?shù)臉?biāo)準(zhǔn)。
TCP/IP協(xié)議介紹
TCP/IP的通訊協(xié)議
這部分簡(jiǎn)要介紹一下TCP/IP的內(nèi)部結(jié)構(gòu),為討論與互聯(lián)網(wǎng)有關(guān)的安全問(wèn)題打下基礎(chǔ)。TCP/IP協(xié)議組之所以流行,部分原因是因?yàn)樗梢杂迷诟鞣N各樣的信道和底層協(xié)議(例如T1和X.25、以太網(wǎng)以及RS-232串行接口)之上。確切地說(shuō),TCP/IP協(xié)議是一組包括TCP 協(xié)議和IP 協(xié)議,UDP (User Datagram Protocol)協(xié)議、ICMP (Internet Control Message Protocol)協(xié)議和其他一些協(xié)議的協(xié)議組。
TCP/IP整體構(gòu)架概述
TCP/IP協(xié)議并不完全符合OSI 的七層參考模型。傳統(tǒng)的開(kāi)放式系統(tǒng)互連參考模型,是一種通信協(xié)議的7層抽象的參考模型, 其中每一層執(zhí)行某一特定任務(wù)。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層和應(yīng)用層。而TCP/IP通訊協(xié)議采用了4層的層級(jí)結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來(lái)完成自己的需求。這4層分別為: 應(yīng)用層:應(yīng)用程序間溝通的層,如簡(jiǎn)單電子郵件傳輸(SMTP )、文件傳輸協(xié)議(FTP )、網(wǎng)絡(luò)遠(yuǎn)程訪問(wèn)協(xié)議(Telnet )等。
傳輸層:在此層中,它提供了節(jié)點(diǎn)間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(TCP )、用戶數(shù)據(jù)報(bào)協(xié)議(UDP )等,TCP 和UDP 給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負(fù)責(zé)傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達(dá)并接收。
,互連網(wǎng)絡(luò)層:負(fù)責(zé)提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達(dá)目的主機(jī)(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP )。
網(wǎng)絡(luò)接口層:對(duì)實(shí)際的網(wǎng)絡(luò)媒體的管理,定義如何使用實(shí)際網(wǎng)絡(luò)(如Ethernet 、Serial Line等)來(lái)傳送數(shù)據(jù)。
TCP/IP中的協(xié)議
以下簡(jiǎn)單介紹TCP/IP中的協(xié)議都具備什么樣的功能,都是如何工作的:
1. IP
網(wǎng)際協(xié)議IP 是TCP/IP的心臟,也是網(wǎng)絡(luò)層中最重要的協(xié)議。
IP 層接收由更低層(網(wǎng)絡(luò)接口層例如以太網(wǎng)設(shè)備驅(qū)動(dòng)程序)發(fā)來(lái)的數(shù)據(jù)包,并把該數(shù)據(jù)包發(fā)送到更高層---TCP 或UDP 層;相反,IP 層也把從TCP 或UDP 層接收來(lái)的數(shù)據(jù)包傳送到更低層。IP 數(shù)據(jù)包是不可靠的,因?yàn)镮P 并沒(méi)有做任何事情來(lái)確認(rèn)數(shù)據(jù)包是按順序發(fā)送的或者沒(méi)有被破壞。IP 數(shù)據(jù)包中含有發(fā)送它的主機(jī)的地址(源地址)和接收它的主機(jī)的地址(目的地址)。
高層的TCP 和UDP 服務(wù)在接收數(shù)據(jù)包時(shí),通常假設(shè)包中的源地址是有效的。也可以這樣說(shuō),IP 地址形成了許多服務(wù)的認(rèn)證基礎(chǔ),這些服務(wù)相信數(shù)據(jù)包是從一個(gè)有效的主機(jī)發(fā)送來(lái)的。IP 確認(rèn)包含一個(gè)選項(xiàng),叫作IP source routing,可以用來(lái)指定一條源地址和目的地址之間的直接路徑。對(duì)于一些TCP 和UDP 的服務(wù)來(lái)說(shuō),使用了該選項(xiàng)的IP 包好像是從路徑上的最后一個(gè)系統(tǒng)傳遞過(guò)來(lái)的,而不是來(lái)自于它的真實(shí)地點(diǎn)。這個(gè)選項(xiàng)是為了測(cè)試而存在的,說(shuō)明了它可以被用來(lái)欺騙系統(tǒng)來(lái)進(jìn)行平常是被禁止的連接。那么,許多依靠IP 源地址做確認(rèn)的服務(wù)將產(chǎn)生問(wèn)題并且會(huì)被非法入侵。
2. TCP
如果IP 數(shù)據(jù)包中有已經(jīng)封好的TCP 數(shù)據(jù)包,那么IP 將把它們向?上?傳送到TCP 層。TCP 將包排序并進(jìn)行錯(cuò)誤檢查,同時(shí)實(shí)現(xiàn)虛電路間的連接。TCP 數(shù)據(jù)包中包括序號(hào)和確認(rèn),所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。 TCP 將它的信息送到更高層的應(yīng)用程序,例如Telnet 的服務(wù)程序和客戶程序。應(yīng)用程序輪流將信息送回TCP 層,TCP 層便將它們向下傳送到IP 層,設(shè)備驅(qū)動(dòng)程序和物理介質(zhì),最后到接收方。
面向連接的服務(wù)(例如Telnet 、FTP 、rlogin 、X Windows和SMTP )需要高度的可靠性,所以它們使用了TCP 。DNS 在某些情況下使用TCP (發(fā)送和接收域名數(shù)據(jù)庫(kù)),但使用UDP 傳送有關(guān)單個(gè)主機(jī)的信息。
3.UDP
UDP 與TCP 位于同一層,但它不管數(shù)據(jù)包的順序、錯(cuò)誤或重發(fā)。因此,UDP 不被應(yīng)用于那些使用虛電路的面向連接的服務(wù),UDP 主要用于那些面向查詢---應(yīng)答的服務(wù),例如NFS 。相對(duì)于FTP 或Telnet ,這些服務(wù)需要交換的信息量較小。使用UDP 的服務(wù)包括NTP (網(wǎng)絡(luò)時(shí)間協(xié)議)和DNS (DNS 也使用TCP )。
,欺騙UDP 包比欺騙TCP 包更容易,因?yàn)閁DP 沒(méi)有建立初始化連接(也可以稱為握手)(因?yàn)樵趦蓚€(gè)系統(tǒng)間沒(méi)有虛電路),也就是說(shuō),與UDP 相關(guān)的服務(wù)面臨著更大的危險(xiǎn)。
4.ICMP
ICMP 與IP 位于同一層,它被用來(lái)傳送IP 的的控制信息。它主要是用來(lái)提供有關(guān)通向目的地址的路徑信息。ICMP 的?Redirect?信息通知主機(jī)通向其他系統(tǒng)的更準(zhǔn)確的路徑,而?Unreachable?信息則指出路徑有問(wèn)題。另外,如果路徑不可用了,ICMP 可以使TCP 連接?體面地?終止。PING 是最常用的基于ICMP 的服務(wù)。
5. TCP和UDP 的端口結(jié)構(gòu)
TCP 和UDP 服務(wù)通常有一個(gè)客戶/服務(wù)器的關(guān)系,例如,一個(gè)Telnet 服務(wù)進(jìn)程開(kāi)始在系統(tǒng)上處于空閑狀態(tài),等待著連接。用戶使用Telnet 客戶程序與服務(wù)進(jìn)程建立一個(gè)連接??蛻舫绦蛳蚍?wù)進(jìn)程寫(xiě)入信息,服務(wù)進(jìn)程讀出信息并發(fā)出響應(yīng),客戶程序讀出響應(yīng)并向用戶報(bào)告。因而,這個(gè)連接是雙工的,可以用來(lái)進(jìn)行讀寫(xiě)。
兩個(gè)系統(tǒng)間的多重Telnet 連接是如何相互確認(rèn)并協(xié)調(diào)一致呢?TCP 或UDP 連接唯一地使用每個(gè)信息中的如下四項(xiàng)進(jìn)行確認(rèn):
源IP 地址 發(fā)送包的IP 地址。
目的IP 地址 接收包的IP 地址。
源端口 源系統(tǒng)上的連接的端口。
目的端口 目的系統(tǒng)上的連接的端口。
端口是一個(gè)軟件結(jié)構(gòu),被客戶程序或服務(wù)進(jìn)程用來(lái)發(fā)送和接收信息。一個(gè)端口對(duì)應(yīng)一個(gè)16比特的數(shù)。服務(wù)進(jìn)程通常使用一個(gè)固定的端口,例如,SMTP 使用25、Xwindows 使用6000。這些端口號(hào)是?廣為人知?的,因?yàn)樵诮⑴c特定的主機(jī)或服務(wù)的連接時(shí),需要這些地址和目的地址進(jìn)行通訊。
IP 協(xié)議
IP (Internet Protocol)協(xié)議的英文名直譯就是:因特網(wǎng)協(xié)議。從這個(gè)名稱我們就可以知道IP 協(xié)議的重要性。在現(xiàn)實(shí)生活中,我們進(jìn)行貨物運(yùn)輸時(shí)都是把貨物包裝成一個(gè)個(gè)的紙箱或者是集裝箱之后才進(jìn)行運(yùn)輸,在網(wǎng)絡(luò)世界中各種信息也是通過(guò)類(lèi)似的方式進(jìn)行傳輸?shù)?。IP 協(xié)議規(guī)定了數(shù)據(jù)傳輸時(shí)的基本單元和格式。如果比作貨物運(yùn)輸,IP 協(xié)議規(guī)定了貨物打包時(shí)的包裝箱尺寸和包裝的程序。 除了這些以外,IP 協(xié)議還定義了數(shù)據(jù)包的遞交辦法和路由選擇。同樣用貨物運(yùn)輸做比喻,IP 協(xié)議規(guī)定了貨物的運(yùn)輸方法和運(yùn)輸路線。
TCP 協(xié)議
我們已經(jīng)知道了IP 協(xié)議很重要,IP 協(xié)議已經(jīng)規(guī)定了數(shù)據(jù)傳輸?shù)闹饕獌?nèi)容,那TCP (Transmission Control Protocol)協(xié)議是做什么的呢?不知大家發(fā)現(xiàn)沒(méi)有,在
,IP 協(xié)議中定義的傳輸是單向的,也就是說(shuō)發(fā)出去的貨物對(duì)方有沒(méi)有收到我們是不知道的。就好像8毛錢(qián)一份的平信一樣。那對(duì)于重要的信件我們要寄掛號(hào)信怎么辦呢?TCP 協(xié)議就是幫我們寄“掛號(hào)信”的。TCP 協(xié)議提供了可靠的面向?qū)ο蟮臄?shù)據(jù)流傳輸服務(wù)的規(guī)則和約定。簡(jiǎn)單的說(shuō)在TCP 模式中,對(duì)方發(fā)一個(gè)數(shù)據(jù)包給你,你要發(fā)一個(gè)確認(rèn)數(shù)據(jù)包給對(duì)方。通過(guò)這種確認(rèn)來(lái)提供可靠性。
1.1 TCP/IP參考模型
TCP/IP協(xié)議并不完全符合OSI 的七層參考模型。傳統(tǒng)的開(kāi)放式系統(tǒng)互連參考模型,是一種通信協(xié)議的7層抽象的參考模型, 其中每一層執(zhí)行某一特定任務(wù)。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數(shù)據(jù)鏈路層、網(wǎng)路層、傳輸層、話路層、表示層和應(yīng)用層。而TCP/IP通訊協(xié)議采用了4層的層級(jí)結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來(lái)完成自己的需求。這4層分別為: 應(yīng)用層:應(yīng)用程序間溝通的層,如簡(jiǎn)單電子郵件傳輸(SMTP )、文件傳輸協(xié)議(FTP )、網(wǎng)絡(luò)遠(yuǎn)程訪問(wèn)協(xié)議(Telnet )等。
傳輸層:在此層中,它提供了節(jié)點(diǎn)間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(TCP )、用戶數(shù)據(jù)報(bào)協(xié)議(UDP )等,TCP 和UDP 給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負(fù)責(zé)傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達(dá)并接收。
互連網(wǎng)絡(luò)層:負(fù)責(zé)提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達(dá)目的主機(jī)(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP )。
網(wǎng)絡(luò)接口層:對(duì)實(shí)際的網(wǎng)絡(luò)媒體的管理,定義如何使用實(shí)際網(wǎng)絡(luò)(如Ethernet 、Serial Line等)來(lái)傳送數(shù)據(jù)。
1. 2 網(wǎng)間協(xié)議IP
Internet 上使用的一個(gè)關(guān)鍵的底層協(xié)議是網(wǎng)際協(xié)議,通常稱IP 協(xié)議。我們利用一個(gè)共同遵守的通信協(xié)議,從而使 Internet 成為一個(gè)允許連接不同類(lèi)型的計(jì)算機(jī)和不同操作系統(tǒng)的網(wǎng)絡(luò)。要使兩臺(tái)計(jì)算機(jī)彼此之間進(jìn)行通信,必須使兩臺(tái)計(jì)算機(jī)使用同一種" 語(yǔ)言" 。通信協(xié)議正像兩臺(tái)計(jì)算機(jī)交換信息所使用的共同語(yǔ)言,它規(guī)定了通信雙方在通信中所應(yīng)共同遵守的約定。
計(jì)算機(jī)的通信協(xié)議精確地定義了計(jì)算機(jī)在彼此通信過(guò)程的所有細(xì)節(jié)。例如,每臺(tái)計(jì)算機(jī)發(fā)送的信息格式和含義,在什么情況下應(yīng)發(fā)送規(guī)定的特殊信息,以及接收方的計(jì)算機(jī)應(yīng)做出哪些應(yīng)答等等。
網(wǎng)際協(xié)議IP 協(xié)議提供了能適應(yīng)各種各樣網(wǎng)絡(luò)硬件的靈活性,對(duì)底層網(wǎng)絡(luò)硬件幾乎沒(méi)有任何要求,任何一個(gè)網(wǎng)絡(luò)只要可以從一個(gè)地點(diǎn)向另一個(gè)地點(diǎn)傳送二進(jìn)制數(shù)據(jù),就可以使用IP 協(xié)議加入 Internet 了。
,如果希望能在 Internet 上進(jìn)行交流和通信,則每臺(tái)連上 Internet 的計(jì)算機(jī)都必須遵守IP 協(xié)議。為此使用 Internet 的每臺(tái)計(jì)算機(jī)都必須運(yùn)行IP 軟件,以便時(shí)刻準(zhǔn)備發(fā)送或接收信息。
IP 協(xié)議對(duì)于網(wǎng)絡(luò)通信有著重要的意義:網(wǎng)絡(luò)中的計(jì)算機(jī)通過(guò)安裝IP 軟件,使許許多多的局域網(wǎng)絡(luò)構(gòu)成了一個(gè)龐大而又嚴(yán)密的通信系統(tǒng)。從而使 Internet 看起來(lái)好像是真實(shí)存在的,但實(shí)際上它是一種并不存在的虛擬網(wǎng)絡(luò),只不過(guò)是利用IP 協(xié)議把全世界上所有愿意接入 Internet 的計(jì)算機(jī)局域網(wǎng)絡(luò)連接起來(lái),使得它們彼此之間都能夠通信。
1.3 傳輸控制協(xié)議TCP
盡管計(jì)算機(jī)通過(guò)安裝IP 軟件,從而保證了計(jì)算機(jī)之間可以發(fā)送和接收資料,但I(xiàn)P 協(xié)議還不能解決資料分組在傳輸過(guò)程中可能出現(xiàn)的問(wèn)題。因此,若要解決可能出現(xiàn)的問(wèn)題,連上 Internet 的計(jì)算機(jī)還需要安裝TCP 協(xié)議來(lái)提供可靠的并且無(wú)差錯(cuò)的通信服務(wù)。
TCP 協(xié)議被稱作一種端對(duì)端協(xié)議。這是因?yàn)樗鼮閮膳_(tái)計(jì)算機(jī)之間的連接起了重要作用:當(dāng)一臺(tái)計(jì)算機(jī)需要與另一臺(tái)遠(yuǎn)程計(jì)算機(jī)連接時(shí),TCP 協(xié)議會(huì)讓它們建立一個(gè)連接、發(fā)送和接收資料以及終止連接。
傳輸控制協(xié)議TCP 協(xié)議利用重發(fā)技術(shù)和擁塞控制機(jī)制,向應(yīng)用程序提供可靠的通信連接,使它能夠自動(dòng)適應(yīng)網(wǎng)上的各種變化。即使在 Internet 暫時(shí)出現(xiàn)堵塞的情況下,TCP 也能夠保證通信的可靠。
眾所周知, Internet 是一個(gè)龐大的國(guó)際性網(wǎng)絡(luò),網(wǎng)絡(luò)上的擁擠和空閑時(shí)間總是交替不定的,加上傳送的距離也遠(yuǎn)近不同,所以傳輸資料所用時(shí)間也會(huì)變化不定。TCP 協(xié)議具有自動(dòng)調(diào)整" 超時(shí)值" 的功能,能很好地適應(yīng) Internet 上各種各樣的變化,確保傳輸數(shù)值的正確。
因此,從上面我們可以了解到:IP 協(xié)議只保證計(jì)算機(jī)能發(fā)送和接收分組資料,而TCP 協(xié)議則可提供一個(gè)可靠的、可流控的、全雙工的信息流傳輸服務(wù)。
綜上所述,雖然IP 和TCP 這兩個(gè)協(xié)議的功能不盡相同,也可以分開(kāi)單獨(dú)使用,但它們是在同一時(shí)期作為一個(gè)協(xié)議來(lái)設(shè)計(jì)的,并且在功能上也是互補(bǔ)的。只有兩者的結(jié)合,才能保證 Internet 在復(fù)雜的環(huán)境下正常運(yùn)行。凡是要連接到 Internet 的計(jì)算機(jī),都必須同時(shí)安裝和使用這兩個(gè)協(xié)議,因此在實(shí)際中常把這兩個(gè)協(xié)議統(tǒng)稱作TCP/IP協(xié)議。
1.4 IP地址及其分類(lèi)
在Internet 上連接的所有計(jì)算機(jī),從大型機(jī)到微型計(jì)算機(jī)都是以獨(dú)立的身份出現(xiàn),我們稱它為主機(jī)。為了實(shí)現(xiàn)各主機(jī)間的通信,每臺(tái)主機(jī)都必須有一個(gè)唯一的網(wǎng)絡(luò)地址。就好像每一個(gè)住宅都有唯一的門(mén)牌一樣,才不至于在傳輸資料時(shí)出現(xiàn)混亂。
,Internet 的網(wǎng)絡(luò)地址是指連入Internet 網(wǎng)絡(luò)的計(jì)算機(jī)的地址編號(hào)。所以,在Internet 網(wǎng)絡(luò)中,網(wǎng)絡(luò)地址唯一地標(biāo)識(shí)一臺(tái)計(jì)算機(jī)。
我們都已經(jīng)知道,Internet 是由幾千萬(wàn)臺(tái)計(jì)算機(jī)互相連接而成的。而我們要確認(rèn)網(wǎng)絡(luò)上的每一臺(tái)計(jì)算機(jī),靠的就是能唯一標(biāo)識(shí)該計(jì)算機(jī)的網(wǎng)絡(luò)地址,這個(gè)地址就叫做IP (Internet Protocol的簡(jiǎn)寫(xiě))地址,即用Internet 協(xié)議語(yǔ)言表示的地址。
目前,在Internet 里,IP 地址是一個(gè)32位的二進(jìn)制地址,為了便于記憶,將它們分為4組,每組8位,由小數(shù)點(diǎn)分開(kāi),用四個(gè)字節(jié)來(lái)表示,而且,用點(diǎn)分開(kāi)的每個(gè)字節(jié)的數(shù)值范圍是0~255,如202.116.0.1,這種書(shū)寫(xiě)方法叫做點(diǎn)數(shù)表示法。
IP 地址可確認(rèn)網(wǎng)絡(luò)中的任何一個(gè)網(wǎng)絡(luò)和計(jì)算機(jī),而要識(shí)別其它網(wǎng)絡(luò)或其中的計(jì)算機(jī),則是根據(jù)這些IP 地址的分類(lèi)來(lái)確定的。一般將IP 地址按節(jié)點(diǎn)計(jì)算機(jī)所在網(wǎng)絡(luò)規(guī)模的大小分為A ,B ,C 三類(lèi),默認(rèn)的網(wǎng)絡(luò)屏蔽是根據(jù)IP 地址中的第一個(gè)字段確定的。
1. A類(lèi)地址
A 類(lèi)地址的表示范圍為:0.0.0.0~126.255.255.255,默認(rèn)網(wǎng)絡(luò)屏蔽為:255.0.0.0;A 類(lèi)地址分配給規(guī)模特別大的網(wǎng)絡(luò)使用。A 類(lèi)網(wǎng)絡(luò)用第一組數(shù)字表示網(wǎng)絡(luò)本身的地址,后面三組數(shù)字作為連接于網(wǎng)絡(luò)上的主機(jī)的地址。分配給具有大量主機(jī)(直接個(gè)人用戶)而局域網(wǎng)絡(luò)個(gè)數(shù)較少的大型網(wǎng)絡(luò)。例如IBM 公司的網(wǎng)絡(luò)。
2. B類(lèi)地址
B 類(lèi)地址的表示范圍為:128.0.0.0~191.255.255.255,默認(rèn)網(wǎng)絡(luò)屏蔽為:
255.255.0.0;B 類(lèi)地址分配給一般的中型網(wǎng)絡(luò)。B 類(lèi)網(wǎng)絡(luò)用第一、二組數(shù)字表示網(wǎng)絡(luò)的地址,后面兩組數(shù)字代表網(wǎng)絡(luò)上的主機(jī)地址。
3. C類(lèi)地址
C 類(lèi)地址的表示范圍為:192.0.0.0~223.255.255.255,默認(rèn)網(wǎng)絡(luò)屏蔽為:
255.255.255.0;C 類(lèi)地址分配給小型網(wǎng)絡(luò),如一般的局域網(wǎng),它可連接的主機(jī)數(shù)量是最少的,采用把所屬的用戶分為若干的網(wǎng)段進(jìn)行管理。C 類(lèi)網(wǎng)絡(luò)用前三組數(shù)字表示網(wǎng)絡(luò)的地址,最后一組數(shù)字作為網(wǎng)絡(luò)上的主機(jī)地址。
RFC 1918留出了3塊IP 地址空間(1個(gè)A 類(lèi)地址段,16個(gè)B 類(lèi)地址段,256個(gè)C 類(lèi)地址段)作為私有的內(nèi)部使用的地址。在這個(gè)范圍內(nèi)的IP 地址不能被路由到Internet 骨干網(wǎng)上;Internet 路由器將丟棄該私有地址。
IP 地址類(lèi)別 RFC 1918內(nèi)部地址范圍
A 類(lèi) 10.0.0.0到10.255.255.255
B 類(lèi) 172.16.0.0到172.31.255.255
C 類(lèi) 192.168.0.0到192.168.255.255
使用私有地址將網(wǎng)絡(luò)連至Internet ,需要將私有地址轉(zhuǎn)換為公有地址。這個(gè)轉(zhuǎn)換過(guò)程稱為網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation,NAT ),通常使用路由器來(lái)執(zhí)行NAT 轉(zhuǎn)換。
實(shí)際上,還存在著D 類(lèi)地址和E 類(lèi)地址。但這兩類(lèi)地址用途比較特殊,在這里只是簡(jiǎn)單介紹一下:D 類(lèi)地址稱為廣播地址,供特殊協(xié)議向選定的節(jié)點(diǎn)發(fā)送信息時(shí)用。E 類(lèi)地址保留給將來(lái)使用。
,連接到Internet 上的每臺(tái)計(jì)算機(jī),不論其IP 地址屬于哪類(lèi)都與網(wǎng)絡(luò)中的其它計(jì)算機(jī)處于平等地位,因?yàn)橹挥蠭P 地址才是區(qū)別計(jì)算機(jī)的唯一標(biāo)識(shí)。所以,以上IP 地址的分類(lèi)只適用于網(wǎng)絡(luò)分類(lèi)。
在Internet 中,一臺(tái)計(jì)算機(jī)可以有一個(gè)或多個(gè)IP 地址,就像一個(gè)人可以有多個(gè)通信地址一樣,但兩臺(tái)或多臺(tái)計(jì)算機(jī)卻不能共享一個(gè)IP 地址。如果有兩臺(tái)計(jì)算機(jī)的IP 地址相同,則會(huì)引起異?,F(xiàn)象,無(wú)論哪臺(tái)計(jì)算機(jī)都將無(wú)法正常工作。
順便提一下幾類(lèi)特殊的IP 地址:
1. 廣播地址 目的端為給定網(wǎng)絡(luò)上的所有主機(jī),一般主機(jī)段為全0
2. 單播地址 目的端為指定網(wǎng)絡(luò)上的單個(gè)主機(jī)地址
3. 組播地址 目的端為同一組內(nèi)的所有主機(jī)地址
4. 環(huán)回地址 127.0.0.1 在環(huán)回測(cè)試和廣播測(cè)試時(shí)會(huì)使用
1.5 子網(wǎng)的劃分
若公司不上Internet, 那一定不會(huì)煩惱IP 地址的問(wèn)題, 因?yàn)榭梢匀我馐褂盟械腎P 地址, 不管是A 類(lèi)或是B 類(lèi), 這個(gè)時(shí)候不會(huì)想到要用子網(wǎng), 但若是上Internet 那IP 地址便彌足珍貴了, 目前全球一陣Internet 熱,IP 地址已經(jīng)愈來(lái)愈少了, 而所申請(qǐng)的IP 地址目前也趨保守, 而且只有經(jīng)申請(qǐng)的IP 地址能在Internet 使用, 但對(duì)某些公司只能申請(qǐng)到一個(gè)C 類(lèi)的IP 地址, 但又有多個(gè)點(diǎn)需要使用, 那這時(shí)便需要使用到子網(wǎng), 這就需要考慮子網(wǎng)的劃分,下面簡(jiǎn)介子網(wǎng)的原理及如何規(guī)劃。
1.5.1 子網(wǎng)掩碼(Subnet Mask)的介紹
設(shè)定任何網(wǎng)絡(luò)上的任何設(shè)備不管是主機(jī)、個(gè)人電腦、路由器等皆需要設(shè)定IP 地址, 而跟隨著IP 地址的是所謂的子網(wǎng)掩碼(NetMask,Subnet Mask),這個(gè)子網(wǎng)掩碼主要的目的是由IP 地址中也能獲得網(wǎng)絡(luò)編碼, 也就是說(shuō)IP 地址和子網(wǎng)掩碼作和而得到網(wǎng)絡(luò)編碼, 如下所示:
IP 地址
192.10.10.6 11000000.00001010.00001010.00000110
子網(wǎng)掩碼
255.255.255.0 11111111.11111111.11111111.00000000
AND
-------------------------------------------------------------------
Network Number
192.10.10.0 11000000.00001010.00001010.00000000
子網(wǎng)掩碼有所謂的默認(rèn)值, 如下所示
類(lèi) IP 地址 范圍 子網(wǎng)掩碼
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
,在預(yù)設(shè)的子網(wǎng)掩碼(Net Mask)都只有255的值, 在談到子網(wǎng)掩碼(Subnet Mask)時(shí)這個(gè)值便不一定是255了。在完整一組C 類(lèi)地址中如203.67.10.0-203.67.10.255 子網(wǎng)掩碼255.255.255.0,203.67.10.0稱之網(wǎng)絡(luò)編碼(Network Number,將IP 地址和子網(wǎng)掩碼作和), 而203.67.10.255是廣播的IP 地址, 所以這兩者皆不能使用, 實(shí)際只能使用203.67.10.1--203.67.10.254等254個(gè)IP 地址, 這是以255.255.255.0作子網(wǎng)掩碼的結(jié)果, 而所謂Subnet Msk尚可將整組C 類(lèi)地址分成數(shù)組網(wǎng)絡(luò)編碼, 這要在子網(wǎng)掩碼上作手腳, 若是要將整組C 類(lèi)地址分成2個(gè)網(wǎng)絡(luò)編碼那子網(wǎng)掩碼設(shè)定為
255.255.255.192, 若是要將整組C 類(lèi)分成8組網(wǎng)絡(luò)編碼則子網(wǎng)掩碼要為
255.255.255.224, 這是怎么來(lái)的, 由以上知道網(wǎng)絡(luò)編碼是由IP 地址和子網(wǎng)掩碼作AND 而來(lái)的, 而且將子網(wǎng)掩碼以二進(jìn)制表示法知道是1的會(huì)保留, 而為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為子網(wǎng)掩碼的結(jié)果, 網(wǎng)絡(luò)編碼是192.10.10.0, 若是使用255.255.255.224作子網(wǎng)掩碼結(jié)果便有所不同
192.10.10.193--11000000.00001010.00001010.11000001
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
192.10.10.192--11000000.00001010.00001010.11000000
此時(shí)網(wǎng)絡(luò)編碼變成了192.10.10.192, 這便是子網(wǎng)。那要如何決定所使用的子網(wǎng)掩碼,255.255.255.224以二進(jìn)制表示法為11111111.11111111.11111111.11100000, 變化是在最后一組,11100000便是224, 以三個(gè)位(Bit )可表示2的3次方便是8個(gè)網(wǎng)絡(luò)編碼
子網(wǎng)掩碼二進(jìn)制表示法可分幾個(gè)網(wǎng)絡(luò)
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