計算機網(wǎng)絡(luò)知識是自動化測試等技術(shù)基礎(chǔ)挣饥,也是測試面試必考題目自晰〗L樱霍格沃茲測試學(xué)院特別策劃了本系列文章浙宜,將帶大家一步步夯實計算機網(wǎng)絡(luò)的基礎(chǔ)知識。
由于物理層知識在互聯(lián)網(wǎng)軟件研發(fā)工作中用到的并不多蛹磺,所以可以僅做一個簡單的了解粟瞬。
物理層解決如何在連接計算機的各種傳輸媒體上傳輸數(shù)據(jù)比特流,而不是指具體的傳輸媒體萤捆。
物理層的主要任務(wù)描述為:確定與傳輸媒體的接口的一些特性裙品,即:
機械特性:
例如接口形狀俗批、大小、引線數(shù)目
電氣特性:
例如規(guī)定的電壓范圍(-5V-+5V)
功能特性:
例如規(guī)定-5V表示0市怎,+5V表示1
過程特性:
也稱規(guī)程特性岁忘,規(guī)定建立連接時各個相關(guān)部件的工作步驟
典型的數(shù)據(jù)通信模型,如下圖所示:
我們輸入的文字通過計算機的網(wǎng)卡以0101的二進制比特流數(shù)字信號發(fā)送出去区匠,經(jīng)調(diào)制解調(diào)器轉(zhuǎn)換為模擬信號干像,通過網(wǎng)絡(luò)傳輸,再利用調(diào)制解調(diào)器轉(zhuǎn)換為數(shù)字信號驰弄,最終由接收計算機的網(wǎng)卡接收轉(zhuǎn)換顯示麻汰。
相關(guān)術(shù)語
通信的目的是傳送消息
有關(guān)信道的幾個基本概念
信道一般表示向一個方向傳送信息的媒體,所以咱們說平常的通信線路往往包含一條發(fā)送信息的信道和一條接收信息的信道
生活中的實例:
數(shù)字信號通過實際的信號
奈氏準則
1924 年揩懒,奈奎斯特(Nyquist)就推導(dǎo)出了著名的奈氏準則什乙。他給出了在假定的理想條件下挽封,為了避免碼間串?dāng)_已球,碼元的傳輸速率的上限值。
在任何信道中辅愿,碼元傳輸?shù)乃俾适怯猩舷薜闹橇粒駝t就會出現(xiàn)碼間串?dāng)_的問題,使接收端對碼元的判決(即識別)成為不可能点待。
單獨看專業(yè)解釋比較晦澀阔蛉,舉個實際的例子:
好比我們正常看電影或者以前用磁帶歌(暴露年齡了~現(xiàn)在的00后估計都不知道磁帶長啥樣了)癞埠;正常情況下我們可以聽清楚臺詞和歌詞状原,那么加速快進一點,也沒有問題苗踪,繼續(xù)加速呢颠区?加速非常快的時候通铲,就好比有的電影會有場景回溯的情節(jié)毕莱,已發(fā)生的事情快速的倒放,聲音就變成哇啦啦啦啦嘰里呱啦(自己腦補吧)颅夺,臺詞或歌詞也就聽不清了朋截。
也就是說信道傳輸速率不能無限制的快,有一個限度吧黄。
信噪比和香農(nóng)(Shannon)公式
香農(nóng)(Shannon)用信息論的理論推導(dǎo)出了帶寬受限且有高斯白噪聲干擾的信道的極限部服、無差錯的信息傳輸速率。
信道的極限信息傳輸速率 C 可表達為:
結(jié)論:減少速度和增大功率能提高準確度
奈氏準則和香農(nóng)公式的應(yīng)用范圍
導(dǎo)向傳輸媒體中拗慨,電磁波沿著固體媒體傳播
各種電纜
光纖
非導(dǎo)向傳輸媒體廓八,指自由空間厦酬,其中的電磁波傳輸被稱為無線傳輸。
短波通信主要是靠電離層的反射瘫想,但短波信道的通信質(zhì)量較差仗阅。
微波在空間主要是直線傳播:
信道復(fù)用技術(shù)
頻分復(fù)用
時分復(fù)用
統(tǒng)計時分復(fù)用
波分復(fù)用
碼分復(fù)用
數(shù)字傳輸系統(tǒng)
帶寬接入技術(shù)
若從主機H1向主機H2發(fā)送數(shù)據(jù),所經(jīng)歷的模型方式如下圖
只關(guān)心數(shù)據(jù)鏈路層的話国夜,如下圖所示:
點到點信道:
這種信道使用一對一的點到點通信方式减噪;好比我們拿兩臺電腦,用一根網(wǎng)線直接將兩臺電腦相連接车吹,這就屬于點到點筹裕。
廣播信道:
這種信道使用一對多的廣播通信方式,因此過程比較復(fù)雜窄驹。廣播信道上連接的主機很多朝卒,因此必須使用專用的共享信道協(xié)議來協(xié)調(diào)這些主機的數(shù)據(jù)發(fā) 。
接著上面的例子乐埠,如果將兩臺電腦直接用集線器進行連接抗斤,同時再接入其他電腦,那么只要其中一臺電腦發(fā)消息丈咐,其他電腦都可以收到瑞眼,這種就屬于廣播信道。
鏈路(link)
是一條點到點的物理線路段棵逊,中間沒有任何其他的交換節(jié)點伤疙。一條鏈路只是一條通路的一個組成部分。例:一根網(wǎng)線就屬于鏈路辆影,是一條物理鏈路徒像。
數(shù)據(jù)鏈路(data link)
除了物理線路外,還必須有通信協(xié)議來控制這些數(shù)據(jù)的傳輸蛙讥。若把實現(xiàn)這些協(xié)議的硬件和軟件加到鏈路上锯蛀,就構(gòu)成了數(shù)據(jù)鏈路。
現(xiàn)在最常用的方法是使用適配器(網(wǎng)卡)來實現(xiàn)這些協(xié)議的硬件和軟件键菱。
一般的適配器都包括了數(shù)據(jù)鏈路層和物理層這兩層的功能谬墙。
數(shù)據(jù)傳送到數(shù)據(jù)鏈路層變成幀,由幀頭幀尾來表示幀的開始和結(jié)束
傳到物理層變?yōu)楸忍亓骰虿ㄐ盘柧福ㄟ^鏈路進行發(fā)送
接收端收到數(shù)據(jù)后依次反向解析
具體參考如下圖:
封裝成幀(framing)就是在一段數(shù)據(jù)的前后分別添加首部和尾部拭抬,然后就構(gòu)成了一個幀。確定幀的界限侵蒙。
首部和尾部的一個重要作用就是進行幀定界造虎。
如果再傳輸過程中有數(shù)據(jù)中斷或丟失了,在收到數(shù)據(jù)的時候發(fā)現(xiàn)沒有幀頭或幀尾纷闺,那么計算機就會將此斷數(shù)據(jù)丟棄算凿。
傳輸過程中可能會出現(xiàn)如下情況份蝴,傳輸?shù)臄?shù)據(jù)中包含了和幀尾結(jié)束符一樣的數(shù)據(jù),這樣就可能導(dǎo)致數(shù)據(jù)被誤認為結(jié)束了氓轰,具體見下圖:
因此在傳輸過程中加入轉(zhuǎn)義字符婚夫,發(fā)送后和接收前加入,而發(fā)送方和接收方并不知道署鸡,所以也就稱之為透明傳輸
字節(jié)填充(byte stuffing)或字符填充(character stuffing)——接收端的數(shù)據(jù)鏈路層在將數(shù)據(jù)送往網(wǎng)絡(luò)層之前刪除插入的轉(zhuǎn)義字符案糙。
如果轉(zhuǎn)義字符也出現(xiàn)數(shù)據(jù)當(dāng)中,那么應(yīng)在轉(zhuǎn)義字符前面插入一個轉(zhuǎn)義字符靴庆。當(dāng)接收端收到連續(xù)的兩個轉(zhuǎn)義字符時时捌,就刪除其中前面的一個。
在傳輸過程中可能會產(chǎn)生比特差錯:1 可能會變成 0 而 0 也可能變成 1炉抒。
在一段時間內(nèi)奢讨,傳輸錯誤的比特占所傳輸比特總數(shù)的比率稱為誤碼率 BER (Bit Error Rate)。
誤碼率與信噪比有很大的關(guān)系焰薄。
為了保證數(shù)據(jù)傳輸?shù)目煽啃阅弥睿谟嬎銠C網(wǎng)絡(luò)傳輸數(shù)據(jù)時,必須采用各種差錯檢測措施
循環(huán)冗余檢驗 CRC:計算余數(shù)來判斷數(shù)據(jù)是否丟失
注意事項:
僅用循環(huán)冗余檢驗 CRC 差錯檢測技術(shù)只能做到無差錯接受(accept)蛤奥。
“無差錯接受”是指:“凡是接受的幀(即不包括丟棄的幀)佳镜,我們都能以非常接近于 1 的概率認為這些幀在傳輸過程中沒有產(chǎn)生差錯”僚稿。
也就是說:“凡是接收端數(shù)據(jù)鏈路層接受的幀都沒有傳輸差錯”(有差錯的幀就丟棄而不接受)凡桥。
要做到“可靠傳輸”(即發(fā)送什么就收到什么)就必須再加上確認和重傳機制。
考慮幀重復(fù)蚀同、幀丟失缅刽、幀亂序的情況
總結(jié):CRC只負責(zé)無差錯接收,且只是無比特差錯蠢络,出錯后需要上層進行重傳衰猛。
最早我們使用電話撥號上網(wǎng)就是這種PPP協(xié)議:
它具有身份驗證,記賬的功能刹孔。
PPP協(xié)議幀格式
局域網(wǎng)最主要的特點是:
網(wǎng)絡(luò)為一個單位所擁有啡省,且地理范圍和站點數(shù)目均有限。
局域網(wǎng)具有如下的一些主要優(yōu)點:
具有廣播功能髓霞,從一個站點可很方便地訪問全網(wǎng)卦睹。局域網(wǎng)上的主機可共享連接在局域網(wǎng)上的各種硬件和軟件資源。
便于系統(tǒng)的擴展和逐漸地演變方库,各設(shè)備的位置可靈活調(diào)整和改變结序。
提高了系統(tǒng)的可靠性、可用性和殘存性纵潦。
局域網(wǎng)的拓撲(也就是指物理上怎么連接的):
最初的以太網(wǎng)是將許多計算機都連接到一根總線上徐鹤。當(dāng)初認為這樣的連接方法既簡單又可靠垃环,因為總線上沒有有源器件。但是這樣的話很不安全(參考集線器)
“多點接入”表示許多計算機以多點接入的方式連接在一根總線上返敬。
“載波監(jiān)聽”是指每一個站在發(fā)送數(shù)據(jù)之前先要檢測一下總線上是否有其他計算機在發(fā)送數(shù)據(jù)遂庄,如果有,則暫時不要發(fā)送數(shù)據(jù)劲赠,以免發(fā)生碰撞涧团。
總線上并沒有什么“載波”。因此经磅, “載波監(jiān)聽”就是用電子技術(shù)檢測總線上有沒有其他計算機發(fā)送的數(shù)據(jù)信號泌绣。
“碰撞檢測”就是計算機邊發(fā)送數(shù)據(jù)邊檢測信道上的信號電壓大小。
當(dāng)幾個站同時在總線上發(fā)送數(shù)據(jù)時预厌,總線上的信號電壓擺動值將會增大(互相疊加)阿迈。
當(dāng)一個站檢測到的信號電壓擺動值超過一定的門限值時,就認為總線上至少有兩個站同時在發(fā)送數(shù)據(jù)轧叽,表明產(chǎn)生了碰撞苗沧。
所謂“碰撞”就是發(fā)生了沖突。因此“碰撞檢測”也稱為“沖突檢測”炭晒。
最先發(fā)送數(shù)據(jù)幀的站待逞,在發(fā)送數(shù)據(jù)幀后至多經(jīng)過時間 2τ(兩倍的端到端往返時延)就可知道發(fā)送的數(shù)據(jù)幀是否遭受了碰撞。
以太網(wǎng)的端到端往返時延 2τ稱為爭用期网严,或碰撞窗口识樱。
經(jīng)過爭用期這段時間還沒有檢測到碰撞,才能肯定這次發(fā)送不會發(fā)生碰撞震束。
爭用期長度
以太網(wǎng)取 51.2 us 為爭用期的長度怜庸。
對于 10 Mb/s 以太網(wǎng),在爭用期內(nèi)可發(fā)送512 bit垢村,即 64 字節(jié)割疾。
以太網(wǎng)在發(fā)送數(shù)據(jù)時,若前 64 字節(jié)沒有發(fā)生沖突嘉栓,則后續(xù)的數(shù)據(jù)就不會發(fā)生沖突宏榕。
DIX Ethernet V2 是世界上第一個局域網(wǎng)產(chǎn)品(以太網(wǎng))的規(guī)約。
IEEE 的 802.3 標準侵佃。
DIX Ethernet V2 標準與 IEEE 的 802.3 標準只有很小的差別麻昼,因此可以將 802.3 局域網(wǎng)簡稱為“以太網(wǎng)”。
嚴格說來趣钱,“以太網(wǎng)”應(yīng)當(dāng)是指符合 DIX Ethernet V2 標準的局域網(wǎng)
為了使數(shù)據(jù)鏈路層能更好地適應(yīng)多種局域網(wǎng)標準涌献,802 委員會就將局域網(wǎng)的數(shù)據(jù)鏈路層拆成兩個子層:
邏輯鏈路控制 LLC (Logical Link Control)子層
媒體接入控制 MAC (Medium Access Control)子層。
以太網(wǎng)提供的服務(wù)是不可靠的交付首有,即盡最大努力的交付燕垃。
當(dāng)目的站收到有差錯的數(shù)據(jù)幀時就丟棄此幀枢劝,其他什么也不做。差錯的糾正由高層來決定卜壕。
如果高層發(fā)現(xiàn)丟失了一些數(shù)據(jù)而進行重傳您旁,但以太網(wǎng)并不知道這是一個重傳的幀,而是當(dāng)作一個新的數(shù)據(jù)幀來發(fā)送轴捎。
傳統(tǒng)以太網(wǎng)最初是使用粗同軸電纜鹤盒,后來演進到使用比較便宜的細同軸電纜,最后發(fā)展為使用更便宜和更靈活的雙絞線侦副。
這種以太網(wǎng)采用星形拓撲侦锯,在星形的中心則增加了一種可靠性非常高的設(shè)備,叫做集線器(hub)
集線器原理示意圖:
由圖中可以看到集線器邏輯上仍然是一個總線網(wǎng)秦驯,就像一個多接口的轉(zhuǎn)發(fā)器尺碰,工作在物理層。
一個幀從開始發(fā)送译隘,經(jīng)可能發(fā)生的碰撞后亲桥,將再重傳數(shù)次,到發(fā)送成功且信道轉(zhuǎn)為空閑(即再經(jīng)過時間 τ 使得信道上無信號在傳播)時為止固耘,是發(fā)送一幀所需的平均時間题篷。
要提高以太網(wǎng)的信道利用率,就必須減小 τ 與 T0 之比厅目。在以太網(wǎng)中定義了參數(shù) a番枚,它是以太網(wǎng)單程端到端時延 ? 與幀的發(fā)送時間 T0 之比:
a→0 表示一發(fā)生碰撞就立即可以檢測出來,并立即停止發(fā)送璧瞬,因而信道利用率很高户辫。
a 越大,表明爭用期所占的比例增大嗤锉,每發(fā)生一次碰撞就浪費許多信道資源,使得信道利用率明顯降低墓塌。
當(dāng)數(shù)據(jù)率一定時瘟忱,以太網(wǎng)的連線的長度受到限制,否則 ? 的數(shù)值會太大苫幢。
以太網(wǎng)的幀長不能太短访诱,否則 T0 的值會太小,使 a 值太大韩肝。
因此信道利用率在理想狀況下是這樣的:
在理想化的情況下触菜,以太網(wǎng)上的各站發(fā)送數(shù)據(jù)都不會產(chǎn)生碰撞(這顯然已經(jīng)不是 CSMA/CD,而是需要使用一種特殊的調(diào)度方法)哀峻,即總線一旦空閑就有某一個站立即發(fā)送數(shù)據(jù)涡相。
發(fā)送一幀占用線路的時間是 T0 + ?哲泊,而幀本身的發(fā)送時間是 T0。于是我們可計算出理想情況下的極限信道利用率 Smax為:
IEEE 的注冊管理機構(gòu) RA 負責(zé)向廠家分配地址字段的前三個字節(jié)(即高位 24 位)催蝗。
地址字段中的后三個字節(jié)(即低位 24 位)由廠家自行指派切威,稱為擴展標識符,必須保證生產(chǎn)出的適配器沒有重復(fù)地址丙号。一個地址塊可以生成2^24個不同的地址先朦。這種 48 位地址稱為 MAC-48,它的通用名稱是EUI-48犬缨。
“MAC地址”實際上就是適配器地址或適配器標識符EUI-48喳魏。
適配器從網(wǎng)絡(luò)上每收到一個 MAC 幀就首先用硬件檢查 MAC 幀中的 MAC 地址.
如果是發(fā)往本站的幀則收下,然后再進行其他的處理怀薛。否則就將此幀丟棄截酷,不再進行其他的處理。
“發(fā)往本站的幀”包括以下三種幀:
單播(unicast)幀(一對一)
廣播(broadcast)幀(一對全體)
多播(multicast)幀(一對多)
距離上的擴展:
主機使用光纖和一對光纖調(diào)制解調(diào)器連接到集線器
數(shù)量上的擴展:
某大學(xué)有三個系乾戏,各自有一個局域網(wǎng)
由上述我們可以發(fā)現(xiàn)迂苛,用集線器擴展局域網(wǎng) ,雖然達到了擴大覆蓋的目的鼓择,但是碰撞域增大了三幻,總的吞吐量并未提高,因此我們就需要介紹另一位成員——網(wǎng)橋
在數(shù)據(jù)鏈路層擴展局域網(wǎng)是使用網(wǎng)橋呐能。
網(wǎng)橋工作在數(shù)據(jù)鏈路層念搬,它根據(jù) MAC 幀的目的地址對收到的幀進行轉(zhuǎn)發(fā)。
網(wǎng)橋具有過濾幀的功能摆出。當(dāng)網(wǎng)橋收到一個幀時朗徊,并不是向所有的接口轉(zhuǎn)發(fā)此幀,而是先檢查此幀的目的 MAC 地址偎漫,然后再確定將該幀轉(zhuǎn)發(fā)到哪一個接口
使用網(wǎng)橋擴展以太網(wǎng)
網(wǎng)橋使各網(wǎng)段成為隔離開的碰撞域
使用網(wǎng)橋帶來的好處
過濾通信量爷恳。
擴大了物理范圍。
提高了可靠性象踊。
可互連不同物理層温亲、不同 MAC 子層和不同速率(如10 Mb/s 和 100 Mb/s 以太網(wǎng))的局域網(wǎng)
使用網(wǎng)橋帶來的缺點
存儲轉(zhuǎn)發(fā)增加了時延。
在MAC 子層并沒有流量控制功能杯矩。
具有不同 MAC 子層的網(wǎng)段橋接在一起時時延更大栈虚。
網(wǎng)橋只適合于用戶數(shù)不太多(不超過幾百個)和通信量不太大的局域網(wǎng),否則有時還會因傳播過多的廣播信息而產(chǎn)生網(wǎng)絡(luò)擁塞史隆。這就是所謂的廣播風(fēng)暴魂务。
交換機
隨著網(wǎng)橋的接口的增加, 后來網(wǎng)橋和集線器合并了,計算機可以直接和交換機連接粘姜,這就是交換機鬓照。交換機就是網(wǎng)橋和集線器的合并升級版,能全雙工相艇,安全通信颖杏。
交換式集線器常稱為以太網(wǎng)交換機(switch)或第二層交換機(表明此交換機工作在數(shù)據(jù)鏈路層)。
以太網(wǎng)交換機通常都有十幾個接口坛芽。因此留储,以太網(wǎng)交換機實質(zhì)上就是一個多接口的網(wǎng)橋,可見交換機工作在數(shù)據(jù)鏈路層咙轩。
先來說什么是LAN获讳,LAN指的就是局域網(wǎng),我們可以通過路由器接上集線器活喊,再接計算機丐膝,形成不同網(wǎng)段的局域網(wǎng)(LAN)
而虛擬局域網(wǎng) VLAN 是由一些局域網(wǎng)網(wǎng)段構(gòu)成的與物理位置無關(guān)的邏輯組。
這些網(wǎng)段具有某些共同的需求钾菊。
每一個 VLAN 的幀都有一個明確的標識符帅矗,指明發(fā)送這個幀的工作站是屬于哪一個 VLAN。
虛擬局域網(wǎng)其實只是局域網(wǎng)給用戶提供的一種服務(wù)煞烫,而并不是一種新型局域網(wǎng)浑此。
虛擬局域網(wǎng)協(xié)議允許在以太網(wǎng)的幀格式中插入一個 4 字節(jié)的標識符,稱為 VLAN 標記(tag)滞详,用來指明發(fā)送該幀的工作站屬于哪一個虛擬局域網(wǎng)凛俱。
跨交換機的VLAN
喜歡軟件測試的小伙伴們,如果我的博客對你有幫助料饥、如果你喜歡我的博客內(nèi)容蒲犬,請 “點贊” “評論” “收藏” 一鍵三連哦!