網路資料包在不同網路環境下的丟失表現
最近專案在網路資料發包和收包的時候出了問題,連線是採用Tcp協議進行的。經過分析問題應該是服務端的傳送佇列溢位或者是客戶端的接收佇列溢位造成的資料丟失。詳細情況如下。首先客戶端在登入到服務端的時候會收到服務端傳送過來的大量資料,其中有一類資料為長資料報文,資料量比較大,每個資料包有10000多個位元組。而在客戶端收到主這些資料之後的資料會有一定的機會丟失。其中我們不清楚是服務端是否成功傳送出去,還是客戶端在接收時沒能夠成功放進緩衝區中。這個情況只在Internet中出現,在區域網中未發現有丟失資料現象。所以認為是網路環境觸發了這個漏洞。
在TCP/IP的協議下,傳送的大資料包會在運輸層中的tcp協議被會成許多個tcp包來發送的,然後在接收端的運輸層內按順序進行重組,當接收到完整的資料包時再向應用層發出接收的通知。由於在物理層中資料報文很可能會根據當時的網路環境不同經過不同的路由,所以到達的時間和順序都不一樣。
....未完待續
相關推薦
網路資料包在不同網路環境下的丟失表現
最近專案在網路資料發包和收包的時候出了問題,連線是採用Tcp協議進行的。經過分析問題應該是服務端的傳送佇列溢位或者是客戶端的接收佇列溢位造成的資料丟失。詳細情況如下。首先客戶端在登入到服務端的時候會收到服務端傳送過來的大量資料,其中有一類資料為長資料報文,資料量比較大,每個資
在已經截獲網路資料包的情況下,做更新伺服器端的簡單WEB開發,請進。承諾RMB報酬,謝謝!
本人QQ:529615027 有一個程式,其實就是NP要更新,為了不讓NP更新,我想架設一個旁路伺服器,讓NP去我架設的伺服器更新資料。我截獲了NP更新的資料包。從資料包能看出原來伺服器的IP地址是218.6.139.196(其實IP有多個,更新程式使用的域名應該是np1
深入淺出-網路七層模型&&網路資料包
引言 今天回顧一下--網路七層模型&&網路資料包 網路基本概念 OSI模型 OSI 模型(Open System Interconnection model)是一個由國際標準化組織提出的概念模型,試圖供一個使各種不同的計算機和網路在世界範圍內實現互聯的標準框架。 它將計算機網路體系結
sk buff封裝和解封裝網路資料包的過程詳解
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Linux網路 - 資料包的接收過程
轉自https://segmentfault.com/a/1190000008836467 本文將介紹在Linux系統中,資料包是如何一步一步從網絡卡傳到程序手中的。 如果英文沒有問題,強烈建議閱讀後面參考裡的兩篇文章,裡面介紹的更詳細。 本文只討論乙太網的物理網絡卡,不涉及虛擬裝置,並且
sk_buff封裝和解封裝網路資料包的過程詳解
可以說sk_buff結構體是Linux網路協議棧的核心中的核心,幾乎所有的操作都是圍繞sk_buff這個結構體進行的,它的重要性和BSD的mbuf類似(看過《TCP/IP詳解 卷2》的都知道),那麼sk_buff是什麼呢?  
資料包級網路遙測和網路安全推送分析
隨著網路規模,複雜性和流量的增長,對連續和精確監控的需求比以往任何時候都要大。持續監控是檢測安全問題,錯誤配置,裝置故障以及執行流量工程的重要部分。 在最高級別,它是一種基於推送的監控方法:資料平面裝置(如交換機和路由器)將有關流量和效能的資料流式傳輸到執行分析
使用tcpdump+wireshark抓包分析網路資料包
最近和學弟在除錯一個GPRS通訊模組,需求是通過GPRS模組通過http協議傳送資料到伺服器,但是http協議一直失敗,伺服器返回400,通過查詢http狀態碼得知,http400錯誤是請求無效,因為GPRS模組沒有實現http協議的封裝,需要在TCP協議的基礎上,手動拼裝http格式的報文.所以初步猜測是h
Android網路資料包的抓和分析
1. 手機獲得root許可權; 2. push tcpdump到 /; 3. chmod 755 tcpdump; 4. 抓包: adb shell tcpdump -s 0 -w /sdcard/capture.pcap 5. pull資料包到pc,使用wireshark
網路資料包收發流程(一):從驅動到協議棧
早就想整理網路資料包收發流程了,一直太懶沒動筆。今天下決心寫了一、硬體環境intel82546:PHY與MAC整合在一起的PCI網絡卡晶片,很強大bcm5461: PHY晶片,與之對應的MAC是TSECTSEC: Three Speed Ethernet C
網路資料包轉發過程
這篇文章講述了上網時資料包轉發的全過程,下面是電腦和網路裝置連線簡略圖: 以PC1 ping PC3為例講述資料包轉發過程: 1、當PC1 ping PC3時,發現它們的IP不在同一網段,PC1就
python應用系列教程——python使用scapy監聽網路資料包、按TCP/IP協議進行解析
全棧工程師開發手冊 (作者:欒鵬) python使用scapy監聽抓取網路資料包。 scapy具有模擬傳送資料包、監聽解析資料包、網際網路協議解析、資料探勘等多種用處。這裡我們只來說一下scapy監聽資料包,並按照不同的協議進行解析。
網路資料包型別
型別一-------乙太網幀 EthernetV2幀頭結構為6bytes的源地址+6bytes的目標地址+2Bytes的協 議型別欄位+資料 型別二-----802.3/802.2幀 LLC is defined in ISO/IEC 8802-2:1998 SNAP
SwipeRefreshLayout完美實現ListView網路資料上拉載入以及下拉重新整理
最近才有時間將上拉載入與下拉重新整理進行總結,SwipeRefreshLayout是Android -V4包下自帶的一個重新整理控制元件,但是不足的是它只有下拉重新整理的功能,沒有需要的上拉載入功能,所以我自己添加了上拉載入的功能。 一、首先簡單介紹一下SwipeRefre
替代WinPcap的新型Windows網路資料包截獲軟體——NPcap
Npcap介紹 Npcap是致力於採用Microsoft Light-Weight Filter (NDIS 6 LWF)技術和Windows Filtering Platform (NDIS 6 WFP)技術對當前最流行的WinPcap工具包進行改進的一個專案。Npc
【linux網路】linux核心網路資料包流向圖
根據網路上搜集的資源以及檢視linux核心網路相關的程式碼,arvik繪製了一份linux核心網路資料包流向圖,該圖大致呈現了資料包從網絡卡進來以後到怎麼出網絡卡或者進入本地的流程 以及 本地資料怎麼流出網絡卡的流程。如下(linux核心版本3.10.36):
網路資料包大小計算
1、資料鏈路層對資料幀的長度都有一個限制,也就是鏈路層所能承受的最大資料長度,這個值 稱為最大傳輸單元,即MTU。以乙太網為例,這個值通常是1500位元組。 2、對於IP資料包來講,也有一個長度,在IP包頭中,以16位來描述IP包的長度,也就是說, 一個IP包,最長可能是65535位元組。 3、結合以上兩個概
scapy:網路資料包操作
scapy 是具有超強功能的資料包操作工具,不僅具有無數個協議的解碼功能,還可以 傳輸修改後的資料包.scapy的最大特點就是可以執行多種功能。例如:建立網路掃描、資料包轉儲、資料包攻擊時需要利用多個不同的工具,而只要一個scapy就夠了。 Welcome t
有關C#開發抓取、分析網路資料包的程式碼段
using System; using System.Net; using System.Net.Sockets; using System.Runtime.InteropServices; using System.Wi
在iPhone上抓蜂窩資料包-行動網路的資料包
步驟:1. 手機通過USB線連線到PC; 2. 檢視手機的UDID,因為rvictl需要使用它。用Xcode看更方便,window—>devices and simulators,然後選擇手機,如圖:3. 建立連線格式:rvictl -s <UDID>如:這