什么是tcp ip協(xié)議
Transmission Control Protocol/Internet Protocol的簡寫,中譯名為傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議,又名網(wǎng)絡(luò)通訊協(xié)議,是Internet最基本的協(xié)議、Internet國際互聯(lián)網(wǎng)絡(luò)的基礎(chǔ),由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成。TCP/IP 定義了電子設(shè)備如何連入因特網(wǎng),以及數(shù)據(jù)如何在它們之間傳輸?shù)臉?biāo)準(zhǔn)。協(xié)議采用了4層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的協(xié)議來完成自己的需求。通俗而言:TCP負(fù)責(zé)發(fā)現(xiàn)傳輸?shù)膯栴},一有問題就發(fā)出信號,要求重新傳輸,直到所有數(shù)據(jù)安全正確地傳輸?shù)侥康牡?。而IP是給因特網(wǎng)的每一臺聯(lián)網(wǎng)設(shè)備規(guī)定一個地址。

在世界上各地,各種各樣的電腦運(yùn)行著各自不同的操作系統(tǒng)為大家服務(wù),這些電腦在表達(dá)同一種信息的時候所使用的方法是千差萬別。就好像圣經(jīng)中上帝打亂了各地人的口音,讓他們無法合作一樣。計(jì)算機(jī)使用者意識到,計(jì)算機(jī)只是單兵作戰(zhàn)并不會發(fā)揮太大的作用。只有把它們聯(lián)合起來,電腦才會發(fā)揮出它最大的潛力。于是人們就想方設(shè)法的用電線把電腦連接到了一起。
但是簡單的連到一起是遠(yuǎn)遠(yuǎn)不夠的,就好像語言不同的兩個人互相見了面,完全不能交流信息。因而他們需要定義一些共通的東西來進(jìn)行交流,TCP/IP就是為此而生。TCP/IP不是一個協(xié)議,而是一個協(xié)議族的統(tǒng)稱。里面包括了IP協(xié)議,IMCP協(xié)議,TCP協(xié)議,以及我們更加熟悉的http、ftp、pop3協(xié)議等等。電腦有了這些,就好像學(xué)會了外語一樣,就可以和其他的計(jì)算機(jī)終端做自由的交流了。
tcp/ip協(xié)議的詳細(xì)介紹
1、分層
TCP/IP通常是被分成四層協(xié)議系統(tǒng)的,應(yīng)用層(Telnet、FTP和Email等)、運(yùn)輸層(TCP、UDP)、網(wǎng)絡(luò)層(IP、ICMP、IGMP等)和鏈路層(設(shè)備驅(qū)動程序),每一層各司其職,下層對上層來說,是透明的。

上圖是局域網(wǎng)上運(yùn)行的FTP兩臺主機(jī),在同一層上,雙方都有對應(yīng)的一個或多個協(xié)議進(jìn)行通信。首先認(rèn)識一下TCP/IP協(xié)議。
TCP/IP通常指的是TCP/IP協(xié)議簇
,是一組不同的協(xié)議組合在一起勾成的協(xié)議簇,上圖中列舉了四種不同層次的協(xié)議,F(xiàn) T P是一種應(yīng)用層協(xié)議, T C P是一種運(yùn)輸層協(xié)議,I P是一種網(wǎng)絡(luò)層協(xié)議,而以太網(wǎng)協(xié)議則應(yīng)用于鏈路層上。
在T C P / I P協(xié)議族中,網(wǎng)絡(luò)層 I P提供的是一種不可靠的服務(wù)。也就是說,它只是盡可能快地把分組從源結(jié)點(diǎn)送到目的結(jié)點(diǎn),但是并不提供任何可靠性保證。而另一方面,T C P在不可靠的I P層上提供了一個可靠的運(yùn)輸層。為了提供這種可靠的服務(wù), T C P采用了超時重傳、發(fā)送和接收端到端的確認(rèn)分組等機(jī)制。
2、互聯(lián)網(wǎng)的地址
互聯(lián)網(wǎng)上每個接口都必須有一個唯一的Internet地址即IP地址,IPV4的地址長度是32bit,如下圖分成五類:

A類地址范圍:0.0.0.0~127.255.255.255,B類地址范圍:128.0.0.0~191.255.255.255,C類地址范圍:192.0.0.0~223.255.255.255,D類地址范圍:224.0.0.0~239.255.255.255,E類地址范圍:240.0.0.0~247.255.255.255.
3、域名系統(tǒng)
在 T C P / I P領(lǐng)域中,域名系統(tǒng)( D N S)是一個分布的數(shù)據(jù)庫,由它來提供 I P地址和主機(jī)名之間的映射信息。
4、封裝
當(dāng)應(yīng)用程序用 T C P傳送數(shù)據(jù)時,數(shù)據(jù)被送入?yún)f(xié)議棧中,然后逐個通過每一層直到被當(dāng)作一串比特流送入網(wǎng)絡(luò)。其中每一層對收到的數(shù)據(jù)都要增加一些首部信息。以太網(wǎng)數(shù)據(jù)幀的物理特性是其長度必須在 4 6~1 5 0 0字節(jié)之間。
5、分用
當(dāng)目的主機(jī)收到一個以太網(wǎng)數(shù)據(jù)幀時,數(shù)據(jù)就開始從協(xié)議棧中由底向上升,同時去掉各層協(xié)議加上的報文首部。每層協(xié)議盒都要去檢查報文首部中的協(xié)議標(biāo)識,以確定接收數(shù)據(jù)的上層協(xié)議。這個過程稱作分用。
6、客戶-服務(wù)器模型
大部分網(wǎng)絡(luò)應(yīng)用程序在編寫時都假設(shè)一端是客戶,另一端是服務(wù)器,其目的是為了讓服務(wù)器為客戶提供一些特定的服務(wù)??梢詫⑦@種服務(wù)分為兩種類型:重復(fù)型或并發(fā)型。一般來說, T C P服務(wù)器是并發(fā)的,而 U D P服務(wù)器是重復(fù)的,但也存在一些例外。
7、端口號
T C P和U D P采用16 bit的端口號來識別應(yīng)用程序,服務(wù)器一般都是通過知名端口號來識別的。例如,對于每個 T C P / I P實(shí)現(xiàn)來說,F(xiàn) T P服務(wù)器的T C P端口號都是2 1,每個Te l n e t服務(wù)器的T C P端口號都是2 3。U n i x系統(tǒng)的文件/e t c / s e r v i c e s都包含了人們熟知的端口號。查看:cat /etc/services | grep telnet
8、RFC
I n t e r n e t的正式標(biāo)準(zhǔn)都以R F C(Request for Comment)文檔出版。另外,大量的R F C并不是正式的標(biāo)準(zhǔn),出版的目的只是為了提供信息。 R F C的篇幅從1頁到2 0 0頁不等。每一項(xiàng)都用一個數(shù)字來標(biāo)識,如 RFC 1 1 2 2,數(shù)字越大說明R F C的內(nèi)容越新。
9、實(shí)現(xiàn)
既成事實(shí)標(biāo)準(zhǔn)的 T C P / I P軟件實(shí)現(xiàn)來自于位于伯克利的加利福尼亞大學(xué)的計(jì)算機(jī)系統(tǒng)研究小組。從歷史上看,軟件
是隨同4.x BSD系統(tǒng)(Berkeley SoftwareD i s t r i b u t i o n)的網(wǎng)絡(luò)版一起發(fā)布的。它的源代碼是許多其他實(shí)現(xiàn)的基礎(chǔ)。
10、應(yīng)用編程接口
使用T C P / I P協(xié)議的應(yīng)用程序通常采用兩種應(yīng)用編程接口( A P I):s o c k e t和T L I(運(yùn)輸層接口:Transport Layer Interface )。
相關(guān)應(yīng)用
協(xié)議測試
全面的測試應(yīng)包括局域網(wǎng)和互聯(lián)網(wǎng)兩個方面,因此應(yīng)從局域網(wǎng)和互聯(lián)網(wǎng)兩個方面測試,以下是在實(shí)際工作中利用命令行測試TCP/IP配置步驟:
1. 單擊“開始”/“運(yùn)行”,輸入CMD按回車,打開命令提示符窗口。
2.首先檢查IP地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)、DNS服務(wù)器地址是否正確,輸入命令ipconfig /all,按回車。此時顯示了你的網(wǎng)絡(luò)配置,觀查是否正確。
3.輸入ping 127.0.0.1,觀查網(wǎng)卡是否能轉(zhuǎn)發(fā)數(shù)據(jù),如果出現(xiàn)“Request timed out”(請求超時),表明配置出錯或網(wǎng)絡(luò)有問題。
4.Ping一個互聯(lián)網(wǎng)地址,看是否有數(shù)據(jù)包傳回,以驗(yàn)證與互聯(lián)網(wǎng)的連接性。
5. Ping 一個局域網(wǎng)地址,觀查與它的連通性。
6.用nslookup測試DNS解析是否正確,輸入如nslookup ,查看是否能解析。
如果你的計(jì)算機(jī)通過了全部測試,則說明網(wǎng)絡(luò)正常,否則網(wǎng)絡(luò)可能有不同程度的問題。在此不展開詳述。不過,要注意,在使用 ping命令時,有些公司會在其主機(jī)設(shè)置丟棄ICMP數(shù)據(jù)包,造成你的ping命令無法正常返回數(shù)據(jù)包,不防換個網(wǎng)站試試。
協(xié)議重置
如果需要重新安裝 TCP/IP 以使TCP/IP 堆?;謴?fù)為原始狀態(tài)??梢允褂肗etShell 實(shí)用程序重置TCP/IP 堆棧,使其恢復(fù)到初次安裝操作系統(tǒng)時的狀態(tài)。具體操作如下:
1.單擊 開始--> 運(yùn)行,輸入"CMD" 后單擊"確定";
2.在命令行模式輸入命令
netsh int ip reset C:\resetlog.txt
(其中,Resetlog.txt記錄命令結(jié)果的日志文件,一定要指定,這里指定了Resetlog.txt 日志文件及完整路徑。)
運(yùn)行結(jié)果可以查看C:\resetlog.txt
運(yùn)行此命令的結(jié)果與刪除并重新安裝TCP/IP 協(xié)議的效果相同。
注意
本操作具有一定的風(fēng)險性,請?jiān)诓僮髑皞浞葜匾獢?shù)據(jù),并根據(jù)操作熟練度酌情使用。
tags: 協(xié)議,傳輸,因特網(wǎng),IP,TCP