日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络是怎么连接的

發(fā)布時間:2023/12/2 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络是怎么连接的 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

一.以瀏覽器要訪問一個網(wǎng)址為例,理解這一次網(wǎng)絡(luò)連接的全貌。

二.協(xié)議棧和網(wǎng)卡

?0.TCP/IP的分層結(jié)構(gòu)

1.套接字

2.連接

連接的目的

連接的過程

3.發(fā)送數(shù)據(jù)

4.接收數(shù)據(jù)

5.斷開連接

6.發(fā)送數(shù)據(jù)時包的情況

?包是怎么轉(zhuǎn)發(fā)的?

包收發(fā)的過程

7.網(wǎng)卡

?網(wǎng)卡組裝完成包

8.向集線器發(fā)送網(wǎng)絡(luò)包

9.接收返回包

網(wǎng)卡處理

TCP&IP處理

三.集線器,交換機(jī),路由器

1.集線器?

集線器的工作過程

2.交換機(jī)

交換機(jī)的工作過程

交換機(jī)的特點(diǎn)

3.路由器

四.通過接入網(wǎng)進(jìn)入互聯(lián)網(wǎng)內(nèi)部

1.接入網(wǎng)

ADSL接入網(wǎng)

通信過程

光纖接入網(wǎng)

PPP撥號上網(wǎng)

區(qū)分

通過隧道將網(wǎng)絡(luò)包發(fā)送給運(yùn)營商

2.網(wǎng)絡(luò)運(yùn)營商內(nèi)部

POP

NOC

運(yùn)營商之間的連接


?

?

一.以瀏覽器要訪問一個網(wǎng)址為例,理解這一次網(wǎng)絡(luò)連接的全貌。

大體過程

  • 瀏覽器要訪問一個資源,如www.baidu.com
  • 找到提供這個資源的服務(wù)器
  • 服務(wù)器提供資源

1.瀏覽器解析URL,生成請求消息。

1)解析URL,明確訪問目標(biāo)

2)生成請求消息

注意:

1).URI是/目錄名/文件名

2.瀏覽器將請求消息委托給操作系統(tǒng)

瀏覽器能解析網(wǎng)址并生成HTTP消息,但不具備將消息發(fā)送到網(wǎng)絡(luò)上的能力。

3.操作系統(tǒng)根據(jù)域名查詢IP地址

瀏覽器-Socket庫-協(xié)議棧。

1)首先了解IP地址,在TCP/IP協(xié)議中,網(wǎng)絡(luò)由子網(wǎng)和路由器連接而成,所以IP地址包含了網(wǎng)絡(luò)號(具體在哪個子網(wǎng))和主機(jī)號。用子網(wǎng)掩碼來區(qū)分網(wǎng)絡(luò)號和主機(jī)號的界限。

2)操作系統(tǒng)調(diào)用計算機(jī)上的DNS客戶端(解析器-包含在Socket庫中的一個程序),將域名告訴它。通過代碼gethostbyname來調(diào)用這個程序。

3)解析器再將信息發(fā)送給操作系統(tǒng)內(nèi)部的協(xié)議棧(協(xié)議驅(qū)動或TCP/IP驅(qū)動).。

4)協(xié)議棧執(zhí)行操作通過網(wǎng)卡將消息發(fā)送給最近的DNS服務(wù)器(這個最近的DNS服務(wù)器的IP地址在電腦中設(shè)置好了)。

5)最近的DNS服務(wù)器去找根DNS服務(wù)器,根DNS服務(wù)器管理com等域名,再找管理baidu域名的服務(wù)器,再找管理www域名的服務(wù)器,在管理www域名的服務(wù)器中找到具體具體資源的服務(wù)器,獲得該服務(wù)器的IP地址。

6)為什么域名和IP公用?

域名方便人們識別記憶,IP為了方便傳輸。

4.操作系統(tǒng)協(xié)議棧根據(jù)IP地址向服務(wù)器發(fā)送HTTP請求

需要調(diào)用操作系統(tǒng)的協(xié)議棧的Socket庫中的程序組件來完成功能

客戶端委托操作系統(tǒng)都是靠調(diào)用Socket庫中的程序組件再交給協(xié)議棧來完成

瀏覽器-Socket庫-協(xié)議棧。

1)服務(wù)器,客戶端分別創(chuàng)建一個套接字(相當(dāng)于傳輸管道的入口和出口)。

調(diào)用Socket庫中的socket組件

2)客戶端的套接字延申出管道連接服務(wù)器的套接字。

d五分鐘理解TCP/IP協(xié)議中端口號的涵義:什么是端口號?為什么要有端口號?_嗶哩嗶哩_bilibili

3)收發(fā)數(shù)據(jù)

調(diào)用socket的write組件發(fā)送

調(diào)用socket的read組件接收

4)斷開管道刪除套接字

調(diào)用socket的close組件關(guān)閉

描述符

創(chuàng)建完后,協(xié)議棧返回描述符,來識別不同的套接字,因?yàn)槟憧赡芡瑫r在登錄多個網(wǎng)站就需要建立多個通道。

客戶端在創(chuàng)建套接字時,協(xié)議棧會為這個套接字分配一個端口號,接下來執(zhí)行連接操作時,會將端口號告訴服務(wù)器。

5.服務(wù)器解析請求消息,返回響應(yīng)消息

生成響應(yīng)消息,返回給客戶端,客戶端瀏覽器接收后將數(shù)據(jù)顯示到屏幕上。

二.協(xié)議棧和網(wǎng)卡

?0.TCP/IP的分層結(jié)構(gòu)

上層對下層委派,下層接收執(zhí)行

Socket庫中有解析器用來對DNS服務(wù)器進(jìn)行查詢還包括其他組件。

瀏覽器、郵件等一般的應(yīng)用程序都是使用TCP收發(fā)數(shù)據(jù)的,而像DNS查詢等收發(fā)較短的控制數(shù)據(jù)的時候則使用UDP。TCP協(xié)議負(fù)責(zé)加給數(shù)據(jù)添加TCP協(xié)議的控制信息。

IP:下面一半是用IP協(xié)議控制網(wǎng)絡(luò)包收發(fā)操作的部分。在互聯(lián)網(wǎng)上傳送數(shù)據(jù)時,數(shù)據(jù)會被切分成一個一個的網(wǎng)絡(luò)包,而將網(wǎng)絡(luò)包發(fā)送給通信對象的操作就是由IP來負(fù)責(zé)的。IP還包括IMCP和ARP協(xié)議,ICMP用于告知網(wǎng)絡(luò)包傳送過程中產(chǎn)生的錯誤以及各種控制消息,ARP用于根據(jù)IP地址查詢相應(yīng)的以太網(wǎng)MAC地址。IP協(xié)議負(fù)責(zé)給數(shù)據(jù)添加IP協(xié)議的控制信息。

網(wǎng)卡驅(qū)動:負(fù)責(zé)控制網(wǎng)卡硬件。

網(wǎng)卡:完成實(shí)際收發(fā)操作。對網(wǎng)線中的信號執(zhí)行發(fā)送和接收。

1.套接字

套接字的實(shí)體協(xié)議棧中存放通信控制信息的內(nèi)存空間,記錄通信對象的IP地址、端口號、通信操作的進(jìn)行狀態(tài)等。

套接字的作用是在發(fā)送數(shù)據(jù)時,需要看一看套接字中的通信對象IP地址和端口號,以便向指定的IP地址和端口發(fā)送數(shù)據(jù),套接字中必須要記錄是否已經(jīng)收到響應(yīng),以及發(fā)送數(shù)據(jù)后經(jīng)過了多長時間,才能根據(jù)這些信息按照需要執(zhí)行重發(fā)操作。

描述符:描述符相當(dāng)于用來區(qū)分協(xié)議棧中的多個套接字的號碼牌,來指明這一塊內(nèi)存地址。

2.連接

連接的目的

1.需要把服務(wù)器的IP地址和端口號等信息告知協(xié)議棧。

2.客戶端向服務(wù)器傳達(dá)開始通信的請求。客戶端會發(fā)出我想和你開始通信,我的IP地址是xxx.xxx. xxx.xxx,端口號是yyyy。

3.開辟一塊用來臨時存放要收發(fā)的數(shù)據(jù)的內(nèi)存空間。

連接的過程

第一步:在TCP模塊處創(chuàng)建表示連接信息的頭部

上面的調(diào)用提供了服務(wù)器的IP地址和端口號,這些信息會傳遞給協(xié)議棧中的TCP模塊。然后,TCP模塊會與該IP地址對應(yīng)的對象,也就是與服務(wù)器的TCP模塊交換控制信息。

也就是客戶端創(chuàng)建一個控制信息的頭部,主要包括發(fā)送方和接收方的端口號。將頭部中的控制位的SYN比特設(shè)置為1,設(shè)置適當(dāng)?shù)男蛱柡痛翱诖笮 ?/p>

第二步:創(chuàng)建好頭部后,TCP模塊傳給IP模塊委托它發(fā)送

第三步:服務(wù)器上的IP模塊會將接收到的數(shù)據(jù)傳遞給TCP模塊

第四步:服務(wù)器的TCP模塊會返回響應(yīng)

第五步:客戶端再響應(yīng)告訴服務(wù)器剛才的響應(yīng)包已經(jīng)收到

3.發(fā)送數(shù)據(jù)

應(yīng)用程序調(diào)用write將要發(fā)送的數(shù)據(jù)交給協(xié)議棧,協(xié)議棧收到數(shù)據(jù)后執(zhí)行發(fā)送操作

第一步:將數(shù)據(jù)存放在內(nèi)部的發(fā)送緩沖區(qū)中,并等待應(yīng)用程序的下一段數(shù)據(jù)

第二步:對叫大數(shù)據(jù)進(jìn)行拆分

TCP進(jìn)行拆分,并添加TCP頭部,IP再添加頭部

第三步:發(fā)給服務(wù)器

第四步:確認(rèn)操作

TCP具備確認(rèn)對方是否成功收到網(wǎng)絡(luò)包,以及當(dāng)對方?jīng)]收到時進(jìn)行重發(fā)的功能。需要對方返回ACK號來確認(rèn)。

4.接收數(shù)據(jù)

瀏覽器在委托協(xié)議棧發(fā)送請求消息之后,會調(diào)用read程序來獲取響應(yīng)消息。控制流程會通過read轉(zhuǎn)移到協(xié)議棧。協(xié)議棧會執(zhí)行接下來的操作。

第一步:協(xié)議棧會檢查收到的數(shù)據(jù)塊和TCP頭部的內(nèi)容,判斷是否有數(shù)據(jù)丟失,如果沒有問題則返回ACK號。

第二步:協(xié)議棧將數(shù)據(jù)塊暫存到接收緩沖區(qū)中,并將數(shù)據(jù)塊按順序連接起來還原出原始的數(shù)據(jù),最后將數(shù)據(jù)交給應(yīng)用程序。

5.斷開連接

數(shù)據(jù)發(fā)送完畢的一方會發(fā)起斷開過程。

第一步:服務(wù)器一方的應(yīng)用程序會調(diào)用Socket庫的close程序。

第二步:服務(wù)器的協(xié)議棧會生成包含斷開信息的TCP頭部(具體來說就是將控制位中的FIN比特設(shè)為1)。

第三步:協(xié)議棧會委托IP模塊向客戶端發(fā)送數(shù)據(jù),同時,服務(wù)器的套接字中也會記錄下斷開操作的相關(guān)信息。

第四步:客戶端收到后,客戶端的協(xié)議棧會將自己的套接字標(biāo)記為進(jìn)入斷開操作狀態(tài),為了告知服務(wù)器已收到FIN為1的包,客戶端會向服務(wù)器返回一個ACK號。

第五步:應(yīng)用程序就會調(diào)用read來讀取數(shù)據(jù)。

第六步:客戶端調(diào)用close來結(jié)束數(shù)據(jù)收發(fā)操作,這時客戶端的協(xié)議棧也會和服務(wù)器一樣,生成一個FIN比特為1的TCP包,然后委托IP模塊發(fā)送給服務(wù)器。一段時間之后,服務(wù)器就會返回ACK號。

6.發(fā)送數(shù)據(jù)時包的情況

?包是怎么轉(zhuǎn)發(fā)的?

發(fā)送放創(chuàng)建包,發(fā)送到最近的網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備,網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備根據(jù)頭部控制信息,向下一個轉(zhuǎn)發(fā)設(shè)備轉(zhuǎn)發(fā),最終到達(dá)接收放的網(wǎng)絡(luò)設(shè)備。

IP頭部

包的目的地,也就是要訪問的服務(wù)器的IP地址寫入IP頭部中,IP協(xié)議就可以根據(jù)這一地址查找包的傳輸方向,從而找到下一個路由器的位置。

MAC頭部

IP協(xié)議會查找下一個路由器的以太網(wǎng)地址(MAC地址),并將這個地址寫入(改寫)MAC頭部中。這樣一來,以太網(wǎng)協(xié)議就知道要將這個包發(fā)到哪一個路由器上了。路由器的MAC就像人的身份證一樣,是設(shè)備的唯一標(biāo)識。

包收發(fā)的過程

?1.TCP模塊加頭部

TCP模塊在數(shù)據(jù)塊的前面加上TCP頭部,然后整個傳遞給IP模塊,TCP模塊還需要指定通信對象的IP地址,也就是需要寫清楚“將什么內(nèi)容發(fā)給誰”

2.IP模塊加頭部

IP模塊會添加IP頭部和MAC頭部這兩種頭部。IP頭部中包含IP協(xié)議規(guī)定的、根據(jù)IP地址將包發(fā)往目的地所需的控制信息;MAC頭部包含通過以太網(wǎng)的局域網(wǎng)將包傳輸至最近的路由器所需的控制信息。

3.封裝好的包會被交給網(wǎng)絡(luò)硬件

網(wǎng)絡(luò)硬件可能是插在計算機(jī)主板上的板卡,也可能是筆記本電腦上的PCMCIA卡,或者是計算機(jī)主板上集成的芯片,不同形態(tài)的硬件名字也不一樣,本書將它們統(tǒng)稱為網(wǎng)卡。

4.網(wǎng)絡(luò)硬件發(fā)送

傳遞給網(wǎng)卡的網(wǎng)絡(luò)包是由一連串0和1組成的數(shù)字信息,網(wǎng)卡會將這些數(shù)字信息轉(zhuǎn)換為電信號或光信號,并通過網(wǎng)線(或光纖)發(fā)送出去,然后這些信號就會到達(dá)集線器、路由器等轉(zhuǎn)發(fā)設(shè)備,再由轉(zhuǎn)發(fā)設(shè)備一步一步地送達(dá)接收方。

MAC

以太網(wǎng)中判斷發(fā)送目的地時要用MAC頭部

IP與MAC

IP地址其實(shí)標(biāo)識的是網(wǎng)卡而不是計算機(jī),MAC地址是在網(wǎng)卡生產(chǎn)時寫入ROM里的,只要將這個值讀取出來寫入MAC頭部就可以,所以MAC地址也能標(biāo)識計算機(jī),但I(xiàn)P地址可以修改,但MAC地址不能修改。

將包轉(zhuǎn)發(fā)的時候轉(zhuǎn)發(fā)給路由器,但需要知道路由器的地址,查詢目標(biāo)路由器的MAC地址需要用到ARP協(xié)議。

驚了!大學(xué)一直搞不懂的IP地址和MAC地址的區(qū)別原來這么簡單!_嗶哩嗶哩_bilibili

反正沒人看!隨便講講Mac地址和Ip地址有什么區(qū)別_嗶哩嗶哩_bilibili

7.網(wǎng)卡

ROM

網(wǎng)卡的ROM中保存著全世界唯一的MAC地址,這是生產(chǎn)網(wǎng)卡時寫入的

網(wǎng)卡驅(qū)動

1.網(wǎng)卡中保存的MAC地址在網(wǎng)卡驅(qū)動進(jìn)行初始化時會由網(wǎng)卡驅(qū)動程序讀取并分配給MAC模塊。

2.網(wǎng)卡驅(qū)動從IP模塊獲取包之后,將其復(fù)制到網(wǎng)卡內(nèi)的緩沖區(qū),再向MAC模塊發(fā)送發(fā)送包的命令。

MAC模塊

MAC模塊會將包從緩沖區(qū)中取出,并在開頭加上報頭和起始幀分界符,在末尾加上用于檢測錯誤的幀校驗(yàn)序列,MAC模塊從報頭開始將數(shù)字信息按每個比特轉(zhuǎn)換成電信號,將數(shù)字信息轉(zhuǎn)換為電信號的速率就是網(wǎng)絡(luò)的傳輸速率。

PHY

將MAC模塊來的電信號將其轉(zhuǎn)換為可在網(wǎng)線上傳輸?shù)母袷桨l(fā)出去

它還需要監(jiān)控接收線路中有沒有信號進(jìn)來。在開始發(fā)送信號之前,需要先確認(rèn)沒有其他信號進(jìn)來,這時才能開始發(fā)送。如果在信號開始發(fā)送到結(jié)束發(fā)送的這段時間內(nèi)一直沒有其他信號進(jìn)來,發(fā)送操作就成功完成了。

?網(wǎng)卡組裝完成包

報頭

是一串比特序列,用來確定包的讀取時機(jī),當(dāng)這串序列被轉(zhuǎn)換成電信號,根據(jù)波形可以判斷取數(shù)據(jù)的時機(jī)。

起始幀分界符

表示包起始位置的標(biāo)記

FCS(幀校驗(yàn)序列)

檢查包傳輸過程中因噪聲導(dǎo)致的波形紊亂、數(shù)據(jù)錯誤,它是一串32比特的序列,是通過一個公式對包中從頭到尾的所有內(nèi)容進(jìn)行計算而得出來的。它和磁盤等設(shè)備中使用的CRC[插圖]錯誤校驗(yàn)碼是同一種東西。

8.向集線器發(fā)送網(wǎng)絡(luò)包

發(fā)送信號的操作分為兩種,一種是使用集線器的半雙工模式,另一種是使用交換機(jī)的全雙工模式。

半雙工模式中需要注意信號碰撞的問題

全雙工模式中不需要注意信號碰撞問題

9.接收返回包

網(wǎng)卡處理

1.PHY (MAU)模塊會將信號轉(zhuǎn)換成通用格式并發(fā)送給MAC模塊

2.MAC模塊再從頭開始將信號轉(zhuǎn)換為數(shù)字信息,并存放到緩沖區(qū)中。當(dāng)?shù)竭_(dá)信號的末尾時,還需要檢查FCS。

3.當(dāng)?shù)竭_(dá)信號的末尾時,還需要檢查FCS。具體來說,就是將從包開頭到結(jié)尾的所有比特套用到公式中計算出FCS,然后和包末尾的FCS進(jìn)行對比,正常情況下兩者應(yīng)該是一致的,如果中途受到噪聲干擾而導(dǎo)致波形發(fā)生紊亂,則兩者的值會產(chǎn)生差異,這時這個包就會被當(dāng)作錯誤包而被丟棄。

4.再判斷MAC頭部中接收方MAC地址與網(wǎng)卡在初始化時分配給自己的MAC地址是否一致,不是就丟棄,是就將包放到緩沖區(qū)。

5.通過中斷機(jī)制通知計算機(jī)收到了包,調(diào)用網(wǎng)卡驅(qū)動,從緩沖區(qū)中取出收到的包,并通過MAC頭部中的以太類型字段判斷協(xié)議的類型交給不同的協(xié)議棧。(一般給TCP/IP)

TCP&IP處理

協(xié)議棧會判斷這個包應(yīng)該交給哪個應(yīng)用程序,并進(jìn)行相應(yīng)的處理。

1.第一步是檢查IP頭部,確認(rèn)格式是否正確。

2.查看接收方IP地址。如果接收網(wǎng)絡(luò)包的設(shè)備是一臺Windows客戶端計算機(jī),那么服務(wù)器返回的包的接收方IP地址應(yīng)該與客戶端網(wǎng)卡的地址一致。如果布一致,IP模塊會通過ICMP消息將錯誤告知發(fā)送方

3.分片重組:IP模塊會將它們還原成原始的包(將小包合起來),分片的包會在IP頭部的標(biāo)志字段中進(jìn)行標(biāo)記,當(dāng)收到分片的包時,IP模塊會將其暫存在內(nèi)部的內(nèi)存空間中,然后等待IP頭部中具有相同ID的包全部到達(dá),這是因?yàn)橥粋€包的所有分片都具有相同的ID。

4.TCP模塊會根據(jù)IP頭部中的接收方和發(fā)送方IP地址,以及TCP頭部中的接收方和發(fā)送方端口號來查找對應(yīng)的套接字。

5.找到對應(yīng)的套接字之后,就可以根據(jù)套接字中記錄的通信狀態(tài),執(zhí)行相應(yīng)的操作,如果包的內(nèi)容是應(yīng)用程序數(shù)據(jù),則返回確認(rèn)接收的包,并將數(shù)據(jù)放入緩沖區(qū),等待應(yīng)用程序來讀取;如果是建立或斷開連接的控制包,則返回相應(yīng)的響應(yīng)控制包,并告知應(yīng)用程序建立和斷開連接的操作狀態(tài)。

三.集線器,交換機(jī),路由器

1.集線器?

集線器的工作過程

1.網(wǎng)卡中的PHY模塊負(fù)責(zé)將包轉(zhuǎn)換成電信號,電信號通過RJ-45接口進(jìn)入雙絞線。?

2.當(dāng)信號到達(dá)集線器后,會被廣播到整個網(wǎng)絡(luò)中。以太網(wǎng)的基本架構(gòu)[插圖]就是將包發(fā)到所有的設(shè)備,然后由設(shè)備根據(jù)接收方MAC地址來判斷應(yīng)該接收哪些包,而集線器就是這一架構(gòu)的忠實(shí)體現(xiàn),它就是負(fù)責(zé)按照以太網(wǎng)的基本架構(gòu)將信號廣播出去。

3.信號到達(dá)集線器的PHY模塊,再進(jìn)入中繼電路,將信號廣播到集線器的所有端口,流向所有設(shè)備。

4.這些設(shè)備在收到信號之后會通過MAC頭部中的接收方MAC地址判斷是不是發(fā)給自己的,如果是發(fā)給自己的就接受,否則就忽略。這樣,網(wǎng)絡(luò)包就能夠到達(dá)指定MAC地址的接收方了。

集線器,交換機(jī),路由器在接收數(shù)據(jù)方面的區(qū)別

由于集線器只是原封不動地將信號廣播出去,所以即便信號受到噪聲的干擾發(fā)生了失真,也會原樣發(fā)送到目的地。這時,接收信號的設(shè)備,也就是交換機(jī)、路由器、服務(wù)器等,會在將信號轉(zhuǎn)換成數(shù)字信息后通過FCS[插圖]校驗(yàn)發(fā)現(xiàn)錯誤,并將出錯的包丟棄。當(dāng)然,丟棄包并不會影響數(shù)據(jù)的傳輸,因?yàn)閬G棄的包不會觸發(fā)確認(rèn)響應(yīng)。因此協(xié)議棧的TCP模塊會檢測到丟包,并對該包進(jìn)行重傳。

2.交換機(jī)

交換機(jī)的工作過程

?1.當(dāng)信號從雙絞線傳入時,就會進(jìn)入PHY(MAU)模塊的接收部分。

2.PHY(MAU)模塊會將網(wǎng)線中的信號轉(zhuǎn)換為通用格式,然后傳遞給MAC模塊。

3.MAC模塊將信號轉(zhuǎn)換為數(shù)字信息,然后通過包末尾的FCS校驗(yàn)錯誤,如果沒有問題則存放到緩沖區(qū)中,[插圖]。這部分操作和網(wǎng)卡基本相同,大家可以認(rèn)為交換機(jī)的每個網(wǎng)線接口后面都是一塊網(wǎng)卡。

交換機(jī)和網(wǎng)卡的不同

但交換機(jī)的工作方式和網(wǎng)卡有一點(diǎn)不同。網(wǎng)卡本身具有MAC地址,并通過核對收到的包的接收方MAC地址判斷是不是發(fā)給自己的,如果不是發(fā)給自己的則丟棄;相對地,交換機(jī)的端口不核對接收方MAC地址,而是直接接收所有的包并存放到緩沖區(qū)中。因此,和網(wǎng)卡不同,交換機(jī)的端口不具有MAC地址

4.接下來需要查詢一下這個包的接收方MAC地址是否已經(jīng)在MAC地址表中有記錄了。MAC地址表主要包含兩個信息,一個是設(shè)備的MAC地址,另一個是該設(shè)備連接在交換機(jī)的哪個端口上。

交換機(jī)的特點(diǎn)

1.交換機(jī)只將包轉(zhuǎn)發(fā)到具有特定MAC地址的設(shè)備連接的端口,其他端口都是空閑的。如圖3.7中的例子所示,當(dāng)包從最上面的端口發(fā)送到最下面的端口時,其他端口都處于空閑狀態(tài),這些端口可以傳輸其他的包,因此交換機(jī)可以同時轉(zhuǎn)發(fā)多個包。

2.相對地,集線器會將輸入的信號廣播到所有的端口,如果同時輸入多個信號就會發(fā)生碰撞,無法同時傳輸多路信號,因此從設(shè)備整體的轉(zhuǎn)發(fā)能力來看,交換機(jī)要高于集線器。

3.路由器

?

轉(zhuǎn)發(fā)模塊

判斷包的轉(zhuǎn)發(fā)目的地,判斷具體交給哪一個端口發(fā)送。

端口模塊

負(fù)責(zé)包的收發(fā)操作

通過更換網(wǎng)卡,計算機(jī)可以支持以太網(wǎng)或無線局域網(wǎng),路由器也一樣。如果路由器安裝了支持無線局域網(wǎng)的硬件,就可以支持無線局域網(wǎng)了。

發(fā)送過程

1.通過端口將發(fā)過來的包接收

2.轉(zhuǎn)發(fā)模塊根據(jù)收到的包的IP頭部中記錄的接收方的IP地址,在路由表中進(jìn)行查詢,來判斷轉(zhuǎn)發(fā)目標(biāo)

3.轉(zhuǎn)發(fā)模塊委托端口將包轉(zhuǎn)移到轉(zhuǎn)發(fā)目標(biāo)對應(yīng)的端口,端口按照硬件的規(guī)則將包發(fā)送出去。

接收過程

1.在以太網(wǎng)中,從以太網(wǎng)端口接收并放到緩沖區(qū)中

2.PHY和MAC部分將信號轉(zhuǎn)為數(shù)字信號

3.通過包末尾的FCS進(jìn)來錯誤校驗(yàn)再檢查MAC頭部

注意

1.以以太端口為例,路由器有MAC地址,因?yàn)樗艹蔀橐蕴W(wǎng)的發(fā)送方和接收方。

端口還有IP地址,當(dāng)轉(zhuǎn)發(fā)包時,首先路由器端口會接收發(fā)給自己的以太網(wǎng)包,然后查詢轉(zhuǎn)發(fā)目標(biāo),再由相應(yīng)的端口作為發(fā)送方將以太網(wǎng)包發(fā)送出去。這一點(diǎn)和交換機(jī)是不同的,交換機(jī)只是將進(jìn)來的包轉(zhuǎn)發(fā)出去而已,它自己并不會成為發(fā)送方或者接收方。

IP協(xié)議根據(jù)目標(biāo)地址判斷下一個IP轉(zhuǎn)發(fā)設(shè)備的位置

子網(wǎng)中的以太網(wǎng)協(xié)議將包傳輸?shù)较乱粋€轉(zhuǎn)發(fā)設(shè)備

四.通過接入網(wǎng)進(jìn)入互聯(lián)網(wǎng)內(nèi)部

互聯(lián)網(wǎng)的整體架構(gòu)

?將互聯(lián)網(wǎng)理解成家庭公司網(wǎng)絡(luò)的方法版

不同點(diǎn)是路由器之間距離和路由器的維護(hù)方式

1.接入網(wǎng)

是指連接互聯(lián)網(wǎng)與家庭、公司網(wǎng)絡(luò)的通信線路[插圖]。一般家用的接入網(wǎng)方式包括ADSL、FTTH、CATV、電話線、ISDN等,公司則還可能使用專線。

ADSL接入網(wǎng)

?用戶端路由器發(fā)出的網(wǎng)絡(luò)包通過ADSL Modem(調(diào)制解調(diào)器)到達(dá)電話局,再到達(dá)ADSL網(wǎng)絡(luò)運(yùn)營商(ISP)。

通信過程

1.計算機(jī)-交換機(jī)-(接入網(wǎng))路由器-ADSL Modem

若互聯(lián)網(wǎng)接入路由器和ADSL Modem之間是以太網(wǎng)連接,傳送時互聯(lián)網(wǎng)接入路由器會在網(wǎng)絡(luò)包前面加上MAC頭部、PPPoE頭部、PPP頭部總共3種頭部,然后發(fā)送給ADSL Modem。

2.ADSL將數(shù)據(jù)拆分成信元

3.ADSL將信元調(diào)制成信號

4.信號進(jìn)入分離器,然后ADSL信號會和電話的語音信號混合起來一起從電話線傳輸出去。

信號從分離器發(fā)出時,分離器沒有做什么事。

信號從電話線傳入時,分離器負(fù)責(zé)將電話和ADSL信號分離。

5.通過室內(nèi)電話線,到達(dá)IDF(中間配線盤)和MDF(總配線架),再進(jìn)入電線桿上的電話電纜,再經(jīng)過配線盤和分離器發(fā)送給DSLAM(相當(dāng)于多個ADSL Modem)。

6.電信號被還原成數(shù)字信號。

ADSL和DSLAM的區(qū)別

ADSL Modem具備以太網(wǎng)接口,可與用戶端路由器交互,收發(fā)以太包。

DSLAM用的是ATM接口,接收信元,和后方路由器收發(fā)數(shù)據(jù)也是用ATM信元形式。

7.信元被轉(zhuǎn)到BAS的包轉(zhuǎn)發(fā)設(shè)備(具有ATM接口可以接收ATM信元),將ATM轉(zhuǎn)換成原始的包。

8.將MAC頭部和PPPoE頭部丟掉。取出PPP頭部和后面的數(shù)據(jù)。

MAC頭部和PPPoE頭部作用是到達(dá)BAS的接口

9.BAS在包前面加上隧道專用頭部,送到隧道出口。

10.網(wǎng)絡(luò)包到達(dá)隧道出口的隧道專用路由器,隧道頭部被丟棄,IP包被取出,轉(zhuǎn)發(fā)到互聯(lián)網(wǎng)中。

光纖接入網(wǎng)

FTTH基于光纖接入網(wǎng)的技術(shù)的入網(wǎng)方式。

PPP撥號上網(wǎng)

?

?在使用電話線或ISDN撥號上網(wǎng)時,需要傳送PPP包。

1.用戶向運(yùn)營商的接入點(diǎn)撥打電話,輸入用戶名和密碼

2.用戶名和密碼到達(dá)RAS通過RADUIS協(xié)議發(fā)送到認(rèn)證服務(wù)器

3.認(rèn)證服務(wù)器返回IP地址等信息

4.用戶信息配置IP等信息,便可向網(wǎng)絡(luò)發(fā)送TCP/IP包了。

區(qū)分

ADSL,FTTH,PPP撥號上號都需要給計算機(jī)分配公有地址。

ADSL和FTTH通過電纜或光纖固定連接在一起的,沒有必要驗(yàn)證用戶身份,通過用戶名和密碼登錄的步驟可以根據(jù)用戶名來切換不同的運(yùn)營商,這很方便。因此,接入運(yùn)營商在ADSL和FTTH中一般也會使用PPP。

也就是說PPP實(shí)現(xiàn)了通過用戶名和密碼來上網(wǎng)。

PPP撥號上網(wǎng)中PPP傳送的方式:PPP協(xié)議中沒有定義以太網(wǎng)中的報頭和FCS等元素,也沒有定義信號的格式,因此無法直接將PPP消息轉(zhuǎn)換成信號來發(fā)送。要傳輸PPP消息,必須有另一個包含報頭、FCS、信號格式等元素的“容器”,然后將PPP消息裝在這個容器里才行。于是,在撥號接入中PPP借用了HDLC[插圖]協(xié)議作為容器,而HDLC協(xié)議原本是為在專線中傳輸網(wǎng)絡(luò)包而設(shè)計的,撥號接入方式對這一規(guī)格進(jìn)行了一些修正。

ADSL和FTTH中PPP的傳送方式:不能借用HDLC來作為容器,我們用以太網(wǎng)包代替HDLC來裝載PPP協(xié)議,以太網(wǎng)和PPP在設(shè)計上有所不同,為了彌補(bǔ)這些問題就重新設(shè)計了一個新的規(guī)格,這就是PPPoE。

BAS用作用戶認(rèn)證和配置下發(fā)的窗口?

通過隧道將網(wǎng)絡(luò)包發(fā)送給運(yùn)營商

BAS還使用隧道方式傳輸網(wǎng)絡(luò)包

隧道方式

類似于套接字之間建立的TCP連接。

2.網(wǎng)絡(luò)運(yùn)營商內(nèi)部

?互聯(lián)網(wǎng)的實(shí)體是由多個運(yùn)營商網(wǎng)絡(luò)相互連接而成。

ADSL、FTTH等接入網(wǎng)是與用戶簽約的運(yùn)營商設(shè)備相連的,這些設(shè)備稱為POP(Poine Of Presense 接入點(diǎn))。到達(dá)互聯(lián)網(wǎng)的入口,運(yùn)營商POP路由器。

POP

POP中包括各種類型的路由器,根據(jù)接入網(wǎng)的類型需要分別使用不同類型的路由器。

專線接入:這里用的路由器就是具有通信線路端口的一般路由器。專線不需要用戶認(rèn)證、配置下發(fā)等功能,因此用一般的路由器就可以了。

電話、ISDN等撥號方式的接入:使用的路由器稱為RAS。撥號接入需要對用戶撥電話的動作進(jìn)行應(yīng)答,而RAS就具備這樣的功能。

PPPoE方式的ADSL和FTTH:PPPoE方式中,ADSL、FTTH接入服務(wù)商會使用BAS,運(yùn)營商的路由器則與BAS相連。PPPoE中的身份認(rèn)證和配置下發(fā)操作由接入服務(wù)商的BAS來負(fù)責(zé),運(yùn)營商的路由器只負(fù)責(zé)對包進(jìn)行轉(zhuǎn)發(fā),因此這里也是使用一般的路由器就可以了。

NOC

NOC:Network Operation Center 網(wǎng)絡(luò)運(yùn)行中心

運(yùn)營商的核心設(shè)備,從POP傳來的網(wǎng)絡(luò)包都會集中到這里,并從這里被轉(zhuǎn)發(fā)到離目的地更近的POP,或者是轉(zhuǎn)發(fā)到其他的運(yùn)營商。可以認(rèn)為NOC就是規(guī)模擴(kuò)大后的POP。

運(yùn)營商之間的連接

如果最終目的地Web服務(wù)器和客戶端是連接在同一個運(yùn)營商中的,那么POP路由器的路由表中應(yīng)該有相應(yīng)的轉(zhuǎn)發(fā)目標(biāo)。

如果服務(wù)器的運(yùn)營商和客戶端的運(yùn)營商不同,網(wǎng)絡(luò)包需要先發(fā)到服務(wù)器所在的運(yùn)營商。

對于互聯(lián)網(wǎng)內(nèi)部的路由器來說,無論最終目的地是否屬于同一家運(yùn)營商,都可以從路由表中查到,因此只要一次接一次按照路由表中的目標(biāo)地址來轉(zhuǎn)發(fā)包,最終一定可以到達(dá)Web服務(wù)器所在的POP。這樣一來,我們就可以把包發(fā)到任何地方,包括地球的另一面。

通過IX連接

??IX的實(shí)體是高性能交換機(jī)。

總結(jié)

以上是生活随笔為你收集整理的网络是怎么连接的的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。