偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

路由器網(wǎng)絡(luò)中數(shù)據(jù)包傳輸分析

網(wǎng)絡(luò) 路由交換
本篇介紹一個基礎(chǔ)的知識,關(guān)于數(shù)據(jù)包在路由器中是如何進(jìn)行傳輸和交換的,只要明白這點(diǎn),那么對你配置出一個好的網(wǎng)絡(luò)環(huán)境會有很大的幫助。

本篇介紹一個基礎(chǔ)的知識,關(guān)于數(shù)據(jù)包在路由器中是如何進(jìn)行傳輸和交換的,只要明白這點(diǎn),那么對你配置出一個好的網(wǎng)絡(luò)環(huán)境會有很大的幫助。

一、輸入的問題

1、原始套接口可以接收到任何TCP或UDP報文。

2、要想接收到原始套接口,首先要接收的數(shù)據(jù)包必須有一個完整的、正確的IP頭,否則不能通過ip_rcv()中的包頭檢查和檢驗和驗證。

3、在原始套接口接收的數(shù)據(jù)包過程中,內(nèi)核會對接收的IP包進(jìn)行校驗和驗證,但不會對IP包以后的任何字段進(jìn)行檢測和驗證。如,我們創(chuàng)建原始套接口時,所指定的protocol參數(shù)為IPPROTO_TCP,內(nèi)核也不會進(jìn)行TCP校驗和驗證,而是直接把IP頭中協(xié)議字段為TCP的所有數(shù)據(jù)包都復(fù)制一份,提交給該原始套接口。

4、用原始套接口接收到的TCP包都是進(jìn)行了IP重組以后,TCP排序以前的報文。

5、如果在創(chuàng)建原始套接口時,所指定的protocol參數(shù)不為零,(socket的第三個參數(shù)),則接收到的數(shù)據(jù)報的協(xié)議字段應(yīng)該與之匹配。否則該數(shù)據(jù)報不傳遞給該套接口。

6、如果此原始套接口上綁定了一個本地IP地址,那么接收到的數(shù)據(jù)報的目的IP地址應(yīng)該與該綁定的IP地址相匹配,否則該數(shù)據(jù)包將不傳遞到該套接口。

7、如果此原始套接口通過connect指定了一個對方IP地址,那么接收到的數(shù)據(jù)包的源IP地址應(yīng)與該以連接地址相匹配,否則該數(shù)據(jù)包不傳遞給該套接口。

8、如果一個原始套接口以protocol參數(shù)為0的方式創(chuàng)建,并且未調(diào)用connect或bind,那么對于內(nèi)核傳遞給原始套接口的每一個原始數(shù)據(jù)報,該套接口都會收到一份拷貝。

9、原始套接口接收不到任何的ARP或RARP協(xié)議類型的套接口,因為net_rx_action()會把ARP或RARP協(xié)議類型的數(shù)據(jù)包傳遞給ARP的接收函數(shù)類處理,不會傳遞給IP層的接收函數(shù)ip_rcv()。

10、原始套接口并不是可以接收到任何的ICMP類型的數(shù)據(jù)包,因為有些ICMP類型的數(shù)據(jù)包在傳遞給原始套接口之前已經(jīng)被系統(tǒng)所響應(yīng),并不再向上層傳遞。

11、如果對方的數(shù)據(jù)包分片了,由于原始套接口的接收是在IP上層,所以會接收到重組以后的原始IP包。

#p#

二、輸出的問題

1、普通輸出通常通過sendto或sendmsg并指定目的IP地址來完成,如果套接口已經(jīng)連接,也可以調(diào)用write、writev或send。

2、如果IP_HDRINCL選項未設(shè)置,則內(nèi)核寫的數(shù)據(jù)起始地址是IP頭部之后的***個字節(jié)。因為這種情況下,內(nèi)核將構(gòu)造IP頭部,并將它安在來自進(jìn)程數(shù)據(jù)之前。內(nèi)核將IPv4頭部的協(xié)議字段設(shè)置成用戶在調(diào)用socket函數(shù)時所給的第三個參數(shù)。

3、如果IP_HDRINCL選項已設(shè)置,則內(nèi)核寫的數(shù)據(jù)其實(shí)地址是IP頭部的***個字節(jié)。用戶所提供的數(shù)據(jù)必須包括IP頭部。此時進(jìn)程構(gòu)造除了以下兩項以外的整個IP頭部:IPv4標(biāo)示字段可以設(shè)為0,要求內(nèi)核設(shè)置該值。而且僅當(dāng)該字段為0時,內(nèi)核才為其設(shè)置,IPv4頭部校驗和由內(nèi)核來計算和存儲。

4、如果創(chuàng)建原始套接口時指定了協(xié)議類型,即第三個參數(shù)protocol,那也并不是說只能發(fā)該類型的數(shù)據(jù)包。如,即使將protocol指定為IPPROTO_TCP,也可以發(fā)送用戶自己組裝的UDP報文,不過此時如果IP_HDRINCL選項未設(shè)置,那么內(nèi)核將會在IP頭的協(xié)議字段指明后面的報文為TCP報文(不過此時卻為UDP報文)。

等數(shù)據(jù)包發(fā)送到對方TCP層,一般說來會因為找不到合適的TCP套接口接收該數(shù)據(jù)包而被丟棄。不過該包可以在目標(biāo)主機(jī)的原始套接口上接收到。

5、正如前面所述,任何時候,IP頭的校驗和都是由內(nèi)核來設(shè)置的。

6、內(nèi)核任何時候那會都不會對IP包以后的字段進(jìn)行校驗和驗證。如,即使我們指定第三個參數(shù)protocol為IPPROTO_TCP,在數(shù)據(jù)發(fā)送時內(nèi)核也不會對進(jìn)行TCP校驗和計算和驗證。

7、如果IP_HDRINCL選項已設(shè)置,按照常規(guī),我們應(yīng)該組建自己的IP頭,但是即使我們沒有組建IP頭,用sendto或sendmsg 并指定目的IP地址來發(fā)送數(shù)據(jù)是照樣可以完成的。但是這樣的數(shù)據(jù)包在目標(biāo)機(jī)上用原始套接口是接收不到的,因為在ip_rcv()中要對IP頭進(jìn)行驗證,并且要分析校驗和,所以該包會被丟棄,不過在鏈路層應(yīng)該能夠接收到該數(shù)據(jù)包。

8、如果設(shè)置了IP_HDRINCL選項,并且數(shù)據(jù)包超長,那么數(shù)據(jù)會被丟棄,并會返回出錯碼EMSGSIZE。如果未設(shè)置IP_HDRINCL選項,并且數(shù)據(jù)包超長,那么數(shù)據(jù)包會被分片。

正是因為數(shù)據(jù)包具上述的結(jié)構(gòu),安裝了TCP/IP協(xié)議的電腦之間才能相互通信,在使用基于TCP/IP協(xié)議的網(wǎng)絡(luò)時,網(wǎng)絡(luò)中其實(shí)傳遞的就是數(shù)據(jù)包。

責(zé)任編輯:遺忘者 來源: 路由人
相關(guān)推薦

2012-12-04 09:54:33

路由器數(shù)據(jù)包TCP

2013-01-21 15:11:39

路由器數(shù)據(jù)包路由技術(shù)

2009-12-23 15:01:17

2010-09-02 21:37:10

路由器網(wǎng)絡(luò)分層

2009-12-21 14:47:43

路由器配置

2012-09-04 11:08:57

VMwarevSwitchvSwitch配置

2009-11-11 10:27:11

IP路由器

2009-07-15 11:21:46

路由器功能數(shù)據(jù)包

2023-03-27 00:17:21

eBPF技術(shù)網(wǎng)絡(luò)

2010-08-26 10:41:32

路由器

2011-04-15 13:30:07

Tracert路由

2009-12-14 17:15:12

AS邊界路由器

2019-04-29 07:53:11

TCP數(shù)據(jù)包TCP網(wǎng)絡(luò)編程

2013-05-21 14:41:42

數(shù)據(jù)包分析內(nèi)聯(lián)監(jiān)控

2010-09-27 14:37:53

無線路由器傳輸速率

2011-01-18 13:50:20

路由跟蹤tcptracerou

2013-03-08 09:57:36

路由器無線傳輸視頻速度

2009-12-18 09:20:34

路由器基礎(chǔ)配置

2009-11-24 16:47:29

路由器基礎(chǔ)配置

2009-11-13 16:23:31

路由器功能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號