網絡編程【一】操做系統的發展史

網絡編程基礎概念

 

軟件開發的架構

咱們瞭解的涉及到兩個程序之間通信的應用大體能夠分爲兩種:html

第一種是應用類:qq、微信、網盤、優酷這一類是屬於須要安裝的桌面應用python

第二種是web類:好比百度、知乎、博客園等使用瀏覽器訪問就能夠直接使用的應用web

這些應用的本質其實都是兩個程序之間的通信。而這兩個分類又對應了兩個軟件開發的架構~編程

C/S架構

C/S即:Client與Server ,中文意思:客戶端與服務器端架構,這種架構也是從用戶層面(也能夠是物理層面)來劃分的。瀏覽器

這裏的客戶端通常泛指客戶端應用程序EXE,程序須要先安裝後,才能運行在用戶的電腦上,對用戶的電腦操做系統環境依賴較大。緩存

B/S架構

B/S即:Browser與Server,中文意思:瀏覽器端與服務器端架構,這種架構是從用戶層面來劃分的。服務器

Browser瀏覽器,其實也是一種Client客戶端,只是這個客戶端不須要你們去安裝什麼應用程序,只需在瀏覽器上經過HTTP請求服務器端相關的資源(網頁資源),客戶端Browser瀏覽器就能進行增刪改查。微信

計算機網絡的發展及基礎概念

問題:網絡究竟是什麼?計算機之間是如何通訊的?網絡

早期:聯機

以太網局域網交換機

廣播

主機之間「一對全部」的通信模式,網絡對其中每一臺主機發出的信號都進行無條件複製並轉發,全部主機均可以接收到全部信息(無論你是否須要),因爲其不用路徑選擇,因此其網絡成本能夠很低廉。有線電視網就是典型的廣播型網絡,咱們的電視機其實是接受到全部頻道的信號,但只將一個頻道的信號還原成畫面。在數據網絡中也容許廣播的存在,但其被限制在二層交換機的局域網範圍內,禁止廣播數據穿過路由器,防止廣播數據影響大面積的主機。架構

ip地址與ip協議

  1. 規定網絡地址的協議叫ip協議,它定義的地址稱做ip地址,普遍採用v4版本即ipv4,它表示網絡地址由32位2進製表示
  2. 範圍0.0.0.0-255.255.255.255
  3. 一個ip地址一般寫成四段十進制數  例:127.0.0.1

mac地址

mac地址:每塊網卡出廠時都被燒製上一個世界惟一的mac地址,長度爲48位2進制,一般由12位16進制數表示(前六位是廠商編號,後六位是流水線號

arp協議 ——查詢IP地址和MAC地址的對應關係

地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。
  主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的全部主機,並接收返回消息,以此肯定目標的物理地址。
  收到返回消息後將該IP地址和物理地址存入本機ARP緩存中並保留必定時間,下次請求時直接查詢ARP緩存以節約資源。
  地址解析協議是創建在網絡中各個主機互相信任的基礎上的,網絡上的主機能夠自主發送ARP應答消息,其餘主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存;由此攻擊者就能夠向某一主機發送僞ARP應答報文,使其發送的信息沒法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。ARP命令可用於查詢本機ARP緩存中IP地址和MAC地址的對應關係、添加或刪除靜態對應關係等。相關協議有RARP、代理ARP。NDP用於在IPv6中代替地址解析協議。 

廣域網與路由器

路由器

路由器(Router),是鏈接因特網中各局域網、廣域網的設備,它會根據信道的狀況自動選擇和設定路由,以最佳路徑,按先後順序發送信號。 路由器是互聯網絡的樞紐,"交通警察"。目前路由器已經普遍應用於各行各業,各類不一樣檔次的產品已成爲實現各類骨幹網內部鏈接、骨幹網間互聯和骨幹網與互聯網互聯互通業務的主力軍。路由和交換機之間的主要區別就是交換機發生在OSI參考模型第二層(數據鏈路層),而路由發生在第三層,即網絡層。這一區別決定了路由和交換機在移動信息的過程當中需使用不一樣的控制信息,因此說二者實現各自功能的方式是不一樣的。
  路由器(Router)又稱網關設備(Gateway)是用於鏈接多個邏輯上分開的網絡,所謂邏輯網絡是表明一個單獨的網絡或者一個子網。當數據從一個子網傳輸到另外一個子網時,可經過路由器的路由功能來完成。所以,路由器具備判斷網絡地址和選擇IP路徑的功能,它能在多網絡互聯環境中,創建靈活的鏈接,可用徹底不一樣的數據分組和介質訪問方法鏈接各類子網,路由器只接受源站或其餘路由器的信息,屬網絡層的一種互聯設備。  

局域網

局域網(Local Area Network,LAN)是指在某一區域內由多臺計算機互聯成的計算機組。通常是方圓幾公里之內。局域網能夠實現文件管理、應用軟件共享、打印機共享、工做組內的日程安排、電子郵件和傳真通訊服務等功能。局域網是封閉型的,能夠由辦公室內的兩臺計算機組成,也能夠由一個公司內的上千臺計算機組成

子網掩碼

所謂」子網掩碼」,就是表示子網絡特徵的一個參數。它在形式上等同於IP地址,也是一個32位二進制數字,它的網絡部分所有爲1,主機部分所有爲0。好比,IP地址172.16.10.1,若是已知網絡部分是前24位,主機部分是後8位,那麼子網絡掩碼就是11111111.11111111.11111111.00000000,寫成十進制就是255.255.255.0。

  知道」子網掩碼」,咱們就能判斷,任意兩個IP地址是否處在同一個子網絡。方法是將兩個IP地址與子網掩碼分別進行AND運算(兩個數位都爲1,運算結果爲1,不然爲0),而後比較結果是否相同,若是是的話,就代表它們在同一個子網絡中,不然就不是。 

1
2
3
4
5
轉化成二進制
print ( bin ( 172 ))   # 0b10101100
print ( bin ( 16 ))     # 0b10000
print ( bin ( 10 ))     # 0b1010
print ( bin ( 1 ))       # 0b1
  例如

IP協議的做用主要有兩個,一個是爲每一臺計算機分配IP地址,另外一個是肯定哪些地址在同一個子網絡。

多態機器之間的通訊:

  • mac:機器的惟一標識
  • 網卡:一個計算機上的硬件 這個硬件出廠的時候就被分配了一個mac地址
  • ip地址 :比mac好記,可以按照區域來區分(區分你在哪個局域網內)
  • 協議 : 在傳輸過程當中規定位數 順序等等傳輸規則的內容
  • 交換機 : 局域網內多臺機器之間的通訊
  • arp協議 :經過ip地址找到mac地址

局域網概念:

  • 路由器:可以作局域網與局域網之間的通訊
  • 網關ip:在一臺機器對局域網外的地址進行訪問的時候使用的出口ip
  • 端口 : 幫助咱們找機器上的對應服務 0-65535 慣用的端口號 80,8000以後

ip的保留字段:

  1. 0.0.0.0-255.255.255.255
  2. 10.0.0.0-10.255.255.255
  3. 172.16.0.0-172.31.255.255
  4. 192.168.0.0-192.168.255.255

本地的迴環地址:127.0.0.1      別的人找不到你 只有你本身這臺機器能找到你本身

全網段地址:0.0.0.0     誰均可以訪問你

 

相關文章
相關標籤/搜索