tcp/ip協議是internet最基本的協議、internet國際網際網路絡的基礎,由網路層的ip協議和傳輸層的tcp協議組成。通俗而言:tcp負責發現傳輸的問題,一有問題就發出訊號,要求重新傳輸,直到所有資料安全正確地傳輸到目的地。而ip是給網際網路的每一台聯網裝置規定乙個位址。
tcp是面向連線的通訊協議,通過三次握手建立連線,通訊完成時要拆除連線,由於tcp是面向連線的所以只能用於端到端的通訊。tcp提供的是一種可靠的資料流服務,採用"帶重傳的肯定確認"技術來實現傳輸的可靠性。tcp還採用一種稱為"滑動視窗"的方式進行流量控制,所謂視窗實際表示接收能力,用以限制傳送方的傳送速度。
特點:
1.面向連線的運輸層協議。
2.點對點(一對一)通訊。
3.可靠交付。
4.全雙工通訊(tcp連線的兩端都設有傳送快取5.和接收快取,用來臨時存放雙向通訊的資料)。
6.面向位元組流。
tcp報文首部格式:
tcp的三次握手和四次握手
注:seq:"sequance"序列號;ack:"acknowledge"確認號;syn:"synchronize"請求同步標誌;;ack:「acknowledge"確認標誌」;fin:"finally"結束標誌。
tcp連線建立過程(三次握手):
(1) 服務端通過socket,bind和listen準備好接受外來的連線,此時服務端狀態為listen
(2)客戶端通過呼叫connect來發起主動連線,導致客戶端tcp傳送乙個syn(同步)位元組,告訴伺服器客戶將在(待建立的)連線中傳送的資料的初始序列號,客戶端狀態為syn_sent。
(3)伺服器確認(ack)客戶的syn,並自己也傳送乙個syn,它包含伺服器將在同一連線中傳送資料的初始序列號。
(4)客戶端確認服務的ack和syn,向伺服器傳送ack,客戶端狀態established
(5)伺服器接收ack,伺服器狀態esablished。
tcp連線斷開過程(四次握手):
(1)某端首先呼叫close,成為主動關閉端,向另一端傳送fin分節,表示資料傳送完畢,此時主動關閉端狀態fin_wait_1;
(2)接收到fin的是被動關閉端,fin由tcp確認,先向主動關閉端傳送ack,作為乙個檔案結束符傳遞給接收端應用程序(放在已排隊等候該應用程序接收到的任何其他資料之後),因為fin的接收意味著接收端應用程序在相應連線無額外資料可接收,接收端狀態close_wait;主動關閉端接收到ack狀態變為fin_wait_2;
(3)一段時間後,接收端接收到這個檔案結束符的應用程序呼叫close關閉套接字,向主動關閉端傳送fin,接收端狀態為last_ack;
(4)主動關閉端確認fin,狀態變為time_wait,並向接收端傳送ack,接收端接收到ack關閉tcp,而主動關閉端一段時間後也關閉tcp;
ip是internet protocol(網際互連協議)的縮寫,是tcp/ip體系中的網路層協議。
ip位址分類
1)網路位址
ip位址由網路號(包括子網號)和主機號組成,網路位址的主機號為全0,網路位址代表著整個網路。
2)廣播位址
廣播位址通常稱為直接廣播位址,是為了區分受限廣播位址。
廣播位址與網路位址的主機號正好相反,廣播位址中,主機號為全1。當向某個網路的廣播位址傳送訊息時,該網路內的所有主機都能收到該廣播訊息。
3)組播位址
d類位址就是組播位址。
先回憶下a,b,c,d類位址吧:
a類位址以0開頭,第乙個位元組作為網路號,位址範圍為:0.0.0.0~127.255.255.255;(modified @2016.05.31)
b類位址以10開頭,前兩個位元組作為網路號,位址範圍是:128.0.0.0~191.255.255.255;
c類位址以110開頭,前三個位元組作為網路號,位址範圍是:192.0.0.0~223.255.255.255。
d類位址以1110開頭,位址範圍是224.0.0.0~239.255.255.255,d類位址作為組播位址(一對多的通訊);
e類位址以1111開頭,位址範圍是240.0.0.0~255.255.255.255,e類位址為保留位址,供以後使用。
注:只有a,b,c有網路號和主機號之分,d類位址和e類位址沒有劃分網路號和主機號。
4)255.255.255.255
該ip位址指的是受限的廣播位址。受限廣播位址與一般廣播位址(直接廣播位址)的區別在於,受限廣播位址只能用於本地網路,路由器不會**以受限廣播位址為目的位址的分組;一般廣播位址既可在本地廣播,也可跨網段廣播。例如:主機192.168.1.1/30上的直接廣播資料報後,另外乙個網段192.168.1.5/30也能收到該資料報;若傳送受限廣播資料報,則不能收到。
注:一般的廣播位址(直接廣播位址)能夠通過某些路由器(當然不是所有的路由器),而受限的廣播位址不能通過路由器。
5)0.0.0.0
常用於尋找自己的ip位址,例如在我們的rarp,bootp和dhcp協議中,若某個未知ip位址的無盤機想要知道自己的ip位址,它就以255.255.255.255為目的位址,向本地範圍(具體而言是被各個路由器遮蔽的範圍內)的伺服器傳送ip請求分組。
6)回環位址
127.0.0.0/8被用作回環位址,回環位址表示本機的位址,常用於對本機的測試,用的最多的是127.0.0.1。
計算機網路 協議
網路檔案服務 在nfs的應用中,本地nfs的客戶端應用可以透明地讀寫位於遠端nfs伺服器上的檔案,就像訪問本地檔案一樣。snmp network management protocol 簡單網路管理協議 能夠使網路管理員提高網路管理效能,及時發現並解決網路問題以及規劃網路的增長 smtp mail ...
計算機網路中TCP IP協議的對比
在osi模型中,運輸層的作用是向它的上層提供通訊服務,它是面向通訊部分的最高層,同時也是使用者功能中的最底層。運輸層為應用程序之間提供端到端的邏輯通訊,而網路層是以主機為個體的概念。運輸層還需要對收到的報文進行差錯檢測。運輸層有兩種不同的運輸協議 使用者資料報協議udp user datagram ...
計算機網路 計算機網路7層協議
人與人交流需要協議,例如使用同一語言,或者對方能明白的其他肢體語言 人與機器交流也需要協議,例如需要通過滑鼠或者鍵盤輸入,機器給予特定的輸出,例如列印執行某個程式 機器與機器交流更需要協議,計算機網路是由一系列的協議構成的,osi open system interconection 是開放型系統互...