linux網路程式設計1

2021-08-13 08:40:23 字數 1021 閱讀 7031

協議棧

linux的優點之一就是在於它豐富而穩定的網路協議棧,其範圍是從協議無關層(如通用的socket層介面和裝置層)到各種網路協議的實現;

對於網路理論介紹一般採用osi模型,但是linux中網路棧的介紹一般分為四層的internet模型

網路模型

資料封裝

tcp/ip協議族

tcp/ip 實際上乙個協同工作的通訊家族,為網路資料通訊提供通路。為討論方便可tcp/ip 協議組大體上分為三部分:

1、internet 協議(ip)

2、傳輸控制協議(tcp)和使用者資料報協議(udp)

3、處於 tcp 和 udp 之上的一組應用協議。它們包括:telnet,檔案傳送協議(ftp),網域名稱服務(dns)和簡單的郵件傳送程式(smtp)等

tcp協議

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

tcp協議頭

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

udp協議頭

Linux網路程式設計 1 Linux網路知識介紹

1.1 客戶端程式和服務端程式 網路程式和普通的程式有乙個最大的區別是網路程式是由兩個部分組成的 客戶端和伺服器端.網路程式是先有伺服器程式啟動,等待客戶端的程式執行並建立連線.一般的來說是服務端的程式 在乙個埠上監聽,直到有乙個客戶端的程式發來了請求.1.2 常用的命令 由於網路程式是有兩個部分組...

linux 網路程式設計(1) 開發基礎

linux網路程式設計 宋敬彬 海信工程師。目錄 一 linux os 1.5 os 架構 二 code環境 2.2 gcc 2.3 makefile 2.4 gdb 三 檔案系統 3.1 分類 四 程式程序執行緒 4.1.基本概念 4.2 process 產生 4.3 多個 process的通訊 ...

網路程式設計 1

1.套接字位址結構 套接字程式設計需要指定套接字的位址作為引數,不同的協議族有不同的位址結構定義方式。這些位址結構通常以sockaddr 開頭,每乙個協議族有乙個唯一的字尾,例如對於乙太網,其結構名稱為sockaddr in。1.1 通用套接字位址結構 套接字位址結構 struct sockaddr...