Linux 之網路程式設計基礎 一

2021-10-23 15:16:38 字數 1456 閱讀 2154

應用層:

提**用軟體介面,用以設定與另乙個軟體通訊

表示層:

裝置固有資料格式和網路標準資料格式化

會話層:

傳輸層:

管理兩個節點之間的資料傳輸,負責可靠傳輸(確保資料被可靠的傳送到目的位址)

網路層:

位址管理與路由選擇

作用:在網路相互連線的環境中,將資料從傳送端主機傳送到接收端主機

資料鏈路層:

互聯裝置之間傳送和識別資料幀

物理層:

以0、1 代表電壓的高低,界定聯結器和網路規格。

1)網路介面 物理層

是tcp/ip 軟體的最底層,負責將二進位製流轉換為資料幀,並進行資料真的接受和傳送

arp/rarp協議:位址解析協議

apr:ip 位址----獲取---mac。根據 ip 位址獲取實體地址的乙個 tcpip 協議

rarp:mac---獲取---ip位址。

ppp協議:撥號協議(gprs/3g/4g)

2)網路層

負責在主機之間的通訊中選擇資料報的傳輸路徑,即路由。

當網路層接收到傳輸層的請求後,傳輸某個具有目的的位址資訊的分組。

ip協議:internet protocol網際協議(ipv4和ipv6)

icmp協議:internet控制管理協議,ping命令屬於icmp

igmp協議:internet分組管理協議,廣播、組播

​3)傳輸層

​ 負責提**用程式之間的通訊服務。這種通訊又稱為端到端通訊。

​ tcp協議(transmission control protocol傳輸控制協議)提供面向連線的,一對一的可靠資料傳輸協議

​ 提供了乙個可靠的雙向位元組流通信通道。

​ 可靠:表示考研保證傳送者傳輸的資料會完整無缺地送達應用程式(假設網路連線和接收方會不會崩潰)或收到傳輸失敗的通知。

​ 雙向的:表示可以同時收發傳輸

​ 位元組流:表示與管道一樣不存在訊息的邊界

​ udp協議(user datagram protocol使用者資料報協議):提供不可靠,無連線的盡力傳輸的協議。

​ 在資料傳送前,因為不需要進行連線,所以可以進行高效率的資料傳輸。

​ sctp協議:可靠傳輸,tcp增強版,可以實現多主機多鏈路的通訊。

4)應用層協議

​ 網頁訪問協議:http/https

​ 郵件傳送接收協議:pop3收/smtp發,imap可以接收郵件的一部分

​ ftp檔案傳輸的協議

​ telnet/ssh:遠端登入

​ 嵌入式相關:

​ ntp:網路時鐘協議

​ snmp:簡單網路管理協議(實現對網路裝置集中式管理)

​ 例如學校或工業園區的路由器,集中管理,省了每個都登入乙個乙個去配置

linux網路程式設計基礎(一)

一 資料儲存順序 大端和小端 高位位元組儲存高位元組稱為小端模式,通常都計算機採用這個模式儲存。而網路則採用大端傳輸。所以需要轉換 面試有時會出這麼個題 寫乙個程式判斷程式的儲存是大端還是小端?程式的原理見下圖 include includeunion wordc int check int mai...

Linux網路程式設計(一)基礎

一 資料儲存順序 大端和小端 大端模式 位址的增長順序與值的增長順序相反 小段模式 位址的增長順序與值的增長順序相同 為什麼會有大小端模式之分呢?這是因為在計算機系統中,我們是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組為8bit。但是在c語言中除了8bit的char之外,還有16b...

Linux網路程式設計基礎 一

1 怎樣完成網路程式設計 伺服器 提供資料的為伺服器 客戶端 獲取資料的為客戶端 2 協議的選擇 tcp 面向連線,可靠的流式服務 udp 無連線的,不可靠的,資料報服務 3 tcp的程式設計流程 sever 伺服器端 建立socket include include int socket int ...