網路程式設計(一)

2021-10-02 15:29:53 字數 1614 閱讀 8562

osi七層模型

開放系統互連參考模型(open system interconnect) 是國際標準化組織iso和國際電報**諮詢委員會ccitt聯合制定的開放系統互連參考模型,為開放式互連系統提供了一種功能結構的框架。

osi系統分為七層,物理層,資料鏈路層,網路層,傳輸層,會話層,表示層,應用層

tcp/ip模型

分為鏈路層,網路層,傳輸層,應用層,兩種模型之間的對應關係如下:

transmission control protocol/internet protocol的簡寫,中譯名為傳輸控制協議/網際網路互聯協議,是internet最基本的協議、internet國際網際網路絡的基礎,由網路層的ip協議和傳輸層的tcp協議組成。協議採用了4層的層級結構。然而在很多情況下,它是利用 ip 進行通訊時所必須用到的協議群的統稱。

tcp和udp

埠號:0~1023:被http、ftp、telnet等應用協議所使用。

1024~49151:一些被正式註冊,也可用於任何通訊用途。

49162~65535:客戶端可通過動態分配埠號

tcp三次握手

洪氾攻擊

定義

通過網路服務所在的埠傳送大量偽造原位址的攻擊報文,傳送到服務端,造成服務端上的半開連線佇列被佔滿,從而阻止其他使用者進行訪問。

原理

攻擊者客戶端利用偽造的ip位址向服務端發出請求(第一次握手),而服務端的響應(第二次握手)的報文將永遠傳送不到真實的客戶端,服務端在等待客戶端的第三次握手(永遠都不會有的),服務端在等待這種半開的連線過程中消耗了資源,如果有成千上萬的這種連線,主機資源將被耗盡,從而達到攻擊的目的。

對應辦法:

tcp四次揮手

為什麼需要四次揮手

tcp是雙全工(即客戶端和伺服器端可以相互傳送和接收請求),所以需要雙方都確認關閉連線。

過程第一次揮手:客戶端傳送關閉請求

第二次揮手:服務端響應客戶端關閉請求

第三次揮手:服務端傳送關閉請求

第四次揮手:客戶端傳送關閉確認請求

網路程式設計(一)

最近在學習網路程式設計,還是寫點筆記來督促下自己,邊寫邊學才不至於懶惰。我其實一直對網路通訊很是好奇,以前也經常想網路遊戲和聊天軟體是如何使使用者互連並進行通訊的呢?後來接觸到套接字,並且還能做些簡單的通訊,但對其中的工作原理渾然不知,凡事總是如此,你不想被某事束縛或牽著鼻子走,就總會想著去了解更深...

網路程式設計(一)

網路通訊三素質 一 ip位址 二 埠號 三 傳輸協議 tcp安全但慢,udp快。socket程式設計 一收一發 在python3裡,無論是收,還是發,必須是 bytes型別。怎麼改?bytes x,utf8 x 是要改的變數,注意後面要加編碼格式 utf8server下的方法 client下的方法 ...

網路程式設計(一)

網路檢視器 傳送http請求 url url new url address 獲取連線物件,並沒有建立連線 設定連線和讀取超時 conn.setconnecttimeout 5000 conn.setreadtimeout 5000 設定請求方法,注意必須大寫 conn.setrequestmeth...