客戶端和服務器通常運行在不同的主機上,通過計算機網絡的硬件和軟件資源來通信。網絡是個複雜的系統,這裡我們從程序員的角度來介紹一下網絡相關的概念。
對主機而言,網絡隻是一種I/O設備,是數據源和數據接收方。
一個插到I/O總線擴展槽的适配器提供了到網絡的物理接口,從網絡上接收到的數據從适配器經過I/O和内存總線複制到内存。相似地,數據也能從内存複制到網絡。
物理上而言,網絡是一個按照地理遠近組成的層次系統。最低層是LAN(local area network,局域網),如一個公司或學校的局域網。局域網有多種形式,但後來以太網(Ethernet)被證明是适應力極強的,因此成為最流行的局域網技術。
一個以太網段包括一些電纜和一個叫集線器的小盒子。以太網段通常跨越一些小的區域,如某個房間。每根電纜都有相同的最大位帶寬,通常是100Mb/s或1Gb/s。一端連接到主機的适配器,一端連接到集線器的一個端口。集線器不加分辨地将從一個端口收到的每個位複制到其他所有端口上。因此,每台主機都能看到每個位。
每個以太網适配器都有一個全球唯一的48位地址,它存儲在這個适配器的非易失性存儲器上,一台主機可以發送一段位(幀)到這個網段内的其他任何主機。每個幀包括一些固定數量的頭部位(header),用來标識此幀的源和目的地地址以及此幀的長度,緊随其後的就是數據位的有效載荷(payload)。每個主機适配器都能看到這個幀,但隻有目的主機實際讀取它。
使用電纜和叫做網橋(bridge)的小盒子,多個以太網段可以連接成較大的局域網,稱為橋接以太網(bridged Ethernet)。
橋接以太網能夠跨越整個建築物或校區。在一個橋接以太網裡,一些電纜連接網橋與網橋,一些連接網橋與集線器。這些電纜的帶寬可以是不同的。如上圖所示,網橋與網橋之間的電纜有1Gb/s的帶寬,而網橋與集線器之間的電纜帶寬是100Mb/s。
網橋比集線器更充分地利用了電纜帶寬。利用一種聰明的分配算法,它們随着時間自動學習哪個主機可以通過哪個端口可達,然後隻在必要時,有選擇地将幀從一個端口複制到另一個端口。如主機A發送一個幀到同網段的主機B,當該幀到達網橋X的輸入端口時,X就将此幀丢棄,因此節省了其他網段上的帶寬。而當主機A發送一個幀到一個不同網段上的主機C時,網橋X就會把此幀複制到與網橋Y相連的端口上,網橋Y隻會把此幀複制到與主機C的網段連接的端口。
在更高的層次上,多個不兼容的局域網通過叫路由器(router)的特殊計算機連接起來,組成一個互聯網絡(internet)。每台路由器對于它所連接到的每個網絡都有一個适配器。路由器也能連接高速點對點電話連接,這是稱為WAN(Wide Area Network,廣域網)的示例。下圖是一個互聯網絡的示例。
互聯網絡重要的特性是能由采用完全不同和不兼容技術的各種局域網和廣域網組成。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!