久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

阿里大佬終于把'TCP/IP 協(xié)議學(xué)習(xí)筆記'整理出來了

 新用戶0935snDB 2022-03-02

一般來說,,TCP/IP 是利用IP進(jìn)行通信時所必須用到的協(xié)議群的統(tǒng)稱。具體點,,IP或ICMP,、TCP或UDP、TELENT或ETP,、以及HTTP等都屬于TCP/IP協(xié)議,,而TCP/IP泛指這些協(xié)議。

TCP/IP協(xié)議分層模型

網(wǎng)絡(luò)協(xié)議通常分為不同層次進(jìn)行開發(fā),,每一層分別負(fù)責(zé)不同的通信功能,。一個協(xié)議族,比如TCP/IP,,是一組不同層次上的多個協(xié)議的組合,。TCP/IP通常被認(rèn)為是一個四層協(xié)議系統(tǒng),如下表所示:

層級

對應(yīng)的協(xié)議或應(yīng)用

負(fù)責(zé)的功能

應(yīng)用層

Telnet,、FTP和e-mail等

負(fù)責(zé)處理特定的應(yīng)用程序的細(xì)節(jié)

運輸層

TCP 和 UDP

為兩臺主機上的應(yīng)用程序提供端到端的通信

網(wǎng)絡(luò)層

IP,、ICMP 和 IGMP

處理分組在網(wǎng)絡(luò)中的活動,例如分組的選路

鏈路層

設(shè)備驅(qū)動程序及接口層

處理與傳輸媒介的物理接口細(xì)節(jié)

通常情況下,,應(yīng)用程序就是一個用戶進(jìn)程,,而下三層則一般在(操作系統(tǒng))內(nèi)核中執(zhí)行,,例如 UNIX 操作系統(tǒng)。除此之外,,應(yīng)用層與下三層還有一個關(guān)鍵不同在于:應(yīng)用層關(guān)心的是應(yīng)用程序的細(xì)節(jié),,而不是數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸活動,下三層對應(yīng)用程序一無所知,,但它們要處理所有的通信細(xì)節(jié),。

在TCP/IP協(xié)議族中,網(wǎng)絡(luò)層IP提供的是一種不可靠的服務(wù),,也就是說,,它只是盡快的將分組從源結(jié)點送到目的結(jié)點,但并不提供任何可靠性保證,。而另一方面,,TCP在不可靠的IP層上提供了一個可靠的運輸層。為了提供這種可靠的服務(wù),,TCP采用了超時重傳,、發(fā)送和接收端到端的確認(rèn)分組等機制。由此可見,,運輸層和網(wǎng)絡(luò)層分別負(fù)責(zé)不同的功能,。

TCP/IP 的分層

在 TCP/IP 協(xié)議族中,有很多中協(xié)議,。如下圖所示:
在 TCP/IP 協(xié)議族中,,有很多中協(xié)議。如下圖所示:

文章圖片1


TCP 和 UDP 是兩種最為著名的運輸協(xié)議,,二者都可以使用 IP 作為網(wǎng)絡(luò)層協(xié)議,。雖然 TCP 使用不可靠的 IP 服務(wù),但它卻提供了一種可靠的運輸層服務(wù),;UDP 為應(yīng)用程序發(fā)送和接收數(shù)據(jù)包,。一個數(shù)據(jù)報是指從發(fā)送方傳輸?shù)浇邮辗降囊粋€信息單元。但是與 TCP 不同的是,,UDP 是不可靠的的,,它不能保證數(shù)據(jù)保證能夠安全無誤地到達(dá)最終目的。

IP 是網(wǎng)絡(luò)層上的主要協(xié)議,,同時被 TCP 和 UDP 使用,。TCP 和 UDP 的每組數(shù)據(jù)都通過端系統(tǒng)和每個中間路由器中的IP層在互聯(lián)網(wǎng)中進(jìn)行傳輸。ICMP是IP協(xié)議的附屬協(xié)議,,IP層用它來與其他主機或路由器交換錯誤報文和其他重要信息,。Ping 和 Traceroute,它們都使用了 ICMP,。IGMP 是 Internet 組織管理協(xié)議,,它用來把一個 UDP 數(shù)據(jù)報多播到多個主機,。

ARP(地址解析協(xié)議)和 RARP(逆地址解析協(xié)議)是某些網(wǎng)絡(luò)接口使用的特殊協(xié)議,用來轉(zhuǎn)換IP層和網(wǎng)絡(luò)接口層使用的地址,。

當(dāng)應(yīng)用程序用TCP傳送數(shù)據(jù)時,,數(shù)據(jù)被送入?yún)f(xié)議棧中,然后逐個通過每一層直到被當(dāng)作一串比特流送入網(wǎng)絡(luò),,其中每一層對收到的數(shù)據(jù)都要增加一些首部信息(有時還要加一些尾部信息),。TCP 傳給IP的數(shù)據(jù)單元稱作TCP報文段或簡稱為 TCP 段。IP傳給網(wǎng)絡(luò)接口層的數(shù)據(jù)單元稱作IP數(shù)據(jù)報,。通過以太網(wǎng)傳輸?shù)谋忍亓鞣Q為幀,。 UDP 數(shù)據(jù)與 TCP 數(shù)據(jù)基本一致。唯一不同的是 UDP 傳給IP的信息單元稱為 UDP 數(shù)據(jù)報,,而且 UDP 的首部長為8字節(jié),。

IP:網(wǎng)際協(xié)議

IP 是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的TCP,、UDP,、ICMP及IGMP數(shù)據(jù)都以IP數(shù)據(jù)報格式傳輸,它提供不可靠,、無連接的數(shù)據(jù)報傳送服務(wù),。

不可靠的意思是指它不能保證IP數(shù)據(jù)報能夠成功地到達(dá)目的地。IP僅提供最基本的傳輸服務(wù),。如果發(fā)生某種錯誤時,,如某個路由器暫時用完了緩沖區(qū),IP有一個簡單的錯誤處理算法:丟棄該數(shù)據(jù)報,,然后發(fā)送ICMP消息報給信源端,。

無連接是指IP并不維護(hù)任何關(guān)于后續(xù)數(shù)據(jù)報的狀態(tài)信息,。每個數(shù)據(jù)報表的處理是相互獨立的,。這也說明,IP數(shù)據(jù)報可以不按發(fā)送順序接收,。

IP首部

IP 數(shù)據(jù)報的格式,,如圖所示:

文章圖片2

版本號:版本號字段占4位: IP協(xié)議的版本號,一般有兩個值,,如果為4就代表是IPv4,,6就代表是IPv6協(xié)議。 4→IPv4,, 6 → IPv6

首部長度:指首部占32位字的數(shù)目,。普通IP數(shù)據(jù)報(沒有任何選擇項)字段的值是5。

服務(wù)類型(TOS)字段:包括一個3bit的優(yōu)先權(quán)子字段,,4bit的TOS子字段和1bit未用位但必須置0,。4 bit的TOS分別代表:最小時延,、最大吞吐量、最高可靠性和最小費用,。4bit中只能置其中1bit,。

總長度字段:指整個IP數(shù)據(jù)報的長度,以字節(jié)為單位,。利用首部長度字段和總長度字段就可以知道IP數(shù)據(jù)報中數(shù)據(jù)內(nèi)容的起始位置和長度,。總長度字段是IP首部中必要的內(nèi)容,。
標(biāo)識字段:唯一的標(biāo)識就是主機發(fā)送的每一份數(shù)據(jù)報,。通常每發(fā)送一份報文它的值就加1。

TTL:生存時間字段設(shè)置了數(shù)據(jù)報可以經(jīng)過的最多路由器數(shù),。

首部檢驗和字段:根據(jù)IP首部計算的檢驗和碼,。它不對首部后面的數(shù)據(jù)進(jìn)行計算。ICMP,、IGMP,、UDP、TCP在它們各自的首部中均含有同時覆蓋首部和數(shù)據(jù)檢驗和碼,。

如何計算一份數(shù)據(jù)報的IP檢驗和:1.檢驗和字段置為0,; 2.對首部的每個16bit進(jìn)行二進(jìn)制反碼求和并存入檢驗和字段中。 3. 接收方對收到的IP首部劃分為若干個16bit,并進(jìn)行反碼求和,,如果接收方計算結(jié)果全為1,,則無錯。

IP路由選擇

主機的路由選擇可以非常簡單:如果目的主機在直接連接的網(wǎng)絡(luò)上,,那么就把數(shù)據(jù)報直接傳給目的主機,,否則傳給默認(rèn)路由器。

在進(jìn)行路由選擇決策時,,主機和路由器都使用路由表,。在表中,有三種類型的路由:特定主機型,、特定網(wǎng)絡(luò)型和默認(rèn)路由型,。路由表在表目具有一定的優(yōu)先級。在選擇路由時,,主機路由優(yōu)先于網(wǎng)絡(luò)路由,,最后在沒有其他可選路由存在時才選擇默認(rèn)路由。

IP路由選擇是通過逐跳來實現(xiàn)的,。數(shù)據(jù)報在各站的傳輸過程中目的IP地址始終不變,,但是封裝和目的鏈路層地址在每一站都可以改變。

運輸層協(xié)議:TCP 和 UDP

運輸層介于應(yīng)用層和網(wǎng)絡(luò)層之間,將主機到主機的端對端通信能力擴展為進(jìn)程到進(jìn)程的端到端通信能力,。它運行在位于英特網(wǎng)邊緣的端系統(tǒng)上,,對上直接為不同的應(yīng)用程序進(jìn)程提供可靠的或盡力而為的通信服務(wù),對下則有效地利用網(wǎng)絡(luò)層的IP盡力而為服務(wù),。運輸層是TCP/IP 分層網(wǎng)絡(luò)體系結(jié)構(gòu)中承上啟下的重要環(huán)節(jié),。

多路復(fù)用與多路分解

網(wǎng)絡(luò)層的傳輸通道只有一個,但是應(yīng)用進(jìn)程之間的交互關(guān)系卻很多,,因此運輸層擔(dān)負(fù)著將多個應(yīng)用進(jìn)程的報文通過同一個網(wǎng)絡(luò)層傳遞通道進(jìn)行傳輸,,并正確地交給某個應(yīng)用進(jìn)程的任務(wù),稱為運輸層的多路復(fù)用與多路分解,。

套接字和端口

端口和套接字的作用:為了表示主機中存在多個進(jìn)程,,我們用端口號標(biāo)識這臺主機中的進(jìn)程,用IP地址標(biāo)識這臺主機,;端口連同標(biāo)識主機接口的IP地址一起,,能夠唯一標(biāo)識網(wǎng)絡(luò)中的任何進(jìn)程(TCP 和 UDP 的端口號各自獨立);為了簡化編程操作,,我們引入套接字(Socket)來描述網(wǎng)絡(luò)兩端進(jìn)程之間的通信鏈(通信鏈表示通信雙方IP地址,、端口號及運輸層協(xié)議之間的關(guān)聯(lián))。
當(dāng)接收主機收到一個數(shù)據(jù)報時,,其運輸層并沒有直接將數(shù)據(jù)報交給應(yīng)用進(jìn)程,,而是將其交給了一個套接字進(jìn)行處理,并由其轉(zhuǎn)交給相應(yīng)的應(yīng)用進(jìn)程,。

多路復(fù)用要求:套接字有唯一的標(biāo)識,,該標(biāo)識的具體格式與它是UDP還是TCP類型有關(guān);每個報文段都有特殊字段來指示該報文段要交付到的端口號

UDP 套接字用一個二元組(目的IP地址,、目標(biāo)端口號)來標(biāo)識的,,TCP套接字是用四元組(源IP地址、源端口號,、目的IP地址,、目的端口號)來標(biāo)識的。

UDP :用戶數(shù)據(jù)報協(xié)議

UDP 是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議:進(jìn)程中每個輸出操作都正好產(chǎn)生一個UDP數(shù)據(jù)報,,并組裝成一份代發(fā)送的 IP 數(shù)據(jù)報,。它只是在 IP 的基礎(chǔ)上擴展了多路復(fù)用/分解功能,。

UDP 具有以下特點:
1. 除了多路復(fù)用/分解及某種輕型的差錯檢測功能外,,應(yīng)用程序幾乎都是直接與IP打交道。
2. UDP稱為無連接的,,使用UDP時,,在發(fā)送報文段之前,發(fā)送方和接收方的運輸層實體之間沒有握手過程,因此UDP具有較小的協(xié)議開銷和發(fā)送數(shù)據(jù)之前的時延
3. UDP不保證可靠交付,,它繼承了IP的盡力而為交付的特性
4. UDP 沒有流量控制和擁塞控制
5. UDP 是面向報文的,。應(yīng)用程序交給UDP一個報文段,UDP就發(fā)送該報文段,,不會將應(yīng)用程序交來的報文段劃分為若干個分組來發(fā)送,,也不會將收到的若干個報文合并后再交付給應(yīng)用程序。
6. UDP具有較高的協(xié)議效率,。其首部開銷只有8字節(jié),,而TCP的首部為20個字節(jié)。

UDP 報文段的首部格式:

文章圖片3

從圖中可以看到,,UDP 數(shù)據(jù)報是由UDP首部和放置在UDP報文段的的數(shù)據(jù)字段的應(yīng)用層數(shù)據(jù)組成,。

UDP計算檢驗和的方法和計算IP數(shù)據(jù)報首部檢驗和的方式相似,不同之處在于IP數(shù)據(jù)報的檢驗和只檢驗IP數(shù)據(jù)報的首部,,但UDP的檢驗和是把UDP報文段和偽首部放在一起檢驗,,以防止將報文段意外的交付到錯誤的目的地。

TCP:傳輸控制協(xié)議

TCP 能夠提供面向連接,、可靠數(shù)據(jù)傳輸和擁塞控制等服務(wù),。

TCP 的主要特點可以歸納為以下幾點:
1. TCP 是面向連接的端到端協(xié)議,發(fā)送方再向接收方發(fā)送數(shù)據(jù)之前,,必須通過“三次握手”,。TCP連接的狀態(tài)僅保留在兩個端系統(tǒng)中,與中間路由和鏈路層交換機無關(guān),。
2. TCP 連接是點到點的,。也就是說TCP連接是在單個發(fā)送方與單個接收方之間的連接。
3. TCP 連接提供全雙工服務(wù),。
4. TCP 提供可靠的交付服務(wù),,也就是說通過TCP連接傳輸?shù)臄?shù)據(jù),能夠保證無差錯,、不丟失,、不重復(fù)并且按序的到達(dá)。
5. TCP采用客戶/服務(wù)器模式,。
6. TCP報文段的劃分,。當(dāng)建立起一條TCP連接,兩個應(yīng)用進(jìn)程就可以互相發(fā)送數(shù)據(jù)了,,數(shù)據(jù)流通過套接字傳輸,。
7. TCP 面向字節(jié)流。TCP中的“流”是指流入到進(jìn)程或從進(jìn)程流出的字節(jié)序列,。
8. 除此之外,,TCP還有著名的流量控制與擁塞控制,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多