1.網絡:能夠將雙方或者多方連接在一起的工具,將單機世界變成網絡世界忆某。
2.網絡編程:不同的電腦上的軟件能夠進行數(shù)據的傳遞继谚,進行進程之間的通信。
3.ip地址:在網絡中標記某一臺電腦爱榕。
????3.1 每一個地址包括兩個部分:網絡地址和主機地址
????3.2 分為ipv4和ipv6:ipv4:點分十進制瓣喊;ipv6:十六進制數(shù)據
????3.3 分為[ABCDE]類和私有地址等
????3.4 私有地址(局域網中使用)
????3.5 本機域名:localhost? 本機地址:172.0.0.1
????3.6 例如:百度www.baidu.com,其原本是一個地址黔酥,而baidu是一個域名藻三,域名和ip地址一一對應,域名便于記憶設備的地址
????3.7 如何查看本機網卡信息從而獲得地址
????????????3.7.1 Linux系統(tǒng)中:終端輸入ifconfig
????????????3.7.2 windows系統(tǒng)中:cmd之后輸入ipconfig
????3.8 ping:檢查網絡是否有問題
????????3.8.1 ping 127.0.0.1 能夠ping動說明本機物理網卡沒有問題
????????3.8.2 ping www.baidu.com 能夠ping動說明電腦能上網
????????3.8.3 ping 192.168.70.104 能夠ping動說明在同一個局域網內
4.端口:數(shù)據傳輸?shù)耐ǖ?/p>
????4.1 端口在Linux系統(tǒng)中有2的16次方之多跪者,所以系統(tǒng)為了統(tǒng)一管理棵帽,進行了編號
????4.2 從而出現(xiàn)了端口號,端口號是使用唯一的編號來標識一個端口渣玲,范圍0-65535
????4.3 由于有了ip地址和端口逗概,我們可以看出網絡通信的過程:
? ? ? ? ? ?首先通過ip地址找到對應的設備,然后通過端口號找到端口忘衍,然后通過端口給應用程序發(fā)送數(shù)據逾苫。
????4.4 端口的分類(簡單版,僅僅介紹知名端口和動態(tài)端口)
????????????4.4.1 知名端口:系統(tǒng)使用的端口枚钓,范圍0~1023 例:80分配給HTTP服務铅搓;21分配給FTP服務
????????????4.4.2 動態(tài)端口:范圍1024~65535,顧名思義搀捷,動態(tài)的端口星掰,占用釋放,給不同的程序使用
????????????4.4.3 如何查看端口的使用狀態(tài):netstat -an
????????????4.4.4 端口號找對應的應用程序指煎,一般加上sudo:lsof -i[tcp/udp]:8888
????????????4.4.5 根據進程編號殺死進程:kill -9 進程編號
5.socket:套接字:是不同主機進程間通信的一種方式蹋偏,他是數(shù)據的搬運工
6.udp(用戶數(shù)據報協(xié)議)發(fā)送數(shù)據、接收數(shù)據
補充:udp默認不允許發(fā)送廣播至壤,所以想發(fā)送廣播需要開啟廣播選項威始,這邊不做擴展,可百度像街。
7.tcp(傳輸控制協(xié)議)客戶端
8.tcp服務端
9.tcp特點:
????9.1 面向連接
????9.2 傳輸可靠:
???????????9.2.1 應答機制
????????????9.2.2 超時重傳
????????????9.2.3 錯誤校驗
????????????9.2.4 流量控制
10.tcp三次握手黎棠,四次揮手:
????10.1 三次握手:
????????????客戶端發(fā)送連接請求和報文序號晋渺,服務器接收到請求,
????????????服務器返回連接請求脓斩,并確認請求木西,在報文序號基礎上+1,以及確認報文序號
????????????客戶端返回確認請求随静,并且確認報文序號
????????????三次握手成功八千,建立連接
????10.2 四次揮手:
????????????客戶端發(fā)送關閉連接的請求,服務器接收到請求燎猛,
????????????服務器返回確認關閉連接的請求(確認序號)
????????????服務器等待自身的代碼執(zhí)行完畢恋捆,執(zhí)行完畢之后再發(fā)一個關閉連接的最終確認
????????????客戶端接收到之后在序號上+1再返回給服務器
????????????四次揮手成功,連接關閉
????????????注意點:四次揮手之后客戶端會等待服務器是否回復消息重绷,1-2分鐘之后才會怔怔地斷開連接沸停,此時的端口號是占用的,為了端口號不被占用昭卓,我們需要端口重用愤钾,上面的截圖已經標注~
11.tcp長連接和短連接:
????11.1 長連接:保持連接。
????????????例:數(shù)據庫的連接就是長連接候醒。
????11.2 短連接:通信一次就關閉重新連接能颁。
????????????例:大多數(shù)web用的是短連接,這樣減輕了服務器的壓力火焰。
12.udp和tcp區(qū)別:
????12.1 tcp面向連接劲装;udp不面向連接
????12.2 tcp可靠的傳輸協(xié)議;udp不可靠(包括四點)
????12.3 udp傳輸速度比tcp快昌简;但占用資源比tcp少。
????12.4 tcp適合文件的上傳和下載绒怨,對大多數(shù)應用都是使用tcp的纯赎;udp適合音視頻的傳輸,廣播
????12.5 tcp理論上發(fā)送的數(shù)據包理論上沒有限制南蹂,udp發(fā)送數(shù)據包不能太大犬金,上限為64K