1. 程式人生 > >TCP/IP協議簡述

TCP/IP協議簡述

本文是複習時的一些總結:

1、TCP/IP最主要的特點:

(1)TCP是面向連線的運輸層協議。

(2)每一條TCP連線智慧有兩個端點。

(3)TCP提供可靠交付的服務。

通過TCP連線傳送的資料,無差錯,不丟失,不重複,而且按需到達;

(4)TCP提供全雙工通訊。

(5)面向位元組流。

“流”指的是流入到程序或從程序流出的位元組序列。

2、TCP的連線

TCP連線的端點叫做套接字或者插口。埠號拼接到IP地址即構成套接字。

套接字soket=(IP地址:埠號)

每一個TCP連線唯一地被通訊兩端的兩個端點(即兩個套接字)所確定:即:

TCP連線::={soket1,soket2}={(IP1:port1),(IP2:port2)}

3、可靠傳輸的工作原理

TCP傳送的報文段是交給IP層傳送的,但IP層指提供盡最大努力服務,也即是說,TCP下面的網路所提供的是不可靠的傳輸。因此,TCP必須採用適當的措施才能使得兩個運輸層之間的通訊變得可靠。

理想的傳輸條件有以下兩個特點:

(1)傳輸通道不產生差錯。

(2)不管傳送方以多塊的熟讀傳送資料,接受方總是來得及處理收到的資訊。

停止等待協議:

無差錯情況,傳送方A傳送分組M1,發完就暫停傳送,等待B的確認。B收到了M1就向A傳送確認。A收到對M1的確認後,就再發送下一個分組M2,如此往復。

出現差錯:B接受M1時檢測出了差錯,就丟棄M1,其他什麼也不做。也有可能是M1在傳輸過程中丟失了,這時B當然不知道;

   以上情況有這樣一個設計:A只要超過了一段時間仍然沒有收到確認,就認為剛才傳送的分組丟失,因而重傳前面傳送過的分組。這就超時重傳

  實現超時重傳,在每發完一個分組設定一個超時計時器。

確認丟失和確認遲到:如果某些情況下,B又收到了重傳的分組M1。這時應採取兩個行動:(1)丟棄這個重複的分組M1,不向上交付。(2)向A傳送確認。不能認為已經     傳送過確認就不在傳送,因為A之所以重傳M1就表示A沒有收到M1的確認。

4、TCP報文段的首部格式

CP報文段首部的前20個位元組是固定的,後面有4N位元組是根據需要而增加的選項,因此首部的最小長度是20位元組。

首部固定部分的個欄位的意義如下:

1.源埠和目的埠欄位

各佔2位元組。埠是運輸層與應用層的服務介面。運輸層的複用和分用功能都要通過端口才能實現。


2.序號欄位

佔4位元組。TCP是面向位元組流的,一個TCP連線中傳送的位元組流中的每一個位元組都按順序編號。整個要傳送的位元組流的起始序號必須在連線建立時設定。

首部中的序號值是指本報文段所傳送的資料的第一個位元組的序號。


3.確認號:
4個位元組,期待收到對方下一個報文段的第一個資料位元組的序號。若確認號=N,表明到序號N-1為止的所有資料都已經正確收到!


4.資料偏移(即首部長度)

佔4位,它指出 TCP 報文段的資料起始處距離 TCP 報文段的起始處有多遠。“資料偏移”的單位是 32 位字(以 4 位元組為計算單位)。 

因首部中還有長度不確定的選項欄位,故資料偏移欄位是必要的

而資料偏移的單位是4位元組,則此欄位是用來表TCP首部的長度的,最大長度是4*15,60位元組,即選項長度不超過40位元組.


5.保留欄位:

佔 6 位,保留為今後使用,但目前應置為 0。


6.緊急URG :

當 URG ==1 時,表明緊急指標欄位有效。它告訴系統此報文段中有緊急資料,應儘快傳送(相當於高優先順序的資料)。 而不是按原來的排隊順序傳送。

當URG=1,傳送程序就告訴TCP有緊急資料需傳送,TCP就會將緊急資料插入到本報文段的最前面,這需要和首部中的緊急指標欄位配合使用.



7.確認ACK(ACKnowlegment):

當ACK=1,確認號欄位才有效,當ACK=0,確認號欄位無效。TCP規定,在連線建立後所有傳送的報文段都必須把ACK置1.


8.推送PSH(PuSH):

當兩個程序通訊時,有時一端的程序希望鍵入一個命令後,能立即收到對方的響應,這時TCP就可以將PSH=1,

並立即建立一個報文段傳送出去,接收方TCP收到PSH=1,就會盡快交付給接收端程序,而不會再等整個快取填滿後再交付。


9.復位 RST (ReSeT) 
當 RST=1 時,表明 TCP 連線中出現嚴重差錯(如由於主機崩潰或其他原因),必須釋放連線,然後再重新建立運輸連線

RST置1可以用來拒絕一個非法的報文段或者拒絕開啟一個連線。


10.同步SYN:
在建立連線時用來同步序號,當SYN=1&&ACK=0,表示這是一個請求連線的報文段,

若對方同意建立連線,則在響應報文段中使得SYN=1&&ACK=1。

故SYN=1:表示這是一個連線請求和連線接收報文。


11.終止FIN:

用來釋放一個連線,當FIN=1,表示此報文段傳送方的資料傳送完畢,並要求釋放連線。


12.視窗:

2個位元組,從0開始,視窗指的是傳送本報文段的這一方的接收視窗(而不是自己的傳送視窗),視窗值作為接受方讓傳送方設定其傳送視窗的依據。
視窗值告訴對方:從本報文段首部的確認號開始算起,
接收方目前允許(視窗值是經常動態變化的)對傳送方傳送的資料量。
視窗欄位明確指出了現在允許對方傳送的資料量。

13.檢驗和 

佔 2 位元組。檢驗和欄位檢驗的範圍包括首部和資料這兩部分。在計算檢驗和時,要在 TCP 報文段的前面加上 12 位元組的偽首部。


14.緊急指標:

2個位元組,當URG=1,緊急指標才有意義,指出本報文段中的緊急資料的位元組數。

注意:當視窗值為0,也可以傳送緊急資料。


15.選項:

最長為40位元組,當沒有選項時,TCP首部長度為20位元組。

相關推薦

TCP/IP協議簡述

本文是複習時的一些總結: 1、TCP/IP最主要的特點: (1)TCP是面向連線的運輸層協議。 (2)每一條TCP連線智慧有兩個端點。 (3)TCP提供可靠交付的服務。 通過TCP連線傳送的資料,無差錯,不丟失,不重複,而且按需到達; (4)TCP提供全雙工通訊。 (5)面

簡述TCP/IP協議分層模型

一、TCP/IP與OSI參考模型 二、簡述 由上圖我們可以看到,TCP/IP協議分層模型與OSI參考模型十分相似。之前我介紹過OSI參考模型每層的目的。TCP/IP的每一層都對應有協議,如果我們瞭解了協議處於其中的哪一層,那麼我們就可以對協議的目的有

TCP/IP協議族-----22、萬維網和HTTP

art class ip協議 post term fill 技術分享 clas data- TCP/IP協議族-----22、萬維網和HTTP

TCP/IP協議(2):網絡設備

數據包 服務器 網絡設備 風暴 二層交換機 不同的 中繼器 tcp/ip 解決 1、中繼器(Repeater) 中繼器工作在OSI的一層,我們知道,超5類線的傳輸距離最大為100米,超過這個距離信號就會衰減,中繼器就是為了防止信號變差,將網絡信號進行再生和重定時。 2、

TCP/IP協議

internetTCP/IP協議棧: 定義: Transmission Control Protocol/Internet Protocol的縮寫,中譯名為——傳輸控制協議/因特網互聯協議,又名網絡通訊協議,是internet最基本的協議、internet國際互聯網絡的基礎,由-網絡層的IP協議和-傳輸層

tcp/ip 協議學習筆記   章一

tcp/ip一、tcp/ip包含:tcp/ip協議集包含四層:鏈路層、網絡層、傳輸層、應用層二、協議舉例:應用層: http、telnet、ssh ....傳輸層:TCP、UDP網絡層 :IP,ICMP,IGMP鏈路層:ARP ,RARP註:不是所有的程序都有這四層。有些基於IP,但是非tcp and 非UD

2017.8.2 TCP/IP協議

http images png cnblogs ip協議 技術分享 blog nbsp tcp/ip 2017.8.2 TCP/IP協議

MQTT是IBM開發的一個即時通訊協議,構建於TCP/IP協議上,是物聯網IoT的訂閱協議,借助消息推送功能,可以更好地實現遠程控制

集合 cap 消息處理 簡易 遠程控制 mes ogr 設計思想 成本 最近一直做物聯網方面的開發,以下內容關於使用MQTT過程中遇到問題的記錄以及需要掌握的機制原理,主要講解理論。 背景 MQTT是IBM開發的一個即時通訊協議。MQTT構建於TCP/IP協議上

TCP/IP協議棧模型

路由 會話管理 add 網絡設備 源地址 解密 發的 傳輸協議 認證 OSI七層模型介紹: 下面4層(物理層、數據鏈路層、網絡層和傳輸層)主要提供數據傳輸和交換功能,即以節點到節點之間的通信為主;第4層作為上下兩部分的橋梁,是整個網絡體系結構中最關鍵的部分;而上3層(會話

TCP/IP協議

ip tcp TCP/IP協議棧全稱是傳輸控制協議/因特網互聯協議,其實是OSI模型的進化版,所以就先解釋一下什麽是OSI模型,OSI的全稱是開放系統互連參考模型,就是為了實現開放系統互連所建立的通信功能分層模型,其目的就是為異種計算機互連提供一個共同的基礎和標準框架,並為保持相關標準的一致性和兼

TCP/IP協議的三次握手及實現原理

簡單 查找 32位 端口 包括 弱點 建立 成功 有效 TCP/IP是很多的不同的協議組成,實際上是一個協議組,TCP用戶數據報表協議(也稱作TCP傳輸控制協議,Transport Control Protocol。可靠的主機到主機層協議。這裏要先強調一下,傳輸控制協議是O

計算機網絡學習總結----進制轉化+OSI協議+TCP/IP協議

網絡計算機網絡學習總結----進制轉化+OSI協議+TCP/IP協議==================================================================================一、進制轉化=================================

TCP/IP 協議分層

共享內存 document 進行 soc alt 處理機制 () ip 協議 鏈路 協議分層 可能大家對OSI七層模型並不陌生,它將網絡協議很細致地從邏輯上分為了7層。但是實際運用中並不是按七層模型,一般大家都只使用5層模型。如下: 物理層:一般包括物理媒介,電信號,光信號

網絡編程的基本概念,TCP/IP協議簡介

cli 面向 red 展示 應用程序 隨著 完全 welcome 底層 8.1.1 網絡基礎知識  計算機網絡形式多樣,內容繁雜。網絡上的計算機要互相通信,必須遵循一定的協議。目前使用最廣泛的網絡協議是Internet上所使用的TCP/IP協議。 網絡編程的目的就是指直接或

TCP/IP協議與Http協議的區別

內容 發送請求 nfs bstr quest alibaba 數據包 緩存 med  TPC/IP協議是傳輸層協議,主要解決數據如何在網絡中傳輸,而HTTP是應用層協議,主要解決如何包裝數據。關於TCP/IP和HTTP協議的關系,網絡有一段比較容易理解的介紹:“我們在傳輸數

二:熟悉 TCP/IP 協議

所有 原本 icmp 分配 破壞 流動 保存 似的 而是 一篇文章帶你熟悉 TCP/IP 協議(網絡協議篇二) 同樣的,本文篇幅也比較長,先來一張思維導圖,帶大家過一遍。 一圖看完本文 一、 計算機網絡體系結構分層 計算機網絡體系結構分層計算機網絡體系結構分層不難看

ServerSocket(TCP/IP協議)__Java

accep sock 成功 服務器 命令 dos ioe println inpu 服務器端   1 public static void main(String[] args) throws IOException { 2 System.o

基於TCP/IP協議的socket通訊server

while resource err close 通訊 ice inpu utils 緩沖 思路: socket必須要隨項目啟動時啟動,所以需用Spring自帶的監聽器,需要保持長連接,要用死循環,所以必須另外起線程,不能阻礙主線程運行 1.在項目的web.xml中配置li

OSI模型和TCP/IP協議族(一)

出了 框架 調用 數據表 http n+1 互連 改變 2-2 1990年以前,再數據通信和組網文獻中占主導地位的分層模型是開放系統互連(Open System Interconnnection,OSI)模型。當時所有人都認為OSI模型將是數據通信的最終標準,然而這種情況並

OSI模型和TCP/IP協議族(二)

出發 app 另一個 改變 cati mar int 點對點 本機 OSI模型中的各層 物理層 物理層(physical layer)協調通過物理媒體傳送比特流時所需要的各種功能。物理層涉及到接口和傳輸媒體的機械和電器規約。它還定義了這些物理設備即接口為了實現傳輸必須完成的