TCP協議分紅兩個不一樣的協議:
一、網絡傳輸中差錯的傳輸控制協議TCP
二、專門負責對不一樣網絡進行互聯的互聯網協議IP
網絡體系結構概念:
網絡體系結構便是指網絡的層次結構和每層所使用協議的集合
OSI:(Open System Interconnect Reference Model)
ISO:國際標準化組織(International Standardization Organization)
TCP/IP:(傳輸控制/網絡通信協定:Transmission Control Protocol / Internet Protocol)
TCP/IP結構
TCP/IP協議下的數據包:
TCP:面向鏈接、可靠(數據無誤,無丟失,無失序、無重複,高可靠的數據傳輸)
UDP:無鏈接、不可靠(發送數據前,無需鏈接,高效率的數據傳輸)
TCP傳輸
UDP傳輸
端口號(用unsigned short表示)
*TCP和UDP端口號相對獨立。
端口號分配:
保留端口:1-255
unix佔用:256-1023
註冊的端口:1024-5000
網絡通訊三元:IP,端口,協議
字節序:
小端:所謂的小端模式,是指數據的高位保存在內存的高地址中,而數據的低位保存在內存的低地址中,這種存儲模式將地址的高低和數據位權有效地結合起來,高地址部分權值高,低地址部分權值低,和咱們的邏輯方法一致。
大端:所謂的大端模式,是指數據的高位,保存在內存的低地址中,而數據的低位,保存在內存的高地址中,這樣的存儲模式有點兒相似於把數據看成字符串順序處理:地址由小向大增長,而數據從高位往低位放
圖解字節序:
網絡字節序(NBO-Network Byte Order)
網絡上通用 Big Endian(大端),低字節先傳輸。
主機字節序(HBO-Host Byte Order)
................................................................................
Socket()簡介:
一、是一個編程接口。
二、特殊的文件描述符(everything in Unix is a file)。
三、不侷限於TCP/IP協議。
四、支持面向鏈接和無鏈接
分類:
一、流失套接字(SOCK_STREAM):提供可靠的、面向鏈接的通信流,使用TCP協議。
二、數據報套接字(SOCK_DGRAM):無鏈接的服務,數據經過相互獨立的報文傳輸,是無序的,使用UDP協議。
三、原始套接字(SOCK_RAW):容許使用IP協議、ICMP協議,用於新的網絡協議測試。(*網絡層)。
Socket()位置:
流程圖
- 第一字節爲網絡地址,餘下三位爲主機地址。
- 第一字節最高位爲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
- 第1、二字節爲網絡地址,其餘兩字節爲主機地址。
- 第一字節前兩位爲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保留地址