三級網絡技術


目錄

計算機網絡筆記-第一章-概述

1、OSI參考模型

應用層:所有能產生網絡流量的程序
表示層:在傳輸之前是否進行加密或壓縮處理,以及數據描述(數據在各台計算機之間的描述格式不同)
會話層:提供數據交換的定界和同步功能,包括了建立檢查點和恢復方案的方法。
比如打開瀏覽器訪問一個網站,就要跟這個網站的服務器進行數據傳輸,從服務器過來的數據就顯示在這個標簽欄里,此時再打開一個標簽欄訪問另一個網站,這個網站的數據就只傳輸到這個標簽頁上,不能傳到第一個標簽頁上,不然就會錯亂。標簽頁和服務器之間就建立了一個會話。
如何查看會話,cmd->輸入netstat -n,established就是建立了會話。
在這里插入圖片描述
傳輸層:可靠傳輸,流量控制,不可靠傳輸
網絡層:負責選擇最佳路徑,規划ip地址。
數據鏈路層:定義幀的開始和結束,實現透明傳輸(中間加的進行轉義的位在接收端被去掉),還進行差錯校驗。
物理層:定義網絡設備的接口標准,電器標准等,解決如何在物理鏈路上傳輸更快。
由物理層往上都是下層的為上層提供服務。七層各司其職,又都是獨立的,比如傳輸層就只負責傳輸數據包而不管傳的數據是什么。

2、利用OSI參考模型對網絡進行排錯指導

  1. 物理層故障:查看網線連接狀態,查看數據包接收和發送的數目(在網線已連接通的情況下,直接打開網絡控制中心查看就可),如果只有發送卻沒有接收就可能是網線水晶頭(兩根發送數據,兩個接收數據)沒接好。
  2. 數據鏈路層故障:MAC地址沖突;ADSL欠費就是通過停止數據鏈路層訪問運營商的服務而停止網絡;網速發辦法協商一致,比如服務器是100兆,而接到的交換機是1000兆,這個交換機強制設置成1000兆且不允許網絡協商為100兆。
  3. 網絡層故障:配置了錯誤的IP地址,子網掩碼;配置了錯誤的網關;路由器上沒有配置到達目標網絡的路由。
  4. 應用層故障:應用程序配置錯誤(會話層,傳輸層,表示層,應用層統一化分為應用層故障)
  5. 以上排錯由底層往頂層排,低層的簡單,頂層的越復雜。

3、TCP/IP協議和OSI參考模型

TCP/IP協議和OSI參考模型
數據封裝:
數據封裝
在這里插入圖片描述
FCS是校驗位,對數據進行校驗。

4、計算機網絡的性能

1、速率:連接在計算機網絡上的主機在數字信道上傳送數據位數的速率,也稱為bit rate,單位是b/s,kb/s,Mb/s,Gb/s。
2、帶寬:數字信道傳送的最高數據率。單位是b/s,kb/s,Mb/s,Gb/s
3、吞吐量:在單位時間內通過某個網絡的數據量,單位b/s,Mb/s等。
4、時延

  1. 發送時延 = 數據塊長度(比特)/信道帶寬(比特/秒)
  2. 傳播時延,處理時延,排隊時延。處理時延就是比如經過某個路由器,路由器要分析這個數據包該發往哪個接收端,它應該走哪一個下一跳。排隊時延就是在到達某個路由器時,因為數據包可能很多此時都進入路由器的緩存中等待處理,這個等待的過程所花的時間就是排隊時延。

發送時延就是數據發送開始到全部進入傳輸信道所花的時間,信道帶寬越寬這個時間就越少,而傳播時延從數據發送端到接收端在信道中傳輸所花的時間,這個傳輸速度一般是跟傳輸介質有關,是一個固定值。
5、時延帶寬積:時延帶寬積 = 傳播時延 X 帶寬,表示的就是有多少數據正在信道線路上傳輸。
6、往返時間RTT:從發送方發送數據開始,到接發送方收到接收方確認。可以通過ping命令了解這個往返時間。
7、利用率

  1. 信道利用率:有數據通過時間/(有 + 無)數據通過時間
  2. 網絡利用率:信道利用率加權平均值
    利用率

計算機網絡筆記-第二章-物理層(了解)

1、基本概念

物理層的主要任務描述為:確定傳輸媒體的接口的一些特性,即

  • 機械特性:接口大小,形狀,引線數目
  • 電氣特性:例如規定電壓范圍(-5V到+5V)
  • 功能特性:例如規定-5V表示bit位0,+5V表示1
  • 過程特性:規定建立連接時各個相關部件的工作步驟。

單工通信:只能有一個方向的通信而沒有反方向的交互。
半雙工通信:通信的雙方可以發送信息,但不能雙方同時發送。
全雙工通信:通信雙方可以同時發送和接收信息。

基帶信號:來自信源的信號。比如說話的聲波,一般近距離通信就采用基帶傳輸,基帶信號的衰減不大。
帶通信號:把基帶信號經過載波調制后, 把信號的頻率范圍搬移到較高的頻段以便在信道中傳輸(即僅在一段頻率范圍內能夠通過信道)。適合傳輸到較遠距離。

對基帶信號的幾種調制方法:
在這里插入圖片描述
幾種編碼格式:(雙極性和單極性就是一個是正負兩端,一個只有一個端。歸零與不歸零就是在一個信號結束后是不是把電位設置為0。)
在這里插入圖片描述
曼徹斯特編碼:前面幾種無法表示沒有數據傳輸時是什么樣的,但是它可以。
在這里插入圖片描述
差分曼徹斯特編碼:
在這里插入圖片描述
信噪比:
在這里插入圖片描述
可見,噪聲功率越大,信道傳輸速率越低。比如在說話時,每分鍾說200個字,能聽清,在有噪聲鞭炮聲加入后每分鍾200個字可能就會聽不清,此時放慢速度就可以聽清。也能讓信息無差錯傳輸。這就是香農公式給出的信息准則。

網線:
在這里插入圖片描述

計算機網絡筆記-第三章-數據鏈路層

1、一些基本概念

在這里插入圖片描述
數據鏈路層的信道類型:
1、點對點信道。用網線直接連接兩台主機
2、廣播信道。廣播信道上連接的主機很多,因此必須使用專用的共享信道協議來協調這些主機的數據發送。加入了交換機這種設備的網絡。
在這里插入圖片描述
裝入是加入幀頭和幀尾,傳到物理層就是01的二進制。

2、數據鏈路層的三個基本問題

  1. 封裝成幀
    在這里插入圖片描述
    MTU是最大傳輸長度,以太網不超過1500字節
  2. 透明傳輸
    在這里插入圖片描述
    如果剛好數據部分出現了尾部標識,就會發生錯誤。導致提前結束數據部分的接收。此時解決辦法就是加入轉義字符,比如ESC,表示這是一個標識符。
    在這里插入圖片描述
    接收端收到后會把這些轉義字符去掉,因此對於接收者和發送者來說,他們是不知道這個轉義字符存在的,這就叫透明傳輸。
  3. 差錯控制
    傳輸過程中可能會產生比特差錯:1可能變成0,0也可能變成1。在一段時間內,傳輸錯的比特占傳輸比特總數的比率叫做誤碼率,它和信噪比有很大的關系。因此得采用各種差錯檢測措施。

差錯檢測措施:
1、循環冗余檢驗CRC
在發送端,先把數據划分為組。假定每組K個比特,待傳送得一組數據M = 101001(即K=6)。在M得后面添加供差錯檢測用的n位冗余碼一起發送。添加了冗余碼稱為幀檢驗序列FCS。CRC是一種常用的檢錯方法,而FCS是添加在數據后面的冗余碼,FCS可以由CRC這種方法得出,但不是只有這一種方法。
計算過程:
在這里插入圖片描述
前面的除數位數根據加的冗余碼的位數來定,比冗余碼的位數多一位,圖中三個000,除數就是4位,除數隨便選,1011,1111,1010均可。此時算出來的001就添加到M后面發送過去,接收端同樣的除以1101看看余數是不是0,是0沒問題,不是就說明數據部分發生了錯誤,就丟棄。圖中除法是進行的亦或運算,相同的取0,不同的取1。
CRC只能做到無差錯接受,即凡是接收端數據鏈路層接受的幀都沒有傳輸差錯,有差錯的幀就丟棄而不接受。要做到可靠傳輸,(即發送什么就收到什么)就必須再加上確認和重傳機制,考慮幀重復,幀丟失,幀亂序的情況。
除數位數越低,越不容易檢測出差錯,越高越容易檢測出差錯,比如除十進制的100,就會有0-99個余數,此時如果余數是88就出錯,但是如果除數是2,就沒那么容易檢測出差錯。

3、PPP協議(point to point protocol)

1、PPP協議在撥號上網的時候用的最多,用戶直接通過接入網聯系ISP服務商,由服務商分配IP地址,從而讓用戶加入因特網,加入因特網之前需要驗證密碼是否正確,是否欠費等。廣域網使用的多。
在這里插入圖片描述
在這里插入圖片描述
向上支持多種網絡層協議比如IP等,多種類型鏈路,比如光纖、雙絞線等,檢測連接狀態就是IP地址、密碼等是否合法,還可以進行數據壓縮,比如111111,000000可以壓縮成6個1,6個0這樣表示。

在這里插入圖片描述
2、幀組成:
在這里插入圖片描述
標志段F中的7E就是01111110,A字段的FF和03是固定的,因為這是點到點的數據協議,知道要發送到誰,是固定了。協議部分是2個字節表示,里面用來表示數據報的類型。FCS就是幀檢驗序列。

PPP協議解決透明傳輸:
在這里插入圖片描述
如果信息部分傳的不是字節流而是二進制比特流,就要用0比特填充方法:
在這里插入圖片描述
在這里插入圖片描述

問題:PPP協議為什么不像網絡層一樣使用序列號和確認機制?
1

在這里插入圖片描述
就是點到點的傳輸,如果出錯了接收端就直接丟棄也不會確認重傳,只有最后的差錯檢測,是否是傳輸正確。

4、CSMA\CD協議、使用廣播信道的數據鏈路層

1、以太局域網(以太網)大多使用廣播信道
在這里插入圖片描述
B向D發送數據會同時也向ACE發送,只有符合信息中攜帶的MAC地址的對應正確的才會接收這個信息,其余的就會丟棄。這種依靠總線連接的網絡不安全,如果E不管什么信息都接收,就會造成網絡信息泄露。這是沒有源器件的,如果設備之間通過集線器或者交換機連接起來,這就是有源器件的連接。此時通過具有廣播特性的總線上實現了一對一的通信。廣播就是都發送信息,而實現一對一就是通過MAC地址找到接收端。其他的就丟棄這個信息。

2、協議:
在這里插入圖片描述
在這里插入圖片描述
A向B發送的時候還沒傳播到C的時候,C由於傳播時延檢測一下信道沒有被占用,就發送信息給D,此時在BC之間發生碰撞,就會讓波發生疊加,疊加后的波傳到A,A就知道發生了碰撞,就停止發送。同理C也一樣,此時B和D都不能解析這個信息,此時的波是亂的。

3、傳播時延對載波監聽的影響:
在這里插入圖片描述
A與B同時發送信息給對方,信息會在中間出發送疊加,疊加后在傳播到A發送失真,此時需要的時間tao,極限下A發送到B門口了B才發送,此時就是2tao。如果2tao時間內沒有接收到失真的波就可認為傳輸時沒有發生碰撞。這2tao時間就是爭用期。通常取51.2us
在使用CSMA/CD協議的以太網不能進行全雙工通信1而只能時延半雙工通信,每個站在發送數據之后的一小段時間內,會存在遭遇碰撞的可能性。由於這種發送的不確定性使得整個以太網絡的平均通信量遠小於以太網的最高數據量。

4、爭用期
在這里插入圖片描述
因此如果是100Mb/s就是640字節沒出錯,那就認為沒出錯。同時如果t變成512us(網線長度變長),那么也是傳輸640字節。一般以太網規定了網線長度100m,這就與這個51.2us有關系的。

5、發生碰撞沖突的解決辦法
在這里插入圖片描述
如果發生沖突了,重傳次數越多,那么整數集合中的數目就會越多,此時隨機選一個數再發生沖突的概率就會降低很多。

5、以太局域網(以太網)

1、概述
IEEE的802.3標准局域網簡稱為以太網,一般只要滿足載波監聽協議的就可認為是以太網。
在這里插入圖片描述
現在廠商生產的網卡都只有MAC協議,所以現在基本認為就有一個媒體接入控制MAC子層即可。以太網提供的是不可靠的交付,即盡最大努力的交付,當接收站收到有差錯的數據幀時就丟棄此幀,其他什么也不做,差錯的糾正由高層如果高層發現丟失信息而進行重傳,但是以太網並不知道這是一個重傳的幀,而是當作一個新的數據幀來發送。

在這里插入圖片描述
2、以太網的信道利用率
在這里插入圖片描述
發送數據的時間占整個信道的時間就是信道利用率。
在這里插入圖片描述
T0是固定的,a的大小就只取決於tao,
在這里插入圖片描述
分子分母同時除以T0就可得后式。

3、MAC層
在這里插入圖片描述
MAC地址就是網卡的地址。前24位代表哪個廠家,后24位有廠家指定。
常用的以太網MAC幀格式有兩種標准:

  • DIX Ethernet V2標准
  • IEEE的802.3標准

最常用的MAC幀是以太網V2的格式。
在這里插入圖片描述
MAC幀去掉6+6+2+4=18個字節,剩下的IP數據報必須>64-18=46字節,不夠46字節的就要進行填充加入整數個字節后才能往外發,保證MAC幀不小於64字節。MAC幀發送時還要加上8字節的前同步碼和幀開始定界符。目的地址是全F的就是廣播幀。

在這里插入圖片描述
同時幀與幀之間有一個最小發送間隔,為9.6us,相當於96bit的發送時間(10Mb/s的速度發送的時候),這樣做的目的是使得剛剛收到的數據幀的站的接收緩存來得及清理,做好接收下一幀的准備。

6、擴展以太網

1、距離上擴展
使用光纖,可以擴展到幾公里。
在這里插入圖片描述
2、在數量上擴展
在這里插入圖片描述
把三個局域使用集線器級聯連接起來成為一個大的沖突域,使網絡中計算機數量增加,但此時的利用效率可能會降低,優化這個以太網,出現了網橋這個設備。
在這里插入圖片描述
當A向B發送數據幀時,也會通過網橋傳到ME那邊去(因為此時網橋不知道MB在哪),同時網橋會知道MA地址是在網橋左邊端口的局域網內,如果此時MB向MA發送幀,網橋知道MA在哪一側,就不會再傳到ME那邊去了。此后MA與MB之間通信就不會再傳到ME那邊去了,就提高了利用效率。同樣的ME和MD通信的話就是類似的,因此兩邊就不會影響,但是如果是MA和ME就還是要通過網橋。網橋能夠隔離沖突。所以這個網橋設備優化了以太網,基於MAC地址轉發的。當網橋接口越來越多,接的集線器越來越多,就直接改成了網橋連接計算機主機了,此時網橋就是交換機了,交換機的前身就是網橋。
在這里插入圖片描述
交換機連接主機,MA與MB通信不影響MC與MD通信,此時若MC與MB通信,MA也與MB通信,會沖突嗎?交換機不同於集線器,集線器是來了信號就轉發,而交換機會存儲轉發,MA到MB的幀會先存儲,MC到MB的幀進行排隊等候。同時對於MA來說,它可以進行收發同時進行,是全雙工通信。如果這個交換機是100M的,那么它的每個口都是100M,是獨享,不像集線器是共享100M。同時也是安全的,再ME上有抓包工具的話,如果MA與MB之間通信,此時不會傳到ME上來,就一定程度上保證了
信息安全。它是通過學習構建MAV地址地址表。
在這里插入圖片描述

計算機網絡筆記-第四章-網絡層(IP協議簇(RIP OSPF BGP)ICMP IGMP ARP)

1、理解網絡設備(集線器、交換機、路由器)

主要是工作在哪一層,最多能看懂哪一層的數據,比它低的層的數據也是能夠看懂的。
在這里插入圖片描述
上述兩個網段通過路由器連接起來的一個小的網絡。PC4要和PC3通信,發送數據,PC4發送端,PC3接收端,它們的工作流程是:
發送端:
應用程序把數據通過傳輸層分段傳輸,在傳輸層的數據叫做數據段,傳輸層通過網絡層把一段段數據發送出去,網絡層就是尋找一條到達目標主機的路由(路徑),根據源IP地址和目標IP地址通過查路由器的路由表轉發到下一跳,找到路徑后要在物理線路上傳輸就是數據鏈路層的工作,在數據鏈路層之前要加上源MAC地址和目標的MAC地址,就是網卡的地址,再加上幀檢驗序列檢驗傳輸的幀是否出錯。在物理層傳輸就是一個個的比特,通過比特流在物理介質上傳輸。中間可以加集線器來放大信號,如果從PC4到Hub0(集線器)是100m,Hub0到Switch1(交換機)是100m,沒有集線器的話,主機到交換機的距離就是100m,不能超過100m。通過集線器連接就可以到達200m,放大信號。所以集線器工作在第一層,只能看懂比特流。交換機的接口接收到比特流進行存儲轉發,交換機是能看懂比特流的,不然無法接收,接收后就要根據MAC地址轉發到另一個設備,(網絡設備怎么知道彼此之間的MAC地址,這里通過ARP協議廣播得到,得到后就放在緩存中,只有第一次通信時需要)可能是主機也可能是路由器,因此交換機工作在第二層能看懂MAC地址,由圖中可以看出是轉發到M2路由器接口,路由器在收到這個比特流之后,先取出其中的IP地址,源地址和目標地址,根據路由表查看要送到目標地址,需要轉發到哪一個設備,就決定下一跳是往哪發。因此路由器工作在第三層,能看懂IP地址

接收端:
從物理層接收比特流開始往上數據鏈路層查看MAC地址是不是給自己的,是就在檢驗幀沒出錯后往上傳給網絡層,不是就丟棄,網絡層去掉MAC地址查看IP地址,再去掉IP地址留下數據段往上傳給傳輸層,傳輸層再往上傳給應用層顯示數據。

注意:路由器10.0.0.1是網關,左邊的主機就知道要往哪發數據才能連接到網絡中去。路由器0右邊的FF是PPP協議發送的,因為是點對點的發送,采用全1的形式,接收方和發送方就都只有一個。每個網段的IP地址都得相同,左邊的都是10開頭后面的可以不同,子網掩碼255.0.0.0前面的255表示的主網段,后面的三個0表示的主機位。

在這里插入圖片描述

2、IP協議

1、網絡層提供的兩種服務

  • 虛擬互聯網
  • IP地址
  • 划分子網和構造超網
  • IP地址和硬件地址
  • IP數據包格式
  • IP轉發分組的流程

2、網際控制報文協議 ICMP
3、因特網的路由選擇協議
4、IP多播
5、虛擬專用網絡VPN和網絡地址轉換NAT

1、網絡層提供的兩種服務:
在這里插入圖片描述
虛電路服務就是H1到H2的數據都沿着虛電路這條線路過去,如果這條路線堵住了網就不通了。它只是一條邏輯上的連接。
而數據報服務就是經由路由器轉發,只要指明目的地址即可,轉發路徑由路由器選擇。這種方式就更靈活。
在這里插入圖片描述
兩者的對比:
在這里插入圖片描述
虛擬互聯網:
在這里插入圖片描述
主機通信時不用知道網絡內部是怎么連接實現的,不用關心,只關心對應的IP地址即可。

IP地址分類:
在這里插入圖片描述
IPV4是32位的二進制,根據網絡號和主機號的占位不同分為不同類的地址。但是現在基本已經不區分這個了。
可以考慮記一下下面這幾個常用的二進制到十進制的轉換。
在這里插入圖片描述
在這里插入圖片描述
怎么記ABC類IP地址,畫一根橫軸0-255,在上面標記幾個關鍵數字128,192,224,然后區間0-128的就是A類,128-192的B類,129-224的就是C類。看開頭的第一個數字就可以區分出是哪一類地址。同樣還可以通過子網掩碼區分根據255的個數區分,255.0.0.0就是A類,255.255.0.0就是B類。因為B類地址是前兩個字節為網絡號,子網掩碼的255就代表的是網絡號占位,一個255就占一個字節。

特殊地址
127.0.0.1本地回環地址
169.254.0.0自動分配的地址,只能和本網段的主機通信,不能上網和其他網段的地址通信。是windows系統自動產生的湊合着用的地址,由HDCP分配,當HDCP服務器出問題時,一直無法響應自動分配地址,沒有產生正確的IP地址。windows電腦就會產生一個169.254.的地址,如果同一個地方的好幾台主機都是這樣,它們都獲得這樣的地址,它們之間就能夠通信。
保留的私網地址:在互聯網上沒有被服務器使用,而是由企業或學校內部使用
10.0.0.0 教育機構的地址
172.16.0.0 – 172.31.0.0 學校
192.168.0.0 – 192.168.255.0

子網掩碼的作用:
假設
在這里插入圖片描述
80.123要和90.123通信,80的子網掩碼是255.255.255.0,就是拿它跟192.168.90.123做與運算(兩個全為1才為1),得到的結果為192.168.90.0從而判斷這個IP地址跟80.123不在同一個網段,發數據就要先發到網關192.168.80.0再轉發出去。如果此時子網掩碼改成255.255.0.0再做與運算就得到192.168.0.0是同一個網段,此時發數據就不需要經過網關而是直接發送數據到192.168.90.123,因為此時它們兩個位於同一個網段。

子網划分: IP地址的主機部分不能全為0和全為1(全為1代表廣播)
舉例子:但是如果划分是150和50,這種方法就不行。
在這里插入圖片描述
划分成兩個網段,多加一位作為網絡部分,剩下的7位作為主機位,因為主機位不能全0和全1,所以對於A子網來說就不能出現0 0000000和0 1111111這兩個,它的取值范圍就是1-126。對於B來說就是129-254,也是去掉全0和全1的位。此時子網掩碼就是255.255.255.128

在配置地址時:一般是把一個網段的第一個地址作為網關,比如192.168.0.129
在這里插入圖片描述
划分成4個網段一樣的操作:
在這里插入圖片描述
除一次2子網掩碼就右移一位。子網划分就兩個工作:確定子網掩碼和確定子網段開始地址和結束地址(不能包含全0和全1的地址)。

注意一下:點到點網絡的子網掩碼最好是255.255.255.252,這樣就只有兩台主機號。

超網:就是合並兩個網段
在這里插入圖片描述
把子網掩碼往前移。

IP數據報:
由首部和數據兩部分組成。首部的前一部分是固定長度,共20個字節,是所有IP數據報都有的。在首部的固定部分之后是一些可選字段。
在這里插入圖片描述
版本:占4位,指IP協議的版本(IPv4和IPv6)
首部長度:占4位,可表示的最大數值是15個單位(一個單位為4個字節),因此IP首部長度的最大值是60字節。
區分服務:占8位,判斷優先級,優先級高的數據先轉發。
總長度:占16位,首部和數據部分之和的長度,單位是字節。因此數據報的最大長度為65535字節。總長度必須不超過最大傳送單元MTU。
標識:占16位,是計數器,每產生一個數據包就增加1。
標志:占3位,用來告訴后面數據包是否是分片的。
在這里插入圖片描述
片偏移:占13位,就是圖中的0,175,350,存放的地方。就是較長的分組在分片后某片在原分組中的相對位置。片偏移以8個字節為偏移單位。
生存時間(8位)記為TTL,數據包在網絡中可通過的路由器數的最大值。
協議:8位,指出此數據報攜帶的數據使用哪種協議以便目的主機的IP層將數據部分上交給哪個處理過程。(一個數字代表協議號,每個協議一個協議號)
首部校驗和:16位,只檢驗數據報的首部不檢驗數據報部分。
在這里插入圖片描述
源地址和目的地址各占4字節(32位)
可變部分:
在這里插入圖片描述
抓包看看數據部分:
在這里插入圖片描述
第二個是以太網數據幀,依次下來是網絡層,傳輸層,應用層。在網絡層可以分別看到首部的各個部分。

3、網絡層協議

在這里插入圖片描述
主要有ARP、IP、ICMP、IGMP,其實也有一個誰為誰服務的問題,ARP為IP服務,IP為ICMP\IGMP服務。

1、ARP
將IP地址通過廣播,目標MAC地址是FF-FF-FF-FF-FF-FF解析目標IP地址的MAC地址。全FF的就是廣播,主機接收后查看IP地址是不是詢問自己,是就把本機的MAC地址傳回去。不是就丟棄。廣播只能在本網段發,是跨不了路由器轉發到其他網段的。可以了解一下ARP欺騙,廣播的時候,另一台主機報告給一個錯誤的MAC地址,比如自己的MAC地址,以后每次發送數據都會發到自己主機上來,就造成本網段內兩台主機不能通信,如果源主機是要得到網關的MAC地址,被發送了欺騙者的地址,那么就會造成上不了網。
在這里插入圖片描述
在這里插入圖片描述
RARP:逆向ARP
就是使只知道自己硬件地址的主機能夠知道其IP地址。

2、ICMP:
在這里插入圖片描述
ICMP報文格式:
在這里插入圖片描述
在這里插入圖片描述
詢問報文就是查詢的數據內容,比如ping命令判斷通不通,返回來的報文就是差錯報告報文。
在這里插入圖片描述
把發過來的IP數據報首部和8字節作為ICMP差錯報文的數據部分再傳回去。

了解ping命令,TTL是指到達目標地址需要經過多少個路由器,每經過一個就減1,假設開始時是64,那么這個54表示就是經過10個路由器。如果TTL=0了路由器就不進行轉發,TTL是生存周期,設置這個是為了防止數據在網絡中無限循環的轉圈圈轉發,從而占用資源。Linux默認發包時TTL=64,win是128,Unix是255.因此可以通過這個簡單判斷對方的操作系統是哪個,如果是TTL=127,就很可能是win系統。如果是59,大概率是Linux系統。
ping www.baidu.com -t:表示一直ping。
ping -l 200 www.baidu.com:表示發200個字節。
ping /?:查看ping的幫助命令
ping 8.8.8.8 -i 1:就是指定TTL時間為1,此時就可以看到第一個路由器返回來的信息,因為ttl=1,經過一個路由器后變為0不再轉發,由第一個路由器報告錯誤。一般第一個路由器是網關。由此一直增加TTL為2、3、4、。。。就可以知道在到達目標時經過了幾個路由器。
有一個高級一點的命令:pathping(windows上的命令)它能夠跟蹤數據包路徑,計算丟包情況。
同樣還可以使用tracert命令后接目標地址查看跟蹤路徑。
在這里插入圖片描述
在這里插入圖片描述

網絡故障排錯:目標主機無法到達和請求超時
1、目標主機無法到達:可能是本主機沒有配置網關地址,不知怎么發數據到網絡中去。也可能是路由器沒有下一跳的路由表信息,不知道接下來怎么轉發,就由這個路由器報告錯誤回來。
2、請求超時:發送數據包能夠到達目標,但是目標發送的數據包不能到達發送者,產生原因也可能跟上述原因一樣。還可能是目標主機關機了

上述的命令都是使用的ICMP協議。

3、自治系統內部使用的路由協議:(內部網關協議)
動態路由協議RIP:(用得少)
特點:

  1. 僅和相鄰路由器交換信息
  2. 交換的信息是當前本路由器所知道的全部信息,即自己現在的路由表。也就是說:“我到本自治系統中所有網絡的(最短)距離,以及到每個網絡應經過的下一跳路由器。”
  3. 按固定的時間間隔交換信息,比如30秒。路由器根據收到的路由信息更新路由表。當網絡拓撲結構發生變化時,路由器也及時向相鄰路由器通告拓撲變化后的路由信息。

RIP協議是要找到路徑中經過最少的路由器數目的那一條路徑,最多允許一條路徑經過15路由器,因此當距離=16時就表示不可到達。
在這里插入圖片描述
舉例子:
在這里插入圖片描述

OSPF
參考鏈接:https://support.huawei.com/enterprise/zh/doc/EDOC1100082073

4、自治系統之間使用的路由協議:(外部網關協議)
BGP
在這里插入圖片描述
BGP只是能力求尋找一條能夠到達目的網絡且比較好的路由,並非尋找一條最佳路由。
在這里插入圖片描述
特點:
交換路由信息的結點數量級是自治系統個數的數量級,要比自治系統中的網絡數少很多。要在許多自治系統之間找一個較好的路徑,就是要尋找正確的BGP發言人,而在每一個自治系統中GGP發言人的數目是很少的。這樣就使得自治系統之間的路由選擇不致過分復雜。

5、NET網絡地址轉換:

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
所以就可以在這里通過端口號的設置讓更多的本地地址通過有限的全球IP地址轉發出去。

端口映射舉例子:
在運行框(win+R)中輸入mstsc可以開啟遠程連接桌面
如何通過物理機的地址訪問到這個物理機里開啟的虛擬機?相對於虛擬機來說本身Vmnet8網段就是內網,物理機外面的網段就是外網。此時要讓外網通過物理機連接到內網的虛擬機。
要做一個端口映射:在虛擬機網絡編輯器里面找到Vmnet8選擇NET設置,加端口映射。
在這里插入圖片描述
點擊添加
在這里插入圖片描述
主機端口就是物理機的端口比如4000,填入虛擬機的ip地址和要訪問的虛擬機的端口比如3389,然后讓別的計算機打開遠程連接桌面輸入物理機的IP地址加端口號比如192.168.80.109:4000,在輸入用戶名和密碼,就可以遠程訪問這個虛擬機了。
在這里插入圖片描述
在虛擬機輸入netstat -n就可以查看連接過來的主機。3389是目標端口,后面的55022是其他物理機的端口。
還有一個VPN技術:概念(謝希仁計算機網絡第七版P185頁)了解。

計算機網絡筆記-第五章-傳輸層(TCP、UDP)

本章重點了解的內容:

  • 1、傳輸層為相互通信的應用進程提供了邏輯通信
  • 2、端口和套接字的意義
  • 3、無連接的UDP的特點
  • 4、面向連接的TCP的特點
  • 5、在不可靠的網絡上實現可靠傳輸的工作原理,停止等待協議和ARQ協議
  • 6、TCP的滑動窗口、流量控制、擁塞控制和連接管理

傳輸層兩個協議應用場景:
TCP:分段、編號、流量控制、建立會話、可靠傳輸、通過netstat -n查看會話建立(QQ發文件)
UDP:一個數據包就能完成數據通信,不建立會話,多播(QQ聊天,視頻)

1、傳輸層為相互通信的應用進程提供了邏輯通信

在這里插入圖片描述
網絡層通過IP地址找到主機,為主機之間提供邏輯通信,找到兩台主機之間的傳輸路徑,傳輸層就為應用進程(程序)之間提供端到端的邏輯通信,通過端口區分服務,找到對應的進程,把數據傳輸給對應的進程。
傳輸層還要對收到的報文進行差錯檢測。

2、端口和套接字的意義

在這里插入圖片描述
網絡層通過協議號來區分上層的數據,而傳輸層通過端口號來區分上層的數據。

復用和分用:
應用層所有的應用進程都可以通過傳輸層再傳送到IP層,這就是復用。
傳輸層從IP層收到發送給各應用進程的數據后,必須分別交付指明的各應用進程,這就是分用。

在這里插入圖片描述
還有一類叫做登記端口:1024-49151.這類端口號是為沒有熟知端口號的應用程序使用。
客戶端使用的端口號:49152-65535,僅在客戶進程運行時才動態選擇。

套接字:
TCP連接的兩個端點就是套接字,它由IP地址和端口號組成。
在這里插入圖片描述
同一個IP地址可以有多個TCP連接,而同一個端口號也可以有多個TCP連接。因為套接字是由IP地址:端口號組成,IP相同時端口號可以不同,端口號相同時IP地址可以不同。

3、無連接的UDP的特點(比較簡單,了解即可,重點是TCP)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
長度:2字節,UDP用戶數據報的長度,其最小值是8(僅有首部)
檢驗和:檢測UDP用戶數據報在傳輸中是否有錯,有錯就丟棄。
偽首部就是用來計算檢驗和的。既不下傳也不向上遞交。

4、面向連接的TCP的特點

  1. TCP是面向連接的傳輸層協議
  2. 每個TCP連接只能有兩個端點,每一條TCP連接只能是點對點的。
  3. TCP提供可靠交付
  4. TCP提供全雙工通信。TCP連接的兩端都設有發送緩存和接收緩存,用來臨時存放雙向通信的數據。
  5. 面向字節流:雖然應用程序和TCP的交互是一次一個數據塊,但TCP把應用程序交下來的數據僅僅看成是一連串的無結構的字節流。
    在這里插入圖片描述

5、在不可靠的網絡上實現可靠傳輸的工作原理,停止等待協議和ARQ協議

TCP如何實現可靠傳輸
在這里插入圖片描述
停止等待:就是每發送完一個分組就停止發送,等待對方的確認,收到確認后再發送下一個分組。
超時重傳,要設定一個超時計時器,若在超時計時器到期之前收到確認,就撤銷已設置的超時計時器。
注意

  1. A發送完一個分組后,必須暫時保留已發送的分組的副本,以便在發生超時重傳的時候使用,只有在收到確認后才清除暫時保留的的副本。
  2. 分組和確認都要進行編號。這樣才能明確是哪一個發送出去的分組收到了確認,哪一個分組還沒有收到確認。
  3. 超時計時器設置的重傳時間應當比數據在分組傳輸的平均往返時間更長一些。不能太短也不能太長,太短會造成不必要的重傳,太長的話通信效率就會很低。

確認丟失和確認遲到:
在這里插入圖片描述
B對重復收到的分組直接丟棄並重傳確認,A對重復的確認也是進行丟棄。
通過上述的重傳確認機制就可以實現在不可靠的網絡上實現可靠的通信,這種被稱為自動重傳請求ARQ(Automatic Repeat reQuest)

信道利用率:
停止等待協議很簡單,但是信道利用率很低。
在這里插入圖片描述
RTT和TA基本都固定,主要是要提高TD,采用流水線傳輸。
在這里插入圖片描述
在這里插入圖片描述
發送方每收到一個確認,就把確認窗口向前滑動一個分組的位置。
接收方一般采取累積確認的方式。對收到幾個分組后,對按序到達的最后一個分組發送確認。如果收到124,但是沒有3,此時就會檢查,前兩個分組可以發送確認,但是收到4時不發送確認,因為前面沒有編號3的分組,等待重傳。
在這里插入圖片描述

TCP報文格式:
在這里插入圖片描述
序號
在這里插入圖片描述
確認號
期望收到對方下一個報文段的第一個數據字節的序號。例如B收到A一個報文段,序號字段是501,數據長度是200字節(序號為501-700),這表示B正確收到了A發送的到序號700為止的數據。因此B期望收到A的下一個數據序號是701,B就把對A發送的確認報文中把確認號設置為701。
若確認號=N,則表明:到序號N-1為止的所有數據都已正確收到。

數據偏移
指出TCP報文段的數據開始位置距離TCP報文段的開始位置有多遠。這個字段實際上是指出TCP報文段的首部長度。占4位,最大表示15,因此數據偏移的最大值是60字節。這也是TCP首部的最大長度。 “數據偏移”的單位是4字節,每加一就是多四字節。15就是15x4=60字節。

在這里插入圖片描述
這是一個xp系統向web服務器發送請求的抓包數據,可以看到這里面的序號和確認號的變化,沒有數據部分的就是發送的確認報文。連續發兩個確認號204的數據報文只是順便加上了這個確認號。

URG
在這里插入圖片描述
確認ACK:僅當ACK=1時確認字段才會有效,是表示確認字段的有效與否。TCP兩端在建立會話時ACK和SYN一起使用。在連接建立后所有傳送的報文段都必須把ACK置為1。

同步SYN:在建立連接時使用,當SYN=1而ACK=0時,表示這是一個請求建立連接報文(此時序號和確認號都是0),對方若是同意建立連接,則在響應的報文段中使SYN=1和ACK=1。ACK=1表示自己發給對方的確認字段是有效的(此時序號是0,確認號是1,這個確認號為1是對發送過來的數據表示已經收到的確認。)

終止FIN:釋放一個連接,當FIN=1時,表示發送方的數據發送完畢,並要求釋放傳輸連接。

窗口:占2個字節,為[2,2^16-1]之間的整數。窗口指的是發送本報文段的一方的接收窗口,而不是自己的發送窗口。窗口值告訴對方:從本報文段首部中的確認號算起,接收方目前允許對方發送的數據量(以字節為單位)。
在這里插入圖片描述
抓包看數據,可以看到有個window size就是窗口值,可以看到是65535,就表示1057這個XP主機的接收緩存最多是65535字節,告訴對方發送窗口緩存不能超過這個數,不能太大,不然發送方發來的數據會來不及接收,放不下。每個端都有發送緩存窗口和接收緩存窗口。雙方在建立會話時交流信息,比如最大數據報長度MSS是1460,window size是65535等信息。
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
選項:有一個最大報文長度MSS(Maximum Segment Size)是每一個TCP報文段中的數據字段的最大長度。數據字段加上TCP首部才等於整個的TCP報文段。所以MSS並不是整個TCP報文段的最大長度,而是“TCP報文段長度減去TCP首部長度”。

TCP實現可靠傳輸
(1)以字節為單位的滑動窗口:了解這個滑動窗口是怎么滑動的
在這里插入圖片描述
A發送窗口中的數據連續的發送出去,但是發出去的數據不能立馬就刪除,得等到收到確認后才能刪除對應的數據。B收到123后就發送確認號=4到發送方,表示前3個已經收到,這是累積確認,期望收第4個開始的數據,A收到確認后就把123從緩存中去除(B就會把收到的數據交付應用層,接收窗口也會前移,如下圖所示),把發送窗口向前移3個字節。如果此時B收到了78910但是沒有收到456(可能丟失),此時B還是發送確認號=4給A,但是不丟棄收到的78910,在發送確認號=4的同時在選項中加入SACK(選擇確認)用來表明中間有丟失的數據包,要A重傳,而不必要傳已經收到的。
在這里插入圖片描述
再看幾張圖加深理解:
在這里插入圖片描述
注意這里未按序到達的發送的確認號仍然是31,期望收序號為31數據包。未按序到達的先暫時存在緩存中。
在這里插入圖片描述
但是如果出現A發送窗口全部發送完成,因為沒有收到B的確認,A不能向前移動窗口,但B已經發送了確認卻在網絡中丟失了,為了保證可靠傳輸,A只能認為B沒有收到這些數據,A在經過一段時間后(由超時控制器設置的時間)就重傳這部分數據,重新設置計時器,直到收到B的確認為止。

關於發送窗口和發送緩存的一些注意點:
發送緩存用來暫時存放:
<1>發送應用程序傳送給發送方TCP准備發送的數據。
<2>TCP已經發出但還沒收到確認的數據。
發送窗口只是發送緩存的一部分,已被確認的數據要從發送緩存中刪除。發送應用程序必須控制寫入發送緩存的速率,不能太快,否則發送緩存就會沒有存放數據的空間。

接收緩存暫時存放:
<1>按序到達的、但尚未被接受應用程序讀取的數據。
<2>未按序到達的數據。
A的發送窗口是根據B的接收窗口設置的,但在同一時刻,A的發送窗口並不總是和B的接收窗口一樣大,網絡傳送窗口值是需要經歷一定時間的,並且這個時間還不確定。發送方A還會根據網絡當時的擁塞情況適當減小自己的發送窗口數值。

(2)超時重傳時間的選擇(參考)
在這里插入圖片描述
在這里插入圖片描述

(3)選擇確認SACK
TCP的接收方在接收對方發送的數據字節流的序號不連續,結果就形成了一些不連續的字節塊。如圖:
在這里插入圖片描述
對這些字節塊統計它們的邊界,一個邊界占4個字節,因為序號有32位,因此在選項中使用SACK時最多只能指明4個字節塊的邊界,4個字節塊有8個邊界,8x4=32字節。而首部中的選項最多只能有40字節。另外還需兩個字節,一個字節用來指明是SACK選項,另一個字節是指明這個選項要占用多少字節。如果要報告5個字節塊的邊界信息,就至少需要42,10(邊界)x4+2=42字節。
因此大多數的時候還是重傳所有未被確認的數據塊。

6、TCP流量控制和TCP擁塞控制

所謂流量控制就是讓發送方的發送速率不要太快,要讓接收方來得及接收。
看個例子理解:
在這里插入圖片描述
在這里插入圖片描述
通過接收方設置接收窗口(rwnd)的大小對發送方的窗口進行限制,從而實現這個流量控制。

TCP的傳輸效率:
應用程序把數據傳送到TCP緩存后,剩下的發送任務就由TCP來控制了。使用不同的機制來控制TCP報文段的發送時機:

  1. TCP維持一個變量,它等於最大報文長度MSS。只要緩存中存放的數據達到MSS字節時,就組成一個TCP報文段發過去。
  2. 由發送方的應用進程指明要求發送報文段,TCP支持的推送PUSH操作。
  3. 發送方的一個計時器期限到了,就把當前已有的緩存數據發送出去。

如何選擇時機是一個很復雜的問題:
在這里插入圖片描述

TCP擁塞控制:
擁塞控制就是防止過多的數據注入到網絡中,這樣就可以使網絡中的路由器或鏈路不致過載。但是有一個前提就是網絡能夠承受現有的網絡負荷。擁塞控制是一個全局性的過程,涉及所有的主機、所有的路由器,以及與降低網絡傳輸性能有關的所有因素。
流量控制往往是點對點通信量的控制,是個端到端的問題(接收端控制發送端)。

擁塞控制的方法:(慢開始、擁塞避免、快重傳、快恢復)
1、慢開始和擁塞避免
這兩種是基於窗口的擁塞控制,發送方維持一個叫做擁塞窗口cwnd的狀態變量。擁塞窗口的大小取決於網絡的擁塞程度,動態變化,發送方讓發送窗口等於擁塞窗口
發送方控制擁塞窗口的原則是:只要網絡沒有出現擁塞,擁塞窗口就可以再增大一些,把更多的分組轉發出去,提高網絡利用率,只要網絡出現擁塞或可能出現擁塞就要減小擁塞窗口,使注入到網絡的分組數減小。
判斷網絡擁塞的依據就是出現了超時
慢開始算法:
由小到大逐漸增加發送窗口(擁塞窗口cwnd數值)。這里的窗口數值都是以數據報為單位,其實是以字節為單位,但是為了讓數字看上去小一點使用的是數據報。一個數據報包含有多個數據字節。

看這兩個算法實現的例子:
在這里插入圖片描述
擁塞避免使得擁塞窗口的增加呈線性增長。使網絡比較不容易出現擁塞。

2、快重傳和快恢復
快重傳首先要求接收方每收到一個失序的報文段就立即發出重復確認。這樣做可以讓發送方及早知道有報文段沒有到達接收方。
當發送端收到連續三個重復的確認時,就要把門限值設置為當前擁塞窗口值的一半,但是此時的擁塞窗口不設置為1,而是設置為門限值ssthresh減半后的數值,然后開始執行擁塞避免算法,使擁塞窗口緩慢線性增大。

在這里插入圖片描述
快重傳和快恢復一般是一起組合出現。
TCP擁塞控制可以歸納成以下流程圖:
在這里插入圖片描述
考慮接收方接收窗口對發送方的發送窗口大小的限制,發送方的發送窗口大小不能大於對方給出的接收方窗口值rwnd。
把擁塞控制和流量控制結合在一起考慮,那么發送方的窗口上限值應當取接收窗口rwnd和擁塞窗口cwnd這兩個變量中較小的那一個。
發送窗口上限值 = Min[rwnd,cwnd];
當rwnd < cwnd時,是接收方的接受能力限制發送窗口的最大值。
當cwnd > rwnd時,則是網絡擁塞限制發送窗口的最大值。

7、TCP的運輸連接管理(三次握手、四次揮手)

1、連接建立(三次握手)
在這里插入圖片描述

服務器進程處於LISTEN監聽狀態,等待客戶的連接請求。
1、A向B發出連接請求報文,首部中的 SYN = 1,序號 seq = x,SYN = 1 的報文段不攜帶數據,此時A處於 SYN-SENT(同步發送)狀態。
2、B收到連接請求報文,同意連接發送確認給A。在確認報文中把 SYN = 1 和 ACK = 1,這是一個確認報文,確認號是 ack = x + 1,同時自己也選擇一個序號=y,這個SYN報文也不攜帶數據,此時B進入SYN-RCVD(同步收到)狀態。
3、A收到B的確認后,還要給B發送確認。確認報文的ACK=1,確認號 ack = y + 1,自己的序號 =x +1。這時TCP連接已經建立,A進入ESTABLISHED(建立會話)狀態。
4、B收到A的確認也進入建立連接狀態。

為什么最后一次A還要對B發送一次確認呢?
考慮一下情況,如果A發送請求建立連接的數據報在網絡中滯留很久沒有到達B,A認為丟失就再重傳一份給B,此時可能很快到達B,並且收到B的確認,完成三次握手建立連接。數據傳輸完成后釋放連接了,如果此時此前滯留的數據到達了B,B以為A要建立連接,回復確認給A,如果不是采用三次握手的話,只要B給A發回了確認,那么連接就建立了,但是此時A是沒有要建立連接的,A就不會向B發送數據,而B一直等待A向它發送數據,那么就造成了B的資源白白浪費。
所以A向B發送再次確認可以防止這種情況的產生,如果是三次握手的話,A收到了B的確認,但是A沒有給B回復確認,此時B就知道A並沒有要求建立連接。

2、TCP連接釋放
在這里插入圖片描述
A的應用進程先向其TCP發出連接釋放報文段,並停止發送數據,主動關閉TCP連接。
1、A把連接釋放報文首部的終止控制位 FIN = 1,序號 seq = u,它等於前面已傳送過的數據的最后一個字節的序號加1.此時A進入FIN-WAIT-1(終止等待1)狀態,等待B的確認。

2、B收到連接釋放報文后,發出確認,確認號是 ack = u + 1,而自己選擇的序號 sqe = v,等於B前面已傳過數據的最后一個字節的序號加1。然后B進入CLOSE-WAIT(關閉等待)狀態。處於半關閉狀態,A沒有數據向B發了,但是B發送數據,A仍要接收,B到A的連接還沒關閉。

3、A收到B的確認后,進入FIN-WAIT-2(終止等待2)狀態,等待B發出連接釋放報文段。

4、若B沒有要向A發送的數據了,此時B的應用進程就通知釋放TCP連接,B發出的連接釋放報文段必須是 FIN = 1。現假定B的序號為w(半關閉狀態B可能又發送了一些數據)。B還必須重復上次已發送過的確認號ack = u + 1。此時B就進入LAST-ACK(最后確認)狀態,等待A的確認。

5、A收到B的連接釋放報文,必須對此發出確認。在確認報文段中把 ACK = 1,確認號 ack = w + 1,
而自己的序號 = u + 1。然后進入TIME-WAIT(時間等待)狀態。此時連接還沒有釋放掉,必須經過時間等待計時器設置的時間2MSL后,A才進入到CLOSE狀態。MSL叫做最長報文段壽命,設置為2分鍾。(這對於現在的網絡來說可能長了一些,可以設置的小一些。)經過4分鍾后才進入到CLOSE狀態。

6、B收到A的確認,進入CLOSE狀態。

注意
在這里插入圖片描述
上述的TCP連接釋放過程就是四次報文握手

還有一個保活計時器:
在這里插入圖片描述

計算機網絡筆記-第六章-應用層(http、https、ftp、DNS\SMTP\PoP3\RDP)

概覽:
在這里插入圖片描述

1、DNS域名解析系統

從域名解析出IP地址。
在這里插入圖片描述
域名划分是按根形狀划分:
在這里插入圖片描述
比如www.baidu.com.最后一個點就是根域名,com是頂級域名,baidu是com下的一個二級域名。www是三級域名。可以輸入www.baidu.com也可以輸入www.baiud.com.多一個點也能訪問。

域名服務器:
在這里插入圖片描述
DNS分布式結構,按層次安排,每一個域名服務器都只對域名體系中的一部分進行管轄。
1、根域名服務器:
所有的根域名服務器都知道所有的頂級域名服務器的域名和IP地址。本地域名服務器要對互聯網上任何一個域名進行解析,只要自己無法解析,就首先求助於(距離最近)根域名服務器。而根域名服務器不是直接把域名轉換成ip地址發送給本地域名服務器,而是告訴本地域名服務器下一步應該找哪一個頂級域名服務器進行查詢。

2、頂級域名服務器:管理在該頂級域名服務器注冊的所有二級域名。收到DNS查詢請求時,就給出相應的回答,(可能是最后的結果IP地址,也可能下一個應當找的域名服務器的IP地址)。
每個域名服務器都有高速緩存區,緩存剛剛從別的頂級域名服務器查詢到的某個域名的IP地址,如果某個本地DNS服務器也訪問這個頂級域名服務器並且也是同一個域名,就可以把緩存的域名的IP地址發給剛剛請求查詢的本地DNS服務器。

3、本地域名服務器:在網絡和共享中心找到對應網絡連接,點開屬性,查看Internet協議版本4的屬性,可以看到首選和備選DNS服務器,這里的就是本地域名服務器。

  1. 解析內網自己的域名
  2. 降低到Internet的域名解析流量(訪問互聯網中的DNS服務器也是需要流量的)

域名查詢的過程:
在這里插入圖片描述
一種是遞歸查詢,一種是迭代查詢,迭代查詢就是由本地服務器一個個去問根服務器,頂級服務器等最后等到IP地址,而遞歸查詢就是由根服務器查詢,頂級服務器查詢,每個服務器都進行詢問得到最后結果返回給本地域名服務器。圖中就可以看出區別。

2、動態主機配置DHCP

在這里插入圖片描述
這里的自動獲取IP地址就是使用的DHCP服務器統一分配IP地址。
這樣的IP地址叫做動態IP地址。
靜態IP地址:機房里的某個台式機服務器基本就固定在某個網段,不需要改動,就可以設置成靜態IP地址。筆記本等可能到挪動去到不同的網段,一般是動態IP地址,由DHCP服務器分配。

DHCP使用客戶服務器方式,需要IP地址的主機在啟動時就向DHCP服務器廣播發送發現報文(將目的IP地址置為全1,即255.255.255.255),這時主機就成為DHCP的客戶。發送廣播是因為不知道DHCP服務器在什么地方,此主機現在沒有IP地址,因此源IP地址是全0。在本地網絡上的所有主機都能夠收到這個廣播報文,但只有DHCP服務器才對此廣播報文進行回答。DHCP服務器先在其數據庫中查找該計算機的配置信息。若找到,則返回找到的信息。找不到,則從服務器的IP地址池取一個地址分配給該計算機。DHCP服務器的回答報文叫做提供報文,表示提供了IP地址等配置信息。

一般是在每一個網絡中至少有一個DHCP中繼代理(通常是一台路由器),配置了DHCP的IP地址信息。這個代理收到主機的發現報文通過單播發送給DHCP服務器得到IP地址再返回給主機。DHCP報文只是UDP用戶數據報的數據,它還要加上UDP首部,IP首部,以及以太網的MAC幀的首部和尾部后,才能在鏈路上傳送。

DHCP分配的IP地址是臨時的,是有一個租用期的。DHCP客戶的UDP端口是68,DHCP服務器使用的UDP端口是67。兩個端口都是熟知端口。

3、文件傳輸協議FTP(File Transfer Protocol)

FTP的基本工作原理:
在這里插入圖片描述
在這里插入圖片描述
FTP客戶和服務器之間要建立兩個並行的TCP連接:控制連接和數據連接。控制連接主要是進行一些命令的傳送,傳送數據通過數據連接進行。
客戶進程向服務器進程發出建立連接請求時,要尋找連接服務器進程的熟知端口21,同時告訴服務器自己另一個端口號用來進行數據連接。接着,服務器進程把自己傳送數據的熟知端口20與客戶進程所提供的端口號建立數據傳送連接。
好處就是使協議更加簡單和更容易實現,同時在傳輸文件時還可以利用控制連接對文件的傳輸進行控制。
在這里插入圖片描述
還一個使用UDP環境下的TFTP,是一個很小的易於實現的文件傳送協議,只支持文件傳輸不支持交互。
主要有兩個優點:

  1. 用於UDP環境,例如,當需要將程序或文件同時向許多機器下載時就往往需要使用TFTP。
  2. 代碼所占的內存較小,這對於較小的計算機或某些特殊用途的設備是很重要的,這些設備不需要硬盤,只需要固化了TFTP、UDP和IP的小容量只讀存儲器即可。
    TFTP的工作很像停止等待協議,發送完一個文件塊后就等待對方的確認,確認時指明所確認的塊編號。

4、telnet遠程終端協議

有一個NVT轉換格式:
在這里插入圖片描述

可以用telnet 192.168.0.22 3389這個命令測試遠程主機的3389端口是否打開。沒有打開會報錯。

遠程桌面RDP就是一個遠程桌面圖形化連接,可以通過在命令行輸入mstsc,在輸入主機名和密碼進行對遠程主機的管理。

5、WWW萬維網

概述:萬維網是一個大規模的聯機式的信息儲藏所,簡稱Web。用鏈接的方法把從互聯網上的一個站點訪問另一個站點,從而能主動的按需獲取所需的信息。
萬維網需要解決的幾個問題:
在這里插入圖片描述
第一個問題使用統一資源定位符URL來標記萬維網上的各種文檔,每一個文檔在整個互聯網范圍內具有唯一的標識符URL。
第二個問題讓客戶程序和服務器程序都遵守超文本傳輸協議HTTP,它利用TCP連接進行可靠傳輸。
第三個問題使用超文本標記語言HTML,使得萬維網頁面的設計者可以很方便的用鏈接從本頁面某處鏈接到互聯網上的任何一個萬維網頁面,並能夠在自己的主機上顯示出來。
第四個問題就是通過各種搜索工具在萬維網上查找所需的信息。

1、統一資源定位符URL
用來表示從互聯網上得到的資源位置和訪問這些資源的方法。URL實際上就是在互聯網上的資源的地址。
一般形式:
<協議>://<主機>:<端口>/<路徑>
主機是指的該主機在互聯網上的域名。

使用HTTP的URL:
http://<主機>:<端口>/<路徑>
http的默認端口號是80

6、電子郵件(SMTP、POP3、IMAP)

在這里插入圖片描述
用戶代理:就是運行在電腦中的一個程序,又稱為電子郵件客戶端軟件。
有以下4個功能:

  1. 撰寫。給用戶提供編輯信件的環境。例如,讓用戶創建便於選擇收件人的通訊錄,能夠提取來信中的對方地址,並自動將此地址寫入到郵件合適的位置。
  2. 顯示。
  3. 處理。比如發送郵件接收郵件,刪除、存盤、打印等
  4. 通信。要利用郵件發送協議發送到用戶所使用的郵件服務器。收件人在接收郵件時,要使用郵件讀取協議從本地郵件服務器接收郵件。

郵件服務器的功能是發送和接收郵件,同時報告郵件傳送的結果(已交付,被拒絕、丟失等)。郵件服務器使用兩種不同的協議。一種是用於用戶代理向郵件服務器發送或在郵件服務器之間發送郵件,如SMTP協議,另一種是用於用戶代理從郵件服務器讀取郵件,比如郵局協議POP3。並且SMTP和POP3(或IMAP)都是使用TCP連接來傳送郵件的,保證可靠傳送。

1、STMP
(1)建立連接
SMTP使用熟知端口25與接收方郵件服務器的SMTP服務器建立TCP連接。連接建立后,接收方SMTP服務器要發出”220 Service ready“(服務就緒)。然后SMTP客戶向SMTP服務器發送HELO命令,附上發送方的主機名。SMTP服務器若有能力接收郵件,則回答”250 OK“,表示已經准備好接收。若SMTP服務器不可用,則回答”421 Service not available“(服務不可用)。
SMTP不使用中間的郵件服務器。都是直接在發送方和接收方這兩個郵件服務器之間直接建立,接收方郵件服務器出現問題,發送方郵件服務器只能等待一段時間后再嘗試和該服務器建立TCP連接。

(2)郵件發送
在這里插入圖片描述
(3)連接釋放
SMTP客戶發送QUIT命令。SMTP服務器返回的信息是”221“(服務關閉,表示同意釋放TCP連接)。
SMTP存在很多缺點:發送郵件不經過鑒別,在FROM命令后面的地址可以任意填寫,增加了很多垃圾郵件。SMTP傳送的郵件是明文,不利於保密。
在這里插入圖片描述

2、POP3和IMAP協議:
在這里插入圖片描述

計算機網絡筆記-第六章-網絡安全(選擇了解)

1、兩類密碼體制(對稱密鑰體制、公鑰密碼體制)

對稱密鑰體制:加密密鑰和解密密鑰是使用相同的密碼體制。因此這種體制的保密性主要取決於對密鑰的保密,而算法是公開的。在通信信道上是一對一的雙向保密通信

公鑰密碼體制:使用不同的加密密鑰和解密密鑰。加密密鑰(公鑰)PK是向公眾公開的,而解密密鑰SK(私鑰)則是需要保密的。加密算法E和解密算法D也都是公開的。
在這里插入圖片描述
在這里插入圖片描述

2、數字簽名(應用層安全)

使用數字簽名跟日常生活中的親筆簽名或蓋章一樣,都是用來證明這份文件或數據是出自某個人。
由證書頒發機構CA頒發證書。
數字簽名必須實現以下三點功能:

  1. 接收者能夠核實發送者對報文的簽名,能夠確信該報文的確是發送者發送的。其他人無法偽造對報文的簽名。這叫報文鑒別
  2. 接收者確信所收到的數據和發送者發送的完全一樣而沒有被篡改過。這叫報文的完整性
  3. 發送者事后不能抵賴對報文的簽名。這叫不可否認
    為什么要有這三點功能?
    在這里插入圖片描述

3、鑒別

鑒別是要驗證通信的對方的確是自己要通信的對象,而不是其他的冒充者,並且所傳送的報文是完整的,沒有被其他人篡改過。
鑒別分兩類:

  1. 報文鑒別:即鑒別所收到的報文的確是報文發送者發送的,包含端點鑒別和報文完整性的鑒別。
  2. 實體鑒別:僅僅鑒別發送報文的實體,實體可以是一個人也可以是進程。

報文鑒別:
使用密碼散列函數,它的輸出值叫做散列值,不同的散列值肯定對應於不同的輸入,但不同的輸入卻可能得出相同得散列值。是多對一的。因此,要找到兩個不同的報文,它們具有同樣的密碼散列函數輸出,再在算上是不可行的。也就是說密碼散列函數實際上是一種單向函數。密碼散列函數有MD5和SHA-3。

實體鑒別:
報文鑒別是對每一個收到的報文都要鑒別報文的發送者,而實體鑒別是在系統接入的全部持續時間內對和自己通信的雙方實體只需驗證一次。

4、網絡層安全協議IPsec(IP安全(security))

分為以下三部分:

  1. IP安全數據報格式的兩個協議:鑒別首部AH協議封裝安全有效載荷ESP協議
  2. 有關加密算法的三個協議
  3. 互聯網密鑰交換IKE協議

AH協議的功能現在都已經包含在ESP協議中,只介紹ESP協議的要點。它鑒別源點(來自哪一個發送者)、檢查書局完整性和提供保密。
使用ESP協議的IP數據報稱為IP安全數據報,可以在兩台主機、兩個路由器或一台主機和一個路由器之間發送。

IP數據報通過隧道方式工作:在原始的IP數據報的前后分別添加若干控制信息,再加上新的IP首部,構成一個IP安全數據報。它的IP首部是不加密的,但是數據是加密的,並能夠被鑒別的。通常把數據報的數據部分稱為數據報的有效載荷(payload)。
SA是構成IPsec的基礎,是兩個通信實體經協商建立起來的一種協定,它決定了用來保護數據分組安全的安全協議(AH或ESP協議)、轉碼方式、密鑰及密鑰的有效存在時間等。

在這里插入圖片描述
在這里插入圖片描述
公司總部與分公司和出差在外的員工之間的通信一般是通過VPN虛擬專用網絡進行通信,也就是公司的內網,出差在外的員工要備一個公司VPN服務器的IP地址和訪問權限,保證能夠連入公司的內網,連入后不管員工在哪,他的計算機都是在公司內網中一樣。

5、運輸層安全協議(SSL、TLS)

安全套接字層SSL
運算安全TLS,是在SSL3.0基礎上設計的。
應用層的應用程序的數據是通過TCP套接字與運輸層進行交互的,使用SSL后增強了TCP的服務。
在這里插入圖片描述
中間的https和http的區別可以了解一下(面試題)。

6、應用層安全協議(PGP)

應用層為電子郵件提供安全服務的協議PGP
在這里插入圖片描述
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM