TCP協議分成兩個不同的協議:
1、網絡傳輸中差錯的傳輸控制協議TCP
2、專門負責對不同網絡進行互聯的互聯網協議IP
網絡體系結構概念:
網絡體系結構即是指網絡的層次結構和每層所使用協議的集合
OSI:(Open System Interconnect Reference Model)
ISO:國際標准化組織(International Standardization Organization)
TCP/IP:(傳輸控制/網絡通訊協定:Transmission Control Protocol / Internet Protocol)
TCP/IP協議族
常用協議:
數據封裝與轉發(圖解)
數據打包和數據解包(圖解):
TCP/IP結構
TCP/IP協議下的數據包:
TCP和UDP
TCP:面向連接、可靠(數據無誤,無丟失,無失序、無重復,高可靠的數據傳輸)
UDP:無連接、不可靠(發送數據前,無需連接,高效率的數據傳輸)
TCP傳輸
UDP傳輸
端口號(用unsigned short表示)
*TCP和UDP端口號相對獨立。
端口號分配:
保留端口:1-255
unix占用:256-1023
注冊的端口:1024-5000
其他端口:5001-65535
套接字和端口:
網絡通信三元:IP,端口,協議
字節序:
小端:所謂的小端模式,是指數據的高位保存在內存的高地址中,而數據的低位保存在內存的低地址中,這種存儲模式將地址的高低和數據位權有效地結合起來,高地址部分權值高,低地址部分權值低,和我們的邏輯方法一致。
大端:所謂的大端模式,是指數據的高位,保存在內存的低地址中,而數據的低位,保存在內存的高地址中,這樣的存儲模式有點兒類似於把數據當作字符串順序處理:地址由小向大增加,而數據從高位往低位放
圖解字節序:
網絡字節序(NBO-Network Byte Order)
網絡上通用 Big Endian(大端),低字節先傳輸。
主機字節序(HBO-Host Byte Order)
查看本欄目更多精彩內容:http://www.bianceng.cn/OS/unix/
................................................................................
Socket()簡介:
1、是一個編程接口。
2、特殊的文件描述符(everything in Unix is a file)。
3、不局限於TCP/IP協議。
4、支持面向連接和無連接
分類:
1、流失套接字(SOCK_STREAM):提供可靠的、面向連接的通訊流,使用TCP協議。
2、數據報套接字(SOCK_DGRAM):無連接的服務,數據通過相互獨立的報文傳輸,是無序的,使用UDP協議。
3、原始套接字(SOCK_RAW):允許使用IP協議、ICMP協議,用於新的網絡協議測試。(*網絡層)。
Socket()位置:
流程圖
IP地址分類
A
第一字節為網絡地址,余下三位為主機地址。
第一字節最高位為0。
范圍:1.0.0.1 - 126.255.255.255。
10.0.0.0 - 10.255.255.255私有地址,用於局域網。
127.0.0.1 - 127.255.255.255是保留地址,用於循環測試
0.0.0.0 - 0.255.255.255 保留地址,用於表示所有的IP地址
B
第一、二字節為網絡地址,其他兩字節為主機地址。
第一字節前兩位為10。
范圍:128.0.0.1 - 191.255.255.255
C
前三個字節是網絡地址,最後一個地址是主機地址。
第一個字節的前三位為110
范圍:192.0.0.1 - 223.255.255.255
D
組播地址不區分網絡地址和主機地址
第一字節前4位為1110
范圍:224.0.0.1 - 239.255.255.255
224.0.0.0 - 224.0.0.25保留地址
作者:csdn博客 ctthuangcheng