ip位址
ipv4:uint32_t--43億左右--在網路上唯一標識一台主機
ipv6:uchar ip[16]--因為不向前相容ipv4因此沒有推廣起來
nat:位址替換--實現多人使用同一位址上網
按埠號可分為 3 大類:
( 1 )公認埠(well known ports ):從0 到1023 ,它們緊密繫結(binding )於一些服務。通常這些埠的通訊明確表示了某種服務的協議。例如:80 埠實際上總是http 通訊。
( 2 )註冊埠(註冊埠):從1024 到49151 它們鬆散地繫結於一些服務也就是說有許多服務繫結於這些埠,這些埠同樣用於許多其它目的例如:。許多系統處理動態埠從1024 左右開始。
( 3 )動態和 / 或私有埠(動態和/或專用埠):從49152 到65535 。理論上,不應為服務分配這些埠實際上,機器通常從1024 起分配動態埠但也有例外。:sun 的rpc 埠從32768 開始
網路程式分了客戶端和服務端,主動發起請求的一方是客戶端,被動在指定位置接受請求的一方是服務端(服務端被動的接收位址必須是固定不變的);
乙個埠只能被乙個程序占用:乙個程序可以使用多個埠
每條資料中包含了:sip sport dip dport proto (五元組–標識一條通訊)
網路位元組序:
位元組序:位元組序是指多位元組資料的儲存順序,在設計計算機系統的時候,有兩種處理記憶體中資料的方法:大端格式、小端格式。
小端格式(little-endian):將低位位元組資料儲存在低位址。
大端格式(big-endian):將高位位元組資料儲存在低位址。
主機位元組序:當前計算機的位元組序–大小端取決於cpu架構
如果通訊兩端主機位元組序不同,就會造成資料二義(針對儲存大於乙個位元組資料)
解決方案:訂立標準–網路位元組序(通訊雙方都使用網路位元組序)-大端位元組序
位元組序的判斷:
在陣列中 a[0]-----------------a[9]
--------------低-------------------高
針對乙個int型別 —0x12345678
-------------------------高-----------低
includetypedef union studentstu;
int main();
a.i=0x12345678;
printf("%x\t%x\t%x\t%x\t\n",a.ch[0],a.ch[1],a.ch[2],a.ch[3]);
return 0;
}
傳輸層協議:tcp/udp 比較
tcp:傳輸控制協議–面向連線,可靠傳輸,面向位元組流服務哪個更好呢?------------視情況而定udp:使用者資料報協議–無連線,不可靠,面向資料報
網路程式設計 網路基礎
1.物理層 提供建立 維護和拆除物理鏈路所需的機械 電氣 功能和規程的特性 提供有關在傳輸介質上傳輸非結構的位流及物理鏈路故障檢測指示。在這一層,資料還沒有被組織,僅作為原始的位流或電氣電壓處理,單位是位元。常用協議 eia tia rs 232 eia tia rs 449 v.35 rj 45 ...
linux網路程式設計基礎 網路基礎
客戶機 client 伺服器 server 模式。需要在通訊兩端各自部署客戶機和伺服器來完成資料通訊。瀏覽器 browser 伺服器 server 模式。只需在一端部署伺服器,而另外一端使用每台pc都預設配置的瀏覽器即可完成資料的傳輸。c s模式 優點缺點 資料快取本地,效率高 工作量大,開發周期更...
網路程式設計基礎
1 什麼是計算機網路 2 網路的型別 3 網路傳輸的介質 4 網路傳輸的資料格式 5 網路裝置 hub 分流裝置,把網路流量一分多,是根據實際情況平均分配的方法,是即插即用的裝置 中繼器 網路訊號傳輸一段距離後,訊號衰減會變弱,需要通過中繼器把訊號還原和再生 網橋 連線2個網路的裝置,這2個網路可以...