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