Linux網路程式設計

2021-07-23 10:40:07 字數 2295 閱讀 6160

linux網路程式設計

linux的優點之

一就是在於它豐富而穩定的網路協議棧,其範圍是從協議無關層(如通用的socket層

介面和裝置層)到各種網路協議的實現

linux網路模型

資料封裝

tcp/ip協議族

協同工作的通訊家族,為網路資料通訊提供通路。包括:

1、

internet

協議(ip

2、傳輸控制協議(

tcp)和使用者資料報協議(

udp)

3、處於

tcp

和 udp

之上的一組應用協議。

它們包括:telnet,檔案傳送協議(

ftp),網域名稱服務(

dns)和簡單的郵件傳送程式(

smtp

)等網路層:

internet 協議(

ip): 負責在源主機和目的主機之間傳輸來自其較高層軟體的稱為資料報文的資料塊,在源和目的地之間提供非連線型傳遞服務

網際控制報文協議(icmp)

:它實際上不是ip層部分,但直接同

ip層一起工作,報告網路上的某些出錯情況。允許網際路由器傳輸差錯資訊或測試報文。

位址解析協議(arp)

:arp 實際上不是網路層部分,它

處於ip和資料鏈路層之間

,它是在32位

ip位址和

48位實體地址之間執行翻譯的協議

傳輸層:

該協議對建立網路上使用者程序之間的對話負責,它確保程序之間的可靠通訊,所提供的功能如下:

1.監聽輸入對話建立請求

2.請求另一網路站點對話

3.可靠的傳送和接收資料

4.適度的關閉對話

tcp協議

tcp是重要的傳輸層協議,目的是允許資料同網路上的其他節點進行可靠的交換。它能提供埠編號的解碼,以識別主機的應用程式,而且完成資料的可靠傳輸tcp 協議具有嚴格的內裝差錯檢驗演算法確保資料的完整性tcp 是面向位元組的順序協議,這意味著包內的每個位元組被分配乙個順序編號,並分配給每包乙個順序編號

使用者資料報文協議(udp):

它是無連線的,不可靠的傳輸服務.當接收資料時它不向傳送方提供確認資訊,它不提供輸入包的順序,如果出現丟失包或重份包的情況,也不會向傳送方發出差錯報文.由於它執行功能時具有較低的開銷,因而執行速度比

tcp快

ip層:

功能:資料傳輸

定址路由選擇

資料報文

的分段目的:為資料輸入/輸出

網路提供基本演算法,為高層協議提供無連線的傳送服務

只進行資料封裝和傳輸,不向傳送者或接受者報告包的狀態,不處理所遇到的故障

應用層:

這部分主要包括telnet,檔案傳送協議(

ftp

和tftp

),簡單檔案傳送協議(

smtp

)和網域名稱服務(

dns)等協議

Linux網路程式設計

linux網路程式設計 當然,我們現在,將要開始編寫的第乙個網路程式,雖然非常簡單,但是卻可以很 清楚的說明大部分編寫網路程式需要的基本概念,好了先讓我們看看網路程式的tcp服 務器端的編寫步驟 1.和伺服器的步驟一樣。2.通過設定套介面位址結構,我們說明,客戶端要與之通訊的伺服器的ip位址和 埠。...

linux 網路程式設計

當然,我們現在,將要開始編寫的第乙個網路程式,雖然非常簡單,但是卻可以很 清楚的說明大部分編寫網路程式需要的基本概念,好了先讓我們看看網路程式的tcp服 務器端的編寫步驟 現在讓我們來看看網路程式客戶端的程式設計步驟 以上的步驟,是比較普遍的,我們可以從中看出,編寫網路程式是很有意思的,同 時,也不...

linux 網路程式設計

套接字程式設計 struct sockaddr unsigned short sa family 位址協議,ipv4 tcp ip af inet,ipv6 af inet6 char sa data 14 14位元組的位址協議 struct sockaddr in unsigned short s...