軟件結(jié)構(gòu)
C/S結(jié)構(gòu) :全稱為Client/Server結(jié)構(gòu)愈捅,是指客戶端和服務(wù)器結(jié)構(gòu)拯刁。常見程序有QQ谍咆、迅雷等軟件窃肠。
B/S結(jié)構(gòu) :全稱為Browser/Server結(jié)構(gòu)包个,是指瀏覽器和服務(wù)器結(jié)構(gòu)。常見瀏覽器有谷歌冤留、火狐等碧囊。
網(wǎng)絡(luò)通信協(xié)議
網(wǎng)絡(luò)通信協(xié)議:通信協(xié)議是對計算機(jī)必須遵守的規(guī)則,只有遵守這些規(guī)則纤怒,計算機(jī)之間才能進(jìn)行通信糯而。這就 好比在道路中行駛的汽車一定要遵守交通規(guī)則一樣,協(xié)議中對數(shù)據(jù)的傳輸格式泊窘、傳輸速率熄驼、傳輸步驟等做了 統(tǒng)一規(guī)定,通信雙方必須同時遵守烘豹,最終完成數(shù)據(jù)交換瓜贾。
網(wǎng)絡(luò)通信協(xié)議的分類
UDP:用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol)。UDP協(xié)議是一個面向無連接的協(xié)議携悯。傳輸數(shù)據(jù)時祭芦,不需 要建立連接,不管對方端服務(wù)是否啟動憔鬼,直接將數(shù)據(jù)龟劲、數(shù)據(jù)源和目的地都封裝在數(shù)據(jù)包中,直接發(fā)送轴或。每個 數(shù)據(jù)包的大小限制在64k以內(nèi)昌跌。它是不可靠協(xié)議,因為無連接照雁,所以傳輸速度快避矢,但是容易丟失數(shù)據(jù)。日常應(yīng) 用中,例如視頻會議囊榜、QQ聊天等审胸。
特點:消耗資源少,通信效率高卸勺,但是偶爾會產(chǎn)生數(shù)據(jù)包的丟失
數(shù)據(jù)報:Datagram(網(wǎng)絡(luò)傳輸?shù)幕締挝?
TCP/IP協(xié)議: 傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議( Transmission Control Protocol/Internet Protocol)砂沛,是 Internet最基本、最廣泛的協(xié)議曙求。它定義了計算機(jī)如何連入因特網(wǎng)碍庵,以及數(shù)據(jù)如何在它們之間傳輸?shù)臉?biāo)準(zhǔn)映企。它 的內(nèi)部包含一系列的用于處理數(shù)據(jù)通信的協(xié)議,并采用了4層的分層模型静浴,每一層都呼叫它的下一層所提供的 協(xié)議來完成自己的需求堰氓。(主要研究的內(nèi)容)
TCP:傳輸控制協(xié)議 (Transmission Control Protocol)。TCP協(xié)議是面向連接的通信協(xié)議苹享,即傳輸數(shù)據(jù)之前双絮, 在發(fā)送端和接收端建立邏輯連接,然后再傳輸數(shù)據(jù)得问,它提供了兩臺計算機(jī)之間可靠無差錯的數(shù)據(jù)傳輸囤攀。 三次握手:TCP協(xié)議中,在發(fā)送數(shù)據(jù)的準(zhǔn)備階段宫纬,客戶端與服務(wù)器之間的三次交互焚挠,以保證連接的可靠。
-第一次握手漓骚,客戶端向服務(wù)器端發(fā)出連接請求蝌衔,等待服務(wù)器確認(rèn)。
-第二次握手蝌蹂,服務(wù)器端向客戶端回送一個響應(yīng)胚委,通知客戶端收到了連接請求。
-第三次握手叉信,客戶端再次向服務(wù)器端發(fā)送確認(rèn)信息亩冬,確認(rèn)連接。整個交互過程如下圖所示硼身。
完成三次握手硅急,連接建立后,客戶端和服務(wù)器就可以開始進(jìn)行數(shù)據(jù)傳輸了佳遂。由于這種面向連接的特性营袜,TCP協(xié)議可 以保證傳輸數(shù)據(jù)的安全,所以應(yīng)用十分廣泛丑罪,例如下載文件荚板、瀏覽網(wǎng)頁等。
網(wǎng)絡(luò)編程的三要素:協(xié)議吩屹、IP地址跪另、端口號
協(xié)議:上邊說過了
IP地址:指互聯(lián)網(wǎng)協(xié)議地址(Internet Protocol Address),俗稱IP煤搜。IP地址用來給一個網(wǎng)絡(luò)中的計算機(jī)設(shè) 備做唯一的編號免绿。假如我們把“個人電腦”比作“一臺電話”的話,那么“IP地址”就相當(dāng)于“電話號碼”擦盾。
IP地址分類 IPv4:是一個32位的二進(jìn)制數(shù)嘲驾,通常被分為4個字節(jié)淌哟,表示成 a.b.c.d 的形式,例如 192.168.65.100 辽故。其 中a徒仓、b、c誊垢、d都是0~255之間的十進(jìn)制整數(shù)掉弛,那么最多可以表示42億個。
IPv6:由于互聯(lián)網(wǎng)的蓬勃發(fā)展彤枢,IP地址的需求量愈來愈大,但是網(wǎng)絡(luò)地址資源有限筒饰,使得IP的分配越發(fā)緊張缴啡。 有資料顯示,全球IPv4地址在2011年2月分配完畢瓷们。 為了擴(kuò)大地址空間业栅,擬通過IPv6重新定義地址空間,采用128位地址長度谬晕,每16個字節(jié)一組碘裕,分成8組十六進(jìn) 制數(shù),表示成 ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 攒钳,號稱可以為全世界的每一粒沙子編上一個網(wǎng) 址帮孔,這樣就解決了網(wǎng)絡(luò)地址資源數(shù)量不夠的問題。
查看本機(jī)IP地址不撑,
在控制臺輸入:ipconfig
檢查網(wǎng)絡(luò)是否連通文兢,
在控制臺輸入: ping 空格 IP地址
例如: ping 220.181.57.216
特殊的IP地址
本機(jī)IP地址: 127.0.0.1 、 localhost 焕檬。當(dāng)ping 特殊的IP地址時姆坚,可以ping通,因為代表的都是自己的地址
端口號:
網(wǎng)絡(luò)的通信实愚,本質(zhì)上是兩個進(jìn)程(應(yīng)用程序)的通信兼呵。每臺計算機(jī)都有很多的進(jìn)程,那么在網(wǎng)絡(luò)通信時腊敲,如何區(qū)分 這些進(jìn)程呢击喂?
如果說IP地址可以唯一標(biāo)識網(wǎng)絡(luò)中的設(shè)備,那么端口號就可以唯一標(biāo)識設(shè)備中的進(jìn)程(應(yīng)用程序)了碰辅。
- 端口號:用兩個字節(jié)表示的整數(shù)茫负,它的取值范圍是065535。其中乎赴,01023之間的端口號用于一些知名的網(wǎng) 絡(luò)服務(wù)和應(yīng)用忍法,普通的應(yīng)用程序需要使用1024以上的端口號潮尝。如果端口號被另外一個服務(wù)或應(yīng)用所占用,會 導(dǎo)致當(dāng)前程序啟動失敗饿序。
- 利用 協(xié)議 + IP地址 + 端口號 三元組合勉失,就可以標(biāo)識網(wǎng)絡(luò)中的進(jìn)程了,那么進(jìn)程間的通信就可以利用這個標(biāo)識與其 它進(jìn)程進(jìn)行交互原探。
端口號的作用乱凿,以及常見的端口號
1、80端口 網(wǎng)絡(luò)端口 www.baidu.com:80 正確的網(wǎng)址 www.baidu.com:70 錯誤的網(wǎng)址打不開
2咽弦、數(shù)據(jù)庫: MySQL:3306 Oracle:1521
3徒蟆、Tomcat服務(wù)器:8080