互聯網協議
概括:從上到下,越上越接近用戶,越下越接近硬件
應用層:
規定應用程序的數據格式
[HEAD(以太網標頭) [HEAD(IP標頭) [HEAD(TCP標頭) DATA(應用層數據包)]]]
傳輸層(端口到端口的通信): 定義端口號
端口:
0到65535(2^16)的整數
進程使用網卡的編號
通過IP+mac確定主機,只要確定主機+端口(套接字socket),就能進行程序間的通信
UDP協議:
數據包中加入端口依賴的新協議
數據包[HEAD(發送、接收mac) [HEAD(發送、接收ip) [HEAD(發送、接收端口) DATA]]]
簡單,可靠性差,不知道對方是否接受包
TCP協議:
帶有確認機制的UDP協議
過程復雜,實現困難,消耗資源
tcp/ip connect: tcp/ip的三次握手
標有syn的數據包
————->
標有syn/ack的數據包
client <————- server
標有ack的數據包
————–>
網絡層(主機到主機的通信):定義IP tcp/ip finish: tcp/ip的四次握手 fin <————- ack client ————-> server fin ————-> ack <————-
網絡層(主機到主機的通信):
IP協議
ipv4:
32個二進制位表示,由網絡部分和主機部分構成,
子網掩碼: 網絡部分都為1,主機部分都為0,目的判斷ip的網絡部分,如255.255.255.0(11111111.11111111.11111111.00000000)
IP數據包:標頭Head+數據Data,放進以太網數據包的Data部分[HEAD [HEAD DATA]]
IP數據包的傳遞:
非同一網絡:無法獲得mac地址,發送數據到網關,網關處理
ARP(Address Resolation Protocol): 解析地址協議,通過ip解析mac地址
同一網絡:mac地址填寫FF:FF:FF:FF:FF:FF:FF,廣播數據,對比ip,不符合丟包
鏈接層:定義mac
定義數據包(幀Frame)
標頭(Head):數據包的一些說明項, 如發送者、接收者、數據類型
數據(Data):數據包的具體內容
數據包:[HEAD DATA]
定義網卡和網卡唯一的mac地址
以太網規定接入網絡的所有終端都應該具有網卡接口,數據包必須是從一個網卡的mac地址到另一網卡接口的mac地址
mac全球唯一,16位16位進制組成,前6廠商編號,后6網卡流水號
廣播發送數據
向本網絡內的所有設備發送數據包,對比接收者mac地址,不是丟包,是接受
實體層:物理層
終端(pc,phone,pad…)的物理連接(光纜,電纜,路由…),負責傳遞0和1信號