TCP IP協議學習記錄

2021-10-12 04:52:22 字數 1694 閱讀 6555

1.概念

與中國人溝通要用中國的語法結構,普通話的發音,這就是一種協議。

計算機之間的通訊,也是通過制定了各種協議實現的。例如:檔案傳輸適用tcp協議,網域名稱系統適用於dns協議,有了協議的存在,各種資料流按規則傳輸。

2.結構

tcp/ip是乙個協議集合,按層次分為四層,應用層,傳輸層,網路層,資料鏈路層。

tcp/ip通訊資料流

tcp:如果說ip協議是找到對方的詳細位址,那tcp協議就是把安全的東西帶給對方。屬於傳輸層,提供可靠的位元組流服務,位元組流是指把大塊的資料分割為報文段為單位的資料進行管理。可靠的的傳輸服務是指,能夠把資料準確可靠的傳給對方。簡單來說,tcp協議可以把大塊的資料,拆分,運輸,再組裝。

tcp三次握手:請求,響應,回應響應,握手過程中傳送的包不包含資料,tcp連線一旦建立,通訊雙方任何一方關閉連線之前,tcp連線都會一直保持。

dns:和http一樣處於應用層的服務,提供網域名稱到ip之間的解析服務。

http:超文字傳送協議,是web聯網的基礎,也是手機聯網常用的協議之一,http是建立在tcp協議之上的一種應用。客戶端傳送乙個http請求給伺服器,伺服器收到了這個http請求,然後返回給伺服器http響應,瀏覽器把這些資料渲染成為了乙個網頁,展示給使用者。

http請求結構:

request header 請求頭:

請求的方法是get/post

請求的url,http版本協議

請求的資料和編碼方式,是否有cookie和cookies,是否快取等

request body 請求的內容

然後伺服器收到了http請求,根據請求頭返回給伺服器http響應

response header 包括cookies或者sessions,狀態碼和內容大小

response body 響應的內容

socket原理

套接字(socket)是通訊的基石,是支援tcp/ip協議的網路通訊的基本操作單元,包含進行網路通訊必須的5種資訊:連線使用的協議,本地主機的ip位址,本地程序的協議埠,遠地主機的ip,遠地程序的協議埠。

應用層通過傳輸層進行資料通訊時,tcp會遇到同時為多個應用程式提供併發服務的問題,多個tcp連線可能需要通過同乙個tcp協議埠傳輸資料。為了區別不同的應用程式和連線,許多計算機作業系統為應用程式與tcp/ip協議互動提供了套接字(socket)介面。應用層可以和傳輸層通過socket介面,區分不同應用程式或者網路連線的通訊,實現資料傳輸的併發服務。

建立socket至少需要一對套接字,乙個是執行於客戶端的套接字clientsocket,乙個是服務端的套接字serversocket,套接字之間的連線3個步驟伺服器監聽,客戶端請求,連線確認。

1.serversocket處於等待的連線的狀態,實時監控網路狀態,等待客戶端的連線請求

2.clientsocket向serversocket發出連線請求,需先描述serversocket,指出其埠和ip,然後傳送連線請求

3.serversocket接收或者監聽到了請求,就響應,建立乙個新執行緒,把serversocket的描述發給客戶端,客戶端收到後確認描述,就正式建立連線,而serversocket還繼續監聽網路等待其他的連線

TCP IP協議學習

tcp ip參考模型 是乙個抽象的分層模型,這個模型中,所有的 tcp ip 系列網路協議 都被歸類到4個抽象的 層 中。每一抽象層建立在低一層提供的服務上,並且為高一層提供服務。完成一些特定的任務需要眾多的協議協同工作,這些協議分布在參考模型的不同層中的,因此有時稱它們為乙個 協議棧。最上面的是應...

TCP IP協議學習

tcp提供一種面向連線的 可靠的位元組流服務。tcp ip一般被認為是四層協議 應用層 處理特定的應用程式細節。傳輸層 主機間的應用程式提供端到端的通訊,包括tcp 傳輸控制協議 和udp 使用者資料報協議 網路層 網路層的協議包括ip協議 icmp協議 internet網際網路控制報文協議 igm...

TCP IP協議學習總結

本文為自己的學習總結,沒有那些大神們那麼的深入,只為自己的一些心得總結,有很多不足之處,請各位勿噴,望多多指正!無限感激 一 tcp ip協議 為什麼會有這個協議 為了實現不同計算機系統 網路系統之間的通訊其他還有很多網路協議,只是很多只能特定某些計算機系統間的通訊,通用性不強 tcp ip協議是什...