摘要:比如,已知地址和的子網(wǎng)掩碼都是,請(qǐng)問它們是否在同一個(gè)子網(wǎng)絡(luò)兩者與子網(wǎng)掩碼分別進(jìn)行運(yùn)算,運(yùn)算得網(wǎng)絡(luò)地址結(jié)果運(yùn)算得網(wǎng)絡(luò)地址結(jié)果結(jié)果都是,因此它們?cè)谕粋€(gè)子網(wǎng)絡(luò)。
計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展及基礎(chǔ)網(wǎng)絡(luò)概念 早期:聯(lián)機(jī) 以太網(wǎng):局域網(wǎng)與交換機(jī) 廣播
主機(jī)之間“一對(duì)所有”的通訊模式,網(wǎng)絡(luò)對(duì)其中每一臺(tái)主機(jī)發(fā)出的信號(hào)都進(jìn)行無條件復(fù)制并轉(zhuǎn)發(fā),所有主機(jī)都可以接收到所有信息(不管你是否需要),由于其不用路徑選擇,所以其網(wǎng)絡(luò)成本可以很低廉。有線電視網(wǎng)就是典型的廣播型網(wǎng)絡(luò),我們的電視機(jī)實(shí)際上是接受到所有頻道的信號(hào),但只將一個(gè)頻道的信號(hào)還原成畫面。在數(shù)據(jù)網(wǎng)絡(luò)中也允許廣播的存在,但其被限制在二層交換機(jī)的局域網(wǎng)范圍內(nèi),禁止廣播數(shù)據(jù)穿過路由器,防止廣播數(shù)據(jù)影響大面積的主機(jī)
ip地址與ip協(xié)議1.規(guī)定網(wǎng)絡(luò)地址的協(xié)議叫ip協(xié)議,它定義的地址稱之為ip地址,廣泛采用的v4版本即ipv4,它規(guī)定網(wǎng)絡(luò)地址由32位2進(jìn)制表示
2.范圍0.0.0.0-255.255.255.255
3.一個(gè)ip地址通常寫成四段十進(jìn)制數(shù),例:172.16.10.1
1.head中包含的源和目標(biāo)地址由來:ethernet規(guī)定接入internet的設(shè)備都必須具備網(wǎng)卡,發(fā)送端和接收端的地址便是指網(wǎng)卡的地址,即mac地址。
2.mac地址:每塊網(wǎng)卡出廠時(shí)都被燒制上一個(gè)世界唯一的mac地址,長(zhǎng)度為48位2進(jìn)制,通常由12位16進(jìn)制數(shù)表示(前六位是廠商編號(hào),后六位是流水線號(hào))
地址解析協(xié)議,即ARP(Address Resolution Protocol),是根據(jù)IP地址獲取物理地址的一個(gè)TCP/IP協(xié)議。
主機(jī)發(fā)送信息時(shí)將包含目標(biāo)IP地址的ARP請(qǐng)求廣播到網(wǎng)絡(luò)上的所有主機(jī),并接收返回消息,以此確定目標(biāo)的物理地址。
收到返回消息后將該IP地址和物理地址存入本機(jī)ARP緩存中并保留一定時(shí)間,下次請(qǐng)求時(shí)直接查詢ARP緩存以節(jié)約資源。
地址解析協(xié)議是建立在網(wǎng)絡(luò)中各個(gè)主機(jī)互相信任的基礎(chǔ)上的,網(wǎng)絡(luò)上的主機(jī)可以自主發(fā)送ARP應(yīng)答消息,其他主機(jī)收到應(yīng)答報(bào)文時(shí)不會(huì)檢測(cè)該報(bào)文的真實(shí)性就會(huì)將其記入本機(jī)ARP緩存;由此攻擊者就可以向某一主機(jī)發(fā)送偽ARP應(yīng)答報(bào)文,使其發(fā)送的信息無法到達(dá)預(yù)期的主機(jī)或到達(dá)錯(cuò)誤的主機(jī),這就構(gòu)成了一個(gè)ARP欺騙。ARP命令可用于查詢本機(jī)ARP緩存中IP地址和MAC地址的對(duì)應(yīng)關(guān)系、添加或刪除靜態(tài)對(duì)應(yīng)關(guān)系等。相關(guān)協(xié)議有RARP、代理ARP。NDP用于在IPv6中代替地址解析協(xié)議。
路由器(Router),是連接因特網(wǎng)中各局域網(wǎng)、廣域網(wǎng)的設(shè)備,它會(huì)根據(jù)信道的情況自動(dòng)選擇和設(shè)定路由,以最佳路徑,按前后順序發(fā)送信號(hào)。 路由器是互聯(lián)網(wǎng)絡(luò)的樞紐,"交通警察"。目前路由器已經(jīng)廣泛應(yīng)用于各行各業(yè),各種不同檔次的產(chǎn)品已成為實(shí)現(xiàn)各種骨干網(wǎng)內(nèi)部連接、骨干網(wǎng)間互聯(lián)和骨干網(wǎng)與互聯(lián)網(wǎng)互聯(lián)互通業(yè)務(wù)的主力軍。路由和交換機(jī)之間的主要區(qū)別就是交換機(jī)發(fā)生在OSI參考模型第二層(數(shù)據(jù)鏈路層),而路由發(fā)生在第三層,即網(wǎng)絡(luò)層。這一區(qū)別決定了路由和交換機(jī)在移動(dòng)信息的過程中需使用不同的控制信息,所以說兩者實(shí)現(xiàn)各自功能的方式是不同的。
路由器(Router)又稱網(wǎng)關(guān)設(shè)備(Gateway)是用于連接多個(gè)邏輯上分開的網(wǎng)絡(luò),所謂邏輯網(wǎng)絡(luò)是代表一個(gè)多帶帶的網(wǎng)絡(luò)或者一個(gè)子網(wǎng)。當(dāng)數(shù)據(jù)從一個(gè)子網(wǎng)傳輸?shù)搅硪粋€(gè)子網(wǎng)時(shí),可通過路由器的路由功能來完成。因此,路由器具有判斷網(wǎng)絡(luò)地址和選擇IP路徑的功能,它能在多網(wǎng)絡(luò)互聯(lián)環(huán)境中,建立靈活的連接,可用完全不同的數(shù)據(jù)分組和介質(zhì)訪問方法連接各種子網(wǎng),路由器只接受源站或其他路由器的信息,屬網(wǎng)絡(luò)層的一種互聯(lián)設(shè)備。
局域網(wǎng)(Local Area Network,LAN)是指在某一區(qū)域內(nèi)由多臺(tái)計(jì)算機(jī)互聯(lián)成的計(jì)算機(jī)組。一般是方圓幾千米以內(nèi)。局域網(wǎng)可以實(shí)現(xiàn)文件管理、應(yīng)用軟件共享、打印機(jī)共享、工作組內(nèi)的日程安排、電子郵件和傳真通信服務(wù)等功能。局域網(wǎng)是封閉型的,可以由辦公室內(nèi)的兩臺(tái)計(jì)算機(jī)組成,也可以由一個(gè)公司內(nèi)的上千臺(tái)計(jì)算機(jī)組成
子網(wǎng)掩碼所謂”子網(wǎng)掩碼”,就是表示子網(wǎng)絡(luò)特征的一個(gè)參數(shù)。它在形式上等同于IP地址,也是一個(gè)32位二進(jìn)制數(shù)字,它的網(wǎng)絡(luò)部分全部為1,主機(jī)部分全部為0。比如,IP地址172.16.10.1,如果已知網(wǎng)絡(luò)部分是前24位,主機(jī)部分是后8位,那么子網(wǎng)絡(luò)掩碼就是11111111.11111111.11111111.00000000,寫成十進(jìn)制就是255.255.255.0。
知道”子網(wǎng)掩碼”,我們就能判斷,任意兩個(gè)IP地址是否處在同一個(gè)子網(wǎng)絡(luò)。方法是將兩個(gè)IP地址與子網(wǎng)掩碼分別進(jìn)行AND運(yùn)算(兩個(gè)數(shù)位都為1,運(yùn)算結(jié)果為1,否則為0),然后比較結(jié)果是否相同,如果是的話,就表明它們?cè)谕粋€(gè)子網(wǎng)絡(luò)中,否則就不是。
比如,已知IP地址172.16.10.1和172.16.10.2的子網(wǎng)掩碼都是255.255.255.0,請(qǐng)問它們是否在同一個(gè)子網(wǎng)絡(luò)??jī)烧吲c子網(wǎng)掩碼分別進(jìn)行AND運(yùn)算, 172.16.10.1:10101100.00010000.00001010.000000001 255255.255.255.0:11111111.11111111.11111111.00000000 AND運(yùn)算得網(wǎng)絡(luò)地址結(jié)果:10101100.00010000.00001010.000000001->172.16.10.0 172.16.10.2:10101100.00010000.00001010.000000010 255255.255.255.0:11111111.11111111.11111111.00000000 AND運(yùn)算得網(wǎng)絡(luò)地址結(jié)果:10101100.00010000.00001010.000000001->172.16.10.0 結(jié)果都是172.16.10.0,因此它們?cè)谕粋€(gè)子網(wǎng)絡(luò)。
總結(jié)一下,IP協(xié)議的作用主要有兩個(gè),一個(gè)是為每一臺(tái)計(jì)算機(jī)分配IP地址,另一個(gè)是確定哪些地址在同一個(gè)子網(wǎng)絡(luò)。
tcp協(xié)議和udp協(xié)議用于應(yīng)用程序之間的通信。如果說ip地址和mac地址幫我們確定唯一的一臺(tái)機(jī)器,那么我們?cè)趺凑业揭慌_(tái)機(jī)器上的一個(gè)軟件呢?
端口我們知道,一臺(tái)擁有IP地址的主機(jī)可以提供許多服務(wù),比如Web服務(wù)、FTP服務(wù)、SMTP服務(wù)等,這些服務(wù)完全可以通過1個(gè)IP地址來實(shí)現(xiàn)。那么,主機(jī)是怎樣區(qū)分不同的網(wǎng)絡(luò)服務(wù)呢?顯然不能只靠IP地址,因?yàn)镮P 地址與網(wǎng)絡(luò)服務(wù)的關(guān)系是一對(duì)多的關(guān)系。實(shí)際上是通過“IP地址+端口號(hào)”來區(qū)分不同的服務(wù)的。
TCP協(xié)議當(dāng)應(yīng)用程序希望通過 TCP 與另一個(gè)應(yīng)用程序通信時(shí),它會(huì)發(fā)送一個(gè)通信請(qǐng)求。這個(gè)請(qǐng)求必須被送到一個(gè)確切的地址。在雙方“握手”之后,TCP 將在兩個(gè)應(yīng)用程序之間建立一個(gè)全雙工 (full-duplex) 的通信。
這個(gè)全雙工的通信將占用兩個(gè)計(jì)算機(jī)之間的通信線路,直到它被一方或雙方關(guān)閉為止。
1.tcp的三次握手
TCP是因特網(wǎng)中的傳輸層協(xié)議,使用三次握手協(xié)議建立連接。當(dāng)主動(dòng)方發(fā)出SYN連接請(qǐng)求后,等待對(duì)方回答SYN+ACK[1],并最終對(duì)對(duì)方的 SYN 執(zhí)行 ACK 確認(rèn)。這種建立連接的方法可以防止產(chǎn)生錯(cuò)誤的連接。[1] TCP三次握手的過程如下: 客戶端發(fā)送SYN(SEQ=x)報(bào)文給服務(wù)器端,進(jìn)入SYN_SEND狀態(tài)。 服務(wù)器端收到SYN報(bào)文,回應(yīng)一個(gè)SYN (SEQ=y)ACK(ACK=x+1)報(bào)文,進(jìn)入SYN_RECV狀態(tài)。 客戶端收到服務(wù)器端的SYN報(bào)文,回應(yīng)一個(gè)ACK(ACK=y+1)報(bào)文,進(jìn)入Established狀態(tài)。 三次握手完成,TCP客戶端和服務(wù)器端成功地建立連接,可以開始傳輸數(shù)據(jù)了。
2.tcp的四次揮手
建立一個(gè)連接需要三次握手,而終止一個(gè)連接要經(jīng)過四次握手,這是由TCP的半關(guān)閉(half-close)造成的。 (1) 某個(gè)應(yīng)用進(jìn)程首先調(diào)用close,稱該端執(zhí)行“主動(dòng)關(guān)閉”(active close)。該端的TCP于是發(fā)送一個(gè)FIN分節(jié),表示數(shù)據(jù)發(fā)送完畢。 (2) 接收到這個(gè)FIN的對(duì)端執(zhí)行 “被動(dòng)關(guān)閉”(passive close),這個(gè)FIN由TCP確認(rèn)。 注意:FIN的接收也作為一個(gè)文件結(jié)束符(end-of-file)傳遞給接收端應(yīng)用進(jìn)程,放在已排隊(duì)等候該應(yīng)用進(jìn)程接收的任何其他數(shù)據(jù)之后,因?yàn)椋現(xiàn)IN的接收意味著接收端應(yīng)用進(jìn)程在相應(yīng)連接上再無額外數(shù)據(jù)可接收。 (3) 一段時(shí)間后,接收到這個(gè)文件結(jié)束符的應(yīng)用進(jìn)程將調(diào)用close關(guān)閉它的套接字。這導(dǎo)致它的TCP也發(fā)送一個(gè)FIN。 (4) 接收這個(gè)最終FIN的原發(fā)送端TCP(即執(zhí)行主動(dòng)關(guān)閉的那一端)確認(rèn)這個(gè)FIN。[1] 既然每個(gè)方向都需要一個(gè)FIN和一個(gè)ACK,因此通常需要4個(gè)分節(jié)。 注意: (1) “通常”是指,某些情況下,步驟1的FIN隨數(shù)據(jù)一起發(fā)送,另外,步驟2和步驟3發(fā)送的分節(jié)都出自執(zhí)行被動(dòng)關(guān)閉那一端,有可能被合并成一個(gè)分節(jié)。[2] (2) 在步驟2與步驟3之間,從執(zhí)行被動(dòng)關(guān)閉一端到執(zhí)行主動(dòng)關(guān)閉一端流動(dòng)數(shù)據(jù)是可能的,這稱為“半關(guān)閉”(half-close)。 (3) 當(dāng)一個(gè)Unix進(jìn)程無論自愿地(調(diào)用exit或從main函數(shù)返回)還是非自愿地(收到一個(gè)終止本進(jìn)程的信號(hào))終止時(shí),所有打開的描述符都被關(guān)閉,這也導(dǎo)致仍然打開的任何TCP連接上也發(fā)出一個(gè)FIN。 無論是客戶還是服務(wù)器,任何一端都可以執(zhí)行主動(dòng)關(guān)閉。通常情況是,客戶執(zhí)行主動(dòng)關(guān)閉,但是某些協(xié)議,例如,HTTP/1.0卻由服務(wù)器執(zhí)行主動(dòng)關(guān)閉。[2]upd協(xié)議
當(dāng)應(yīng)用程序希望通過UDP與一個(gè)應(yīng)用程序通信時(shí),傳輸數(shù)據(jù)之前源端和終端不建立連接。
當(dāng)它想傳送時(shí)就簡(jiǎn)單地去抓取來自應(yīng)用程序的數(shù)據(jù),并盡可能快地把它扔到網(wǎng)絡(luò)上。
TCP---傳輸控制協(xié)議,提供的是面向連接、可靠的字節(jié)流服務(wù)。當(dāng)客戶和服務(wù)器彼此交換數(shù)據(jù)前,必須先在雙方之間建立一個(gè)TCP連接,之后才能傳輸數(shù)據(jù)。TCP提供超時(shí)重發(fā),丟棄重復(fù)數(shù)據(jù),檢驗(yàn)數(shù)據(jù),流量控制等功能,保證數(shù)據(jù)能從一端傳到另一端。
UDP---用戶數(shù)據(jù)報(bào)協(xié)議,是一個(gè)簡(jiǎn)單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議。UDP不提供可靠性,它只是把應(yīng)用程序傳給IP層的數(shù)據(jù)報(bào)發(fā)送出去,但是并不能保證它們能到達(dá)目的地。由于UDP在傳輸數(shù)據(jù)報(bào)前不用在客戶和服務(wù)器之間建立一個(gè)連接,且沒有超時(shí)重發(fā)等機(jī)制,故而傳輸速度很快。
現(xiàn)在Internet上流行的協(xié)議是TCP/IP協(xié)議,該協(xié)議中對(duì)低于1024的端口都有確切的定義,他們對(duì)應(yīng)著Internet上一些常見的服務(wù)。這些常見的服務(wù)可以分為使用TCP端口(面向連接)和使用UDP端口(面向無連接)兩種。 說到TCP和UDP,首先要明白“連接”和“無連接”的含義,他們的關(guān)系可以用一個(gè)形象地比喻來說明,就是打電話和寫信。兩個(gè)人如果要通話,首先要建立連接——即打電話時(shí)的撥號(hào),等待響應(yīng)后——即接聽電話后,才能相互傳遞信息,最后還要斷開連接——即掛電話。寫信就比較簡(jiǎn)單了,填寫好收信人的地址后將信投入郵筒,收信人就可以收到了。從這個(gè)分析可以看出,建立連接可以在需要痛心地雙方建立一個(gè)傳遞信息的通道,在發(fā)送方發(fā)送請(qǐng)求連接信息接收方響應(yīng)后,由于是在接受方響應(yīng)后才開始傳遞信息,而且是在一個(gè)通道中傳送,因此接受方能比較完整地收到發(fā)送方發(fā)出的信息,即信息傳遞的可靠性比較高。但也正因?yàn)樾枰⑦B接,使資源開銷加大(在建立連接前必須等待接受方響應(yīng),傳輸信息過程中必須確認(rèn)信息是否傳到及斷開連接時(shí)發(fā)出相應(yīng)的信號(hào)等),獨(dú)占一個(gè)通道,在斷開連接錢不能建立另一個(gè)連接,即兩人在通話過程中第三方不能打入電話。而無連接是一開始就發(fā)送信息(嚴(yán)格說來,這是沒有開始、結(jié)束的),只是一次性的傳遞,是先不需要接受方的響應(yīng),因而在一定程度上也無法保證信息傳遞的可靠性了,就像寫信一樣,我們只是將信寄出去,卻不能保證收信人一定可以收到。 TCP是面向連接的,有比較高的可靠性, 一些要求比較高的服務(wù)一般使用這個(gè)協(xié)議,如FTP、Telnet、SMTP、HTTP、POP3等。 而UDP是面向無連接的,使用這個(gè)協(xié)議的常見服務(wù)有DNS、SNMP、QQ等。對(duì)于QQ必須另外說明一下,QQ2003以前是只使用UDP協(xié)議的,其服務(wù)器使用8000端口,偵聽是否有信息傳來,客戶端使用4000端口,向外發(fā)送信息(這也就不難理解在一般的顯IP的QQ版本中顯示好友的IP地址信息中端口常為4000或其后續(xù)端口的原因了),即QQ程序既接受服務(wù)又提供服務(wù),在以后的QQ版本中也支持使用TCP協(xié)議了。互聯(lián)網(wǎng)協(xié)議與osi模型
1.互聯(lián)網(wǎng)協(xié)議按照功能不同分為osi七層或tcp/ip五層或tcp/ip四層
每層運(yùn)行常見物理設(shè)備 每層運(yùn)行常見的協(xié)議文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/42105.html
摘要:楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),。本文來源知乎作者路人甲鏈接楚江數(shù)據(jù)提供網(wǎng)站數(shù)據(jù)采集和爬蟲軟件定制開發(fā)服務(wù),服務(wù)范圍涵蓋社交網(wǎng)絡(luò)電子商務(wù)分類信息學(xué)術(shù)研究等。 楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),http://www.chujiangdata.com。 第一:Python爬蟲學(xué)習(xí)系列教程(來源于某博主:htt...
摘要:基礎(chǔ)知識(shí)基礎(chǔ)語法基礎(chǔ)知識(shí)編程第一步基礎(chǔ)知識(shí)基本數(shù)據(jù)類型基礎(chǔ)知識(shí)解釋器基礎(chǔ)知識(shí)注釋基礎(chǔ)知識(shí)運(yùn)算符基礎(chǔ)知識(shí)數(shù)字基礎(chǔ)知識(shí)字符串基礎(chǔ)知識(shí)列表基礎(chǔ)知識(shí)元組基礎(chǔ)知識(shí)字典基礎(chǔ)知識(shí)條件控制基礎(chǔ)知識(shí)循環(huán)基礎(chǔ)知識(shí)迭代器與生成器基礎(chǔ)知識(shí)函數(shù)基礎(chǔ)知識(shí)數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知 Python3基礎(chǔ)知識(shí) | 基礎(chǔ)語法?Python3基礎(chǔ)知識(shí) | 編程第一步?Python3基礎(chǔ)知識(shí) | 基本數(shù)據(jù)類型Python3基礎(chǔ)知識(shí) | ...
摘要:基礎(chǔ)知識(shí)基礎(chǔ)語法基礎(chǔ)知識(shí)編程第一步基礎(chǔ)知識(shí)基本數(shù)據(jù)類型基礎(chǔ)知識(shí)解釋器基礎(chǔ)知識(shí)注釋基礎(chǔ)知識(shí)運(yùn)算符基礎(chǔ)知識(shí)數(shù)字基礎(chǔ)知識(shí)字符串基礎(chǔ)知識(shí)列表基礎(chǔ)知識(shí)元組基礎(chǔ)知識(shí)字典基礎(chǔ)知識(shí)條件控制基礎(chǔ)知識(shí)循環(huán)基礎(chǔ)知識(shí)迭代器與生成器基礎(chǔ)知識(shí)函數(shù)基礎(chǔ)知識(shí)數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知 Python3基礎(chǔ)知識(shí) | 基礎(chǔ)語法?Python3基礎(chǔ)知識(shí) | 編程第一步?Python3基礎(chǔ)知識(shí) | 基本數(shù)據(jù)類型Python3基礎(chǔ)知識(shí) | ...
摘要:屬于前一種,而且日益被用于數(shù)學(xué)計(jì)算機(jī)器學(xué)習(xí)和多種數(shù)據(jù)科學(xué)應(yīng)用。近來,由于擁有多個(gè)針對(duì)機(jī)器學(xué)習(xí)自然語言處理數(shù)據(jù)視覺化數(shù)據(jù)探索數(shù)據(jù)分析和數(shù)據(jù)挖掘的插件,豐富的數(shù)據(jù)科學(xué)生態(tài)體系得到了較大的發(fā)展,甚至有將數(shù)據(jù)科學(xué)社區(qū)化的趨勢(shì)。 譯者注:本文的英文原文地址是:Python for Data Science vs Python for Web Development,發(fā)布時(shí)間是10月29日。譯者一...
閱讀 3513·2021-11-17 17:01
閱讀 3918·2021-11-08 13:12
閱讀 2477·2021-10-08 10:04
閱讀 687·2021-09-29 09:35
閱讀 1418·2021-09-26 10:12
閱讀 2021·2021-09-07 09:58
閱讀 1953·2019-08-30 15:55
閱讀 2134·2019-08-30 13:14