python 全棧 day03 電腦網路基礎

來源:互聯網
上載者:User

標籤:封裝   判斷   dns解析   分析   鏈路   包含   配置ip   ges   查詢   

一、網路通訊協定

    網路通訊協定是電腦網路中進行資料交換而建立的規則、標準或約定的集合。它規定了通訊時資訊必須採用的格式和這些格式的意義。

    網路通訊協定就是電腦之間進行通訊的規則。為了使處於不同地點、裝有不同作業系統的電腦之間可以在網路上實現有效地通訊,而確立的一種為各類電腦都能認可的通訊方法,任一方所表達的資訊均能被其他各方所認同,從而確定的電腦接入internet通訊的標準。

二、OSI五層協議

    互連網協議按照功能不同分為osi七層或tcp/ip五層或tcp/ip四層,其中對應關係。

 

 

    TCP/IP五層模型是將OSI七層種的應用程式層,展示層,會話層並作應用程式層,從TCP/IP五層協議的角度來闡述每層的由來和功能。使用者接觸的都是應用程式層,網路資料轉送,自上而下每層都依賴於下一層,每層都有自己特定的協議。越往上越靠近使用者,越往下越靠近硬體。

 

 

(1)物理層

    利用物理物理線路實現組網,傳輸高低電平(電訊號)高為1,低為0。

(2)資料連結層

    定義了電訊號的分組形式,形成一套統一的標準,乙太網路internet協議。

一組電訊號構成了一組資料包及幀,一組資料幀(資料包)分為前序head和資料部分data。

 

 

         head包含:源地址,目標地址,資料類型

         data 包含:資料內容。

    協議規定所有接入互連網的電腦都必須有要網卡,head中包含的源地址和目標地址就是指的網卡的地址,每塊網卡上都有一個固定的不可改變的MAC地址。有了這些東西,同一網路內的主機就能通過廣播的形式傳輸資料。

(3)網路層

    不同網路上的裝置要想通訊,僅僅靠資料廣播是不行的,此時就引入一套新的地址用來區分不同的廣播域/子網,採取路由的方式廣播發送資料包。

為了實現不同網路間裝置的通訊,每個裝置都會配置IP地址,子網路遮罩,網關。通過IP地址和子網路遮罩來判斷時候在同一網路。若不再同一網路,通過網關通訊,走路由協議網關之間先建立通訊,再進行資料轉送。

    注意:若通訊,IP及子網都必須有;跨子網通訊依賴IP地址,同子網通訊依賴MAC地址。

(4)傳輸層

    通過TCP或是UDP協議,建立連接埠到連接埠之間的通訊

(5)應用程式層

    應用程式都工作在應用程式層,應用程式層就是用於規範應用程式層的資料格式。傳輸層的TCP協議為程式傳遞資料,而資料的類型格式就需要應用程式層的協議來規定,這寫協議就構成了應用程式層。

開發應用得調用,使用傳輸層的TCP/UDP協議,為方便使用,我們利用socket通訊,它將複雜的TCP協議偽裝成介面去調用,方便快捷。

    若想實現網路通訊,每天主機的四要素必不可少,分別為:IP地址,子網路遮罩,網關,DNS。這四要素可以通過DHCP協議自動擷取,也可以自己動手配置。

三、使用者上網流程

1、本機擷取有效IP地址,子網路遮罩,網關,DNS。

2、開啟瀏覽器,在地址欄輸入 www.baidu.com

3、網域名稱解析(及DNS解析)

  (1)、作業系統先檢查自己本地的hosts檔案是否有這個網址的映射關係,如果有,就調用這個IP地址映射,完成網域名稱解析。

  (2)、如果hosts裡沒有這個網域名稱的映射,則尋找本地DNS解析器緩衝中是否有這個網址的映射,如果有直接將資料返回,完成網域名稱解析。

  (3)、如果hosts與本地DNS解析器緩衝都沒有相對應的網址映射關係,首先會找本地DNS伺服器去查詢,此伺服器收到查詢時,如果要查詢的網域名稱,包含在本地配置地區資源中,則返回解析結果給客戶機,完成網域名稱解析,此解析具有權威性。

  (4)、如果本地DNS伺服器本地地區檔案與緩衝解析都失效,則根據本地DNS伺服器的設定把請求發至13台根DNS,根DNS伺服器收到請求後會判斷這個網域名稱(.com)是那個伺服器來授權管理,並會返回一個負責該頂級網域名稱伺服器的一個IP地址。本地DNS伺服器收到IP地址資訊後,將會聯絡負責.com域的這台伺服器。當這台負責.com域的伺服器收到請求後,如果自己無法實現解析,它就會找一個管理.com域的下一級DNS伺服器位址(baidu.com)給本地DNS伺服器。當本地DNS伺服器收到這個地址後,就會找baidu.com的網域服務器,重複上面3,2,1動作進行查詢,直至找到www.baidu.com主機。

  (5)、將資料嵌入TCP資料包中返回。

4、TCP協議

   TCP協議在資料包中外部嵌入http協議的連接埠,發送給網路層

5、IP協議

   網路層接收到TCP協議資料包之後,會在外部嵌入一層IP資料包(源IP地址,目標IP地址)發送給資料連結層。

6、internet協議

   IP資料包到達資料連結層,將被打上一層乙太網路資料包(源MAC地址,目標MAC地址,資料類型)。資料包封裝完成後,通過物理層發給baidu伺服器。

7、伺服器響應

   伺服器經網路接收到資料包之後,分析資料包裡客戶的開啟網址的請求,做出回應,再將響應以相同的方式發回請求主機。

8、本機收到從伺服器返回的響應資料包之後,瀏覽器將網頁開啟,完成通訊。

python 全棧 day03 電腦網路基礎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.