TCP IP學習筆記

2021-08-31 04:05:55 字數 1114 閱讀 9715

運用層:提供多種服務型別(安全的還是不安全的,長期的還是短期的,有響應的還是沒響應的,單向還是雙向的…)

網路層:明確目的地和路徑

資料鏈路層和物理層:快速送達.

tcp協議將任何網路資訊傳輸當作資訊流。例如,機器a上的乙個長報文傳送到機器b,傳送端a需要將資料分片,把一片片資料分別打包傳送。資料報有乙個頭,指明該資料報發往何處、包中資料在接收序列中所處的位置。每個包都按照ip位址提供的目的地從乙個臺機器傳送到另一台機器,或從乙個網路節點傳送到另乙個網路節點。在接收端b,這些資料報都能夠按照正確的順序重新組裝起來。

ipv6位址實際上是乙個128位整數,它是目前使用的ipv4的公升級版,以字串表示類似於2001:0db8:85a3:0042:1000:8a2e:0370:7334。

ipv4 和ipv6 的區別本質在於它們的二進位制表示位數,ipv4是用32位0/1序列來表示的,而ipv6使用128位0/1序列來表示的。ipv4用32位,為了方便人類記錄和閱讀,我們通常將ipv4的32位0/1分成4段8位序列,並用10進製來表示每一段(這樣,一段的範圍就是0到255),段與段之間以「.」分隔。而ipv6的話是用十六進製制來表示的,同樣是為了方便人類記錄和閱讀。它也按照8位分割,以16進製制來記錄每一段(使用16進製制而不是10進製,這能讓寫出來的ipv6位址短一些),段與段之間以「:」分隔。

tcp協議則是建立在ip協議之上的。tcp協議負責在兩台計算機之間建立可靠連線,保證資料報按順序到達。tcp協議會通過握手建立連線,然後,對每個ip包編號,確保對方按順序收到,如果包丟掉了,就自動重發。

許多常用的更高階的協議都是建立在tcp協議基礎上的,比如用於瀏覽器的http協議、傳送郵件的smtp協議等。

乙個tcp報文除了包含要傳輸的資料外,還包含源ip位址和目標ip位址,源埠和目標埠。

埠有什麼作用?在兩台計算機通訊時,只發ip位址是不夠的,因為同一臺計算機上跑著多個網路程式。乙個tcp報文來了之後,到底是交給瀏覽器還是qq,就需要埠號來區分。每個網路程式都向作業系統申請唯一的埠號,這樣,兩個程序在兩台計算機之間建立網路連線就需要各自的ip位址和各自的埠號。

乙個程序也可能同時與多個計算機建立鏈結,因此它會申請很多埠。

socket 代表開啟了乙個鏈結,需要知道對方的ip,和埠號,埠號一般是80(web標準服務埠)

tcp ip 學習筆記

最近學習網路程式設計,看了周立發老師的blog 也模仿寫了乙個檔案管理併發伺服器。選擇多程序併發伺服器 技術難點 建立tcp 伺服器 fork 產生新的處理程序 使用getopt 函式使伺服器配置引數化,使用同一的linux風格 設定埠復用,瀏覽檔案系統,思路 1 首先建立乙個被動套接字 設定套接字...

Tcp ip學習筆記

分層 網路協議通常分不同層次進行開發,每一層分別負責不同的通訊功能。乙個協議族,比如t c p i p,是一組不同層次上的多個協議的組合。t c p i p通常被認為是乙個四層協議系統,如圖1 1所示。每一層負責不同的功能 1 鏈路層,有時也稱作資料鏈路層或網路介面層,通常包括作業系統中的裝置驅動程...

TCP IP 學習筆記

1 擁塞避免演算法 名稱解釋 報文段 tcp一次傳輸所傳送的一定長度的位元組段。tcp的滑動視窗機制,作為接收方管理傳送方傳送資料量的手段,以防止接收方的接收緩衝區因為滿而溢位。擁塞視窗 cwnd 接收端通知視窗 rwnd 慢啟動閥值 ssthresh 慢啟動的特徵 1 cwnd被初始化為乙個資料報...