1. 乙太網協議
乙太網協議規定,一組電信號構成一個數據包,我們把這個數據包稱之為幀。每一個楨由標頭(Head)和數據(Data)兩部分組成。
幀的大小一般為 64 – 1518 個位元組。假如需要傳送的數據很大的話,就分成多個楨來進行傳送。
對於表頭和數據這兩個部分,他們存放的都是一些什麼數據呢? 毫無疑問,我們至少得知道這個楨是誰發送,發送給誰的等這些信息吧?所以標頭部分主要是一些說明數據,例如發送者,接收者等信息。而數據部分則是這個數據包具體的,想給接收者的內容。
一個楨的長度是 64~1518 個位元組,也就是說楨的長度不是固定的,但是標頭部分的位元組長度是固定的,每個楨都是單獨發的,並且固定為18個位元組。
把一台計算的的數據通過 物理層 和 鏈路層 發送給另一台計算機,究竟是誰發給誰的,計算機與計算機之間如何區分,,你總得給他們一個唯一的標識吧?
於是,MAC 地址出現了。
2. MAC 地址
連入網路的每一個計算機都會有網卡介面,每一個網卡都會有一個唯一的地址,這個地址就叫做 MAC 地址。計算機之間的數據傳送,就是通過 MAC 地址來唯一尋找、傳送的。
MAC地址 由 48 位二進制數所構成,在網卡生產時就被唯一標識了。
3. 廣播與ARP協議
(1). 廣播
如圖,假如計算機 A 知道了計算機 B 的 MAC 地址,然後計算機 A 想要給計算機 B 傳送數據,雖然計算機 A 知道了計算機 B 的 MAC 地址,可是它要怎麼給它傳送數據呢?計算機 A 不僅連著計算機 B,而且計算機 A 也還連著其他的計算機。 雖然計算機 A 知道計算機 B 的 MAC 地址,可是計算機 A 卻不知道計算機 B 是分布在哪邊路線上,為了解決這個問題,於是,有了 廣播 的出現。
在同一個 子網 中,計算機 A 要向計算機 B 發送一個 數據包 ,這個數據包會包含接收者的 MAC 地址。當發送時,計算機 A 是通過 廣播 的方式發送的,這時同一個子網中的計算機 C, D 也會收到這個數據包的,然後收到這個數據包的計算機,會把數據包的 MAC 地址取出來,與自身的 MAC 地址對比,如果兩者相同,則接受這個數據包,否則就丟棄這個數據包。
(2). ARP 協議 。
那麼問題來了,計算機 A 是如何知道計算機 B 的 MAC 地址的呢?這個時候就得由 ARP 協議這個傢伙來解決了,不過 ARP 協議會涉及到IP地址,我們下面才會扯到IP地址。因此我們先放著,就當作是有這么一個 ARP 協議,通過它我們可以知道子網中其他計算機的 MAC 地址。
上面我們有說到子網這個關鍵詞,實際上我們所處的網路,是由無數個子網路構成的。廣播的時候,也只有同一個子網裡面的計算機能夠收到。
假如沒有子網這種劃分的話,計算機 A 通過廣播的方式發一個數據包給計算機 B , 其他所有計算機也都能收到這個數據包,然後進行對比再舍棄。世界上有那麼多台計算機,每一台計算機都能收到其他所有計算機的數據包,那就不得了了。那還不得奔潰。 因此產生了 子網 這么一個東西。
那麼問題來了,我們如何區分哪些 MAC 地址是屬於同一個子網的呢?假如是同一個子網,那我們就用廣播的形式把數據傳送給對方,如果不是同一個子網的,我們就會把數據發給網關,讓網關進行轉發。
為了解決這個問題,於是,有了 IP 協議。
1. IP協議
IP協議,它所定義的地址,我們稱之為 IP地址 。IP協議有兩種版本,一種是 IPv4,另一種是 IPv6。不過我們目前大多數用的還是 IPv4,我們現在也只討論 IPv4 這個版本的協議。
這個 IP 地址由 32 位的二進制數組成,我們一般把它分成4段的十進製表示,地址范圍為0.0.0.0~255.255.255.255。
每一台想要聯網的計算機都會有一個IP地址。這個IP地址被分為兩部分,前面一部分代表 網路部分 ,後面一部分代表 主機部分 。並且網路部分和主機部分所佔用的二進制位數是不固定的。
假如兩台計算機的網路部分是一模一樣的,我們就說這兩台計算機是處於同一個子網中。例如 192.168.43.1 和 192.168.43.2, 假如這兩個 IP 地址的網路部分為 24 位,主機部分為 8 位。那麼他們的網路部分都為 192.168.43,所以他們處於同一個子網中。
可是問題來了,你怎麼知道網路部分是占幾位,主機部分又是占幾位呢?也就是說,單單從兩台計算機的IP地址,我們是無法判斷他們的是否處於同一個子網中的。
這就引申出了另一個關鍵詞———— 子網掩碼 。子網掩碼和IP地址一樣也是 32 位二進制數,不過它的網路部分規定全部為 1,主機部分規定全部為 0.也就是說,假如上面那兩個IP地址的網路部分為 24 位,主機部分為 8 位的話,那他們的子網掩碼都為 11111111.11111111.11111111.00000000,即255.255.255.0。
那有了子網掩碼,如何來判端IP地址是否處於同一個子網中呢。顯然,知道了子網掩碼,相當於我們知道了網路部分是幾位,主機部分是幾位。我們只需要把 IP 地址與它的子網掩碼做與(and)運算,然後把各自的結果進行比較就行了,如果比較的結果相同,則代表是同一個子網,否則不是同一個子網。
例如,192.168.43.1和192.168.43.2的子碼掩碼都為255.255.255.0,把IP與子碼掩碼相與,可以得到他們都為192.168.43.0,進而他們處於同一個子網中。
2. ARP協議
有了上面IP協議的知識,我們回來講一下ARP協議。
有了兩台計算機的IP地址與子網掩碼,我們就可以判斷出它們是否處於同一個子網之中了。
假如他們處於同一個子網之中,計算機A要給計算機B發送數據時。我們可以通過ARP協議來得到計算機B的MAC地址。
ARP協議也是通過廣播的形式給同一個子網中的每台電腦發送一個數據包(當然,這個數據包會包含接收方的IP地址, 這個 IP地址 怎麼來的,往下看 )。對方收到這個數據包之後,會取出IP地址與自身的對比,如果相同,則把自己的MAC地址回復給對方,否則就丟棄這個數據包。這樣,計算機A就能知道計算機B的MAC地址了。
可能有人會問,知道了MAC地址之後,發送數據是通過廣播的形式發送,詢問對方的MAC地址也是通過廣播的形式來發送,那其他計算機怎麼知道你是要傳送數據還是要詢問MAC地址呢?其實在詢問MAC地址的數據包中,在對方的MAC地址這一欄中,填的是一個特殊的MAC地址,其他計算機看到這個特殊的MAC地址之後,就能知道廣播想幹嘛了。
假如兩台計算機的IP不是處於同一個子網之中,這個時候,我們就會把數據包發送給網關,然後讓網關讓我們進行轉發傳送
3. DNS伺服器
這里再說一個問題,我們是如何知道對方計算機的IP地址的呢?這個問題可能有人會覺得很白痴,心想,當然是計算機的操作者來進行輸入了。這沒錯,當我們想要訪問某個網站的時候,我們可以輸入IP來進行訪問,但是我相信絕大多數人是輸入一個網址域名的,例如訪問網路是輸入 http://www..com 這個域名。其實當我們輸入這個域名時,會有一個叫做DNS伺服器的傢伙來幫我們解析這個域名,然後返回這個域名對應的IP給我們的。
因此,網路層的功能就是讓我們在茫茫人海中,能夠找到另一台計算機在哪裡,是否屬於同一個子網等。
通過物理層、數據鏈路層以及網路層的互相幫助,我們已經把數據成功從計算機A傳送到計算機B了,可是,計算機B裡面有各種各樣的應用程序,計算機該如何知道這些數據是給誰的呢?
這個時候, 埠(Port) 這個傢伙就上場了,也就是說,我們在從計算機A傳數據給計算表B的時候,還得指定一個埠,以供特定的應用程序來接受處理。
也就是說,傳輸層的功能就是建立埠到埠的通信。相比網路層的功能是建立主機到主機的通信。
也就是說,只有有了IP和埠,我們才能進行准確著通信。這個時候可能有人會說,我輸入IP地址的時候並沒有指定一個埠啊。其實呢,對於有些傳輸協議,已經有設定了一些默認埠了。例如http的傳輸默認埠是80,這些埠信息也會包含在數據包里的。
傳輸層最常見的兩大協議是 TCP 協議和 UDP 協議,其中 TCP 協議與 UDP 最大的不同就是 TCP 提供可靠的傳輸,而 UDP 提供的是不可靠傳輸。
終於說到應用層了,應用層這一層最接近我們用戶了。
雖然我們收到了傳輸層傳來的數據,可是這些傳過來的數據五花八門,有html格式的,有mp4格式的,各種各樣。你確定你能看的懂?
因此我們需要指定這些數據的格式規則,收到後才好解讀渲染。例如我們最常見的 Http 數據包中,就會指定該數據包是 什麼格式的文件了。
喜歡點個贊
原文看這里
❷ 計算機網路中相與是什麼演算法
在計算機網路中相與運算就是同為1時結果為1,其他都為0。取反就是0和1交換就行了。
網路地址和主機地址的演算法: 把子網掩碼轉換為2進制,然後與IP相與,就能得到網路地址。主機地址就是除去網路地址的部分。
計算機網路是指將地理位置不同的具有獨立功能的多台計算機及其外部設備,通過通信線路連接起來,在網路操作系統,網路管理軟體及網路通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。
❸ 什麼是相與運算取反呢
在計算機網路中相與運算就是同為1時結果為1,其他都為0。取反就是0和1交換就行了。
❹ ip地址和子網掩碼相「與」是怎麼運算的
把子網掩碼和IP地址都化為二進制,同1異0,同樣是1的,相與之後還是1,其他情況為0,再將相與後的二進制結果轉為十進制,就是網路地址了
❺ 計算機網路相與怎麼算
在計算機網路中相與運算就是同為1時結果為1,其他都為0
❻ 計算機網路知識點總結
計算機網路知識點總結
計算機網路使微機用戶也能夠分享到大型機的功能特性,充分體現了網路系統的“群體”優勢,能節省投資和降低成本。下面是我整理的關於計算機網路知識點總結,歡迎大家參考!
OSI,TCP/IP,五層協議的體系結構,以及各層協議
OSI分層 (7層):物理層、數據鏈路層、網路層、傳輸層、會話層、表示層、應用層。
TCP/IP分層(4層):網路介面層、 網際層、運輸層、 應用層。
五層協議 (5層):物理層、數據鏈路層、網路層、運輸層、 應用層。
每一層的協議如下:
物理層:RJ45、CLOCK、IEEE802.3 (中繼器,集線器,網關)
數據鏈路:PPP、FR、HDLC、VLAN、MAC (網橋,交換機)
網路層:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
傳輸層:TCP、UDP、SPX
會話層:NFS、SQL、NETBIOS、RPC
表示層:JPEG、MPEG、ASII
應用層:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
每一層的作用如下:
物理層:通過媒介傳輸比特,確定機械及電氣規范(比特Bit)
數據鏈路層:將比特組裝成幀和點到點的傳遞(幀Frame)
網路層:負責數據包從源到宿的傳遞和網際互連(包PackeT)
傳輸層:提供端到端的可靠報文傳遞和錯誤恢復(段Segment)
會話層:建立、管理和終止會話(會話協議數據單元SPDU)
表示層:對數據進行翻譯、加密和壓縮(表示協議數據單元PPDU)
應用層:允許訪問OSI環境的手段(應用協議數據單元APDU)
IP地址的分類
A類地址:以0開頭, 第一個位元組范圍:0~127(1.0.0.0 - 126.255.255.255);
B類地址:以10開頭, 第一個位元組范圍:128~191(128.0.0.0 - 191.255.255.255);
C類地址:以110開頭, 第一個位元組范圍:192~223(192.0.0.0 - 223.255.255.255);
10.0.0.0—10.255.255.255, 172.16.0.0—172.31.255.255, 192.168.0.0—192.168.255.255。(Internet上保留地址用於內部)
IP地址與子網掩碼相與得到主機號
ARP是地址解析協議,簡單語言解釋一下工作原理。
1:首先,每個主機都會在自己的ARP緩沖區中建立一個ARP列表,以表示IP地址和MAC地址之間的對應關系。
2:當源主機要發送數據時,首先檢查ARP列表中是否有對應IP地址的目的'主機的MAC地址,如果有,則直接發送數據,如果沒有,就向本網段的所有主機發送ARP數據包,該數據包包括的內容有:源主機 IP地址,源主機MAC地址,目的主機的IP 地址。
3:當本網路的所有主機收到該ARP數據包時,首先檢查數據包中的IP地址是否是自己的IP地址,如果不是,則忽略該數據包,如果是,則首先從數據包中取出源主機的IP和MAC地址寫入到ARP列表中,如果已經存在,則覆蓋,然後將自己的MAC地址寫入ARP響應包中,告訴源主機自己是它想要找的MAC地址。
4:源主機收到ARP響應包後。將目的主機的IP和MAC地址寫入ARP列表,並利用此信息發送數據。如果源主機一直沒有收到ARP響應數據包,表示ARP查詢失敗。
廣播發送ARP請求,單播發送ARP響應。
各種協議
ICMP協議: 網際網路控制報文協議。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。
TFTP協議: 是TCP/IP協議族中的一個用來在客戶機與伺服器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務。
HTTP協議: 超文本傳輸協議,是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分布式超媒體信息系統。
DHCP協議: 動態主機配置協議,是一種讓系統得以連接到網路上,並獲取所需要的配置參數手段。
NAT協議:網路地址轉換屬接入廣域網(WAN)技術,是一種將私有(保留)地址轉化為合法IP地址的轉換技術,
DHCP協議:一個區域網的網路協議,使用UDP協議工作,用途:給內部網路或網路服務供應商自動分配IP地址,給用戶或者內部網路管理員作為對所有計算機作中央管理的手段。
描述:RARP
RARP是逆地址解析協議,作用是完成硬體地址到IP地址的映射,主要用於無盤工作站,因為給無盤工作站配置的IP地址不能保存。工作流程:在網路中配置一台RARP伺服器,裡面保存著IP地址和MAC地址的映射關系,當無盤工作站啟動後,就封裝一個RARP數據包,裡面有其MAC地址,然後廣播到網路上去,當伺服器收到請求包後,就查找對應的MAC地址的IP地址裝入響應報文中發回給請求者。因為需要廣播請求報文,因此RARP只能用於具有廣播能力的網路。
TCP三次握手和四次揮手的全過程
三次握手:
第一次握手:客戶端發送syn包(syn=x)到伺服器,並進入SYN_SEND狀態,等待伺服器確認;
第二次握手:伺服器收到syn包,必須確認客戶的SYN(ack=x+1),同時自己也發送一個SYN包(syn=y),即SYN+ACK包,此時伺服器進入SYN_RECV狀態;
第三次握手:客戶端收到伺服器的SYN+ACK包,向伺服器發送確認包ACK(ack=y+1),此包發送完畢,客戶端和伺服器進入ESTABLISHED狀態,完成三次握手。
握手過程中傳送的包里不包含數據,三次握手完畢後,客戶端與伺服器才正式開始傳送數據。理想狀態下,TCP連接一旦建立,在通信雙方中的任何一方主動關閉連接之前,TCP 連接都將被一直保持下去。
四次握手
與建立連接的“三次握手”類似,斷開一個TCP連接則需要“四次握手”。
第一次揮手:主動關閉方發送一個FIN,用來關閉主動方到被動關閉方的數據傳送,也就是主動關閉方告訴被動關閉方:我已經不 會再給你發數據了(當然,在fin包之前發送出去的數據,如果沒有收到對應的ack確認報文,主動關閉方依然會重發這些數據),但是,此時主動關閉方還可 以接受數據。
第二次揮手:被動關閉方收到FIN包後,發送一個ACK給對方,確認序號為收到序號+1(與SYN相同,一個FIN佔用一個序號)。
第三次揮手:被動關閉方發送一個FIN,用來關閉被動關閉方到主動關閉方的數據傳送,也就是告訴主動關閉方,我的數據也發送完了,不會再給你發數據了。
第四次揮手:主動關閉方收到FIN後,發送一個ACK給被動關閉方,確認序號為收到序號+1,至此,完成四次揮手。
;❼ 計算機網路-4-4-轉發分組,構建子網和劃分超網
上圖是一個路由器怎麼進行分組轉發的例子:有四個A類網路通過三個路由器連接在一起,每一個網路上都可能會有成千上萬台主機。若路由表指出每一台主機該進行怎樣的轉發。則要維護的路由表是非常的龐大。 如果路由表指定到某一個網路如何轉發,則路由表中只有4行,每一行對應一個網路。 以路由器2的路由表為例:由於R2同時連接在網路2和網路3上,因此只要目標主機在網路2或者網路3上,都可以通過介面0或者1或者路由器R2直接交付(當然還有使用ARP協議找到這些主機相應的MAC地址)。若目標主機在網路1中,則下一跳路由器為R1,其IP地址為20.0.0.7。路由器R2和R1由於同時連接在網路2上,因此從路由器2把轉發分組給R1是很容易的。 我們應當注意到:每一個路由器至少都要擁有兩個不同的IP地址。 總之,在路由表中,對每一條路由最主要的是以下兩條信息: (目的網路,下一跳地址) 我們根據目的網路地址來確定下一跳路由器,這樣可以得到以下結論:
雖然互聯網上所有的分組轉發都是 基於目的主機所在的網路 ,但是在大多數情況下都允許這樣的實例: 對特定的主機指明一個路由 ,這種路由叫 特定主機路由 。採用特定主機路由可以使網路人員方便管理控制網路和測試網路
路由器還可以採用 默認路由 以減少路由表所佔用的空間和搜索路由表所使用的時間。
當路由器接收到一個待轉發的數據報,在從路由表中得出下一跳路由器的IP地址後,不是把這個地址寫入IP數據報,而是送交 數據鏈路層的網路介面軟體 ,網路介面軟體把負責下一跳的路由器IP地址轉化為硬體地址(必須使用ARP),將硬體地址寫入MAC幀的首部,然後根據這個硬體地址找到下一跳路由器。由此可見,當發送一連串的數據報時,上述的這種查找路由表,用ARP得到硬體地址,把硬體地址寫入MAC地址首部等過程,將不斷地重復進行,造成了一定的開銷。
根據以上幾點,我們提出 分組轉發演算法:
這里我們需要強調一下,路由表並沒有給分組指明某個網路的完整路徑(即先經過哪一個路由器,然後再經過哪一個路由器,等等)。路由表指出,到達某個網路應該先到達某個路由器(下一條路由器),在到達下一跳路由器之後,再繼續查找路由表,知道再下一步應當到達哪一個路由器。這樣一步步的查找下去,直到最後到達目的網路。
為什麼劃分子網?
為解決上述問題,從1985年引出 子網路號欄位 ,使得兩級IP地址變為三級IP地址,這種做法叫做 劃分子網(subnetting)【RFC950】 。
劃分子網的基本思路:
劃分子網的用例
如上圖為某單位擁有一個B類IP地址,網路地址為145.13.0.0(網路號為145.13),凡是目的網路為145.13.x.x的數據報都會送到這個網路上路由器R1上。
現在把該網路劃分為三個字網,這里假設子網路號佔用8位,因此主機號就只剩下16-8=8位了,所劃分的三個字網為145.13.3.0,145.13.7.0,145.3.21.0。路由器在接受到145.13.0.0上的路由器數據後,再根據數據報的目的地址把它轉化到相應的子網。
總之,當沒有劃分子網的時候,IP地址是兩節結構。劃分子網後IP地址就變成了三級結構。劃分子網只是把IP地址的主機號這部分進行再劃分,而不改變IP地址原來的網路號。
假定有一個IP數據報(其目的地址為145.13.3.10)已經到達了路由器R1,那麼這個路由器如何把它轉發到子網145.13.3.0呢?
我們知道,從IP數據包報的首部無法看出源主機的目的主機所連接的網路是否進行了子網劃分。這是因為32位IP地址本身以及數據報的首部沒有包含任何關於子網劃分的信息。因此必須另想辦法,這就是使用 子網掩碼 。
把三級IP地址的子網掩碼和收到的目的地址的IP地址 逐位進行與(AND)運算,就可以立即得到網路地址,剩下的步驟就交給路由器處理分組。
使用子網掩碼的好處是:不管網路有沒有劃分子網,只要把子網掩碼和IP地址進行逐位 與(AND) 運算,就立即得出網路地址來,這樣在路由器處理到來的分組時就可採取同樣的做法。
在不劃分子網時,為什麼還要使用子網掩碼?這就是為了更便於查找路由表。現在互聯網規定:所有網路都必須使用子網掩碼,同時在路由器的路由表中也必須有子網掩碼這一欄。如果一個網路不劃分子網,那麼該網路的子網掩碼就是用 默認的子網掩碼 ,默認子網掩碼中1的位置和IP地址中的網路號欄位net-id正好相對應。因此,若用默認子網掩碼和某個不劃分子網的IP地址逐位相"與",就應該能夠得出該IP地址的網路地址來,這樣做可以不用查找該地址的類別位就能夠知道這是哪一類的IP地址。顯然:
圖4-21是這三類IP地址的網路地址和相應的默認子網掩碼:
子網掩碼是一個網路或者一個子網的重要屬性 。在RFC950成為互聯網標准後,路由器在和相鄰路由器交換路由信息時,必須把自己所在的網路(或子網)的子網掩碼告訴相鄰路由器,在路由器的路由表中的每一個項目,除了要給出目的網路地址外,還必須同時給出該網路的子網掩碼。若一個路由器連接在兩個子網上就擁有兩個網路地址和兩個子網掩碼。
例4-2:
已知IP地址是141.14.72.24,子網掩碼是255.255.192.0,求網路地址:
解: 255.255.192.0的二進制:11111111 11111111 11000000 00000000
IP 141.14.72.24二進制: 11111111 11111111 01001000
00000000
將IP地址二進制與子網掩碼二進制進行 與(AND)運算 為 ::11111111 11111111 11000000 00000000
即網路IP為:141.14.64.0
在劃分子網的情況下,分組轉發的演算法必須作出改動。在使用子網劃分後,路由表應該包含以下內容:
在劃分子網的情況下,路由器轉發分組的演算法如下:
例4-4:
圖4-24有三個字網,兩個路由器,以及路由器R1的部分路由表。現在源主機H1向目的主機H2發送分組。試討論R1收到H1向H2發送的分組後查路由表的過程。
解:
源主機H1向目標主機H2發送的分組的目的地址為128.30.33.138。
源主機H1把本子網的子網掩碼255.255.255.128與H2的IP地址128.30.33.128相與得到128.30.33.128,它不等於H1的網路地址(128.30.33.0)。這說明主機H2與主機H1不在同一個網段上,因此H1不能把數據包直接交付給H2。必須交給子網上的默認路由R1,由R1轉發。
路由表在接受到這個分組之後,就在其路由表中逐行匹配尋找。
首先看R1路由表的第一行:用這一行的子網掩碼255.255.255.128與H2IP地址進行互與,得到128.30.33.128,然後和這一行用樣的方法進行第二行,結果發現相與出來的結果和目的網路地址匹配,則說明這個網路(子網2)就是收到的分組所要尋找的目的網路。於是就不用繼續找了。R1把分組從介面1直接交付給主機H2(他們都在一個子網上)。
在一個劃分子網的網路中可使用幾個不同的子網掩碼。使用變長 子網掩碼VLSM(Variable Length Subnet Mask) 可進一步提高IP地址資源的利用率。在VLSM的基礎上又進一步研究出 無分類編制 方法。它的正式名字是無分類域間路由選擇CIDR(Classless Inter-Domain Routing)。
CIDR 最主要的特點有兩個:
CIDR還使用斜線記法,就是在IP地址後面加上斜線/,然後寫上 網路前綴所佔的位數 。例如IP地址為128.14.35.7/20是某CIDR地址快中的一個地址,其中前20位就是網路前綴,後面的14位是主機位。如圖所示:
當然以上地址的主機號全為0和全為1的地址,一般並不使用,這個地址塊共有2^12個地址,我們可以使用地址塊中最小的地址和網路前綴來指明這個地址快。例如,上述的地址塊可記為128.14.32.0/20。
為了更方便的進行路由選擇,CIDR使用了32位的地址掩碼(address mask)。地址掩碼是由一串1和一串0組成, 而1的個數就是網路前綴的個數。 雖然CIDR不使用子網了,但是出於某些原因,CIDR使用的地址掩碼也可以繼續稱為 子網掩碼,斜線記法中,斜線後面的數字就是1的個數 。例如,/20地址快的地址掩碼是 11111111 11111111 11110000 00000000 (20個連續的1)。 斜線記法中,斜線後面的數字就是地址掩碼中1的個數。
斜線記法還有一個好處就是它除了可以表示一個IP地址外,還提供了一些其他重要的信息。我們舉例說明如下:
例如,地址為192.199.170.82/27不僅表示IP地址是192.199.170.82,而且還表示這個地址快的網路前綴有27位(剩下的5位是主機號),因此這個地址快包含32個IP地址( =32)。通過見到那的計算還可以得出,這個地址塊的最小地址是192.199.170.64,最大地址是192.199.170.95。具體的計算方法是這樣的:找到地址掩碼中1和0的交界處發生在地址中的哪一個位元組,現在是第四個位元組,因此只要把這一個位元組的十進制82用二進製表示即可:82的二進制是01010010,取其前3位(這3位加上前3位元組的24位就夠成了27位),再把後面的5位都寫成0,即01000000,等於十進制64,這樣就找到了地址快的最小地址192.199.170.64,再把最後面5位都置為1,即01011111,等於十進制的95,這就找到了地址塊中的最大地址192.199.170.95。
由於一個CICR地址塊有很多地址,所以在路由表中就利用CIDR地址塊來查找目的網路。這種地址的聚合常稱之為 路由聚合(route aggregation) ,它使得路由表中的一個項目可以表示原來傳統分類地址的很多個路由,路由聚合也稱之為 構成超網(supernetting) ,路由聚合有利於減少路由器之間的路由選擇信息的交換,從而提高了整個互聯網的性能。
每一個CIDR地址塊中的地址數一定是2的整數次冪,這就是 構建超網 的來源。
網路前綴越短 ,其地址塊所包含的地址數就越多,而在三級結構的IP地址中,劃分子網是使網路前綴變長。
在使用了CIDR時,由於採用網路前綴這種記法,IP地址由網路前綴和主機號這兩部分組成,因此在路由表中的項目也要有相應的變化,這時,每個項目由 網路前綴 和 下一跳地址組成 , 但是在查找路由表時可能會得到不止一個匹配結果 ,這樣就帶來一個問題:我們應該從這些匹配結果中選擇哪一條路由呢?
正確的答案是: 應但從匹配結果中選擇具有最長網路前綴的路由 ,這就做 最長前綴匹配(long-prefix matching) ,這是因為網路前綴越長,說明其地址塊越小因而路由就越具體,最長前綴匹配又稱之為 最長匹配 或者 最佳匹配 。
使用CIDR後,由於要尋找最長前綴匹配,使路由表的查找過程變的十分復雜,當路由表的項目數很大的時候,怎樣設法減少路由表的平均查找時間就成為了一個非常重要的問題,現在常用的是 二叉線索(binary trie) ,它是一種特殊結構的樹,IP地址中從左到右的比特值決定了從根節點逐層向下層延伸的路徑,二二叉線索中的各個路徑就代表路由表中存放的各個地址。
圖4-26用一個例子說明二叉樹線索的結構,圖中給出了5個IP地址。為了簡化二叉線索的結構,可以先找出對應一與每一個IP地址的唯一前綴(unique prefix),所謂唯一前綴就是在表中所有的IP地址中,該前綴時唯一的,這樣就可以用這些唯一前綴來構造二叉線索。在進行查找時,只要能夠和唯一前綴匹配相匹配就可以了。
從二叉樹的根節點自頂向下的深度最多有32層,每一層對應於IP地址中的一位。
❽ 同一網段 有什麼好處
好處:
在一個子網中的計算機不需要路由器等三層設備就可以通信。
弊端:
如果計算機太多其廣播信息太多就會影響正常的通信。
同一網段指的是IP地址和子網掩碼相與得到相同的網路地址。
想在同一網段,必需做到網路標識相同,那網路標識怎麼算呢?各類IP的網路標識演算法都是不一樣的。A類的,只算第一段。B類,只算第一、二段。C類,算第一、二、三段。
演算法只要把IP和子網掩碼的每位數AND就可以了。
AND方法:0和1=00和0=01和1=1
如:And192.168.0.1,255.255.255.0,先轉換為二進制,然後AND每一位
IP11000000.10101000.00000000.00000001
子網掩碼11111111.11111111.11111111.00000000
得出AND結果 11000000.10101000.00000000.00000000
轉換為十進制192.168.0.0,這就是網路標識,
再將子網掩碼反取,也就是00000000.00000000.00000000.11111111,與IPAND
得出結果00000000.00000000.00000000.00000001,轉換為10進制,即0.0.0.1,
這0.0.0.1就是主機標識。要想在同一網段,必需做到網路標識一樣。
我們再來看看這個改為默認子網掩碼的B類IP
如IP:188.188.0.111,188.188.5.222,子網掩碼都設為255.255.254.0,在同一網段嗎?
先將這些轉換成二進制
188.188.0.11110111100.10111100.00000000.01101111
188.188.5.22210111100.10111100.00000101.11011110
255.255.254.011111111.11111111.11111110.00000000
分別AND,得
10111100.10111100.00000000.00000000
10111100.10111100.00000100.00000000
網路標識不一樣,即不在同一網段。
判斷是不是在同一網段,你會了吧,下面,我們來點實際的。
一個公司有530台電腦,組成一個對等區域網,子網掩碼和IP設多少最合適?
子網掩碼不說了,前面算出結果來了11111111.11111111.11111100.00000000,也就是255.255.252.0
現在要確定的是IP如何分配,首先,選一個B類IP段,這里就選188.188.x.x吧
這樣,IP的前兩段確定的,關鍵是要確定第三段,只要網路標識相同就可以了。我們先來確定網路號。(我們把子網掩碼中的1和IP中的 對就起來,0和*對應起來,如下:)
255.255.252.011111111.11111111.11111100.00000000
188.188.x.x10111100.10111100. **.********
網路標識10111100.10111100. 00.00000000
由此可知, *處隨便填(只能用0和1填,不一定全是0和1)
❾ 計算機網路的硬體組成是什麼
1:
運算器或稱
算術
邏輯單元
(Arithmetical
and
Logical
Unit)
2:
存儲器(Memory
unit)
3:
控制器(Control
Unit)
4:
輸入設備(Input
device)
5:
輸出設備(Output
device)