最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

第十四章 網(wǎng)絡(luò)編程-TCP/IP簡介

2021-09-30 08:22 作者:海鷗之道  | 我要投稿

自從互聯(lián)網(wǎng)誕生以來,現(xiàn)在基本上所有的程序都是網(wǎng)絡(luò)程序,很少有單機(jī)版的程序了。

計(jì)算機(jī)網(wǎng)絡(luò)就是把各個計(jì)算機(jī)連接到一起,讓網(wǎng)絡(luò)中的計(jì)算機(jī)可以互相通信。網(wǎng)絡(luò)編程就是如何在程序中實(shí)現(xiàn)兩臺計(jì)算機(jī)的通信。

舉個例子,當(dāng)你使用瀏覽器訪問新浪網(wǎng)時,你的計(jì)算機(jī)就和新浪的某臺服務(wù)器通過互聯(lián)網(wǎng)連接起來了,然后,新浪的服務(wù)器把網(wǎng)頁內(nèi)容作為數(shù)據(jù)通過互聯(lián)網(wǎng)傳輸?shù)侥愕碾娔X上。

由于你的電腦上可能不止瀏覽器,還有QQ、Skype、Dropbox、郵件客戶端等,不同的程序連接的別的計(jì)算機(jī)也會不同,所以,更確切地說,網(wǎng)絡(luò)通信是兩臺計(jì)算機(jī)上的兩個進(jìn)程之間的通信。比如,瀏覽器進(jìn)程和新浪服務(wù)器上的某個Web服務(wù)進(jìn)程在通信,而QQ進(jìn)程是和騰訊的某個服務(wù)器上的某個進(jìn)程在通信。

網(wǎng)絡(luò)編程對所有開發(fā)語言都是一樣的,Python也不例外。用Python進(jìn)行網(wǎng)絡(luò)編程,就是在Python程序本身這個進(jìn)程內(nèi),連接別的服務(wù)器進(jìn)程的通信端口進(jìn)行通信。

本章我們將詳細(xì)介紹Python網(wǎng)絡(luò)編程的概念和最主要的兩種網(wǎng)絡(luò)類型的編程。

TCP/IP簡介

雖然大家現(xiàn)在對互聯(lián)網(wǎng)很熟悉,但是計(jì)算機(jī)網(wǎng)絡(luò)的出現(xiàn)比互聯(lián)網(wǎng)要早很多。

計(jì)算機(jī)為了聯(lián)網(wǎng),就必須規(guī)定通信協(xié)議,早期的計(jì)算機(jī)網(wǎng)絡(luò),都是由各廠商自己規(guī)定一套協(xié)議,IBM、Apple和Microsoft都有各自的網(wǎng)絡(luò)協(xié)議,互不兼容,這就好比一群人有的說英語,有的說中文,有的說德語,說同一種語言的人可以交流,不同的語言之間就不行了。

為了把全世界的所有不同類型的計(jì)算機(jī)都連接起來,就必須規(guī)定一套全球通用的協(xié)議,為了實(shí)現(xiàn)互聯(lián)網(wǎng)這個目標(biāo),互聯(lián)網(wǎng)協(xié)議簇(Internet Protocol Suite)就是通用協(xié)議標(biāo)準(zhǔn)。Internet是由inter和net兩個單詞組合起來的,原意就是連接“網(wǎng)絡(luò)”的網(wǎng)絡(luò),有了Internet,任何私有網(wǎng)絡(luò),只要支持這個協(xié)議,就可以聯(lián)入互聯(lián)網(wǎng)。

因?yàn)榛ヂ?lián)網(wǎng)協(xié)議包含了上百種協(xié)議標(biāo)準(zhǔn),但是最重要的兩個協(xié)議是TCP和IP協(xié)議,所以,大家把互聯(lián)網(wǎng)的協(xié)議簡稱TCP/IP協(xié)議。

通信的時候,雙方必須知道對方的標(biāo)識,好比發(fā)郵件必須知道對方的郵件地址?;ヂ?lián)網(wǎng)上每個計(jì)算機(jī)的唯一標(biāo)識就是IP地址,類似123.123.123.123。如果一臺計(jì)算機(jī)同時接入到兩個或更多的網(wǎng)絡(luò),比如路由器,它就會有兩個或多個IP地址,所以,IP地址對應(yīng)的實(shí)際上是計(jì)算機(jī)的網(wǎng)絡(luò)接口,通常是網(wǎng)卡。

IP協(xié)議負(fù)責(zé)把數(shù)據(jù)從一臺計(jì)算機(jī)通過網(wǎng)絡(luò)發(fā)送到另一臺計(jì)算機(jī)。數(shù)據(jù)被分割成一小塊一小塊,然后通過IP包發(fā)送出去。由于互聯(lián)網(wǎng)鏈路復(fù)雜,兩臺計(jì)算機(jī)之間經(jīng)常有多條線路,因此,路由器就負(fù)責(zé)決定如何把一個IP包轉(zhuǎn)發(fā)出去。IP包的特點(diǎn)是按塊發(fā)送,途徑多個路由,但不保證能到達(dá),也不保證順序到達(dá)。

IP地址實(shí)際上是一個32位整數(shù)(稱為IPv4),以字符串表示的IP地址如192.168.0.1實(shí)際上是把32位整數(shù)按8位分組后的數(shù)字表示,目的是便于閱讀。

IPv6地址實(shí)際上是一個128位整數(shù),它是目前使用的IPv4的升級版,以字符串表示類似于2001:0db8:85a3:0042:1000:8a2e:0370:7334。

TCP協(xié)議則是建立在IP協(xié)議之上的。TCP協(xié)議負(fù)責(zé)在兩臺計(jì)算機(jī)之間建立可靠連接,保證數(shù)據(jù)包按順序到達(dá)。TCP協(xié)議會通過握手建立連接,然后,對每個IP包編號,確保對方按順序收到,如果包丟掉了,就自動重發(fā)。

許多常用的更高級的協(xié)議都是建立在TCP協(xié)議基礎(chǔ)上的,比如用于瀏覽器的HTTP協(xié)議、發(fā)送郵件的SMTP協(xié)議等。

一個TCP報文除了包含要傳輸?shù)臄?shù)據(jù)外,還包含源IP地址和目標(biāo)IP地址,源端口和目標(biāo)端口。

端口有什么作用?在兩臺計(jì)算機(jī)通信時,只發(fā)IP地址是不夠的,因?yàn)橥慌_計(jì)算機(jī)上跑著多個網(wǎng)絡(luò)程序。一個TCP報文來了之后,到底是交給瀏覽器還是QQ,就需要端口號來區(qū)分。每個網(wǎng)絡(luò)程序都向操作系統(tǒng)申請唯一的端口號,這樣,兩個進(jìn)程在兩臺計(jì)算機(jī)之間建立網(wǎng)絡(luò)連接就需要各自的IP地址和各自的端口號。

一個進(jìn)程也可能同時與多個計(jì)算機(jī)建立鏈接,因此它會申請很多端口。

了解了TCP/IP協(xié)議的基本概念,IP地址和端口的概念,我們就可以開始進(jìn)行網(wǎng)絡(luò)編程了。



第十四章 網(wǎng)絡(luò)編程-TCP/IP簡介的評論 (共 條)

分享到微博請遵守國家法律
来宾市| 香港 | 兴安县| 阿克陶县| 浑源县| 唐海县| 娄烦县| 阿鲁科尔沁旗| 剑川县| 昌都县| 正宁县| 元朗区| 望谟县| 灵川县| 抚松县| 青冈县| 罗田县| 沙坪坝区| 通许县| 含山县| 南汇区| 盐津县| 聂荣县| 泰宁县| 龙南县| 民权县| 噶尔县| 马鞍山市| 平潭县| 江口县| 大石桥市| 南漳县| 阳朔县| 崇礼县| 启东市| 固阳县| 方城县| 张掖市| 新巴尔虎左旗| 顺昌县| 大名县|