如今,互聯網一詞已被人們所熟知,它廣泛應用于人類生活的各個方面。但是究其歷史,互聯網是由1971年的ARPANET發展而來的。ARPANET是一個計算機網絡,它的出現比互聯網要早得多。
網絡中的計算機為了彼此之間進行通信形成一個通信網絡,就必須首先制定網絡協議。早期的計算機網絡,根據廠商的不同有著自己規定的一套協議,Microsoft、IBM和Apple等公司都有各自的互不兼容的一套網絡協議。這就像一群人有的說中文,有的說英語,有的說德語,說同一種語言的人之間可以交流,而說不同語言的人之間就難以交流了。
網絡協議的不兼容阻礙了互聯網的發展。而隨著網絡的發展,規模和覆蓋面越來越大,從而形成了統一的標準OSI(開放系統互連)。OSI模型從上到下具有7層結構,分別是應用層、表示層、會話層、運輸層、網絡層、數據鏈路層和物理層。其中,應用層定義了應用程序之間通信的協議,運輸層主要用來確保端到端的數據通信正常,網絡層負責在各個主機之間傳輸數據。
在互聯網所使用的各種網絡協議中,最重要的是TCP和IP協議。如今人們常說的TCP/IP協議并不一定單指TCP和IP這兩個具體的協議,而通常是表示互聯網所使用的整個TCP/IP協議族。
下面介紹一下TCP/IP協議。
計算機進行通信時,類似于現實中的郵政通信,計算機通信的雙方必須知道對方的地址才行。在TCP/IP協議中,IP地址是互聯網上每臺計算機的唯一標識。目前,最廣泛采用的是IPv4版本的IP地址,如192.168.100.179。IP地址是采用點分十進制的一組數組成的。一般情況下,網絡上一臺設備只有一個IP地址,但路由器需要同時接入到兩個及以上的網絡,因此,路由器就會有兩個或多個IP地址。通常計算機中負責IP數據包發送/接收的硬件設備是網卡,一個IP地址對應一張網卡,網卡就是計算機的網絡接口。
一臺計算機通過計算機網絡將數據發送到另一臺計算機,數據是逐層封裝的。在IP層,IP協議負責將數據從一個IP地址發送到另一個IP地址。首先數據需要按照IP協議分割成多個小數據塊,塊長度一般為1024字節,這個小數據塊稱為IP數據報。發送出去的IP包,由于整個互聯網的架構非常復雜,兩臺計算機之間經常有多條線路,因此,中間的路由器就負責轉發一個IP包。IP包的特點是按塊發送,途經多個路由,但由于路由器的承載能力有限,當大批IP包同時到達時,就會因路由器處理不過來而丟包。另外,IP包經過多個路由器的轉發,在路由器中的排隊時間也不同,因此,到達接收端的順序也不會完全按照發送時的順序。一個IP包除了包含要傳輸的數據外,還包含源IP地址和目標IP地址。
IP協議之上的是TCP協議,TCP稱為傳輸控制協議。TCP協議在兩臺計算機之間建立的是可靠的連接,因此,TCP報文是按順序處理的。形象地說,TCP協議是通過握手建立連接的,再確保按順序收到下層的每個IP包,如果IP包丟失了,就向發送端請求重發。
應用層上許多常用的應用都是建立在TCP協議上的,例如,萬維網瀏覽器上使用的HTTP協議,發送電子郵件的SMTP協議等。
TCP協議中設定了端口號,用來區分主機上的不同通信進程。例如,根據IP地址找到目的主機后,IP包需要上傳到TCP層進行處理,TCP可以根據端口號來區分出當前通信的是網頁瀏覽器還是QQ應用程序,這樣就實現了進程間通信。
對于TCP協議,要了解它的三次握手和四次揮手。
三次握手過程如下:
①客戶端發送連接請求報文。
②服務器端接收連接請求后,回復ACK報文。
③客戶端接收到ACK報文后,也向服務器端發送ACK報文。
這樣TCP連接就建立了。
TCP連接的拆除需要發送四個包,故稱為四次揮手。
四次揮手過程如下:
①客戶端發送一個FIN,用來關閉客戶端到服務器端的數據傳送。
②服務器端收到這個FIN,它發回一個ACK,確認序號為收到的序號加1。與SYN一樣,一個FIN將占用一個序號。
③服務器端關閉與客戶端的連接,發送一個FIN給客戶端。
④客戶端發回ACK報文確認,并將確認序號設置為收到序號加1。
運輸層協議除了TCP外,還有UDP。UDP適用于對效率要求相對較高而對準確性要求相對較低的場合,例如,視頻在線點播、網絡語音通話等。
了解了TCP/IP協議的基本概念后,就可以開始進行網絡編程了。
更多內容
>>本文地址:http://www.fxiong121.com/zhuanye/2021/69824.html
聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?