1.首先要明白應用層協議定義的是應用行程間的通信和互動的規則,
2.主流的應用體系結構有三種:
| 客戶-服務器體系結構(C/S) | 可擴展性低:只有一臺服務器,當有成千上萬用戶同時訪問時的高并發場景服務器可能會崩潰, 客戶相互之間不能直接通信, Web、FTP、Telnet和電子郵件都是C/S體系結構, |
| P2P體系結構 | 自擴展性高,既可作為客戶端也能作為服務端,但管理較難, |
| 混合體 | 綜合了C/S和P2P兩種體系結構, |
3.行程間通信

其中行程P1和行程P2通信通過作業系統本身提供的通信方式進行通信(管道、訊息佇列、共享緩沖區等),
行程P2和P3則是通過作業系統提供的網路協議報文服務進行通信,
那如何區別不同的應用行程?是如何相互通信的,這就需要解決三個問題:
①行程標識和行程尋址,(服務用戶)
②傳輸層-應用層提供的服務如何,(服務)
位置:層間介面的SAP( Socket)
形式:應用程式介面API(Socket API )
③如何使用傳輸層提供的服務實作應用行程之間的報文交換,實作應用,(用戶使用服務)


行程P2和P3通信,實際上是行程P2通過層間介面上的Socket API利用傳輸層提供的服務和P3通信,
提出問題,如何解決?
①對行程進行編址(IP地址和port標識)
②傳輸層提供的服務-需要穿過層間介面,那么就必須要攜帶的資訊
要傳輸的報文是什么 ?what
傳給誰(作為對方應用行程的標識:IP+TCP/UDP 埠號)
誰傳的(對方的應用行程的標識:對方的IP+TCP/UDP 埠號)?who
如果每次都要攜帶這三個資訊,太繁瑣也易錯,
于是就有了TCP Socket(4元組):源IP、源埠、目標IP、目標埠,TCP Socket就是本地的標識,物理上看就是一個整數,在TCP中標識兩個應用行程會話的關系,這是一張表,通過這張表就能找到想要通信的應用程式,
UDP Socket(2元組):源IP、源UDP埠,發送的時候需要:UDP socket、攜帶發送的資訊、目標IP和port,
注意不同主機的TCP socket / UDP socket可能不同,如S1和S2通信,S1有自己的socket1,到達運輸層,而期間又創建了 TCP Socket11的4元組,而S2又和S3通信,S2有自己的socket2,到達運輸層,而期間又創建了 TCP Socket22的4元組,那么這兩個TCP Socket是不一樣的,
說明一下埠和socket的區別:
埠是用來區別行程的,socket用來確定端系統,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/335494.html
標籤:其他
上一篇:06顯示幕
