網(wǎng)絡(luò)是由節(jié)點(diǎn)和連線構(gòu)成,表示諸多對(duì)象及其相互聯(lián)系
為了能在眾多計(jì)算機(jī)中找到特定的計(jì)算機(jī),Vint cerf 在實(shí)驗(yàn)室模擬階段使用了 32 位標(biāo)記的網(wǎng)絡(luò)地址協(xié)議[internet protocal],用于標(biāo)識(shí)網(wǎng)絡(luò)上唯一臺(tái)計(jì)算機(jī),也就是后來(lái)的 ip 地址;
# ip: internet protocal 網(wǎng)絡(luò)互聯(lián)協(xié)議(因特網(wǎng)地址尋址協(xié)議),中文縮寫(xiě):網(wǎng)協(xié)
IP 地址根據(jù)使用的用戶性質(zhì)的不同,主要區(qū)分為 5 類(lèi) IP 地址
a類(lèi)地址 由 0 網(wǎng)絡(luò)地址7位 主機(jī)地址24位 構(gòu)成
b類(lèi)地址由 10 網(wǎng)絡(luò)地址14位 主機(jī)地址16位 構(gòu)成
c類(lèi)地址由 110 網(wǎng)絡(luò)地址21位 主機(jī)地址8位 構(gòu)成
d類(lèi)地址由 1110 多目的廣播地址28位
e類(lèi)地址由11110 保留用于實(shí)驗(yàn)和將來(lái)使用
A 類(lèi) IP 地址 一個(gè) A 類(lèi) IP 地址由 1 字節(jié)的網(wǎng)絡(luò)地址和 3 字節(jié)主機(jī)地址組成,網(wǎng)絡(luò)地址的最
高位必須是“0”, 地址范圍從 1.0.0.0 到 126.0.0.0??捎玫?A 類(lèi)網(wǎng)絡(luò)有 126 個(gè),每個(gè)網(wǎng)絡(luò)能
容納 1 億多個(gè)主機(jī)。
B 類(lèi) IP 地址 一個(gè) B 類(lèi) IP 地址由 2 個(gè)字節(jié)的網(wǎng)絡(luò)地址和 2 個(gè)字節(jié)的主機(jī)地址組成,網(wǎng)絡(luò)地
址的最高位必須是“10”,地址范圍從 128.0.0.0 到 191.255.255.255??捎玫?B 類(lèi)網(wǎng)絡(luò)有 16382
個(gè),每個(gè)網(wǎng)絡(luò)能容納 6 萬(wàn)多個(gè)主機(jī) 。
C 類(lèi) IP 地址 一個(gè) C 類(lèi) IP 地址由 3 字節(jié)的網(wǎng)絡(luò)地址和 1 字節(jié)的主機(jī)地址組成,網(wǎng)絡(luò)地址的
最高位必須是“110”。范圍從 192.0.0.0 到 223.255.255.255。C 類(lèi)網(wǎng)絡(luò)可達(dá) 209 萬(wàn)余個(gè),每
個(gè)網(wǎng)絡(luò)能容納 254 個(gè)主機(jī)
D 類(lèi)地址用于多點(diǎn)廣播
E 類(lèi) IP 地址 以“l(fā)lll0”開(kāi)始,為將來(lái)使用保留。240.0.0.0 到 255.255.255.254
255.255.255.255 用于廣播地址
全零(“0.0.0.0”)地址對(duì)應(yīng)于當(dāng)前主機(jī)。全“1”的 IP 地址(“255.255.255.255”)是
當(dāng)前子網(wǎng)的廣播地址。
私有地址:適用于局域網(wǎng)絡(luò)的地址
在 IP 地址 3 種主要類(lèi)型里,各保留了 3 個(gè)區(qū)域作為私有地址,其地址范圍如下:A 類(lèi)地址:
10.0.0.0~10.255.255.255 B 類(lèi)地址:172.16.0.0~172.31.255.255 C 類(lèi)地址:192.168.0.0~
192.168.255.255
本機(jī)地址:適用于當(dāng)前主機(jī)進(jìn)行網(wǎng)絡(luò)回路測(cè)試:127.0.0.1 localhost
IP 地址為 127.0.0.1~127.255.255.255
子網(wǎng)掩碼和 IP 地址一樣都是 32 位,左邊為 1 用于表示網(wǎng)絡(luò)地址,右邊為 0 表示主機(jī)地址
某臺(tái)主機(jī) ip 地址:192.168.1.100
子網(wǎng)掩碼:255.255.255.0
什么是端口?可以認(rèn)為是設(shè)備與外界通訊交流的出口。端口可分為虛擬端口和物理端口
計(jì)算機(jī)中的端口號(hào)的范圍是 0~65535 之間
端口號(hào)根據(jù)其使用場(chǎng)景,一般區(qū)分為公用端口、動(dòng)態(tài)端口、保留端口
公用端口:0~1023
動(dòng)態(tài)端口:1024~65535
建議使用8千以上的端口,8千以下有可能應(yīng)用程序在用
remark:查看當(dāng)前主機(jī)正在使用端口號(hào):netstat –ano
remark:查看當(dāng)前主機(jī)中某個(gè)端口號(hào)是否被使用:netstat –ano | findstr port
nslookup www.baidu.com 域名解析命令
什么是協(xié)議
協(xié)議:英文名稱 protocal,是多方協(xié)商計(jì)議之后得出的約定、規(guī)則、規(guī)范
Internet上的計(jì)算機(jī)使用的是TCP/IP協(xié)議
計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)傳輸協(xié)議目前最主流的就是歐洲計(jì)算機(jī)制造協(xié)會(huì)聯(lián)盟,也稱為國(guó)際標(biāo)準(zhǔn)化組
織 ISO 指定的 OSI/RM 七層網(wǎng)絡(luò)傳輸模型!也有五層模型、四層模型的概念,
都是從七層模型的基礎(chǔ)上再次抽象出來(lái)的
協(xié)議通常指代單獨(dú)的一個(gè)協(xié)議,協(xié)議族通常指代互相關(guān)聯(lián)的一組協(xié)議,協(xié)議棧指代某一組互
相關(guān)聯(lián)的協(xié)議和他們所屬的 OSI 模型的層級(jí)結(jié)構(gòu)。
七層網(wǎng)絡(luò)傳輸模型: 應(yīng)用層 表示層 會(huì)話層 傳輸層 網(wǎng)絡(luò)層 數(shù)據(jù)鏈路層 物理層
網(wǎng)絡(luò)上的兩個(gè)程序通過(guò)一個(gè)雙向的通信連接實(shí)現(xiàn)數(shù)據(jù)的交換,這個(gè)連接的一端稱為一個(gè)socket。
Socket又稱"套接字",應(yīng)用程序通常通過(guò)"套接字"向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求。
Unix 系統(tǒng)中的套接字就是第一種家族套接字,稱為 AF_UNIX,或者 AF_LOCAL,這是 POSIX1
標(biāo)準(zhǔn)中規(guī)范的
在網(wǎng)絡(luò)套接字交互過(guò)程中,出現(xiàn)了兩種類(lèi)型的套接字模型
面向連接的套接字模型
面向無(wú)連接的套接字模型
面向連接的套接字模型,在進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)傳輸過(guò)程中,首先要?jiǎng)?chuàng)建一個(gè)連接模型,通過(guò)指定
的連接模型進(jìn)行數(shù)據(jù)的交互,類(lèi)似我們生活中撥打電話
面向無(wú)連接的套接字模型,在進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)傳輸過(guò)程中,不需要有效的網(wǎng)絡(luò)連接模型,在數(shù)
據(jù)傳輸過(guò)程中只負(fù)責(zé)發(fā)送/接受,不保證數(shù)據(jù)的完整性和實(shí)效性;類(lèi)似我們生活中的廣播電
臺(tái)
基本語(yǔ)法結(jié)構(gòu)
socket.socket(socket_family, socket_type, protocal=0)
socket_family:socket 地址家族,AF_UNIX/AF_LOCAL 或者 AF_INET
socket_type:socket 連接類(lèi)型
面向連接的(SOCK_STREAM),面向無(wú)連接的(SOCK_DGRAME)
protocal:傳輸協(xié)議,一般不用設(shè)置,使用默認(rèn)值進(jìn)行自動(dòng)匹配就好
創(chuàng)建 TCP 協(xié)議的套接字 socket 對(duì)象
tcp_socket=socket.socket(socket.AF_NIET,socket.SOCK_STREAM)
創(chuàng)建 UDP 協(xié)議的套接字 socket 對(duì)象
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
TCP:Transmission Control Protocal 傳輸控制協(xié)議
是一種面向連接的,可靠的、基于字節(jié)流的傳輸層通信協(xié)議