1. 網路傳輸怎麼驗證完整性如果有丟數據的現象怎麼重新發送》
這就需要通過tcp協議了,它提供的服務包括數據流傳送、可靠性、有效流控、全雙工操作和多路復用。通過面向連接、端到端和可靠的數據包發送。通俗說,它是事先為所發送的數據開辟出連接好的通道,然後再進行數據發送!
2. 網路校驗網MTU值是什麼
電腦MTU值不能超過你的寬頻MTU值,否則需要拆包,會比較慢
先檢測mtu在修改
按開始鍵-點運行-輸入cmd,進入dos界面,輸入:
ping
-f
-l
1472
192.168.1.1
按Enter鍵其中192.168.1.1是網關IP地址,1472是數據包的長度。請注意,上面的參數是「-l」(小寫的L),而不是「-1」。
如果能ping通,表示數據包不需要拆包,可以通過網關發送出去。
如果出現:
Packet
needs
to
be
fragmented
but
DF
set.
表示數據包需要拆開來發送。此時,減少數據包長度,再執行上面的ping命令。從1400到1472之間多試幾次,就能找到合適的數據包長度了。把數據包長度加上數據包頭28位元組,就得到MTU的值。
如果檢測到網關的MTU值是1500,不需要修改。
如果網關有防火牆ping不通,可以試試直接把MTU設為1400。
修改方法如下:
Windows平台下
1、運行regedit
2、打開:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
3、Interfaces下有多個子項,每個子項對應一個網卡。請按如下方法選擇網卡:
A、確定本機用來連接Internet的網卡或撥號連接的IP,如192.168.0.19;
B、用滑鼠點擊Interfaces上的子項,查看鍵值列表中的IPAddress項;
C、如果IPAddress的鍵值與A中的IP相同,即192.168.0.19,則該子項就是要找的網卡。
4、進入該子項,在右邊的窗口裡按滑鼠右鍵,選擇「新建」->「DWORD
值」,輸入名稱「MTU」,按回車。再用滑鼠雙擊「MTU」,彈出修改窗口,填入MTU的值(一般為十進制的1480)。
填寫前請先把基數設為十進制。
設置好後,需要重啟機器才能生效。
Windows
7(XP、Vista未實測)
1、使用管理員許可權運行cmd
2、使用netsh
interface
ipv4
show
subinterfaces命令看看MTU以及本地連接名稱。
3、使用netsh
interface
ipv4
set
subinterface
"連接名"
mtu=300
store=persistent
(注:這里的連接名是你使用上面命令看到的MTU值對應的這個連接名,他在右邊顯示。)
附:1、此方法不用重啟;2、如是ipv6就將上面的ipv4改成ipv6
Linux下可使用如下命令修改
需要root許可權
ifconfig
網卡
MTU值
如
ifconfig
eth0
mtu
1460
3. 為什麼在網路通訊中要數據校驗
大概意思是:查看數據包有無損壞,有就丟失,讓發包的端重新發送,數據校驗就是為了包的完整性吧
4. 什麼是完整性校驗方式
個人理解:電子證據當然需要完整性校驗,因為數據在傳輸過程中可能會有丟失或者誤碼或者被篡改,完整性校驗就是針對此而設計的演算法。比較普遍的演算法是奇偶校驗法和CRC校驗,但是這兩種校驗並沒有抗數據篡改的能力,於是又出現了現在比較流行的MD5演算法,該演算法具有"數字指紋"特性,可以有效的防止數據被惡意篡改或破壞,這樣就便於保證電子證據的真實性。具體怎麼做不是一兩句就能說完的,至少要對散列演算法有一定的基礎。
5. 網路通信中 校驗和 是什麼意思
在數據處理和數據通信領域中,用於校驗目的的一組數據項的和。這些數據項可以是數字或在計算檢驗的過程中看作數字的其它字元串。
它通常是以十六進制為數製表示的形式,如:
十六進制串: 0102030405060708
的效驗和是: 24 (十六進制)
如果效驗和的數值超過十六進制的FF,也就是255. 就要求其補碼作為效驗和.
通常用來在通信中,尤其是遠距離通信中保證數據的完整性和准確性.
1、IP首部校驗
IP首部校驗和欄位是根據IP首部計算的校驗和碼,它不對首部後面的數據進行計算。ICMP、IGMP、UDP和TCP在它們各自的首部中均含有同時覆蓋首部和數據校驗和碼。
2、IP首部校驗和計算
為了計算一份數據報的IP檢驗和,首先把檢驗和欄位置為0。然後,對首部中每個16bit進行二進制反碼求和(整個首部看成是由一串16bit的字組成),結果存在檢驗和欄位中。當收到一份IP數據報後,同樣對首部中每個16bit進行二進制反碼的求和。由於接收方在計算過程中包含了發送方存在首部中的檢驗和,因此,如果首部在傳輸過程中沒有發生任何差錯,那麼接收方計算的結果應該為全1。如果結果不是全1(即檢驗和錯誤),那麼IP就丟棄收到的數據報。但是不生成差錯報文,由上層去發現丟失的數據報並進行重傳。
3、TCP和UDP校驗和計算(兩者相同)
校驗和還包含—個96位的偽首標,理論上它位於TCP首標的前面。這個偽首標包含了源地址、目的地址、協議和TCP長度等欄位,這使得TCP能夠防止出現路由選擇錯誤的數據段。這些信息由網際協議(IP)承載,通過TCP/網路介面,在IP上運行的TCP調用參數或者結果中傳遞。
偽首部並非UDP數據報中實際的有效成分。偽首部是一個虛擬的數據結構,其中的信息是從數據報所在IP分組頭的分組頭中提取的,既不向下傳送也不向上遞交,而僅僅是為計算校驗和。
這樣的校驗和,既校驗了UDP用戶數據的源埠號和目的埠號以及UDP用戶數據報的數據部分,又檢驗了IP數據報的源IP地址和目的地址。(偽報頭保證UDP和TCP數據單元到達正確的目的地址。因此,偽報頭中包含IP地址並且作為計算校驗和需要考慮的一部分。最終目的端根據偽報頭和數據單元計算校驗和以驗證通信數據在傳輸過程中沒有改變而且到達了正確的目的地址。)
6. UDP是什麼它有什麼用
UDP是User Datagram Protocol的簡稱,中文名是用戶數據報協議,是OSI參考模型中的傳輸層協議,它是一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務。
UDP的正式規范是IETF RFC768。UDP在IP報文的協議號是17。
在這里插入圖片描述
在OSI模型中,UDP在第四層——傳輸層,處於IP協議的上一層。UDP有不提供數據包分組、組裝和不能對數據包進行排序的缺點,也就是說,當報文發送之後,是無法得知其是否安全完整到達的。UDP用來支持那些需要在計算機之間傳輸數據的網路應用。包括網路視頻會議系統在內的眾多的客戶/伺服器模式的網路應用都需要使用UDP協議。UDP協議從問世至今已經被使用了很多年,雖然其最初的光彩已經被一些類似協議所掩蓋,但是即使是在今天UDP仍然不失為一項非常實用和可行的網路傳輸層協議。
與所熟知的 TCP(傳輸控制協議)協議一樣,UDP 協議直接位於 IP(網際協議)協議
的頂層。根據 OSI(開放系統互連)參考模型,UDP 和 TCP 都屬於傳輸層協議。 UDP 協議
的主要作用是將網路數據流量壓縮成數據包的形式。一個典型的數據包就是一個二進制數據
的傳輸單位。每一個數據包的前 8 個位元組用來包含報頭信息,剩餘位元組則用來包含具體的傳
輸數據。
UDP報頭
在這里插入圖片描述
UDP報頭包括4個欄位,每個欄位佔用2個位元組(即16個二進制位)。
在IP4v中,「來源連接埠」和「校驗和」是可選欄位(粉色背景標出)。
在IPv6中,只有來源連接埠是可選欄位。
UDP數據報格式有首部和數據兩個部分。首部很簡單,共8位元組。包括:
源埠(Source Port):2位元組,源埠號。
目的埠(Destination Port):2位元組,目的埠號。
長度(Length):2位元組,用於校驗UDP數據報的數據欄位和包含UDP數據報首部的「偽首部」。其校驗方法用IP分組首部中的首部校驗和。
偽首部,又稱為偽包頭(Pseudo Header):是指在TCP的分段或UDP的數據報格式中,在數據報首部前面增加源IP地址、目的IP地址、IP分組和協議欄位、TCP或UDP數據報的總長度等共12位元組,所構成的擴展首部結構。此偽首部是一個臨時的結構,它既不向上也不向下傳遞,僅僅只是為了保證可以校驗套接字的正確性。
在這里插入圖片描述
TCP和UDP區別
特徵點 TCP UDP
傳輸可靠性 面向連接 面向非連接
應用場景 傳輸數據量大 傳輸量小
速度 慢 快
TCP(傳輸控制協議)提供的是面向連接、可靠的位元組流服務。當客戶端和伺服器彼此交換數據前,必須先在雙方之間建立一個TCP連接,之後才能傳輸數據。TCP提供超時重發,丟棄重復數據,檢驗數據,流量控制等功能,保證數據能從一端傳到另一端。
UDP(用戶數據協議)是一個簡單的面向數據報的運輸層協議。UDP不提供可靠性,它只是把應用程序傳給IP層的數據報發送出去,但是並不能保證它們能到達目的地。由於UDP咋傳輸數據前不用在客戶和伺服器之間建立一個連接,且沒有超時重發等機制,故而傳輸速度很快。
由於UDP缺乏擁塞控制(congestion control),需要基於網路的機制來減少因失控和高速UDP流量負荷而導致的擁塞崩潰效應。換句話說,因為UDP發送者不能夠檢測擁塞,所以像使用包隊列和丟棄技術的路由器這樣的網路基本設備往往就成為降低UDP過大通信量的有效工具。數據報擁塞控制協議(DCCP)設計成通過在諸如流媒體類型的高速率UDP流中,增加主機擁塞控制,來減小這個潛在的問題。
UDP方式傳輸數據
發送時:先把數據放到報文,寫到緩沖區位元組數組再傳送。
接收時:從緩沖器數組讀取,打包到報文。
UDP的應用場景
在選擇使用協議的時候,選擇UDP必須要謹慎。由於缺乏可靠性且屬於非連接導向協議,UDP一般必須允許一定量的數據包丟失、出錯和復制粘貼。但有些應用,比如TFTP,需要可靠性保證,則必須在應用層增加根本的可靠機制。但是絕大多數UDP應用都不需要可靠機制,甚至可能因為引入可靠機制而降低性能。流媒體、即時多媒體游戲和IP電話(VoIP)就是典型的UDP應用。如果某個應用需要很高的可靠性,那麼可以用傳輸控制協議(及TCP協議)來代替UDP。
7. 電子數據完整性校驗值怎麼看
完整性校驗值,是指為防止電子數據被篡改或者破壞,使用散列演算法等特定演算法對電子數據進行計算,得出的用於校驗數據完整性的數據值。
為了驗證電子數據的完整性,通常採用哈希值等驗證演算法。
微版權通過sha-512哈希演算法、時間戳服務和pbft共識演算法對原始數據進行加密,為證書的主體、時間、進程和內容生成唯一的對應數字指紋,並加密存儲在區塊鏈上,有效保證證書的完整性數據。
用戶可通過微版權官網的「驗證保存」功能,輸入押金數據的記錄編號,上傳原始文件。系統自動將上傳文件的哈希值與原始存款數據的哈希值進行比較。如果存款數據和上傳文件完整,則通過驗證,否則失敗。
8. IPsec如何進行完整性校驗
當通信雙方建立了一個SA後,它們就有了所有用來計算它們交換的數據報的ICV值的參數。ICV的計算涉及到整個IP頭,然而有些域在從源到目的的傳輸過程中可能會改變,所以在計算ICV時將這些域設為0。首先需要了解IPv4和IPv6數據包頭的可變域和不變域。哪些被計算進去了,而哪些被設置為0.
IPv4頭的可變域
(圖片來源於搜索)
服務類型(Type of service):8比特的服務類型(TOS)域表明了數據報所屬數據流的需求,這個需求是針對延遲、吞吐量和可靠性的組合而言的。IP協議並不認為這個域是可變的,但IPSec將它作為可變域對待,因為現有的一些路由器會改變這些域。
標志(FLAGS):IP頭中有三個標志位。第一個是DF(不可分段)位,當這個位被設置的時候表明不允許對數據報分段。第二個是MF(更多分段)位,當這個位為0的時候表明數據包的最後一個數據分段到達。第三個被保留做將來使用。ICV的計算不包括這個域,因為即使數據源沒有設置這個位,中間的路由器也可能設置DF位。
分段偏移量(Fragment offset):這個13比特的域表明一個分段在它所屬的數據報中的位置。AH僅應用於非分段的IP包;所以在計算ICV之前,必須將這個域設為0。
TTL:這8比特的域被用來限制一個數據報的生命期,因此可以防止數據報在一個網段中無限循環。數據報在經過每個路由器時,它的TTL值都被路由器減小。目的主機無法預計TTL值,所以這個域被排除在ICV的計算之外。
頭校驗值(Header checksum):這個16比特域保存IP頭的校驗和。如果IP頭的任一個域發生了變化,校驗和的值也會變化,所以在計算ICV之前,必須將這個域設為0。
可選項(Options):這個變長域存放數據包的可選信息,比如安全性和處理限制。這個域很少被使用,並且被大多數的路由器忽略。所以大部分的IPSec實現在計算ICV時都不包含可選項。
IPv4頭的不變域
- 版本(Version)。
- 頭長度(IHL)。
- 總長度(Total length)。
- 標識(Identification)。
- 協議(Protocol)。
- 源地址(Source address)。
- 目的地址(Destination address)。
- 數據(Data)(被封裝的傳輸協議頭和數據)。
IPv6頭的可變域
- 優先順序(Priority):這個4比特的域表明一個數據包要求的服務質量。這個域可能會被中間的路由器改變,所以它沒有被包含在ICV的計算中。
- 流標簽(Flow label):這個24比特的域是一個實驗性的域。大多數應用忽略它,最終IPSec強制在計算ICV值之前將其設為0。
- 跳數限制(Hop limit):這個跳數限制域和IPv4的TTL域相同。它在經過每個路由器時都被減小1。
逐跳和目的選項擴展頭中包含一個比特,用來表明這個選項在傳輸過程中是否可能發生變化。可以通過設置和取消這些比特來指定這些擴展頭可變還是不可變。逐跳擴展頭被用來攜帶可選的路由信息,數據報從源到目的沿途的每個節點都必須檢查這些信息。目的選項擴展頭攜帶僅需由目的節###IPv6頭的不變域
- 版本(Version)。
- 載荷長度(Payload length)。
- 下一個頭(Next header)。
- 源地址(Source address)。
- 目的地址(Destination address)。
可變但可預測
路由擴展頭有可變但可預測的特性。IPv6數據源用這個擴展頭列出數據包從源到目的途徑中的一個或多個網關。路由擴展頭中的地址域可能在傳輸中被重排;然而數據包在目的主機時的內容的形式對發送者和中間節點而言卻是已知的。所以,可以由發送者排列地址域使其和發送到目的地時相同。因此是在計算ICV時包含了這個擴展頭。如果有分段擴展頭的話,它對IPSec而言是不可見的,因為它在外出的IPSec處理後才出現;而重組工作在進入IPSec處理之前進行。所以,在計算ICV時這個擴展頭不予考慮。
重頭戲:完整性校驗值(ICV)
把IP的可變域和IPv6可變擴展頭設為0後,整個IP數據報以一個比特串的形式作為MAC的輸入。MAC採用指定的密鑰生成ICV。值得注意的是,在隧道模式中,內部IP頭的可變域未被設為0,因為只有外部IP頭的可變域才可能在傳輸過程中被修改。
ICV的長度依賴於使用的MAC演算法。例如,對於HMAC-MD5,ICV是128比特;而對於HMAC-SHA1,ICV是160比特。如果一個MAC演算法生成的IPv4數據報的ICV長度不是32的整數倍,或生成的IPv6數據報的ICV長度不是64的整數倍,則需要增加填充比特使ICV達到32(IPv4)或64(IPv6)的整數倍。計算出ICV(有必要的話還得對它進行填充)之後,把它放在認證數據域中,然後數據報將被發送到目的地址。
9. 在網路環境里,是怎樣實現對傳染數據的完整性、發送者身份認證的
傳染數據?
如果是傳輸數據的話
1.完整性可以通過MD5值驗證等
2.身份驗證可以分兩塊:
網路主機驗證:指定主機的IP、MAC等(通常這一步在防火牆或交換機上來實現的)
帳戶驗證:驗證用戶名與密碼(這個可以通過系統級別與應用程序級別來控制)
10. 數據完整性校驗有什麼用
聽名稱就能看出來了。網路傳送時因為這樣那樣的原因導致數據丟失或者是損壞,對於精度要求不高的還好,對於那些重要文件等就需要檢驗文件是否完成,以免造成損失。