網路程式設計理論基礎

2022-03-15 07:46:53 字數 1235 閱讀 9012

乙個重要概念:socket與tcp、udp之間的關係?

socket是api,而tcp/upd是通訊協議,即:socket是tcp、udp的實現方式,用socket程式設計可以實現tcp、udp的通訊。

socket就像乙個管子,連線兩端。而tcp、udp就像管子中的東西。是液體還是氣體。也就是傳送的協議

語言表達的例子:

用socket實現tcp(或者udp)通訊。 (相反,tcp或者udp通訊也可以不使用socket實現)

一、tcp協議(傳輸層)

二、udp協議(傳輸層)

三、http協議(應用層)

a)關於埠

server端:強制使用的標準埠 80;還可繫結更多其它埠,eg:8000、8080等

client端:既可以使用固定的80埠,也可以任意指定

說明:1024以內的埠號已經分配給標準服務,而且是強制性的

1024以上的埠,可任意指定(部分也有習慣性含義,但不強制,eg:8080分配給http協議)

b)應用程式和埠號之間的關係

一對多  

乙個應用程式可以繫結多個埠號,但是每個埠號只能屬於乙個應用程式;

埠號一旦與某個應用程式繫結,則表示:所有連線到本埠的包都交個繫結的應用程式處理

c)多個客戶端連線的情況

每進來乙個客戶端就產生乙個新的套接字,每個套接字代表乙個客戶端的連線,它們都使用80埠

d)瀏覽器通過http協議訪問頁面的流程

1) 瀏覽器向dns請求到網域名稱對應的ip

2) 通過ip+80埠,瀏覽器與伺服器建立tcp連線

3)瀏覽器發出http請求報文(eg: get /chn/yxsz/index.htm)

4)伺服器發回http響應報文(eg: index.htm檔案)

5)釋放tcp連線

注:由上可知,http實際上是將tcp作為其傳輸層協議

四、ftp協議(應用層)

Python之網路程式設計程序理論基礎

背景知識 顧名思義,程序即乙個軟體正在進行的過程。程序是對正在執行程式的乙個抽象。程序的概念起源於作業系統,是作業系統最核心的概念,也是作業系統提供的最古老的也是最重要的抽象概念之一。作業系統的其他所有內容都是圍繞程序的概念展開的。所以想要真正了解程序,必須先了解作業系統。詳見部落格點選進入。須知的...

TCP IP理論基礎

一 tcp ip的分層模型 osi協議參考模型,它是基於國際標準化組織 iso 的建議發展起來的,它分為7個層次 應用層 表示層 會話層 傳輸層 網路層 資料鏈路層及物理層。這個7層的協議模型雖然規定得非常細緻和完善,但在實際中卻得不到廣泛的應用,其重要的原因之一就在於它過於複雜。但它仍是此後很多協...

TCP IP理論基礎

linux中網路棧的介紹一般分為四層的internet模型。分別為應用層 傳輸層 網際層和網路介面。tcp ip實際上是乙個協同工作的通訊家族,為網路資料通訊提供通路。為方便將tcp ip協議族大致上分為三部分 1.internet協議 ip 這一部分也稱為網路層。主要包括ip icmp和arp。其...