計算機及網絡基礎
C/S架構 |
C:client(客戶端軟件)
S:server(服務端軟件)
python程序員是應用開發程序員,開發的軟件都是應用軟件,應用軟件必須運行於操作系統之上,操作系統則運行於硬件上,應用軟件不能接操作硬件,應用軟件對硬件的操作
必須調用操作系統接口,由操作系統操作硬件。
客戶端軟件基於網絡發送消息給服務端軟件流程:
1、客戶端軟件產生數據,存放於客戶端軟件的內存中,然後調用接口將自己內存中的數據發送/拷貝給操作系統內存
2、客戶端操作系統收到數據後,按照客戶端軟件指定的協議、調用網卡發送數據
3、網絡傳輸數據
4、服務端軟件調用系統接口,想要將數據從操作系統內存拷貝到自己的內存中
5、服務端操作系統受到4的指令後,使用與客戶端相同的協議,從網卡接收到數據,然後拷貝給服務端軟件
網絡 |
計算機之間的通信也應該有一個像英語一樣的通信標準,這個標準稱之為互聯網協議, 可以很明確地說:互聯網協議就是計算機界的英語,網絡就是物理鏈接介質+互聯網協議。 我們需要做的是,讓全世界的計算機都學會互聯網協議,這樣任意一臺計算機在發消息時都嚴格按照協議規定的格式去組織數據,接收方就可以按照相同的協議解析出結果了,這就實現了全世界的計算機都能無障礙通信。 按照功能不同,人們將互聯網協議分為osi七層或tcp/ip五層或tcp/ip四層。
每層常見的物理設備:
傳輸層:四層交換機、四層路由器
網絡層:路由器、三層交換機
數據鏈路層:網橋、以太網交換機、網卡
物理層:中繼器、集線器、雙絞線
TCP/IP |
Transmission Control Protocol/Internet Protocol的簡寫,中譯名為傳輸控制協議/因特網互聯協議,又名網絡通訊協議,是Internet最基本的協議、Internet國際互聯網絡的基礎。
1974年,TCP/IP誕生,TCP/IP有一個非常重要的特點,就是開放性,即TCP/IP的規範和Internet的技術都是公開的。目的就是使任何廠家生產的計算機都能相互通信,使Internet成為一個開放的系統。
OSI七層模型 |
國際標準化組織ISO於1977年成立了一個委員會,在現有網絡的基礎上,提出了不基於具體機型、操作系統或公司的網絡體系結構,稱為開放系統互聯模型。
OSI/RM模型(Open System Interconnection / Reference Model)的設計目的是成為一個所有計算機廠商都能實現的開放網絡模型,來克服使用眾多私有網絡模型所帶來的困難和低效性。
計算機及網絡基礎