首頁 » TCP/IP

TCP協議圖文秒懂

       本文將簡單介紹tcp協議的基本內容,主要包括一下四部分: tcp概述 TCP可靠數據傳輸  TCP流量控制  TCP連接管理  TCP概述  tcp是一個點對點端到端的傳輸協議,有一個發送方和接收方。 tcp傳輸的是可靠的按序到達的字節流 tcp采用流水線機制,提高傳輸的效率。TCP通過擁塞控制和流量控制機制來控制滑動窗口的大小閱讀全文 »

2017年6月5日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:1

TCP/IP協議攻擊-arp欺騙與icmp重定向

       TCP/IP協議攻擊 實驗概述 TCP/IP協議安全漏洞是協議的設計與實現中的一種特殊類型的漏洞,它們提供了寶貴的教訓,這也是為什么安全應該從一開始就設計而不是事后考慮的原因。此外,研究這些漏洞有助于理解網絡安全的挑戰,為什么許多網絡安全措施是必要的。 (1)網絡拓撲圖 本實驗中至少需要3臺機器,一個用于攻擊,另一個用于被攻擊,第三個作為觀察者使用。閱讀全文 »

2016年5月25日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/IP之大明王朝郵差

       大明王朝天啟四年, 清晨。 天色剛蒙蒙亮,我就趕著裝滿貨物的馬車來到了南城門, 這里是集中處理貨物的地方 , 一隊一隊的馬車都來到這里, 城頭的士兵帶著頭盔,身披盔甲, 手持長槍, 虎視眈眈的注視這下面的動靜。 城門口的大棚里亂哄哄的,是一群人圍在一起賭錢, 這些家伙都穿著同樣的衣服, 前胸和后背寫著三個大字 “TCP郵差”。閱讀全文 »

2016年5月16日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:2

TCP/UDP網絡編程入門教程之二十六:UDP應用——UDP版的Echo Client

       同樣的,我們將UDP版的doEcho()也設計成返回bool:true表示循環繼續;false表示關閉客戶端。 當echo_message為“空”的時候,即輸入直接回車,是一個"",用C風格來說,即時'\0',從C++來說,是const char[1],其C++風格的長度echo_message.size()為0,這時候就會發送一個“0長度”的UDP數據包。閱讀全文 »

2015年11月30日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之二十五:UDP應用—— UDP版的Echo Server

       與TCP版的Echo Server類似,我們從Server Socket類中派生出Echo Server類。 我們依然讓handEcho()返回一個bool,true表示客戶端“正常”離開(這里沒用“斷開”這個詞是因為UDP是無連接的;另外,我們這里用recvfrom()返回小于0來表示客戶端其實是“非正常”的離開了,比如連接被重置。閱讀全文 »

2015年11月30日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之二十四:UDP原理——預讀MSG_PEEK

       recv()和recvfrom()的第4個參數可以調整函數行為。 因為UDP是按數據包接收的,我們在接收之前并不知道這個數據包有多大。一個策略是,我們準備足夠大的應用程序緩存以免出錯,但是這個“足夠大”的概念是建立在我們對傳送的數據事先有了解的情況下,比如是我們自己設計服務器端和客戶端并且制定應用層協議閱讀全文 »

2015年11月30日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之二十三:UDP原理——“有連接”的UDP

       雖然UDP是無連接的,但是也可以通過調用connect()將本地的UDP socket FD與一個遠程的UDP socket FD連接起來——只需要指定這個遠程sockFD的地址,假設這個地址是sockaddr_in remoteSockAddr,代碼如下:... 建立連接后的UDP RecvQ就不會將非來自remoteSockAddr的數據包收入。閱讀全文 »

2015年11月26日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之二十一:UDP原理——設計UDP client類

       UDP的客戶端看起來幾乎就是服務器端的翻版,甚至比服務器端更簡單——因為不需要bind()本機地址:... 在最初設計這個類的時候,我曾經考慮過安排一個服務器地址的私有數據成員,并且在構造函數里面指定服務器的地址。但是,后來我覺得使用“目的地”比“服務器”更加能體現出UDP無連接的本質特點。閱讀全文 »

2015年11月17日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之二十:UDP原理——設計UDP server類

       人們通常用電話連線來說明TCP協議,而UDP協議,則常常用郵遞來做比喻。與TCP有連接的信息傳輸方式不同,UDP協議被認為是對底層IP協議簡單的擴展:協議并不保證每個數據包都會到達目的地,也不保證到達的順序,而僅僅就是“盡力”的發送每一個數據包。我在這篇教程中有時候使用“數據包”有時候使用“數據報”,廣義的說,這兩個詞意思類似閱讀全文 »

2015年11月10日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:1

TCP/UDP網絡編程入門教程之十九:TCP應用——構建echo客戶端

       echo客戶端的工作原理也很簡單: 1、向服務器端發送一個字符串; 2、接收服務器的返回信息(如果是echo服務器就會返回發送出去的字符串本身)。 3、在標準輸出中回顯服務器返回的信息。閱讀全文 »

2015年11月4日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之十八:TCP應用——構建echo服務器

       現在,我們用前面所構建的socket類,重新設計第一章中echo的服務器,然后設計客戶端程序。 echo服務器的工作原理很簡單: 1、接收客戶端傳來的信息; 2、將接收到的信息原封不動的返回給客戶端。 可以看到我們所設計的TCPServerSock類具備了echo服務的所有數據成員,我們只需要添加一個具體的echo方法。因此,我們讓設計的echo類從TCPServerSock類中派生出來。閱讀全文 »

2015年10月30日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:1

TCP/UDP網絡編程入門教程之十七:TCP原理——TCP連接的關閉

       TCP連接一旦建立,服務器端和客戶端就成為了對等關系,任何一方都可以發出關閉握手請求,甚至可以同時發出關閉握手請求。TCP的連接建立需要3次握手,而正常關閉則需要4次握手。 1、主動關閉的一方A調用close(),SendQ不再接收send()寫入信息,在SendQ隊列的最后,向被動關閉的一方發送TCP的IP數據報作為關閉握手的請求。這個數據報中包含著標志FIN,也包含著此刻的字節序號m。閱讀全文 »

2015年10月30日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之十六:TCP原理——字節流的發送與接收

       從TCP三次握手的原理我們可以看到,TCP有“保障”的連接實際上可以看做是兩個單向的連接:一個通道只負責發送,另外一個只負責接收。并且,傳送的信息是以字節為單位保證順序的。 在socket機制中,應用層的程序以send()函數將數據首先發送到本機系統的發送緩存中,我們稱之為SendQ,意指這是一個FIFO(先進先出)的隊列。閱讀全文 »

2015年10月26日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之十五:TCP原理——TCP的三次握手(three-way handshake)

       前面3個小節介紹了socket機制對TCP協議三次握手的實現,需要強調的是,與協議獨立于實現類似,TCP的三次握手是獨立于socket體系的理論。在TCP協議中,三次握手是通過3個TCP格式的IP數據報來實現的。TCP格式的IP數據報中包含著TCP首部,TCP首部信息中包含著對每一個數據報具體內容的描述。閱讀全文 »

2015年10月16日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之十四:TCP原理——設計TCP socket的類(下)

       在另外一邊的客戶端,我們分析一下TCPClientSock的建立過程。... 我們看到TCPClientSock的類與TCPServerSock很類似,構造函數的差別是,TCPClientSock需要提供server端的IP地址和端口號。閱讀全文 »

2015年9月28日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之十三:TCP原理——設計TCP socket的類(中)

       當激活監聽的TCPListenSock等待遠程client的connect()握手請求的時候,是調用了accept()并且產生阻塞(默認情況下),如果accept()成功返回意味著conect()握手請求請求成功,這時候就通過accept()產生了一個新的sockFD用于TCP通訊。我們把這個新的sockFD構建為TCPServerSock類:...閱讀全文 »

2015年9月21日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之十二:TCP原理——設計TCP socket的類(上)

       我們之前講過,socket是一個int的文件描述符(WinSock中直接是一種抽象的描述符),我們通過對這個描述符發出指令操作socket。這是C語言的思想,在面向對象的思想中,最好socket本身是一種對象,各種方法由對象本身發出。用面向對象的思想封裝socket并不困難,而且,對于描述socket的概念可能更加直觀,這一節,我們邊介紹socket和TCP的概念邊對socket進行OO封裝。閱讀全文 »

2015年9月10日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之十一:TCP原理——socket異常信息

       之所以把對異常信息的介紹放到原理之前講,是因為由于socket本身的復雜性,導致了產生各種異常的復雜性。我們應該時刻銘記的是,sokcet本身屬于系統(OS),是系統對TCP/IP的實現,也就是說,socket發出的異常信息不代表程序出錯,甚至不代表系統出錯,而僅僅就是代表socket本身的各種異常情況。另外一點我覺得應該強調的是:socket不是TCP/IP;TCP/IP也不是socket。閱讀全文 »

2015年9月8日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之十:WinSock演示程序:TCP Server

       本文主要給大家提供一個Tcp Server的源碼例子,各源碼所在的文件名已在注釋中標出。閱讀全文 »

2015年9月2日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0

TCP/UDP網絡編程入門教程之九:win32下使用socket——WinSock

       學習socket最好能有兩臺以上聯網的電腦,以及能獲得公網IP的網絡接入方式。接下來的教程我會兼顧winsock的代碼,這主要是因為winsock本身對socket幾乎是兼容的。所以,這里有必要先說明在VC環境中使用socket的一些簡單設置,以及與Linux環境下的細微差別。本文使用的VC環境是2008 Express。閱讀全文 »

2015年8月11日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:0
分頁:[«]1[2][»]
安徽快3走势 经营一个鱼塘赚钱吗 天涯明月刀ol新区赚钱 江西微乐南昌麻将手机 古剑奇谭网络版靠什么赚钱 迅雷彩票群 哈罗顺风车车主能赚钱么 单机免费打麻将单机版 国外星级酒店为什么赚钱 怎么在周六周日赚钱 贵州打2快的麻将怎么算钱 现在dnf附魔师赚钱吗 幻想乡怎么赚钱 友乐广西麻将2元微信群 66阅读赚钱幕后是什么 豆发软件可以赚钱吗 我爱南京麻将技巧