国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.1【網(wǎng)絡(luò)基礎(chǔ)知識(shí)】

這篇具有很好參考價(jià)值的文章主要介紹了學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.1【網(wǎng)絡(luò)基礎(chǔ)知識(shí)】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

引言:

北京時(shí)間:2023/8/4/22:40,天蒼蒼野茫茫,風(fēng)吹造地見牛羊,此時(shí)心潮澎湃,非常開心,啊哈哈哈!因?yàn)榫驮趧倓偽覀兘K于把系統(tǒng)編程方面的知識(shí)給學(xué)完了,啊哈哈哈!真是功夫不負(fù)有心人呀!嗚嗚嗚,仰天而泣,算了,不能發(fā)神經(jīng),哈哈!今天把最后一節(jié)有關(guān)多線程知識(shí)的課給上完了,也就代表我們暫時(shí)可以和系統(tǒng)編程說拜拜啦!如果這么想,那么就是我在做夢(mèng),嗚嗚嗚!因?yàn)闄C(jī)智的我知道,學(xué)習(xí)系統(tǒng)編程相關(guān)的知識(shí)其實(shí)本質(zhì)都是在為網(wǎng)絡(luò)相關(guān)知識(shí)做鋪墊,嗚嗚嗚,不服!好了,還是有好消息的,起碼我們算是真正要開始網(wǎng)路的學(xué)習(xí)了。學(xué)習(xí)系統(tǒng)編程終章博客將在明天更新,由于是終章所以文本較長(zhǎng),滿滿都是干貨哦!并且昨天在我的預(yù)期下,好像并沒有失眠,睡的很香,但是早上還是沒有睡醒,8點(diǎn)的鬧鐘一點(diǎn)沒聽見,不知道為什么,哈哈哈!該篇博客就讓我們正式開始網(wǎng)絡(luò)知識(shí)的學(xué)習(xí)吧!

學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.1【網(wǎng)絡(luò)基礎(chǔ)知識(shí)】,學(xué)習(xí),網(wǎng)絡(luò),php

網(wǎng)絡(luò)基礎(chǔ)知識(shí)理解

在把操作系統(tǒng)相關(guān)的知識(shí)學(xué)習(xí)完之后,此時(shí)我們正式來到網(wǎng)絡(luò)的學(xué)習(xí),同理操作系統(tǒng)相關(guān)的知識(shí)只是為我們更好的理解網(wǎng)絡(luò)做鋪墊,當(dāng)然同理無論學(xué)習(xí)什么基礎(chǔ)概念都是最重要的,其次才是在概念之上的有關(guān)網(wǎng)絡(luò)協(xié)議的認(rèn)識(shí),協(xié)議是什么?有什么用?對(duì)于當(dāng)前的我們來說肯定是一頭霧水,只知道協(xié)議對(duì)于網(wǎng)絡(luò)來說至關(guān)重要,所以此時(shí)就讓我們從基礎(chǔ)出發(fā),朝協(xié)議一步步走進(jìn)吧!

了解網(wǎng)絡(luò)發(fā)展背景,以及相關(guān)概念理解

在上世紀(jì)前頁(yè),在清朝政府還在用火藥放鞭炮的時(shí)候,歐美資本主義列強(qiáng)已經(jīng)開始大力發(fā)展軍工業(yè),直接導(dǎo)致我國(guó)被大肆侵略,在被侵略之前中華上下5000年的底蘊(yùn),可以說當(dāng)時(shí)的清朝真的富的流油,間接導(dǎo)致危機(jī)意識(shí)不強(qiáng),最終導(dǎo)致…。到后來的第二次世界大戰(zhàn),全球到處都是戰(zhàn)爭(zhēng),而唯獨(dú)人家美國(guó),在我們還在連飯都吃不飽的時(shí)候,人家已經(jīng)開始搞起了計(jì)算機(jī)。

由于當(dāng)時(shí)科技還非常落后,對(duì)于許多科學(xué)研究都是在非常多科學(xué)家的共同協(xié)作下完成的,在當(dāng)時(shí)那個(gè)沒有網(wǎng)絡(luò)的年代,想讓每個(gè)科學(xué)家都利用計(jì)算機(jī)完成協(xié)作,那么前提肯定是需要讓所有科學(xué)家的電腦是協(xié)同的,但是就算科學(xué)家之間的電腦是協(xié)同的,那么也會(huì)導(dǎo)致計(jì)算機(jī)中的數(shù)據(jù)無法共享,所以在不斷克服問題的過程中,就誕生了軟盤(類似U盤),本質(zhì)就是可以將計(jì)算機(jī)中的數(shù)據(jù)導(dǎo)出,然后傳入另一個(gè)計(jì)算機(jī),但是在大規(guī)模的協(xié)同中,這樣的工作模式存在很大的弊端,所以科學(xué)家們就開始使用電纜/無線電波傳輸電腦中的數(shù)據(jù),科學(xué)家們?cè)谶@樣的協(xié)同工作下就完成了操作系統(tǒng)的研發(fā),操作系統(tǒng)應(yīng)運(yùn)而生。但是使用電纜/無線電波也有一個(gè)弊端就是無法實(shí)現(xiàn)遠(yuǎn)距離的電腦間數(shù)據(jù)傳輸,所以后來在美國(guó)軍方的控制下,網(wǎng)絡(luò)也應(yīng)運(yùn)而生。可以這么說,操作系統(tǒng)和網(wǎng)絡(luò)的誕生都是必然的,它們都是計(jì)算機(jī)實(shí)現(xiàn)協(xié)同工作的必要條件。當(dāng)然具體網(wǎng)絡(luò)是如何實(shí)現(xiàn)信息傳輸,肯定是離不開硬件的支持(交換機(jī)、路由器),再然后就來到20世紀(jì)90年代,美國(guó)軍方為了賺錢,放開對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的控制,從而實(shí)現(xiàn)網(wǎng)絡(luò)技術(shù)的商業(yè)化,從此網(wǎng)絡(luò)迅速發(fā)展。
學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.1【網(wǎng)絡(luò)基礎(chǔ)知識(shí)】,學(xué)習(xí),網(wǎng)絡(luò),php

上圖就是一個(gè)實(shí)現(xiàn)計(jì)算機(jī)之間協(xié)同的過程,當(dāng)然也是一個(gè)實(shí)現(xiàn)網(wǎng)絡(luò)化的過程,所以接下來我們就來看看有關(guān)概念吧!交換機(jī): 當(dāng)然具體交換機(jī)的實(shí)現(xiàn)原理我們不關(guān)心,我們只要了解一下它的功能就行,交換機(jī)可以將數(shù)據(jù)包從一個(gè)端口轉(zhuǎn)發(fā)到另一個(gè)端口,讓連接到交換機(jī)的計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)數(shù)據(jù)傳輸和通信,從而實(shí)現(xiàn)多臺(tái)計(jì)算機(jī)可以共享資源和信息,實(shí)現(xiàn)協(xié)同工作。路由器: 當(dāng)計(jì)算機(jī)與交換機(jī)連接之后就形成了一個(gè)小范圍內(nèi)的數(shù)據(jù)共享環(huán)境,該環(huán)境被我們稱為局域網(wǎng),然后當(dāng)交換機(jī)與路由器相連,此時(shí)交換機(jī)就可以把數(shù)據(jù)從一端口轉(zhuǎn)發(fā)給路由器,然后路由器再通過自己的轉(zhuǎn)發(fā)數(shù)據(jù)包能力和定位能力(IP地址)將數(shù)據(jù)正確的發(fā)送到目標(biāo)網(wǎng)絡(luò)中,從而實(shí)現(xiàn)數(shù)據(jù)從一個(gè)局域網(wǎng)到達(dá)另一個(gè)局域網(wǎng),該過程也被我們稱為廣域網(wǎng)。 當(dāng)然對(duì)于局域網(wǎng)和廣域網(wǎng)它們只是一個(gè)相對(duì)的概念,相對(duì)不同地域,計(jì)算機(jī)之間可能是局域網(wǎng)也可能是廣域網(wǎng),具體取決于計(jì)算機(jī)之間的連接范圍。

所以有了上述知識(shí)之后,我們此時(shí)就能理解,為什么每臺(tái)計(jì)算機(jī)都有自己的IP地址以及計(jì)算機(jī)之間實(shí)現(xiàn)數(shù)據(jù)共享的資本原理。首先我們將需要共享的數(shù)據(jù)發(fā)送到交換機(jī)中,交換機(jī)通過對(duì)MAC地址進(jìn)行判斷,如果該MAC地址就在該交換機(jī)所處的局域網(wǎng)中,那么交換機(jī)就直接將數(shù)據(jù)通過MAC地址發(fā)送到對(duì)應(yīng)電腦的網(wǎng)絡(luò)適配器(網(wǎng)卡)中,對(duì)應(yīng)接收到數(shù)據(jù)的電腦再經(jīng)過操作系統(tǒng)的一些列操作完成對(duì)數(shù)據(jù)的處理。但如果MAC地址不處于該交換機(jī)所處的局域網(wǎng)中,那么交換機(jī)就會(huì)將數(shù)據(jù)發(fā)送給與其連接的路由器,路由器接收到數(shù)據(jù)之后,就會(huì)對(duì)接收電腦的IP地址進(jìn)行判斷(路由表),判斷其所屬的目標(biāo)網(wǎng)絡(luò),最終將數(shù)據(jù)發(fā)送到目標(biāo)網(wǎng)絡(luò)中(服務(wù)器),當(dāng)數(shù)據(jù)到達(dá)目標(biāo)網(wǎng)絡(luò)中之后,此時(shí)目標(biāo)網(wǎng)絡(luò)會(huì)通過其內(nèi)部的路由器和交換機(jī)進(jìn)行進(jìn)一步的數(shù)據(jù)轉(zhuǎn)發(fā),最終通過路由器對(duì)接受數(shù)據(jù)電腦的IP地址進(jìn)行判斷,將數(shù)據(jù)發(fā)送到與該路由器相連的交換機(jī)中,最后交換機(jī)再對(duì)MAC地址進(jìn)行判斷,發(fā)送到目標(biāo)電腦的網(wǎng)絡(luò)適配器中,同理最終操作系統(tǒng)完成對(duì)數(shù)據(jù)的處理。當(dāng)然具體過程還有待深入,很多知識(shí)需要等我們將網(wǎng)絡(luò)的層狀結(jié)構(gòu)搞懂之后才能進(jìn)一步理解。

什么是網(wǎng)絡(luò)協(xié)議

對(duì)上述有關(guān)網(wǎng)絡(luò)發(fā)展背景和網(wǎng)絡(luò)相關(guān)知識(shí)有了一定的理解之后,此時(shí)我們就來看看網(wǎng)絡(luò)中最重要的知識(shí)點(diǎn):網(wǎng)絡(luò)協(xié)議。當(dāng)然由于網(wǎng)絡(luò)協(xié)議知識(shí)點(diǎn)非常多,并且由于我們此時(shí)只是學(xué)習(xí)網(wǎng)絡(luò)基礎(chǔ)知識(shí),所以了解其基礎(chǔ)概念就行,后序有待深入學(xué)習(xí)。

網(wǎng)絡(luò)協(xié)議從名稱上來看就是一個(gè)協(xié)議,而協(xié)議在日常生活中我們一般就是理解為一種約定,但是這種約定又不是簡(jiǎn)單的口頭約定,而是那種經(jīng)過審核得到認(rèn)可之后非常嚴(yán)謹(jǐn)?shù)募s定,所以我們可以將其看為是一個(gè)合同,當(dāng)你簽了字就一定需要履行的合同,那么為什么要簽合同呢?本質(zhì)還是為了對(duì)協(xié)同合作做出保障并且減少后期的溝通成本,提高效率讓經(jīng)濟(jì)最大化。同理網(wǎng)絡(luò)協(xié)議,只要你想要使用計(jì)算機(jī)接收或者傳輸數(shù)據(jù)你就一定需要遵守對(duì)應(yīng)的網(wǎng)絡(luò)協(xié)議,當(dāng)然你可能對(duì)遵守網(wǎng)絡(luò)協(xié)議這點(diǎn)體會(huì)不到,那是因?yàn)殡娔X被生產(chǎn)的過程中,無論是電腦的硬件還是操作系統(tǒng)都已經(jīng)被專業(yè)人士默認(rèn)完成了對(duì)協(xié)議的同步,當(dāng)然不單單是電腦,還有你家的路由器等各種需要連接網(wǎng)絡(luò)的設(shè)備,所以我們體會(huì)不到協(xié)議是什么,更不知道應(yīng)該如何遵守協(xié)議,哈哈哈!所以身為小老百姓的我們只要負(fù)責(zé)消費(fèi)就行,對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行同步就留個(gè)那些設(shè)備生產(chǎn)廠商完成吧!不過從這點(diǎn)也可以看出網(wǎng)絡(luò)協(xié)議是需要對(duì)硬件進(jìn)行管控,而且不單單是一種硬件,需要所有硬件進(jìn)行協(xié)同,只有這樣才能成功的讓每一臺(tái)計(jì)算機(jī)都連接到網(wǎng)絡(luò)中,所以最后明白網(wǎng)絡(luò)協(xié)議就是指不同電腦之間進(jìn)行數(shù)據(jù)共享和交換的規(guī)則/約定。

認(rèn)識(shí)協(xié)議
既然知道了協(xié)議就是一種規(guī)則/約定,并且是在使用電腦進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)傳輸時(shí)的協(xié)議,那么具體在使用網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸時(shí),協(xié)議都規(guī)定了那些內(nèi)容呢?此時(shí)我們就明白,對(duì)于協(xié)議來說,它不僅規(guī)定了數(shù)據(jù)傳輸時(shí)的傳輸格式,它還規(guī)定了數(shù)據(jù)包的封裝及解析方式和錯(cuò)誤檢測(cè)等。只要涉及與網(wǎng)絡(luò)的交互,其中所有的操作都進(jìn)行了標(biāo)準(zhǔn)化同步。其中對(duì)于數(shù)據(jù)間的傳輸格式我們最為了解,以二進(jìn)制為標(biāo)準(zhǔn)格式,但要明白,二進(jìn)制不單單只是用于傳遞數(shù)據(jù),更重要的是對(duì)應(yīng)二進(jìn)制序列在網(wǎng)絡(luò)協(xié)議中表示的含義,無論是在各種設(shè)備,還是電腦硬件,對(duì)于特定二進(jìn)制序列表示的含義都進(jìn)行了嚴(yán)格的控制和規(guī)定,只要相應(yīng)的硬件收到了這一二進(jìn)制序列,那么它就需要完成相應(yīng)的動(dòng)作,使對(duì)于數(shù)據(jù)可以成功完成傳輸。所以當(dāng)你想要讓各種設(shè)備或者是各種電腦硬件都能夠遵守這一協(xié)議的時(shí)候,前提是你要讓這些設(shè)備或者硬件能夠產(chǎn)生和識(shí)別對(duì)應(yīng)的二進(jìn)制序列,所以此時(shí)就出現(xiàn)了使用磁性、電信號(hào)、高低電位、電壓、波峰波谷、像素等一系列用來區(qū)分0和1的物理元素,從而達(dá)到讓各種設(shè)備和各種硬件之間進(jìn)行有效的通信和數(shù)據(jù)交換,從而實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)協(xié)議的遵守,構(gòu)建起一個(gè)協(xié)調(diào)運(yùn)作的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)。

協(xié)議的層狀結(jié)構(gòu)

明白了上述有關(guān)協(xié)議的基礎(chǔ)知識(shí)之后,此時(shí)我們就明白在日常生活中無論是傳輸數(shù)據(jù)還是接收數(shù)據(jù)統(tǒng)統(tǒng)都離不開網(wǎng)絡(luò)協(xié)議,因?yàn)楦鞣N設(shè)備和各種硬件在生產(chǎn)過程就已經(jīng)按照網(wǎng)絡(luò)協(xié)議的標(biāo)準(zhǔn)進(jìn)行的默認(rèn)化處理,從而實(shí)現(xiàn)大眾化數(shù)據(jù)共享。并且明白底層最基本的數(shù)據(jù)傳輸格式是二進(jìn)制,所以所有設(shè)備和硬件只有支持對(duì)二進(jìn)制序列的識(shí)別和處理,我們才接收到對(duì)應(yīng)的數(shù)據(jù)和發(fā)送對(duì)應(yīng)的數(shù)據(jù),但是此時(shí)在接收數(shù)據(jù)和傳送數(shù)據(jù)的過程中會(huì)產(chǎn)生一系列的問題,如數(shù)據(jù)安全問題和數(shù)據(jù)丟失問題,所以為了了解這些問題具體產(chǎn)生的原理,此時(shí)我們就需要對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行深入了解。

為什么網(wǎng)絡(luò)協(xié)議是層狀?
通過上述知識(shí)此時(shí)我們知道對(duì)于數(shù)據(jù)傳輸并沒有我們想象的那么簡(jiǎn)單,想要更好的理解數(shù)據(jù)傳輸我們就需要牢牢的抓住網(wǎng)絡(luò)協(xié)議,因?yàn)閿?shù)據(jù)傳輸就是基于網(wǎng)絡(luò)協(xié)議完成的,只有搞懂了協(xié)議,以后我們?cè)谑褂么a解決數(shù)據(jù)傳輸問題時(shí),才能有更加的邏輯能力。當(dāng)然因?yàn)榇藭r(shí)我們是基于網(wǎng)絡(luò)基礎(chǔ)來看待協(xié)議,所以此時(shí)不講解協(xié)議具體代碼實(shí)操,而是基于概念一磕到底。

首先明白,當(dāng)我們無論是面對(duì)國(guó)家與國(guó)家之間的數(shù)據(jù)傳輸,還是省與省之間的數(shù)據(jù)傳輸,我們面臨的第一個(gè)問題就是距離問題,此時(shí)因?yàn)楣庑盘?hào)在光纖中傳輸會(huì)衰減和損耗,并且這個(gè)損耗與距離成正比,隨著距離的增加,光信號(hào)會(huì)逐漸衰減,導(dǎo)致信號(hào)強(qiáng)度減弱影響信號(hào)質(zhì)量,從而可能造成信號(hào)丟失問題,當(dāng)然此時(shí)我們只是分析問題,所以這部分知識(shí)不進(jìn)行拓展。其次是定位主機(jī)問題,也就是存在非常多的電腦主機(jī),我們應(yīng)該如何定位到我們需要傳輸數(shù)據(jù)的那臺(tái)電腦。然后還有非常多的問題,如:數(shù)據(jù)劃分問題、數(shù)據(jù)轉(zhuǎn)發(fā)問題、用戶認(rèn)證問題等等… 所以此時(shí)為了解決這些問題,我們就需要進(jìn)行設(shè)計(jì),在設(shè)計(jì)的過程中我們會(huì)發(fā)現(xiàn)這么多的問題中有的問題非常的類似,有的問題毫無關(guān)系,有的問題需要解決上一問題才能解決,所以此時(shí)我們就根據(jù)這些問題設(shè)計(jì)出了一個(gè)層狀結(jié)構(gòu),也就是對(duì)這些問題進(jìn)行劃分,將相關(guān)問題劃為一層,不相關(guān)問題劃為另一層,并且按照順序進(jìn)行,實(shí)現(xiàn)問題解決的先后性。所以從層狀結(jié)構(gòu)出發(fā),我們發(fā)現(xiàn)我們就實(shí)現(xiàn)了高內(nèi)聚、低耦合的效果,其中高內(nèi)聚體現(xiàn)在每一層中解決的問題都是相似的,低耦合體現(xiàn)在層與層之間(模塊與模塊)沒有直接關(guān)系。明白了這些之后,此時(shí)只要搞懂高內(nèi)聚,低耦合帶來的優(yōu)點(diǎn),此時(shí)我們就明白為什么需要將網(wǎng)絡(luò)協(xié)議設(shè)計(jì)成層狀啦!其中低耦合可以實(shí)現(xiàn)每個(gè)層狀結(jié)構(gòu)中的代碼被獨(dú)立開發(fā)和維護(hù),任何一層出現(xiàn)問題都不會(huì)影響其它層,并且層與層之間可以進(jìn)行通信,讓不同廠商開發(fā)的協(xié)議可以互相配合使用。而高耦合因?yàn)樗鼈兘鉀Q問題的相似性,所以它可以提高該層中不同模塊代碼的復(fù)用性。

OSI七層模型

明白了上述知識(shí)之后,此時(shí)我們就知道為什么一個(gè)網(wǎng)絡(luò)協(xié)議棧需要設(shè)計(jì)成層狀了,此時(shí)我們就來看看OSI(開發(fā)系統(tǒng)互聯(lián))一種開放式系統(tǒng)互聯(lián)參考模型,也就是任何網(wǎng)絡(luò)協(xié)議棧邏輯上的定義和規(guī)范。如下圖所示,發(fā)現(xiàn)對(duì)于OSI網(wǎng)絡(luò)協(xié)議棧來說每一層需要解決的問題都是不同的,并且每一層之間都具有先后關(guān)系。

學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.1【網(wǎng)絡(luò)基礎(chǔ)知識(shí)】,學(xué)習(xí),網(wǎng)絡(luò),php
如上圖所示,發(fā)現(xiàn)對(duì)于OSI模型的網(wǎng)絡(luò)協(xié)議棧來說,它被分為了七個(gè)不同的層狀結(jié)構(gòu),并且每一層都有與其相對(duì)應(yīng)的功能,具體分析我們先不談,此時(shí)我們只要能夠認(rèn)識(shí)并且大概了解其分布與功能就行。并且注意,OSI網(wǎng)絡(luò)協(xié)議棧是一個(gè)標(biāo)準(zhǔn)的網(wǎng)絡(luò)協(xié)議棧模型,而當(dāng)前主流被使用的網(wǎng)絡(luò)協(xié)議棧是TCP/IP網(wǎng)絡(luò)協(xié)議棧,雖然TCP/IP協(xié)議棧最初是基于OSI協(xié)議棧模型進(jìn)行設(shè)計(jì)的,但在實(shí)際應(yīng)用中,發(fā)現(xiàn)將TCP/IP協(xié)議棧劃分為7個(gè)層次并不是很實(shí)際和必要,所以對(duì)于目前主流的網(wǎng)絡(luò)協(xié)議棧TCP/IP一般只有5層,分別是物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層。那么此時(shí)基于TCP/IP網(wǎng)絡(luò)協(xié)議棧,我們就發(fā)現(xiàn)其相對(duì)于OSI模型,它少了兩層,那么此時(shí)有的同學(xué)就會(huì)問了,如果TCP/IP協(xié)議棧只有5層,那么其中會(huì)話層和表示層起到的作用應(yīng)該如何實(shí)現(xiàn)呢?面對(duì)這個(gè)問題此時(shí)并不需要擔(dān)心,因?yàn)楸举|(zhì)在操作系統(tǒng)看來表示層和會(huì)話層起到的作用都是在用戶層實(shí)現(xiàn)的,操作系統(tǒng)并沒有提供實(shí)現(xiàn)表示層和會(huì)話層對(duì)應(yīng)功能的接口,所以當(dāng)你想要使用網(wǎng)絡(luò)協(xié)議棧來完成數(shù)據(jù)傳輸,你同樣需要實(shí)現(xiàn)會(huì)話層和表示層的功能,只不過此時(shí)是在用戶層實(shí)現(xiàn)。所以此時(shí)對(duì)于TCP/TP協(xié)議棧來說,它們就將會(huì)話層和表示層都包括在了應(yīng)用層當(dāng)中,所以對(duì)于TCP/IP協(xié)議棧來說它只有5層。所以接下來就讓我們基于TCP/IP協(xié)議棧來了解一下數(shù)據(jù)到底是如何傳輸?shù)陌桑?/p>

TCP/IP網(wǎng)絡(luò)協(xié)議的五層結(jié)構(gòu)

首先明白,對(duì)于TCP/IP協(xié)議棧來說,其中每一層都有每一層對(duì)應(yīng)的協(xié)議,其中最重要的就是網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議,這也是為什么該協(xié)議棧被稱為TCP/IP協(xié)議棧的原因,所以明白這塊知識(shí)涉及到的東西非常多,并不是表明上看到的什么層起到什么作用這么簡(jiǎn)單,這些知識(shí)只是用來打基礎(chǔ)的,關(guān)鍵在于我們應(yīng)該如何實(shí)現(xiàn)和分析這些功能。只有把每一層的實(shí)現(xiàn)原理和層與層之間的關(guān)系搞明白,以后在解決有關(guān)數(shù)據(jù)傳輸?shù)膯栴}才能變得更加容易。

明白了這點(diǎn)之后,此時(shí)我們就來看看網(wǎng)絡(luò)協(xié)議棧在系統(tǒng)結(jié)構(gòu)中占據(jù)什么地位吧!為什么要從體系結(jié)構(gòu)來看網(wǎng)絡(luò)協(xié)議棧呢?從上述我們也知道想要實(shí)現(xiàn)網(wǎng)絡(luò)通信,前提是滿足網(wǎng)絡(luò)協(xié)議,然后又因?yàn)榫W(wǎng)絡(luò)通信會(huì)產(chǎn)生非常多的問題需要解決,所以我們需要實(shí)現(xiàn)高內(nèi)聚低耦合的層狀結(jié)構(gòu),也就是需要將網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)成網(wǎng)絡(luò)協(xié)議棧的形式,然后又發(fā)現(xiàn)在網(wǎng)絡(luò)協(xié)議棧中,每一層都起著不同的作用,通過這些作用最終解決了我們使用計(jì)算機(jī)進(jìn)行網(wǎng)絡(luò)通信的所有問題,所以當(dāng)我們想要在計(jì)算機(jī)中實(shí)現(xiàn)某些功能,此時(shí)就一定離不開操作系統(tǒng),同理更離不開體系結(jié)構(gòu),所以此時(shí)我們就來看看網(wǎng)絡(luò)協(xié)議棧在體系結(jié)構(gòu)中扮演著什么角色吧!如下圖所示:

學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.1【網(wǎng)絡(luò)基礎(chǔ)知識(shí)】,學(xué)習(xí),網(wǎng)絡(luò),php
此時(shí)我們發(fā)現(xiàn),網(wǎng)絡(luò)協(xié)議棧本身依附于體系結(jié)構(gòu),當(dāng)然這也是必然的,不然如何實(shí)現(xiàn)各種功能的代碼編寫呢?所以此時(shí)我們就明白,對(duì)于物理層來說它包括的就是像網(wǎng)卡這樣的硬件,通過對(duì)應(yīng)的硬件將數(shù)據(jù)的二進(jìn)制序列轉(zhuǎn)化為電信號(hào),最終實(shí)現(xiàn)數(shù)據(jù)的接收與發(fā)送,而對(duì)于數(shù)據(jù)鏈路層來說它起到的功能一般是有網(wǎng)卡驅(qū)動(dòng)和內(nèi)核代碼實(shí)現(xiàn),而網(wǎng)絡(luò)層和傳輸層起到的功能顯而易見就是通過系統(tǒng)內(nèi)核代碼來完成,當(dāng)然最終我們想要從什么軟件中發(fā)送數(shù)據(jù)、接收什么軟件中的數(shù)據(jù),都是靠應(yīng)用層來控制的,這也就是如今各種APP橫行的原因,我們可以通過操作系統(tǒng)提供的各種系統(tǒng)調(diào)用接口來實(shí)現(xiàn)各種功能,當(dāng)然注意:此時(shí)的系統(tǒng)調(diào)用接口是專門用來進(jìn)行實(shí)現(xiàn)網(wǎng)絡(luò)通信的,如同我們?cè)谥皩W(xué)習(xí)進(jìn)程管理、內(nèi)存管理、文件管理時(shí),我們?cè)趯W(xué)習(xí)相關(guān)系統(tǒng)調(diào)用接口時(shí),都是一批一批學(xué)習(xí)的,所以操作系統(tǒng)為了很好的實(shí)現(xiàn)網(wǎng)絡(luò)管理,此時(shí)也有一批針對(duì)于實(shí)現(xiàn)網(wǎng)絡(luò)通信的系統(tǒng)調(diào)用接口供給我們使用。(系統(tǒng)網(wǎng)絡(luò)不分家!

并且我們要明白,在之前學(xué)習(xí)有關(guān)文件系統(tǒng)相關(guān)知識(shí)時(shí),我們理解過一切皆文件的概念,也就是在操作系統(tǒng)調(diào)用網(wǎng)卡驅(qū)動(dòng)去對(duì)網(wǎng)卡進(jìn)行使用的時(shí)候,我們同理是對(duì)網(wǎng)卡驅(qū)動(dòng)進(jìn)行文件結(jié)構(gòu)體封裝,通過函數(shù)指針的形式去調(diào)用網(wǎng)卡驅(qū)動(dòng)的功能,實(shí)現(xiàn)操作系統(tǒng)對(duì)網(wǎng)卡的使用,所以此時(shí)結(jié)合網(wǎng)絡(luò)協(xié)議棧來看,對(duì)于網(wǎng)絡(luò)的管理是基于對(duì)文件系統(tǒng)的管理。

對(duì)物理層進(jìn)行了解
由于我們只關(guān)心軟件相關(guān)知識(shí),所以對(duì)于物理層我們并不怎么關(guān)心,在此處我們對(duì)其相關(guān)概念進(jìn)行一定理解就行,后序我們重點(diǎn)學(xué)習(xí)TCP/IP協(xié)議棧的其它4層協(xié)議就行,對(duì)于物理層來說,上述我們對(duì)局域網(wǎng)、廣域網(wǎng)之間如何使用交換機(jī)、路由器進(jìn)行數(shù)據(jù)傳遞有了一定的理解,此時(shí)我們?cè)偕钊胍恍?,如上述我們所說,物理層的功能取決于網(wǎng)卡(網(wǎng)絡(luò)適配器),而網(wǎng)卡的功能是將對(duì)應(yīng)的二進(jìn)制序列與電信號(hào)進(jìn)行轉(zhuǎn)換,我們此時(shí)就從電信號(hào)的知識(shí)來談?wù)勑盘?hào)傳輸。

明白對(duì)于我們的筆記本電腦來說,想要上網(wǎng)最常見的兩種方法分別是連接WLAN或者連接網(wǎng)線,無論你使用的是那種方式,本質(zhì)就是為了實(shí)現(xiàn)二進(jìn)制序列到電信號(hào)的轉(zhuǎn)換,因?yàn)橹挥修D(zhuǎn)換成了電信號(hào),才能進(jìn)行傳輸,當(dāng)然目前這個(gè)傳輸過程因?yàn)榫嚯x原因,所以一般使用的是光信號(hào),也就是收到電信號(hào)后需要將其轉(zhuǎn)化為光信號(hào),這樣可以提高數(shù)據(jù)傳輸?shù)馁|(zhì)量。當(dāng)然此時(shí)你們可能會(huì)好奇,如何將二進(jìn)制序列轉(zhuǎn)化為電信號(hào)呢?以WLAN為例,因?yàn)槲覀兊碾娔X中存才一個(gè)無線電發(fā)送器,所以當(dāng)你需要發(fā)送數(shù)據(jù)時(shí),該數(shù)據(jù)經(jīng)過處理之后就會(huì)變成二進(jìn)制序列,此時(shí)無線電發(fā)送器就會(huì)將對(duì)應(yīng)的二進(jìn)制序列發(fā)送給與其相連的路由器,一般路由器中自帶一個(gè)小型交換機(jī),最終路由器再將接收到的無線電信號(hào)轉(zhuǎn)化為電信號(hào)給發(fā)送出去。當(dāng)然對(duì)應(yīng)硬件如何識(shí)別和處理二進(jìn)制序列,在上述知識(shí)中我們已經(jīng)詳細(xì)講解過了(波峰波谷)。當(dāng)然具體有關(guān)物理層方面的知識(shí)還有很多硬件,感興趣的同學(xué)可以去了解一下,這里我們不過多理解,重點(diǎn)發(fā)在對(duì)TCP/IP另外4層協(xié)議的理解以及網(wǎng)絡(luò)傳輸流程的理解。文章來源地址http://www.zghlxwxcb.cn/news/detail-634468.html

總結(jié):有關(guān)網(wǎng)絡(luò)相關(guān)的基礎(chǔ)知識(shí)我們就先學(xué)到這,由于時(shí)間原因,剩余知識(shí)下篇博客見!

到了這里,關(guān)于學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.1【網(wǎng)絡(luò)基礎(chǔ)知識(shí)】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 網(wǎng)絡(luò)編程 tcp udp http編程流程 網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    網(wǎng)絡(luò)編程 tcp udp http編程流程 網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    OSI分層:應(yīng)用層 表示層 會(huì)話層 傳輸層 網(wǎng)絡(luò)層 數(shù)據(jù)鏈路層 物理層 tcp/ip: 應(yīng)用層 傳輸層 網(wǎng)絡(luò)層 數(shù)據(jù)鏈路 ip地址:唯一標(biāo)識(shí)一臺(tái)主機(jī) ipv4 32位 ipv6 128位 尋址 可以反映物理上的一個(gè)變化 MAC地址:48 固化在計(jì)算機(jī)中 ip地址又兩部分構(gòu)成:網(wǎng)絡(luò)號(hào)+主機(jī)號(hào) 端口號(hào):標(biāo)識(shí)一個(gè)應(yīng)用程序

    2024年02月13日
    瀏覽(39)
  • 網(wǎng)絡(luò)基礎(chǔ)知識(shí)&socket編程

    網(wǎng)絡(luò)基礎(chǔ)知識(shí)&socket編程

    Linux 系統(tǒng)是依靠互聯(lián)網(wǎng)平臺(tái)迅速發(fā)展起來的,所以它具有強(qiáng)大的網(wǎng)絡(luò)功能支持,也是Linux 系統(tǒng)的一大特點(diǎn)?;ヂ?lián)網(wǎng)對(duì)人類社會(huì)產(chǎn)生了巨大影響,它幾乎改變了人們生活的方方面面,可見互聯(lián)網(wǎng)對(duì)人類社會(huì)的重要性! 本章我們便來學(xué)習(xí)一些網(wǎng)絡(luò)基礎(chǔ)知識(shí),如果感興趣的讀者可以

    2024年02月10日
    瀏覽(22)
  • 一、網(wǎng)絡(luò)編程之基礎(chǔ)知識(shí)詳解

    一、網(wǎng)絡(luò)編程之基礎(chǔ)知識(shí)詳解

    引言: 初學(xué)網(wǎng)絡(luò)編程時(shí)會(huì)涉及到許多網(wǎng)絡(luò)基礎(chǔ)知識(shí),這些知識(shí)點(diǎn)比較零碎,本文希望系統(tǒng)總結(jié)一次,以便在后續(xù)的學(xué)習(xí)和工作中能夠快速查閱。 網(wǎng)絡(luò)分層模型 OSI 七層模型 OSI 模型,也叫做七層模型, OSI 是 Open System Interconnection 的縮寫,譯為“開放式系統(tǒng)互聯(lián)”。 OSI 模型是

    2024年02月09日
    瀏覽(28)
  • 《Java SE》網(wǎng)絡(luò)編程基礎(chǔ)知識(shí)歸納。

    《Java SE》網(wǎng)絡(luò)編程基礎(chǔ)知識(shí)歸納。

    目錄 一、網(wǎng)絡(luò)基本介紹 1、什么是網(wǎng)絡(luò)通信? 2、網(wǎng)絡(luò) 3、IP地址 4、域名 5、網(wǎng)絡(luò)通信協(xié)議 6、Socket 二、TCP網(wǎng)絡(luò)通信編程 ?1、應(yīng)用實(shí)例1(字節(jié)流) 2、應(yīng)用實(shí)例2(字節(jié)流) 3、應(yīng)用實(shí)例3(字符流) 4、netstat 指令 三、UDP網(wǎng)絡(luò)通信編程? 1、基本介紹 2、基本流程 3、應(yīng)用實(shí)例 ?

    2024年01月20日
    瀏覽(31)
  • 《3.linux應(yīng)用編程和網(wǎng)絡(luò)編程-第8部分-3.8.網(wǎng)絡(luò)基礎(chǔ)》 3.8.1.網(wǎng)絡(luò)通信概述 3.8.3.網(wǎng)絡(luò)通信基礎(chǔ)知識(shí)2

    《3.linux應(yīng)用編程和網(wǎng)絡(luò)編程-第8部分-3.8.網(wǎng)絡(luò)基礎(chǔ)》 3.8.1.網(wǎng)絡(luò)通信概述 3.8.3.網(wǎng)絡(luò)通信基礎(chǔ)知識(shí)2

    ????進(jìn)程間通信: 管道 、 信號(hào)量、 共享內(nèi)存, 技術(shù)多,操作麻煩 ? ??線程就是解決 進(jìn)程間 通信 麻煩的事情,這是線程的 優(yōu)勢(shì) 3.8.1.網(wǎng)絡(luò)通信概述 3.8.1.1、從進(jìn)程間通信說起: 網(wǎng)絡(luò)域套接字socket , 網(wǎng)絡(luò)通信其實(shí)就是位于網(wǎng)絡(luò)中不同主機(jī)上面? ? ? ? ? ? ? ? ? ?的?

    2024年02月15日
    瀏覽(27)
  • 由淺入深Netty基礎(chǔ)知識(shí)NIO網(wǎng)絡(luò)編程

    由淺入深Netty基礎(chǔ)知識(shí)NIO網(wǎng)絡(luò)編程

    阻塞模式下,相關(guān)方法都會(huì)導(dǎo)致線程暫停 ServerSocketChannel.accept 會(huì)在沒有連接建立時(shí)讓線程暫停 SocketChannel.read 會(huì)在沒有數(shù)據(jù)可讀時(shí)讓線程暫停 阻塞的表現(xiàn)其實(shí)就是線程暫停了,暫停期間不會(huì)占用 cpu,但線程相當(dāng)于閑置 單線程下,阻塞方法之間相互影響,幾乎不能正常工作,

    2024年02月05日
    瀏覽(29)
  • Python網(wǎng)絡(luò)編程(一)——了解IP和端口的基礎(chǔ)知識(shí)以及socket的簡(jiǎn)單實(shí)現(xiàn)

    Python網(wǎng)絡(luò)編程(一)——了解IP和端口的基礎(chǔ)知識(shí)以及socket的簡(jiǎn)單實(shí)現(xiàn)

    Python網(wǎng)絡(luò)編程(一)——了解IP和端口的基礎(chǔ)知識(shí)以及socket的簡(jiǎn)單實(shí)現(xiàn) IP(Internet Protocol) 地址是唯一標(biāo)識(shí)互聯(lián)網(wǎng)上連接至計(jì)算機(jī)或其他設(shè)備的地址。每一個(gè)設(shè)備在 IP 網(wǎng)絡(luò)中擁有一個(gè)不同的 IP 地址,它由 32 位二進(jìn)制數(shù)組成,通常表示為四個(gè)從 0 到 255 的十進(jìn)制數(shù)之間用 (.)

    2024年02月04日
    瀏覽(22)
  • C++網(wǎng)絡(luò)編程 TCP套接字基礎(chǔ)知識(shí),利用TCP套接字實(shí)現(xiàn)客戶端-服務(wù)端通信

    C++網(wǎng)絡(luò)編程 TCP套接字基礎(chǔ)知識(shí),利用TCP套接字實(shí)現(xiàn)客戶端-服務(wù)端通信

    流式套接字編程針對(duì)TCP協(xié)議通信,即是面向?qū)ο蟮耐ㄐ牛譃榉?wù)端和客戶端兩部分。 1)加載套接字庫(kù)( 使用函數(shù)WSAStartup() ),創(chuàng)建套接字( 使用socket() ) 2)綁定套接字到一個(gè)IP地址和一個(gè)端口上( 使用函數(shù)bind() ) 3)將套接字設(shè)置為監(jiān)聽模式等待連接請(qǐng)求( 使用函數(shù)

    2024年02月03日
    瀏覽(103)
  • 學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.4【socket編程實(shí)戰(zhàn)】

    學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.4【socket編程實(shí)戰(zhàn)】

    北京時(shí)間:2023/8/19/23:01,耍了好幾天,主要?dú)w咎于《我欲封天》這本小說,聽了幾個(gè)晚上之后逐漸入門,在閑暇時(shí)間又看了一下,小高潮直接來臨,最終在三個(gè)晝夜下追完了,哈哈哈!沒辦法呀,哎!末200章有些些爛尾,結(jié)局合乎情理,總的來說優(yōu)秀,畢竟耳根的名號(hào)擺在哪

    2024年02月11日
    瀏覽(19)
  • 學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.10【深入學(xué)習(xí)HTTPS】

    學(xué)習(xí)網(wǎng)絡(luò)編程N(yùn)o.10【深入學(xué)習(xí)HTTPS】

    北京時(shí)間:2023/11/14/18:45,因?yàn)榉N種原因,上個(gè)月的文章昨天才更新,目前處于刷題前夕,算法課在看了。這次和以前不一樣,因?yàn)橐郧皩?duì)知識(shí)框架沒有很好的理念,并不清楚相關(guān)知識(shí)要學(xué)到什么時(shí)候才算完,大部分時(shí)間都花在了總結(jié)博客中,而這次我們已經(jīng)將主線課程全部學(xué)

    2024年02月05日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包