0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TCP/IP協(xié)議棧之ip協(xié)議棧詳解

冬至子 ? 來源:周末程序猿 ? 作者:周末程序猿 ? 2023-08-01 17:21 ? 次閱讀

1、tcp/ip協(xié)議棧分為四層

或者七層,但是便于大家理解,基本上都是用四層模型,如:數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層,傳輸層和應(yīng)用層。

其中封包的流程是:

應(yīng)用層數(shù)據(jù) --->
tcp/udp頭部(20字節(jié)) + 應(yīng)用層數(shù)據(jù) --->
ip頭部(20字節(jié)) + tcp/udp頭部(20字節(jié)) + 應(yīng)用層數(shù)據(jù) --->
以太網(wǎng)頭部(18字節(jié)) + ip頭部(20字節(jié)) + tcp/udp頭部(20字節(jié)) + 應(yīng)用層數(shù)據(jù)

這些數(shù)據(jù)每一個(gè)頭部都有自己的協(xié)議,并發(fā)送到對(duì)端模塊進(jìn)行解析,其中對(duì)于發(fā)送數(shù)據(jù)大小的要求是有相應(yīng)的限制,在以太網(wǎng)這一層數(shù)據(jù)必須46字節(jié)-1500字節(jié)之間,不足的情況下填充數(shù)據(jù),超過的情況下拆分ip包數(shù)據(jù);

2、arp協(xié)議工作原理

主機(jī)向自己所在的網(wǎng)絡(luò)廣播一個(gè)arp請(qǐng)求,請(qǐng)求獲取目標(biāo)ip地址的物理地址,請(qǐng)求發(fā)出后所在的網(wǎng)絡(luò)(局域網(wǎng))都會(huì)收到這個(gè)請(qǐng)求,當(dāng)匹配該ip請(qǐng)求的機(jī)器就主動(dòng)回包含自己物理地址;

3、dns解析原理

tcpdump抓包(tcpdump -i eth0 -nt -s 500 port domain):  
08:41:28.266682 IP 192.168.1.100.51468 > 202.96.134.33.53: 42940+ A? www.google.com.hk. (35)  
08:41:28.271805 IP 202.96.134.33.53 > 192.168.1.100.51468: 42940 1/0/0 A 93.46.8.89 (51)  
08:41:29.827625 IP 192.168.1.100.13671 > 202.96.134.33.53: 14422+ A? sp0.baidu.com. (31)  
08:41:29.827843 IP 192.168.1.100.29083 > 202.96.134.33.53: 4498+ A? ss1.baidu.com. (31)  
08:41:29.828060 IP 192.168.1.100.38240 > 202.96.134.33.53: 35663+ A? ss2.baidu.com. (31)  
08:41:29.828341 IP 192.168.1.100.11330 > 202.96.134.33.53: 42502+ A? www.baidu.com. (31)  
08:41:29.828513 IP 192.168.1.100.21489 > 202.96.134.33.53: 20283+ A? ss0.baidu.com. (31)  
08:41:29.828710 IP 192.168.1.100.37763 > 202.96.134.33.53: 6612+ A? ss1.bdstatic.com. (34)  
08:41:29.838009 IP 202.96.134.33.53 > 192.168.1.100.11330: 42502 2/0/0 A 14.215.177.38, A 14.215.177.37 (63) 
08:41:29.839022 IP 202.96.134.33.53 > 192.168.1.100.13671: 14422 2/0/0 A 14.215.177.37, A 14.215.177.38 (63)

dns是udp協(xié)議,192.168.1.100發(fā)送dns解析,42940是dns查詢標(biāo)示,+是采用遞歸查詢,A?是使用A類查詢(A方式是查找ip,CNAME方式是查詢主機(jī)別名,PTR是反向查詢)。
202.96.134.33.53回包解析42940是發(fā)送dns解析的標(biāo)示,1/0/0是1個(gè)應(yīng)答資源,0個(gè)授權(quán)資源記錄和0個(gè)額外信息記錄,A是A類查詢返回,93.46.8.89是返回www.google.com.hk域名的ip地址;

4、ip協(xié)議

ip是無連接,無狀態(tài),不可靠的協(xié)議,是tcp/udp的動(dòng)力,決定了路由和轉(zhuǎn)發(fā)的功能,ipv4的頭部結(jié)構(gòu)如下:

1.jpg

重點(diǎn)介紹字段:
TOS字段分別表示最小延時(shí),最大吞吐量,最高可靠性和最小費(fèi)用;
16位總長度指整個(gè)ip數(shù)據(jù)的長度;
8位的TTL生存時(shí)間指數(shù)據(jù)包到目的地之前允許經(jīng)過的路由跳數(shù),數(shù)據(jù)報(bào)在轉(zhuǎn)發(fā)的過程中每次經(jīng)過一個(gè)路由都會(huì)-1,當(dāng)TTL為0時(shí),路由器將其丟棄,并向源端發(fā)送icmp的差錯(cuò)報(bào)文;

5、ip分片和轉(zhuǎn)發(fā)

當(dāng)ip數(shù)據(jù)報(bào)的長度超過幀的MTU時(shí),將會(huì)被分片,其中分片可能會(huì)發(fā)生在發(fā)送端,也可能是路由轉(zhuǎn)發(fā)階段;

一個(gè)ip數(shù)據(jù)報(bào)每個(gè)分片具有自己的ip頭部,相同的標(biāo)識(shí)值,但是具有不同偏移量,并且除了最后一個(gè)分片不帶有MF標(biāo)志,其他的分片都帶有MF標(biāo)志。

下面看一個(gè)抓包的例子,ping的數(shù)據(jù)包,協(xié)議是icmp,命令ping www.baidu.com -s 1473[發(fā)送1473個(gè)數(shù)據(jù)信息]

IP (tos 0x0, ttl 64, id 4454, offset 0, flags [+], proto ICMP (1), length 1500)
    192.168.1.100  > 14.215.177.37: ICMP echo request, id 51842, seq 2, length 1480
IP (tos 0x0, ttl 64, id 4454, offset 1480, flags [none], proto ICMP (1), length 21)
    192.168.1.100  > 14.215.177.37: ip-proto-1

從以上包可以分析:tos:最小延時(shí);
ttl:64跳;
id:4454標(biāo)識(shí)相同;
offset:偏移量分別是0和1480,將icmp分片1500(20個(gè)ip報(bào)頭,8個(gè)icmp報(bào)頭,1472數(shù)據(jù))和21(20個(gè)ip報(bào)頭,1個(gè)icmp數(shù)據(jù),由于下一個(gè)數(shù)據(jù)報(bào)不需要攜帶icmp的數(shù)據(jù)報(bào)頭);
本小節(jié)還有一個(gè)知識(shí)點(diǎn)是ip數(shù)據(jù)報(bào)在主機(jī)上的轉(zhuǎn)發(fā),主機(jī)一般都不轉(zhuǎn)發(fā),不過可以設(shè)置echo 1 > /proc/sys/net/ipv4/ip_forward,那么轉(zhuǎn)發(fā)邏輯如下:

  • 1、檢查數(shù)據(jù)報(bào)頭部的ttl,如果為0則丟棄該數(shù)據(jù)包;
  • 2、查看數(shù)據(jù)報(bào)頭部的嚴(yán)格路由選擇項(xiàng),如果該項(xiàng)被設(shè)置,則檢測數(shù)據(jù)報(bào)的目標(biāo)地址是否為本機(jī)的ip,如果不是,則發(fā)送icmp源站選路失敗報(bào)文給發(fā)送端;
  • 3、如果有必要,則給源端發(fā)送icmp的重定向報(bào)文,告訴下一跳ip路由器;
  • 4、將ttl值減1,同時(shí)處理其他ip頭部選項(xiàng);
  • 5、如果包超過當(dāng)前路由器的MTU,則進(jìn)行ip分片操作;

6、ipv6頭部結(jié)構(gòu)

ipv6協(xié)議是為了解決ipv4不夠用的情況,同時(shí)增加很多功能,如多播和流功能等,ipv6的頭部結(jié)構(gòu)如下(40字節(jié)+可變頭部):

1.jpg

重點(diǎn)介紹字段:
20位流標(biāo)簽是ipv6新增字段,用于對(duì)于某些對(duì)連接服務(wù)質(zhì)量有特殊要求的通信;
ipv6提供了多種擴(kuò)展數(shù)據(jù),如認(rèn)證頭部和加密頭部等;

第二部分:tcp/ip協(xié)議棧之tcp協(xié)議棧詳解

tcp協(xié)議在我們的應(yīng)用中非常重要,本小節(jié)主要從四方面討論tcp協(xié)議:

  • 1)tcp的頭部協(xié)議,每個(gè)tcp報(bào)文都包含20字節(jié)的頭部字節(jié),指定四元組(目的ip,目的端口,源ip,源端口);
  • 2)tcp的狀態(tài)轉(zhuǎn)移,tcp從三次握手到四次揮手過程中狀態(tài)跳變,如深入理解有助于排查網(wǎng)絡(luò)問題;
  • 3)tcp的數(shù)據(jù)流,包括交互數(shù)據(jù)流,成塊數(shù)據(jù)和緊急數(shù)據(jù);
  • 4)tcp數(shù)據(jù)流的控制,為了保障可靠傳輸和網(wǎng)絡(luò)質(zhì)量,內(nèi)核對(duì)tcp數(shù)據(jù)進(jìn)行控制,包括超時(shí)重傳和擁塞控制;

1、tcp數(shù)據(jù)特點(diǎn)

tcp傳輸是可靠的,首先協(xié)議采用應(yīng)答機(jī)制,即對(duì)發(fā)送端的每個(gè)數(shù)據(jù)報(bào)都必須得到對(duì)端的應(yīng)答確認(rèn),才認(rèn)為本次報(bào)文傳輸成功;
其次tcp采用超時(shí)重傳,發(fā)送端在發(fā)送數(shù)據(jù)后就啟動(dòng)定時(shí)器,如果在定時(shí)時(shí)間內(nèi)未收到應(yīng)答,將重發(fā)該數(shù)據(jù)報(bào);
最后tcp報(bào)文最終以ip數(shù)據(jù)報(bào)發(fā)送,而ip數(shù)據(jù)報(bào)是無序或重復(fù)的,那么tcp協(xié)議需要對(duì)ip層來的數(shù)據(jù)進(jìn)行重排和丟棄等操作;

2、tcp的頭部結(jié)構(gòu)

1.jpg

32位的序號(hào):一次tcp通訊過程中某個(gè)傳輸方向上字節(jié)流的每個(gè)字節(jié)的編號(hào),初始化階段為一個(gè)隨機(jī)值,后續(xù)的tcp報(bào)中的序號(hào)設(shè)置為初始值+該報(bào)文在所攜帶的數(shù)據(jù)的第一個(gè)字節(jié)在整個(gè)字節(jié)流的偏移量;
32位的確認(rèn)號(hào):是對(duì)端的32位的序號(hào)+1;
4位頭部長度:標(biāo)識(shí)tcp頭部32個(gè)字節(jié)的大小,由于只有4位,所以tcp頭部最長位60字節(jié);
6位標(biāo)識(shí):URG(緊急指針),ACK(確認(rèn)包),PSH(數(shù)據(jù)包),SYN(建立連接包),F(xiàn)IN(關(guān)閉連接包);
16位窗口大?。褐附邮芡ǜ娲翱诖笮。嬖V對(duì)端tcp本端接受緩沖區(qū)的數(shù)據(jù)大小,讓對(duì)端控制發(fā)送速度;
16位校驗(yàn)和:tcp的報(bào)文crc校驗(yàn);
16位緊急指針:序號(hào)字段的值+該值的下一個(gè)字節(jié)表示緊急數(shù)據(jù)的偏移量;
選項(xiàng)數(shù)據(jù):在后續(xù)的博客中再詳細(xì)介紹;

具體的數(shù)據(jù)報(bào)樣例:

19:23:14.767712 IP 192.168.1.100.61976  > 139.129.212.166.http: Flags [S], seq 2580028945, win 65535, options [mss 1460,nop,wscale 5,nop,nop,TS val 1032935471 ecr 0,sackOK,eol], length 0
19:23:14.823856 IP 139.129.212.166.http  > 192.168.1.100.61976: Flags [S.], seq 3491427708, ack 2580028946, win 14480, options [mss 1360,sackOK,TS val 3615337495 ecr 1032935471,nop,wscale 7], length 0
19:23:14.823905 IP 192.168.1.100.61976  > 139.129.212.166.http: Flags [.], ack 1, win 4128, options [nop,nop,TS val 1032935521 ecr 3615337495], length 0
19:23:20.376906 IP 192.168.1.100.61976  > 139.129.212.166.http: Flags [P.], seq 1:14, ack 1, win 4128, options [nop,nop,TS val 1032940499 ecr 3615337495], length 13: HTTP

說明:
上面的報(bào)文的第一條請(qǐng)求中看出Flags [S]表示syn包,seq序號(hào)2580028945,窗口大小655352^5(需要計(jì)算options中的wscale 5擴(kuò)大因子選項(xiàng)),options是選項(xiàng)字段;
第二條請(qǐng)求是回包數(shù)據(jù),F(xiàn)lags [S.]表示syn,ack包,seq序號(hào)3491427708,ack確認(rèn)序號(hào)2580028945+1,窗口大小14480
2^7(需要計(jì)算options中的wscale 7擴(kuò)大因子選項(xiàng)),options是選項(xiàng)字段;

3、tcp的狀態(tài)轉(zhuǎn)移

tcp在建立連接和斷開連接分別要經(jīng)過三次握手和四次揮手,那么都會(huì)有相應(yīng)的服務(wù)器端口狀態(tài),只描述三次握手和四次揮手雙端的狀態(tài),如圖:

圖片

server狀態(tài)轉(zhuǎn)移語意:
a.服務(wù)器在listen調(diào)用進(jìn)入LISTEN狀態(tài),等待客戶端連接;
b.服務(wù)器監(jiān)聽到客戶端連接,就將該連接放入內(nèi)核的等待隊(duì)列,并向客戶端發(fā)送SYN,ACK報(bào)文,進(jìn)入SYN_RECVD狀態(tài),此時(shí)客戶端處于SYN_SENT階段;
c.服務(wù)器收到客戶端的ACK報(bào)文,進(jìn)入ESTABLISHED狀態(tài);
d.客戶端主動(dòng)關(guān)閉連接(通過close和shutdown發(fā)送FIN包),服務(wù)器返回ACK報(bào)文后進(jìn)入CLOSE_WAIT狀態(tài);
e.在服務(wù)端發(fā)送完所有數(shù)據(jù)給客戶端以后(客戶端此時(shí)只讀不寫,處于半關(guān)閉狀態(tài)),發(fā)送FIN,ACK到客戶端,進(jìn)入LAST_ACK狀態(tài);
f.最后服務(wù)端收到客戶端發(fā)送ACK包后,進(jìn)入CLOSED狀態(tài),關(guān)閉連接句柄;

client狀態(tài)轉(zhuǎn)移語意:
a.客戶端通過connect連接服務(wù)器,connect失敗后直接進(jìn)入CLOSED狀態(tài),連接成功進(jìn)入ESTABLISHED狀態(tài);
b.客戶端向服務(wù)端發(fā)送FIN包,進(jìn)入FIN_WAIT_1狀態(tài),收到服務(wù)端的確認(rèn)包進(jìn)入FIN_WAIT_2狀態(tài);
c.客戶端處于FIN_WAIT_2狀態(tài),服務(wù)端處于CLOSE_WAIT狀態(tài),此時(shí)可能處于半關(guān)閉,此時(shí)服務(wù)端可以發(fā)送和接收數(shù)據(jù),但是客戶端只能接受數(shù)據(jù);
d.客戶端收到服務(wù)端的FIN,ACK包后,進(jìn)入TIME_WAIT,此時(shí)客戶端要等待2MSL(報(bào)文最大生存時(shí)間的2倍,一般是2min) ,可能大家比較疑惑,為什么需要TIME_WAIT狀態(tài),而且需要等2MSL呢?
TIME_WAIT狀態(tài)存在原因有兩點(diǎn):
其一是可靠的中止tcp連接;
其二是保證讓延遲的tcp報(bào)文有足夠的時(shí)間被識(shí)別;
客戶端在關(guān)閉連接階段需要處理收到重復(fù)的結(jié)束報(bào)文,然后回復(fù)最后的ACK給服務(wù)端,否則客戶端在收到服務(wù)端的FIN就直接回復(fù)ACK,這樣后續(xù)服務(wù)端重傳的FIN包都會(huì)被回復(fù)RESET報(bào)文,這時(shí)服務(wù)端認(rèn)為是錯(cuò)誤報(bào)文,這就是第一點(diǎn)存在的原因;
那么第二點(diǎn)是為了不讓同一個(gè)tcp端口被多次打開或者是斷開以后馬上被一個(gè)新的連接接管,這樣存在數(shù)據(jù)安全和處理異常等問題,讓tcp最大時(shí)間堅(jiān)持2MSL也是為了確保重發(fā)和延時(shí)的tcp包在這段時(shí)間內(nèi)被丟棄(使用端口復(fù)用采用socket選項(xiàng)SO_REUSEADDR);

3、tcp的數(shù)據(jù)流

往往按照正常的tcp模型,一個(gè)數(shù)據(jù)包回復(fù)一個(gè)確認(rèn)包可能不適應(yīng)某些生產(chǎn)環(huán)境,為了更好的優(yōu)化tcp模型,下面討論兩種數(shù)據(jù)交互模型:

  • 1、交互數(shù)據(jù)流:對(duì)于實(shí)時(shí)性比較高的應(yīng)用(如telnet,ssh),每次發(fā)送一個(gè)都需要進(jìn)行數(shù)據(jù)確認(rèn),但是在網(wǎng)絡(luò)不好的情況下,很多微小的數(shù)據(jù)包會(huì)導(dǎo)致?lián)砣l(fā)送,因此采用Nagle算法(在后續(xù)章節(jié)介紹)和延時(shí)確認(rèn)(即收到對(duì)端的數(shù)據(jù)包的時(shí)候,先不立即發(fā)送數(shù)據(jù)包,等到需要發(fā)送數(shù)據(jù)時(shí)候同時(shí)發(fā)出ACK包,當(dāng)然這個(gè)控制在一定時(shí)間范圍內(nèi));
  • 2、成塊數(shù)據(jù)流:對(duì)于類似ftp協(xié)議,多次發(fā)送大量的數(shù)據(jù),接受端為了加快ACK確認(rèn)包的順序,針對(duì)多個(gè)數(shù)據(jù)包進(jìn)行一次確認(rèn)或者開啟SACK(針對(duì)需要重傳的數(shù)據(jù),回復(fù)對(duì)應(yīng)的偏移指針),其中對(duì)端發(fā)送數(shù)據(jù)多次發(fā)送數(shù)據(jù)是根據(jù)接受端的窗口大小限制的,如果接受端參數(shù)win 30084,scale 6,表示還能接收3008464個(gè)字節(jié),其中一次發(fā)送16384字節(jié),那么接受端還能同時(shí)處理(3008464)/16384=106個(gè)數(shù)據(jù)包(一般不會(huì)發(fā)送這么多);

4、tcp超時(shí)重傳和擁塞控制

tcp服務(wù)必須能夠重傳超時(shí)時(shí)間內(nèi)未收到的tcp報(bào)文段。
為此,tcp模塊為每一個(gè)tcp報(bào)文都維護(hù)一個(gè)重傳定時(shí)器,linux兩個(gè)重傳相關(guān)的內(nèi)核參數(shù)
/proc/sys/net/ipv4/tcp_retries1/proc/sys/net/ipv4/tcp_retries2
前者表示tcp最少執(zhí)行重傳次數(shù),默認(rèn)為3;
后者表示tcp最多執(zhí)行重傳次數(shù),默認(rèn)為15;
tcp服務(wù)有重傳必然就會(huì)導(dǎo)致?lián)砣敲唇酉聛斫榻B網(wǎng)絡(luò)底層如何進(jìn)行擁塞控制?
擁塞控制包括四個(gè)部分:慢啟動(dòng),擁塞避免,快速重傳和快速恢復(fù);
在此之前還需要介紹窗口概念:RNWD(接收窗口,指前面tcp報(bào)文中的對(duì)端發(fā)送的win窗口),CWND(擁塞窗口,是系統(tǒng)定義的一個(gè)狀態(tài)變量大小),SWND(發(fā)送窗口,是RNWD和CWND之間的較小值);
在tcp模塊剛開始發(fā)送數(shù)據(jù)階段并不知道網(wǎng)絡(luò)的實(shí)際情況,需要試探性地增加CWND,這一過程稱為慢啟動(dòng),CWND初始值設(shè)置為2-4個(gè)MSS;然后發(fā)送端每次收到接受端的一個(gè)確認(rèn),就按照公式:

CWND += min(N, MSS)

其中N是此次確認(rèn)中包含的之前未確認(rèn)的字節(jié)數(shù);
如果隨著CWND不斷累加,不加控制會(huì)造成網(wǎng)絡(luò)擁塞,那么需要進(jìn)行擁塞避免算法,界定慢啟動(dòng)和擁塞避免過程通過慢啟動(dòng)門限(ssthresh)控制,當(dāng)CWND超過ssthresh則進(jìn)入擁塞避免階段;
擁塞避免階段控制CWND是每個(gè)RTT時(shí)間都計(jì)算(如果RTT時(shí)間內(nèi)收到多少確認(rèn)包),公式:

CWND += SMSS*SMSS/CWND

這樣就保障了CWND緩慢增長,直到傳輸超時(shí)或者tcp重傳定時(shí)器溢出,就需要重新調(diào)整ssthresh,再次進(jìn)入慢啟動(dòng)階段,那么ssthresh計(jì)算公式:

ssthresh = max(FlightSize/2, 2MSS)

其中FlightSize已經(jīng)發(fā)送但是還未收到確認(rèn)的字節(jié)數(shù);
另外一種情況:在接受端接收到重復(fù)的確認(rèn)報(bào)文段的時(shí)候,tcp模塊如何處理?
如果發(fā)送端收到3個(gè)重復(fù)的確認(rèn)報(bào)文,認(rèn)為擁塞發(fā)生,啟動(dòng)快速重傳和快速恢復(fù),先計(jì)算ssthresh;
然后通過CWND = ssthresh + 3 * SMSS計(jì)算出CWND,再次每收到1個(gè)重復(fù)確認(rèn)時(shí),設(shè)置CWND += SMSS,最后當(dāng)收到新數(shù)據(jù)的確認(rèn)時(shí),直接設(shè)置CWND = ssthresh,這樣快速重傳和快速恢復(fù)完成,又再次進(jìn)入擁塞避免階段。

5、補(bǔ)充知識(shí)

復(fù)位報(bào)文產(chǎn)生條件:

  • 1、訪問不存在的端口;
  • 2、異常中止連接,當(dāng)發(fā)送端回復(fù)一個(gè)RST報(bào)文給接受端,接受端所有的排隊(duì)等待發(fā)送的數(shù)據(jù)都將被丟棄;
  • 3、處于半連接狀態(tài)寫入數(shù)據(jù)時(shí)候,也會(huì)回復(fù)一個(gè)RST報(bào)文;
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • TTL電路
    +關(guān)注

    關(guān)注

    2

    文章

    65

    瀏覽量

    15116
  • 局域網(wǎng)
    +關(guān)注

    關(guān)注

    5

    文章

    760

    瀏覽量

    46340
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1375

    瀏覽量

    79181
  • DNS
    DNS
    +關(guān)注

    關(guān)注

    0

    文章

    219

    瀏覽量

    19897
  • TCPIP協(xié)議棧
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    5918
  • TCP通信
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    4267
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    全硬件TCP/IP協(xié)議學(xué)習(xí)筆記(第四天:全硬件TCP/IP協(xié)議模塊學(xué)習(xí))

    /IP協(xié)議的不同歸類為兩大類,第一類是傳統(tǒng)的軟件TCP/IP協(xié)議
    的頭像 發(fā)表于 12-18 10:27 ?8818次閱讀
    全硬件<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>學(xué)習(xí)筆記(第四天:全硬件<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>模塊學(xué)習(xí))

    協(xié)議介紹--TCP/IP

    ,在使用上與一般的協(xié)議相同,可能只是在具體的使用細(xì)節(jié)可能有點(diǎn)不同。3)本協(xié)議設(shè)計(jì)時(shí)使用標(biāo)準(zhǔn)UCOS-II操作系統(tǒng)。也可使用其它操作系統(tǒng)下運(yùn)行。4)本
    發(fā)表于 09-03 15:03

    如何去簡化Simplified TCP/IP協(xié)議?

    Simplified TCP/IP協(xié)議的特點(diǎn)是什么?如何去簡化Simplified TCP/IP
    發(fā)表于 05-26 07:23

    TCP/IP協(xié)議有何功能

    TCP/IP協(xié)議是什么?TCP/IP協(xié)議
    發(fā)表于 10-14 06:39

    UCOS下的TCP-IP-PPP協(xié)議

    UCOS下的TCP-IP-PPP協(xié)議
    發(fā)表于 03-25 16:51 ?61次下載

    TCP/IP協(xié)議之路由器簡要分析

    讀完這個(gè)系列的第一篇淺談TCP/IP協(xié)議(一)入門知識(shí)和第二篇淺談TCP/IP
    發(fā)表于 10-10 11:46 ?1次下載

    Microchip TCP/IP協(xié)議

    的開發(fā)人員可以很容易找到許多Microchip產(chǎn)品的商業(yè)和非商業(yè)的TC P/IP實(shí)現(xiàn)方案。本應(yīng)用筆記詳細(xì)說明了Microchip公司自己免費(fèi)提供的TC P/IP協(xié)議。 Microch
    發(fā)表于 04-20 16:04 ?5次下載
     Microchip <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>

    介紹tcp_ip協(xié)議lwip的特點(diǎn)

    簡介了嵌入式tcp_ip協(xié)議lwip的基本信息
    的頭像 發(fā)表于 07-03 13:05 ?3672次閱讀

    Microchip TCP/IP精簡協(xié)議

    本應(yīng)用筆記描述 Microchip 傳輸控制協(xié)議 / 互聯(lián)網(wǎng)協(xié)議TCP/IP)精簡協(xié)議庫的結(jié)
    發(fā)表于 04-01 15:36 ?17次下載
    Microchip <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>精簡<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>

    Microchip TCP/IP協(xié)議

    。感興趣的開發(fā)人員可以很容易找到許多 Microchip 產(chǎn)品的商業(yè)和非商業(yè)的TCP/IP 實(shí)現(xiàn)方案。本應(yīng)用筆記詳細(xì)說明了 Microchip 公司自己免費(fèi)提供的 TCP/IP
    發(fā)表于 04-02 14:28 ?22次下載
    Microchip <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>

    到底什么是TCP/IP協(xié)議,看完這篇你就明白!

    一談到TCP/IP協(xié)議,相信不少小白都處于暴躁的邊緣,只懂其一不知其二。沒關(guān)系,看完這篇你就知道啦!我們先簡單了解下TCP/
    的頭像 發(fā)表于 12-09 15:21 ?1486次閱讀
    到底什么是<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>,看完這篇你就明白!

    Linux高性能網(wǎng)絡(luò)編程之TCP/IP協(xié)議ip協(xié)議詳解

    或者七層,但是便于大家理解,基本上都是用四層模型,如:數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層,傳輸層和應(yīng)用層。
    發(fā)表于 08-08 15:38 ?1088次閱讀
    Linux高性能網(wǎng)絡(luò)編程之<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b><b class='flag-5'>之</b><b class='flag-5'>ip</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b><b class='flag-5'>詳解</b>

    Microchip TCP/IP 協(xié)議應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《Microchip TCP/IP 協(xié)議應(yīng)用筆記.pdf》資料免費(fèi)下載
    發(fā)表于 04-17 14:16 ?3次下載

    TCP/IP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)_中文

    電子發(fā)燒友網(wǎng)站提供《TCP/IP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)_中文.pdf》資料免費(fèi)下載
    發(fā)表于 07-03 11:28 ?4次下載

    LwIP協(xié)議源碼詳解TCP/IP協(xié)議的實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《LwIP協(xié)議源碼詳解TCP/IP協(xié)議的實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 07-03 11:22 ?3次下載