1. 程式人生 > >計算機網路個人性總結

計算機網路個人性總結

這篇文章緊用於本人在複習時候使用的,其中有很多地方省略

物理層:

主要功能是:傳輸01位元流

介質:網線,光纖,同軸電纜,無線等等

中間裝置:轉發器

資料鏈路層:

主要兩種通道:1.點對點通道 (撥號上網isp[網路服務提供商])2.廣播通道 

第一個對應ppp協議(ppp幀)    第二個是CMDA/CD(載波接聽/多點接入  mac幀  半雙工:要麼接受要麼傳送不能同時進行)

三個基本問題:封裝成幀,透明傳輸,差錯檢測

封裝成幀:資料格式是幀  幀界定符為:soh(0000 0001)  eot(0000 0100)   

透明傳輸:相當於是:如果資料中有控制字元的幀界定符,會將這個幀界定符插入一個轉義字元 'esc' (0x1B)

     使資料可以正確通過資料鏈路層傳輸(如果資料中有幀界定符,也能傳輸)

差錯控制:這個幀在傳輸的過程中是否發生改變 使用CRC(迴圈冗餘檢測) 就是 在位元流後面新增一個冗餘碼

       冗餘碼的長度=除數的長度-1     冗餘碼=位元流S/除數P

      crc如何檢驗:傳送端新增後發到接收端 如果接受端將接收到的位元流除S以除數P餘數為0,就是對的

可靠傳輸:傳輸的資料都是真確的,如果不正確就重傳知道正確為止

 出錯情況:1.位元流出錯 CRC

                    2.幀丟失,幀重複,幀失序

                          新增幀編號,確認,重傳機制

                  現在有 [1],[2],[3]個幀

                  幀丟失:[1][3]    幀重複[1][1][2][3]  幀失序[1][3][2]

                  區分對待  通訊質量不好用 確認和重傳機制, 通訊質量強 不用確認和重傳機制

        其他:介面卡網絡卡的時鐘頻率沒有與位元流的頻率同步,所以需要介面卡網絡卡的時鐘頻率和位元流一樣,

                   所以就在幀前面插入8個位元組,同步時鐘頻率 前七個為同步碼 第八個為幀開始界定符

中間:網橋(過濾mac幀,轉發表[ mac地址,介面 ] 一般為2個介面),交換機(多個介面的網橋)等等

擴充套件網路: 集線器:能擴充套件 但會引發更大的衝突域  (一條線上同時只能有一個主機發訊號)

                網橋: 能擴充套件,可以連線不同速率的網路 但不能控制流量,當流量大了,緩衝區就會丟mac幀,造成速率下降

網際層(ip):

提供資料報,選擇路由

arp協議(地址解析):將ip地址轉化為mac地址,流程是:假如A主機想要找B主機的mac地址,A主機就會在區域網內廣播說

                             我的 (ip地址為: 192.168.2.3, mac地址為:00:0A:0B:04:07:09) 想要找B主機的mac地址,

                             他的ip為:192.168.2.5,當B主機收到這個資訊時,看到ip地址和自己的一樣就會對A說我的是你要找的主機

                             並告訴A,自己的mac地址

ICMP(網際控制報文協議  ):提高ip資料報的互動成功的機會,檢查到目的地址是否通暢(不需要通過傳輸層),

                              也可以用於路徑跟蹤(從A到B經過哪些路由器節點)

ip型別 A:0  B:10  C:110  D:1110 E:1111

網路號,子網號,主機號  子網掩碼   超網

分組:有

           標識(2位元組): 確認屬於哪一次的ip資料的  如有 1 個ip資料 分成3個分組  這個ip資料標識為3

                           那麼 3個分組都為3 ,這要才知道他們是屬於一個ip資料

             MF (3位):確認是否為最後一個分組,0位最後一個,1為不是

            偏移(13位):確認一個數據分組為一個ip資料的第幾個分組

VPN和NAT(網路地址轉化)

          NAT出現:ip地址數量不夠,所以區域網中可以 使用一個或幾個公有ip去上網   

                        轉化表:區域網ip,目的ip  經過nat軟體  區域網ip->公有ip,目的ip

                        有些時候還是不行,因為區域網主機多,公有ip還是不夠,所以加上埠(port)

                        NAPT(網路地址和埠轉化)

                         轉化表:區域網ip:port1,目的ip  經過napt軟體  區域網ip:port1->公有ip:port2 , 目的ip

路由器:存錯和轉發 轉發表(網路號,子網掩碼,介面)

傳輸層(tcp/udp):

停止等待協議,ARQ協議,滑動視窗,流量控制,擁塞控制和連線管理

可以使將資料傳輸到對一個的應用程序(通過埠)

tcp:可靠傳輸,面向連線的,udp:不可靠傳輸(盡最大努力交付)

停止等待協議:當A主機發送一個tcp資料到B主機,就停止傳送等待B主機發送確認回來,A主機會以一個超時重傳

ARQ(自動重傳請求):

先了解:tcp中的格式中的一個名詞:序號seq(4位元組)傳送的第一個資料的序號

                                                     確認號ack(4位元組):期望對方傳送的一個數據的序號

                                                    確認ACK:ACK=1有效,ACK=0無效

                                                   同步SYN :SYN=1同步    SYN=1和ACK=0請求同步,迴應SYN=1和ACK=1

                                                   視窗(2位元組):控制滑動視窗的大小

                                                   種植FIN:FIN=1釋放連線

滑動視窗:(tcp以位元組為單位):提高傳輸效率,A將視窗內的資料傳送給接收端B,B之後確認最後一個 比如:視窗長度為4,

                                        A傳送[1][2][3][4]  而B只接受到了[1][2][3],就會向A傳送確認3的序號,A主機就會從[4]開始

                                        [4][5][6][7] 發給B

流量控制:通過接收方傳送視窗大小從而控制流量的大小  (識別符號為:rwnd)

擁塞控制:通過傳送方控制擁塞視窗,如何判斷是否擁塞,通過請求的延遲,如果出現很連續多次傳送方收不到的確認,

                                 可以確認現在網路擁塞(cwnd 識別符號)

連線控制:

tcp三次握手:

A 傳送 SYN=1,seq=x 給b 此時A為syn-sent 

然後:B傳送SYN=1,ACK=1,ack=x+1,seq=y  此時B為:syn-revd

然後: A傳送ACK=1,ack=y+1,seq=x+1 給B 實現同步

為什麼要A最後傳送一次給B了?

因為:如果二次握手的話有一種情況  A傳送同步y1給B,但y1由於網路的原因阻塞到某個地方,A沒有收到回覆又傳送了一個

同步y2給B,此時B收到然後傳送給A同步,那麼A和B就同步起來了。A和B完成資料傳輸斷開連線。如果y1沒有被丟棄,

此時y1的網路恢復了,那麼y1傳送給B,B以後A又要同步,就給A傳送同步,A收到想我沒有發同步啊就拒收,

沒有消耗A的資源,但B會消耗資源等待A傳送資料,所以需要三次握手

四次揮手:

A主機發送 FIN=1,seq=u 給B 此時A為等待關閉1

然後:B主機發送ACK=1,ack=u+1,seq=v 給A 此時B為關閉等待,A為關閉等待2

然後: B主機在傳送FIN=1,ACK=1,ack=u+1,seq=w給A  此時B為最後確認

然後:A主機發送ACK=1,ack=w+1,seq=u+1給B B主機關閉,A主機等待平均單向傳輸時間的2倍後關閉

為什麼要2倍時間:

1.保證軌後一個ACK能到到B

應用層:

         確定程序通訊的規則:如石頭剪刀布,規則是:石頭大於剪刀,剪刀大於步,步大於石頭