標籤:分享 技術 比較 互連網 使用 子網路遮罩 block tcp三向交握 固定
Day3: Python學習筆記之電腦基礎——網路片什麼是互連網協議以及為何要有互連網協議?
?互連網協議本質上是為了方便串連兩台電腦而指定的一系列統一的標準。
osi五層模型
電腦之間要實現資料轉送必須要經過以下五層協議:
? 模型 ,協議 ,硬體
? 應用程式層, http協議、使用者自訂協議
? 傳輸層, TCP/UPD協議 ,四層交換器、四層路由器
? 網路層, IP協議, 三層交換器、路由器
? 資料連結層, 乙太網路、電訊號分組, 橋接器、乙太網路交換器、網卡
? 物理層, 傳遞電訊號 ,中繼器、集線器、雙絞線
使用者感知到的只是上面一層應用程式層,自上而下每一層都依賴於下一層
物理層
主要是基於電器特性發送高低電壓(電訊號),高電壓對應1,低電壓對應0。
資料層
資料層對電訊號定義了統一的分組方式,即乙太網路協議(ethernet)然後通過廣播進行傳輸。
乙太網路協議:
一組電訊號構成一個資料包,叫做‘幀‘
每一資料幀分成:前序head和資料data兩部分
head包含(固定18個位元組):寄件者/源地址(6個位元組) + 接收者/目標地址(6個位元組) + 資料類型(6個位元組)
data包含(最短46位元組,最長1500位元組):資料包的具體內容
head長度+data長度=最短64位元組,最長1518位元組,超過最大限制就分區發送
mac地址:每塊網卡出廠時都被燒制上一個世界唯一的mac地址,就是head中包含的源和目標地址。
廣播:有了mac地址,同一網路內的兩台主機就可以通訊了(一台主機通過arp協議擷取另外一台主機的mac地址)ethernet採用最原始的廣播的方式,即電腦通訊基本靠吼
資料:head + data
網路層:
有了ethernet、mac地址、廣播的發送方式,世界上的電腦就可以彼此通訊了,但是世界範圍的互連網是由一個個彼此隔離的小的區域網路組成的,網路層引入一套新的地址用來區分不同的廣播域/子網,這套地址即網路地址。
IP協議:
規定網路地址的協議叫ip協議,它定義的地址稱之為ip地址,廣泛採用的v4版本即ipv4,它規定網路地址由32位2進位表示
範圍0.0.0.0-255.255.255.255
一個ip地址通常寫成四段十進位數,例:172.16.10.1
ip地址組成
注意:單純的ip位址區段只是標識了ip地址的種類,從網路部分或主機部分都無法辨識一個ip所處的子網例:172.16.10.1與172.16.10.2並不能確定二者處於同一子網
子網路遮罩(DNS)
所謂”子網路遮罩”,就是表示子網路特徵的一個參數,它在形式上等同於IP地址。通過”子網路遮罩”就能判斷任意兩個IP地址是否處在同一個子網路。方法是將兩個IP地址與子網路遮罩分別進行AND運算(兩個數位都為1,運算結果為1,否則為0),然後比較結果是否相同,如果是的話,就表明它們在同一個子網路中,否則就不是。
ip資料包
ip資料包也分為head和data部分,無須為ip包定義單獨的欄位,直接放入乙太網路包的data部分
head:長度為20到60位元組
data:最長為65,515位元組。
而乙太網路資料包的”資料”部分,最長只有1500位元組。因此,如果IP資料包超過了1500位元組,它就需要分割成幾個乙太網路資料包,分開發送了。
乙太網路頭——ip頭——ip資料
ARP協議:通過IP + DNS 擷取mac地址
資料:乙太網路頭 + IP頭 + IP資料
傳輸層
網路層的ip幫我們區分子網,乙太網路層的mac幫我們找到主機,為了標識這台主機上的應用程式,產生了連接埠,即應用程式與網卡關聯的編號,而傳輸層就是建立連接埠到連接埠的通訊。
tcp協議
udp協議:
不可靠傳輸,”前序”部分一共只有8個位元組,總長度不超過65,535位元組,正好放進一個IP資料包。
乙太網路頭 + IP頭 + upd頭 + 資料
應用程式層
使用者使用的都是應用程式,均工作於應用程式層,互連網是開發的,大家都可以開發自己的應用程式,資料多種多樣,必須規定好資料的組織形式
應用程式層功能:規定應用程式的資料格式。
TCP協議可以為各種各樣的程式傳遞資料,比如Email、WWW、FTP等等。那麼,必須有不同協議規定電子郵件、網頁、FTP資料的格式,這些應用程式協議就構成了”應用程式層”。
使用者上網流程
原生IP地址:192.168.1.100
子網路遮罩:255.255.255.0
網關的IP地址:192.168.1.1
DNS的IP地址:8.8.8.8
使用者資料→http、自訂→TCP、連接埠→IP→乙太網路→電訊號傳輸
接收後在反向得到資料
Day3: Python學習筆記之電腦基礎——網路片