計算機基礎三:計算機網絡基礎

計算機網絡基礎

前言:

    經過前兩篇我們對計算機硬件基礎,計算機操作系統有了詳細的瞭解,這一篇呢我們瞭解一下計算機網絡基礎,我們在開啓電腦之後打開瀏覽器瀏覽一下網頁,看看新聞什麼的,但是你知道當你打開網頁到觀看頁面這個過程中電腦都經歷了什麼麼?

下面讓我們一起探索一下

粗聊:

    1.網絡協議:

           什麼是網絡協議?網絡協議爲計算機網絡中進行數據交換而建立的規則、標準或約定的集合。例如,網絡中一個微機用戶和一個大型主機的操作員進行通信,由於這兩個數據終端所用字符集不同,因此操作員所輸入的命令彼此不認識。爲了能進行通信,規定每個終端都要將各自字符集中的字符先變換爲標準字符集的字符後,才進入網絡傳送,到達目的終端之後,再變換爲該終端字符集的字符。

           打個比方:世界上有一百多種不同的語言,當我們兩個語種不同的國家進行溝通還好我們之間可以互相適應一下,但是當我們和7、8個甚至上10個國家一起溝通呢?我們就需要着一種大家都能聽懂的語言,這個語言就是英語,世界溝通的通用語,那麼電腦與電腦之間也是如此,我們把多個電腦之間能夠相互聽得懂的語言叫做網絡協議。

     2.協議作用:

           我們從物理層可以看到,多個電腦之間的溝通是靠高電平、低電平進行2進制的信息交互,所以我們用網絡協議將很長的2進制數規範起來,讓每一電腦通過這種協議能夠看懂網絡上每一個信息的關係。

    3網絡協議模型(osi):

            (圖片來自百度)

  osi模型總共分爲7層。

重心

  tcp/ip協議:

     1.爲什麼要有tcp/ip協議

         爲了減少網絡設計的複雜性,大多數網絡都採用分層結構。對於不同的網絡,層的數量、名字、內容和功能都不盡相同。在相同的網絡中,一臺機器上的第N層與另一臺機器上的第N層可利用第N層協議進行通信,協議基本上是雙方關於如何進行通信所達成的一致。

     2.tcp/ip協議與iso協議的區別

          

圖中我們可以看到tcp/ip協議分爲5層或者分爲4層我們進行一一講解。

         2.1物理層:

    他是實現網絡連接的第一層,人如其名,就是簡單的將水晶頭插到網卡上完成一個物理上的連接這麼簡單。

         2.2數據鏈路層:

    實現網絡鏈路的第二層,也是真正的第一個協議的出現。以太網(Ethernet)協議,以太網技術作爲數據鏈路層的一種簡單、高效的技術,以其爲核心,與其它物理層技術相結合,形成以太網技術接入體系。

    以太網技術特點:

          (1)局域網內廣播式查詢

                          一個電腦想要尋找另一臺電腦會對局域網內進行喊話,局域網內任何一臺電腦都能收到。

          (2)建立了以太協議

                          將要發送的數據進行打包,在前面加上一個以太協議的包頭

 

ethernet規定

  • 一組電信號構成一個數據包,叫做‘幀’
  • 每一數據幀分成:報頭head和數據data兩部分
       head                        data                             

 

head包含:(固定18個字節)

  • 發送者/源地址,6個字節
  • 接收者/目標地址,6個字節
  • 數據類型,6個字節

data包含:(最短46字節,最長1500字節)

  • 數據包的具體內容

head長度+data長度=最短64字節,最長1518字節,超過最大限制就分片發送

                (3)引入mac地址體系。

head中包含的源和目標地址由來:ethernet規定接入internet的設備都必須具備網卡,發送端和接收端的地址便是指網卡的地址,即mac地址

                 我們可以通過win+r下------>cmd--------->ipconfig/all進行查看

 

    2.3網絡層:

    看完上面那些我們可以在一個局域網內進行相互的溝通了,但是我們不可能侷限在幾十臺電腦組成的局域網內。我們需要連接到世界各地,這時以太協議就不能滿足我們的正常使用了。而且在一個世界的電腦網絡裏進行廣播的話分明是一場災難啊。爲了滿足不同局域網內的人進行溝通,機智的人們又發明了ip協議。

       (1)ip協議:

         IP協議是用於將多個包交換網絡連接起來的,它在源地址和目的地址之間傳送一種稱之爲數據包的東西,它還提供對數據大小的重新組裝功能,以適應不同網絡對包大小的要求。

        (2)ip協議的格式

         規定網絡地址的協議叫ip協議,它定義的地址稱之爲ip地址,廣泛採用的v4版本即ipv4,它規定網絡地址由32位2進製表示

         範圍0.0.0.0-255.255.255.255

         一個ip地址通常寫成四段十進制數,例:172.16.10.1

         (3)ip協議下數據包的組成

          ip數據包也分爲head和data部分,無須爲ip包定義單獨的欄位,直接放入以太網包的data部分

          head:長度爲20到60字節

          data:最長爲65,515字節。

          而以太網數據包的」數據」部分,最長只有1500字節。因此,如果IP數據包超過了1500字節,它就需要分割成幾個以太網數據包,分開發送了。

以太網頭                ip 頭                                     ip數據                                

     

          (4)關於arp協議:

            一種應用在路由上的廣播技術,可一控制發送次數,減少廣播時的消耗。

        到了這一層我們就可以從一臺計算機找到另一臺計算機了

2.4傳輸層

     我們已經找到了我們需要溝通的計算機,那麼我們需要通過軟件之間進行溝通了,但是我們也不能瞎溝通啊,我們之間得有都能弄懂的溝通方式吧。

     TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連接的、可靠的、基於字節流的傳輸層通信協議,由IETF的RFC 793定義。在簡化的計算機網絡OSI模型中,它完成第四層傳輸層所指定的功能,用戶數據報協議(UDP)是同一層內[1] 另一個重要的傳輸協議。

     簡單點說就是我們在要進行點對點傳輸前,創造一個是和傳輸的環境,這個創造的過程就是靠tcp協議進行,當然也可以靠udp。

     (1)tcp協議拓撲圖

       

建立數據傳輸前進行三次握手第2和3次可以同時發送,斷開時進行4次揮手考慮到客戶端傳輸完數據可以進行斷鏈申請,服務器進行同意,但是考慮到在此時服務器是否向客戶端傳輸數據完成,所以同樣是服務器向客戶端傳送信息,客戶端需要傳送完畢在進行斷鏈申請,由此出現了傳送同樣的4句話,建立連接是3次完成,而斷開連接需要4次。

開拓:

      學完上面的網絡基礎,用一張圖爲大家展示一下我們的軟件是怎麼聯繫到客戶端上的

   

隱藏貼:

         1.dns:每個IP地址都可以有一個主機名,主機名由一個或多個字符串組成,字符串之間用小數點隔開。有了主機名,就不要死記硬背每臺IP設備的IP地址,只要記住相對直觀有意義的主機名就行了。這就是DNS協議所要完成的功能。

          簡單說,就是將一個網址的域名轉換成ip地址的服務器,因爲我們所用的網絡是基於ip地址的網絡。我們訪問網絡也是訪問ip的過程。但是人們相比於記住數字更願意去記住有關聯性的東西,比方說百度對應的域名是www.baidu.com ,他的ip是123.125.114.144可能你說記住一個很好記,那我問你讓你記住10個ip地址呢,你本身就會亂掉的。所以dns就應運而生了。

          2.dhcp:DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)通常被應用在大型的局域網絡環境中,主要作用是集中的管理、分配IP地址,使網絡環境中的主機動態的獲得IP地址、Gateway地址、DNS服務器地址等信息,並能夠提升地址的使用率。

            dhcp協議能夠更好的管理連接進入局域網內的主機的ip地址,打個比方你是一名網關,每天都有不同的人來你這裏上網,你需要在你的列表裏查找剩餘的ip地址給這位,如果有一天分配了相同ip地址的人同時進來上網了,這是他們的地址會衝突,造成一人或者兩人都上不了的問題,而且讓網管一個一個的分配地址很累的。爲了簡化網管的操作勞累都,人們將可以使用的地址放在一個池子內,讓每一個來的人得到一個幾小時內能夠租用的ip地址進行使用,每個幾個小時在進行更替。這樣就保證了每一個來的人都有新的ip地址,同時網管不用一次次的分配了