python程式設計基本概念 網路程式設計的基本概念

2021-10-12 11:34:58 字數 1107 閱讀 1311

為了把全世界的所有不同型別的計算機都連線起來,就必須規定一套全球通用的協議,為了實現網際網路這個目標,網際網路協議簇(internet protocol suite)就是通用協議標準。internet是由inter和net兩個單詞組合起來的,原意就是連線「網路」的網路,有了internet,任何私有網路,只要支援這個協議,就可以聯入網際網路。

因為網際網路協議包含了上百種協議標準,但是最重要的兩個協議是tcp和ip協議,所以,大家把網際網路的協議簡稱tcp/ip協議。

通訊的時候,雙方必須知道對方的標識,好比發郵件必須知道對方的郵件位址。網際網路上每個計算機的唯一標識就是ip位址,類似123.123.123.123。如果一台計算機同時接入到兩個或更多的網路,比如路由器,它就會有兩個或多個ip位址,所以,ip位址對應的實際上是計算機的網路介面,通常是網絡卡。

ip協議負責把資料從一台計算機通過網路傳送到另一台計算機。資料被分割成一小塊一小塊,然後通過ip包傳送出去。由於網際網路鏈路複雜,兩台計算機之間經常有多條線路,因此,路由器就負責決定如何把乙個ip包**出去。ip包的特點是按塊傳送,途徑多個路由,但不保證能到達,也不保證順序到達。

ipv6位址實際上是乙個128位整數,它是目前使用的ipv4的公升級版,以字串表示類似於2001:0db8:85a3:0042:1000:8a2e:0370:7334。

tcp協議則是建立在ip協議之上的。tcp協議負責在兩台計算機之間建立可靠連線,保證資料報按順序到達。tcp協議會通過握手建立連線,然後,對每個ip包編號,確保對方按順序收到,如果包丟掉了,就自動重發。

許多常用的更高階的協議都是建立在tcp協議基礎上的,比如用於瀏覽器的http協議、傳送郵件的smtp協議等。

乙個tcp報文除了包含要傳輸的資料外,還包含源ip位址和目標ip位址,源埠和目標埠。

埠有什麼作用?

在兩台計算機通訊時,只發ip位址是不夠的,因為同一臺計算機上跑著多個網路程式。乙個tcp報文來了之後,到底是交給瀏覽器還是qq,就需要埠號來區分。每個網路程式都向作業系統申請唯一的埠號,這樣,兩個程序在兩台計算機之間建立網路連線就需要各自的ip位址和各自的埠號。

乙個程序也可能同時與多個計算機建立鏈結,因此它會申請很多埠。

了解了tcp/ip協議的基本概念,ip位址和埠的概念,我們就可以開始進行網路程式設計了。

網路程式設計 socket基本概念

什麼是socket?socket是連線應用程式和網路驅動程式的橋梁,socket在應用程式中建立,通過繫結操作和驅動程式建立聯絡。什麼是ip位址?在網路上,主機與主機間的通訊,首先需要知道對通訊方主機的名稱。在internet上用ip位址來標記網路裝置。廣義上的主機可以是工作在網路上的工作台 伺服器...

Linux網路程式設計 基本概念

網路層 功能應用層 具體功能 表示層會話層 幫助使用者程式建立連線過程 取消連線 的過程 傳輸層傳輸層用來傳輸資料,保證資料能夠有序進行,如果資料不正常,可能進行資料的重發,傳輸資料是以位元組為單位進行傳輸 網路層ip位址管理和路由 最短路徑 網路通訊正常的線路 資料鏈路層 網絡卡驅動的程式,用來 ...

網路基本概念

網路 網路就是幾台計算機主機或者網路印表機之類的藉口裝置,通過網線或者無線網路技術將這些主機或者裝置連線起來,使得資料可以通過網路媒介來傳輸的一種方式 埠 網路聯機是雙向的,客戶端想連線到主機端,主機端必須啟動乙個埠進行監聽 主機端監聽 listen 主機所啟用的埠其實是某些網路服務所啟動的,如ww...