图解TCPIP笔记
TCP/IP:改變了過去計算機網絡只能用于連接計算機進行信息交互,在有限設備之間進行通信的狀況。現在以TCP/IP為基礎的現代網絡技術,可以間連接汽車等不同的設備進行信息傳輸。
為了構造和運營一個安全的網絡環境,理解TCP/IP非常重要。
第一章、網絡基礎知識
OSI參考模型:
1.1 計算機網絡出現的背景
單機模式、獨立模式:計算機未連接到網絡,獨立使用
網絡互連模式,形成計算機網絡,實現信息共享
計算機網絡規模:WAN, CAN, LAN
從計算機通信到信息通信,各種通信終端都可以連接到互聯網。
計算機網絡作用:通過網絡將信息傳遞到每個人的計算機中。
1.2 計算機與網絡發展的7個階段
1.3 協議的必要性
OS集合了CPU管理,內存管理,計算機外圍設備管理以及程序運行管理等。
多任務調度,CPU時間輪轉機制,實現多個程序同時運行。
計算機之間要實現達成一個詳細的約定,并且遵循這一個約定進行處理才能建立通信。
分組交換協議:將大數據分割成一個個叫做包的較小單位進行傳輸的方法。
計算機通信需要源主機地址,目標主機地址以及分組序號,這些被稱為報文首部。
1.4 協議由誰規定
兼容性
ISO,指定國際標準OSI(Open System Interaction 開放式通信系統互聯參考模型)
TCP/IP是由IETF組織規定的。
1.5 協議分層與OSI參考模型
協議分層:擴展性和靈活性較強。
上下層進行交互時遵循的約定:接口
同一層交互遵循的約定:協議
通過對話理解分層
OSI參考模型:
1.6 OSI參考模型通信處理舉例
閃存,非易失性存儲器:數據不會因為斷電而丟失的一種存儲數據。
會話層只對何時建立連接、何時發送數據等問題進行管理,并不具有實際傳輸數據的功能。
傳輸層作用:保證數據傳輸可靠性。
網絡層的作用是在網絡與網絡互連的環境中,將數據從發送端主機發送到接收端主機。
在實際發送數據時,目的地址至關重要,是進行通信的網絡中唯一指定的序號。
網絡層也會將其從上層收到的數據和地址信息等一起發送給下面的數據鏈路層進行后面的處理。
網絡層和傳輸層協作保證數據可達性,實現可靠傳輸。
通信傳輸實際是通過物理的傳輸介質實現的,數據鏈路層的作用就是在這些通過傳輸介質互聯的設備之間進行數據處理。
物理層中將數據0、1轉換成電壓和脈沖光傳輸給物理的傳輸介質,而相互直連的設備之間是由地址實現傳輸。這種地址被稱為MAC地址,也可以成為是物理地址或硬件地址,是為了識別連接到同一個傳輸介質上的設備。
1.7 傳輸方式的分類
面向有連接型:在通信傳輸之前,先打開一個連接,連接被關閉時無法發送數據。
面向無連接型:無需確認對端是否存在,發送端可以隨時發送數據。
電路交換和分組交換(網絡通信方式):
在電路交換中,交換機主要負責數據的中轉處理。所以計算機之間在發送數據時,需要通過交換機與目標主機建立通信電路。
雖然一條電路連接了多臺計算機,但是計算機之間收發信息會獨占整個電路,其他計算機只能等待。為了實現并發:讓連接到通信電路的計算機將所要發送的數據分成多個數據包,按照一定順序排列之后分別發送,這就是分組發送。
所以電路交換最多的同時通信根據電路交換機的數量一致,分組交換通過線路共享和緩存隊列,可以多個用戶同時通信。
分組交換:
根據接收端數量分類:單播、廣播
單播:一對一通信
廣播:一臺主機發送給所有與之相連的主機
任播:特定組內的任意一臺計算機,應用:DNS根域名解析服務器
多播:與廣播類似,但是要限定某一組主機作為接收端,比如騰訊會議
1.8 地址
TCP/IP通信中使用MAC地址、IP地址、端口號等信息作為地址標識。
應用層中也可以將電子郵件地址作為網絡通信的地址。
地址的唯一性
地址的總數越來越多時,可以將地址分層,即唯一性和分層性。
MAC地址和IP地址在標識一個主題時雖然都具有唯一性,但是只有IP地址具有層次性。
IP地址分層:IP地址由網絡號和主機號組成。
網絡傳輸中,每個節點會根據分組數據的地址信息來判斷該報文應該由那個網卡發出去。各個地址參考發出接口列表。
MAC尋址:地址轉發表
IP尋址:路由控制表
1.9 網絡的構成要素
計算機之間硬件設備連接:
計算機之間通過電纜相互連接,電纜:雙絞線、光纖、同軸電纜、串行電纜
在數據傳輸的過程中,兩個設備之間數據流動的物理速度稱為傳輸速率,單位為bps,每秒比特數。傳輸速率又稱作帶寬。主機之間的傳輸速率被稱為吞吐量,也是bps,不僅衡量帶寬也衡量主機的CPU處理能力,網絡的擁堵成都,報文中數據字段的占有份額等。
中繼器:
中繼器是OSI模型的第一層,物理層面上延長網絡的設備。由電纜傳過來的電信號或光信號經由中繼器的波形調整和放大再傳給另一個電纜。兩端連接的是相同的通信媒介。
有些中繼器可以提供多個端口服務,被稱為終極集線器或者集線器。
網橋/2層交換機,數據鏈路層:
網橋是OSI模型的第二層 – 數據鏈路層上連接兩個網絡的設備。可以識別數據鏈路層中的數據幀,并且將這些數據幀臨時存儲于內存,再重新生成信號作為一個全新的幀轉發給相連的另一個網段。
數據鏈路的數據幀中有一個數據位叫做FCS,用于校驗數據是否正確送達目的地。網橋通過檢查這個域中的值,將那些損壞的數據丟棄,從而避免發送給其他的網段。
網橋還可以通過地址(MAC地址、IP地址,硬件地址,適配器地址)自學機制和過濾功能控制網絡流量。
路由器/3層交換機,網絡層:
路由器是在OSI模型的第三層–網絡層上連接兩個網絡,并對分組報文進行轉發的設備。網橋是根據物理地址(MAC地址)進行處理,路由器是根據IP地址進行處理。所以TCP/IP中網絡層的地址就成為了IP地址。
路由器可以連接不同的數據鏈路。
路由器還有分擔網絡負荷的作用,網絡安全功能。
4-7層交換機負責處理OSI模型中從傳輸層到應用層的數據。企業為了使用者方便,一般指向用戶開放一個統一的訪問URL,為了能通過同一個URL將前端訪問分發到后臺多個服務器上,可以在這些服務器的前端加一個負載均衡器。這些負載均衡器就是4-7層交換機的一種。
廣域網加速器、特殊應用訪問加速、防火墻
網關:
網關是OSI參考模型中負責將從傳輸層到應用層的數據進行轉換和轉發的設備與4-7層交換機處理的數據一致。
代理服務器:控制網絡流量以及安全,有了代理服務器,客戶端和服務器就不需要在網絡層上直接通信,而是從傳輸層到應用層對數據和訪問進行各種控制和處理。
1.10 現代網絡實態
核心網、邊緣網絡、接入層(匯聚層)
網絡信息的傳播:個人和企業自己制作網站部署到服務器、博客、托管主機服務。
數據中心:面對高并發,減少訪問延遲,匯集和多個托管主機服務于一起,通過連接高速網絡,提高響應速度。
數據中心由大型服務器、存儲以及計算機網絡構成。數據中心內部的網絡分布著3層交換機和高速路由器。
虛擬化技術:當一個網站需要調整運營所使用的資源是,并不增減服務器、存儲設備、網絡等實際的物理設備,而是利用軟件將這些物理設備虛擬化,在有必要增減資源的時候通過軟件按量增減的一種機制。按需分配、按比例分配。
第二章、TCP/IP基礎知識
屬于傳輸層
2.1 TCP/IP出現的背景及其歷史
分組交換技術:多個用戶同一時間共享一條通信線路進行通信,從而提高線路的使用效率,降低搭建線路的成本。
ARPANET,基于分組交換技術
由于BSD UNIX操作系統實現類TCP/IP,TCP/IP開始被ARPANET正式采用。
2.2 TCP.IP的標準化
20世紀90年代,ISO開展了OSI這一國際標準協議的標準化進程,但是OSI協議并沒有得到普及,真正被廣泛使用的是TCP/IP協議。
TCP/IP網際協議族:IP或ICMP, TCP或UDP,TELNET或FTP,HTTP
TCP/IP規范—RFC
2.3 互聯網基礎知識
互聯網進行通信時,需要相應的網絡協議,TCP/IP就是為使用互聯網開發制定的協議族。
互聯網中每個網絡都是由骨干網和末端網組成的。
IP是跨越網絡傳送數據包,使整個互聯網都能收到數據的協議,IP協議使數據能夠發送到地球的另一端。
ICMP:診斷網絡健康狀況,IP數據包在發送途中一旦發生異常無法到達對端目標地址,需要給發送端發送一個發生異常的通知。
ARP:從分組數據報的IP地址中解析出物理地址MAC地址。
瀏覽器和服務器之間通信所用的協議使HTTP,所傳輸數據的主要格式是HTML,HTTP屬于應用層的協議,HTML屬于表示層的協議。
電子郵件:SMTP
文件傳輸:FTP,文件傳輸是指將保存在其他計算機硬盤上的文件轉移到本機的硬盤上。傳輸過程可以選擇二進制或者文本方式。在FTP進行文件傳輸時會建立兩個TCP連接,分別是發出傳輸請求時要用的控制連接和實際傳輸數據時要用到的數據連接。
遠程登陸:TELNET,SSH
網絡管理:SNMP Simple Network Management Protocol,使用SNMP管理的主機、網橋、路由器被稱為SNMP代理。
2.5 TCP/IP分層模型與通信示例
以太網數據–> IP數據–> TCP數據
每個分層中,都會對所發送的數據附加一個首部,這個首部包含了該層必要的信息,如發送的目標地址以及協議相關信息
包、幀,數據鏈路層、數據報,網絡層、段,傳輸層、消息,應用協議中數據的單位。
TCP/IP發送數據包的過程:
經由數據鏈路的包:
分組數據包,每個包首部至少都包含兩個信息,一個發送端和接收端的地址,另一個是上一層的協議信息。
經過每一個協議分層時,都必須有識別包發送端和接收端的信息,以太網會用MAC地址,IP會用IP地址,TCP/UDP會用端口號作為識別兩端主機的地址。
數據包接收處理時發送流程的逆序。
第三章、數據鏈路
3.1 數據鏈路的作用
數據鏈路的協議定義了通過通信媒介互聯的設備之間傳輸的規范。通信媒介包括雙絞線電纜,同軸電纜,光纖,點播以及紅外線等介質,
數據鏈路的段是指一個被分割的網絡,從網絡層看兩條網線組成一個段,從物理層概念看,一條網線是一個段。
網絡拓撲:總線型、喚醒、星型、網狀型。
3.2 數據鏈路相關技術
MAC地址
MAC地址用于識別數據鏈路中互聯的節點,MAC地址是唯一的
共享介質型網絡
共享介質型:多個設備共享一個通信介質,介質訪問控制方式:爭用方式、令牌傳遞方式
爭用方式:CSMS/CD
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-w1AfEyQs-1653629922437)(…/…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20220510113016141.png)]
令牌傳遞方式:只有獲得令牌才能發送數據,所以不會有沖突,每個站都有通過平等循環獲得令牌的機會。
非共享介質網絡
**網絡中每個站直連交換機,由交換機負責轉發數據幀。**計算機與交換機端口之間形成一對一的連接。
但是一旦交換機發生故障,與之相連的所有計算機之間都將無法通信。
全雙工:同一時間內既可以發送數據也可以接收數據。
半雙工:只發送或接受
根據MAC地址轉發
交換集線器/以太網交換機:非介質共享性,將集線器等設備以星型連接。
交換機轉發方式有兩種:存儲轉發、直通轉發
環路檢測技術
通過網橋連接網絡時,出現環路,數據幀在環路中會被持續轉發,數據幀越積越多導致網絡癱瘓。
用源路由法,該方式可以判斷發送數據的源地址是通過哪個網橋實現傳輸的,并將幀寫入RIF路由信息表中,網橋根據RIF的信息發送幀給目標地址,所以即使網橋中出現了環路,數據幀也不會被反復轉發。
VLAN
網絡管理:分散網絡負載,
VLAN通過按照其端口區分了多個網段,從而區分了廣播數據傳播的范圍,減少網絡負載并提高了網絡的安全性。
3.3 以太網
在量子力學提出之前,人們普遍認為宇宙空間充滿以太并以波的形式傳送著光。
以太網的分類 BASE
根據通信電纜的不同以及通信速度的差異分類。
thin以太網:10BASE2, 雙絞線以太網10BASE-T,高速以太網100BASE-TX,千兆以太網100BASE-T
以太網幀格式
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-aFFjmqWH-1653629922438)(…/…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20220510155648787.png)]
3.4 無線通信
無線通信通常用電磁波、紅外線、激光等方式進行傳播數據。
無線LAN
藍牙
WiMAX
3.5 PPP點對點
OSI參考模型的第二層,數據鏈路層
PPP標準幀格式
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-sKCwcqQC-1653629922439)(…/…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20220510163005544.png)]
3.6 其他數據鏈路
ATM Asynchronous Transfer Mode, 一一個叫做信元(5字節首部加48字節數據)的單位進行傳輸的數據鏈路。
ATM是一種面向連接的數據鏈路,所以在通信傳輸之前一定要設置通信鏈路。
POS Packet over SDH/SONET 是一種在SDH上進行包通信的協議,SDH時在光先生傳輸數字信號的物理層規范。
HDMI High-Definition Multimedia Interface 高清晰度多媒體接口
3.7 公共網絡
VPN用于連接距離較遠的區域。
第四章、IP協議
本章旨在介紹IP協議的主要功能及其規范
4.1 IP即網際協議
網絡層主要由IP和ICMP兩個協議組成。IP協議主要負責將數據包發送給最終的目標主機。
IP相當于OSI參考模型的第三層。
網絡層主要作用時實現終端節點之間的通信。即點對點通信。
數據鏈路層的主要作用是在互聯同一種數據鏈路的節點之間進行包傳遞。
4.2 IP基礎知識
IP分為三大作用模塊,分別是IP尋址、路由以及IP分包與組包。
IP地址屬于網絡層地址
IP地址用于再連接到網絡中所有主機中識別出進行通信的目標地址,所以再TCP/IP通信中所有主機或路由器都必須設定自己的IP地址。
路由控制
路由控制是將分組數據發送到最終目的地址的功能。可以通過路由控制確定到達目標地址的通路。
Hop一跳是指利用數據鏈路層以下分層的功能傳輸數據幀的一個區間。
以太網等數據鏈路中使用MAC地址傳輸數據幀。
路由控制表
記錄IP數據在下一步應該發給哪一個路由器。IP包根據這個路由表在各個數據鏈路上傳輸。
IP屬于面向無連接型
在發包之前,不需要與對端目標地址之間建立連接。上層如果需要發送IP數據,該數據會立即壓縮成IP包發送出去。
原因:簡化、提速
為了提高可靠性,上一層的TCP采用面向有連接。
4.3 IP地址的基礎知識
在TCP/IP通信時,用IP地址識別主機和路由器。
IP地址的定義
IP地址由32位正整數表示。
IP地址并非根據主機臺數配置,而是每一臺主機上的每一塊網卡都得設置IP地址。一塊網卡也可以設置兩個以上的IP地址。
IP由網絡和主機兩部分標識組成
IP地址的分類
4個級別,A、B、C、D
廣播地址
用于在同一個鏈路中互相連接的主機之間發送數據,IP地址在的主機波分全部設置為1,就成了廣播地址。
廣播分為本地廣播和直接廣播。
IP多播
同時發送提高效率,多播用于發送給特定組內的所有主機。由于直接使用IP協議,所以不存在可靠傳輸。
IP多播與地址
多播使用D類地址
子網掩碼
一個IP地址只要確定了其分類就確定它的網絡標識和主機標識。
子網與子網掩碼
網絡標識+主機標識
4.4 路由控制
路由控制表至關重要,實現IP通信和路由器,將數據包發送到對端目標地址。
IP地址與路由控制
路由控制表記錄著網絡地址與下一步應該發送至路由器的地址。
在發送IP包時,首先要確定IP包首部中的目標地址,再從路由控制表中找到與該地址具有相同網絡地址的記錄,根據該記錄將IP包轉發給相應的下一個路由器。
默認路由
0.0.0.0 /0
主機路由
IP地址/32
環回地址
4.5 IP分割處理與再構成處理
數據鏈路不同,MTU則相異
MTU:最大傳輸單元
IP報文的分片與重組
較大的報文無法一下子發出關于企業,所以需要分片處理。
路徑MTU發現
4.6 IPv6
IPv6是為了解決IPv4地址耗盡的問題而被標準化的網際協議。
IPv4長度是32位,IPv6是他的4倍,128比特,一般寫成8個16位字節。
從IPv4到IPv6切換及其耗時,需要將網絡中所有主機和路由器的IP地址進行重新設置
IPv6的特點:
全局單播地址,是世界上唯一的一個地址,她是互聯網通信以及各個域內部通信中最為常用的一個IPv6地址。
4.7 IPv4首部
IP協議版本;首部長度IHL;區分服務TOS,表明服務質量;生存時間TTL,記錄當前包在網絡上應該生存的期限,單位為秒;協議,表示IP受不得下一個首部屬于哪個協議;首部校驗和,只校驗數據包的首部,確保IP數據包不被破壞;源地址;目標地址;填充;數據。
第五章、IP協議相關技術
IP協議旨在讓最終目標主機收到數據包,但是在這一過程中僅僅有IP是無法實現的,還要有能夠接卸主機名稱DNS和MAC地址ARP的功能,以及數據包再發送過程中異常情況處理的功能。
DNS, ARP, ICMP, DHCP
5.1 僅憑IP無法完成通信
為了讓主機能夠根據實際的IP包進行通信,需要將應用中使用的地址映射為IP地址。
5.2 DNS 域名系統
平常訪問網站時一般不使用IP地址而是字符加點號組成的字符串。因為IP地址不便于記憶。
主機識別碼:為每臺計算機都賦役唯一的主機名,在網絡通信時可以直接使用的主機名稱無需輸入一大長串的IP地址。
DNS系統可以優先管理主機名和IP地之間的對應關系。維護這兩個之間對應關系的數據庫。
域名服務器,管理域名的主機和相應的軟件,可以管理所在分層的域的相關信息,每一層都舍友一個域名服務器。
DNS解析器,是進行DNS查詢的主機和軟件,用戶所使用的電腦都屬于解析器,一個解析器要注冊至少一個以上的域名服務器的IP地址。
DNS查詢類似于雙親委派,本層服務器不知道這個IP地址是什么就會向上一層服務器查詢。根域名服務器。
5.3 ARP
用于解析IP地址對應的MAC地址。
ARP協議是一種解決地址問題的協議,以目標IP地址為線索,定位下一個應該接受數據分包的網絡設備對應的MAC地址,借助ARP請求和ARP響應梁祝類型的包確定MAC地址。
ARP工作機制:
主機A為了獲得主機B的MAC地址,首先要通過廣播發送一個ARP請求包,這個包包含了主機B的IP地址。總之,從一個IP地址發送ARP請求包以了解其MAC地址,目標地址將自己的MAC地址填入其中的ARP響應包返回到IP地址。所以通過ARP從IP地址獲得MAC地址,實現鏈路內的IP通信。
根據ARP可以動態的進行地址解析,所以在TCP/IP的網絡構造中無需知道MAC地址,有IP就足夠。
IP地址和MAC地址缺一不可嗎? 是
MAC地址無法判斷機器所在的位置,但是IP地址可以
DHCP自動分配獲取地址。
RARP:從MAC地址定位IP地址的一種協議,是RAP的相反。
代理ARP:通常ARP會被路由器隔離,但是采用代理ARP的路由器可以將ARP請求轉發到鄰近的網段。由此,兩個以網段的節點之間可以像在同一個網段中一樣進行通信。
5.4 ICMP
架構IP注意點:確認網絡是否正常工作、遇到異常時進行問題診斷
ICMP主要功能:確認IP包是否送達目標地址,通知在發送過程當中IP包被廢棄的具體原因,改善網絡設置等。
ICMP的消息分為兩大類:一個是通知出錯原因的錯誤消息,另一類是用于診斷的查詢消息。
ICMP目標不可達消息,會顯示不可達的原因。
ICMP重定向消息,使用次優路徑發送數據,會返回一個ICMP重定向消息給主機。
ICMP超時消息,IP包的一個字段:TTL生存周期,它的值每經過一次路由器救護減一,知道減到0時,IP包被丟棄,ICMP超時消息告知發送端主機該包已經被丟棄。
ICMP回送消息,判斷數據包是否已經成功到達對端,ping命令就是用這個消息實現的。相對短主機發送回送請求的消息,接受對端主機的回送應答消息。
ICMPv6
5.5 DHCP
DHCP(Dynamic Host Configuration Protocol)實現即插即用,實現自動設置IP地址,統一管理IP地址分配,有了DHCP,只要計算機連接到網絡,就可以進行TCP/IP通信。
DHCP工作機制
DHCP服務器再分配IP底之前發送ICMP回送請求包,確認沒有返回應答。
DHCP客戶端針對從DHCP哪里獲得的IP地址發送ARP請求包,確認沒有返回應答。
DHCP的設置保證即使在DHCP服務器上重復設置也能正常工作。
DHCP中繼代理
DHCP服務器即使不在同一鏈路也可以實現統一分配和管理IP地址。
5.6 NAT
NAT, Network Address Translator, 用于在主機網絡中使用私有地址,再連接互聯網時轉而使用全局IP地址的技術。為了IPv4向IPv6過渡。實現一個全局IP地址與多個主機的通信。
只有目標地址、源地址、目標端口、源端口以及協議類型都一致時才可以被認為是一個通信連接。
私有地址(Private address)屬于非注冊地址,專門為組織機構內部使用。
公有地址(Public address)由Inter NIC(Internet Network Information Center 因特網信息中心)負責。這些IP地址分配給注冊并向Inter NIC提出申請的組織機構。通過它直接訪問因特網。
A類 10.0.0.0 --10.255.255.255
B類 172.16.0.0–172.31.255.255
? C類 192.168.0.0–192.168.255.255
5.7 IP隧道
構造一個既可以支持IPv4也可以支持IPv6的網絡是一項極其龐大的工程。
第六章、TCP和UDP
傳輸層
6.1 傳輸層的作用
根據通信的特征選擇合適的傳輸層協議。
通信處理
服務端的程序有必要提前啟動準備接受客戶端的請求,否則無法及時處理客戶端發來的請求。
這些服務端程序在UNIX系統中叫做守護進程。HTTP的服務端程序時httpd,ssh的服務端程序是sshd。
根據所收到數據包的目標端口號識別出請求發給哪個服務端,如果目標端口為22,則轉給sshd。
兩種傳輸層協議TCP和UDP
TCP是面向連接、可靠的流協議,流指的是不間斷的數據結構。可以實現順序控制、重發控制、流量控制、擁塞控制。
UDP是不具有可靠性的數據報協議,主要用于對高速傳輸和實時性有較高要求的通信或廣播通信。
套接字和API緊密連接,應用在使用TCP或UDP時,會使用到操作系統的API類庫。
應用程序利用套接字可以設置對端的IP地址,端口號和數據的發送與接收。
6.2 端口號
在傳輸層類似地址的是端口號, 數據鏈路層:MAC地址,網絡層:IP地址,端口號用來識別用一臺計算機中進行通信的不同應用程序。
根據端口號識別應用
通過IP\端口號、協議號進行通信識別
TCP/IP,UDP/IP通信中通常采用5個信息來識別一個通信:==目標IP地址、源IP地址、目標端口號、源端口號以及協議號。==如果有一個不同,則是其他通信。
確定端口號
標準既定的端口號、時序分配法
端口號與協議
不同的傳輸協議可以使用相同的端口號,使用不敵各不相同,因為端口號上的處理根據傳輸協議的不同會改變。
53端口:DNS服務
80端口:HTTP服務
6.3 UDP User Datagram Protocol
UDP不需要復雜的控制機制,利用IP提高面向無連接的通信服務,收到應用程序發來的數據立刻按照原樣發送給網絡。
6.4 TCP
對傳輸、發送、通信進行控制的協議。
TCP實現類數據傳輸時各種控制功能,可以進行丟包是的重發控制,也可以對次序亂掉的分包進行順序控制。
特點及目的
TCP通過校驗和、序列號seq、確認應答ack、重發控制、連接管理以及窗口控制等機制實現可靠傳輸。
主機A發送數據后,主機B都會有確認應答保證可靠的數據傳輸。TCP通過可靠的確認應答ACK實現可靠傳輸。在一定時間內沒有等到確認應答,就會重傳保證可靠傳輸。未收到確認也可能是接收方已經收到只是在返回確認應答的途中丟失。需要放棄重復的數據包。
確認應答延遲到達,通過序列號和確認應答號,TCP可以實現可靠傳輸。
通過序列號實現確認應答處理,重發控制以及重復控制等功能,可以識別是否已經接收數據,判斷是否需要接收。
重發超時如何確定
重發超時是指在重發數據之前,等待確認應答到來的那個特定時間間隔。如果超過了這個時間仍未收到確認應答,發送端將進行數據重發。
RTT:報文段的往返時間, Round Trip Time,RTT時間波動的值、方差。
連接管理
TCP提供面向有連接的通信傳輸,所以在數據通信開始之前先做好通信兩端之間的準備工作。
可以使用TCP首部用于控制的字段來管理TCP連接,毅哥連接的建立與斷開,正常過程至少需要來回發送7個包才能完成。
TCP以段為單位發送數據
確定數據包的單位,MSS:Maximum Segment Size,最大消息長度,建立TCP連接的同時,也可以確定發送數據包的單位。TCP在傳送大量數據時,是以MSS的大小將數據進行分割發送的。
利用窗口控制提高速度
TCP以一個段為單位,每發一個段進行一次確認應答的處理,但是報的往返時間越長通信性能就越低,網絡的吞吐量就越差。
所以引入窗口這個概念提高速度。
窗口大小就是指無需等待確認應答而可以繼續發送數據的最大值。這個機制實現了使用大量的緩沖區,通過對多個段同時進行確認應答的功能。
收到確認應答的情況下,將窗口滑動到確認應答中的序列號的位置。這樣可以順序地將多個段同時發送提高通信性能,這種機制也被稱為滑動窗口機制。
用滑動窗口方式并行處理:窗口大小就是指無需等待確認應答而可以繼續發送數據地最大值。
窗口控制與重發控制
使用窗口控制時出現段丟失:重發控制
流量控制
TCP提高一種機制可以讓發送端根據接收端地實際接收能力控制發送地數據量。
接收端地這個緩沖區一旦面臨數據溢出時,窗口的大小也會隨之倍設置為一個更小的值通知給發送端,從而控制數據發送量。
擁塞控制
TCP地窗口控制使收發主機可以不再以一個數據段為單位發送確認應答也能發送大量數據包;但是如果在通信剛開始就發送大量數據,也會引發其他問題。
在網絡出現擁堵時,如果突然發送叫大量的數據,可能會導致整個網絡的控制:慢啟動
擁塞控制–> 擁塞窗口–> 慢啟動–> 超時機制
TCP的窗口變化:
6.5 其他傳輸層協議
6.6 UDP首部的格式
UDP首部:源端口號、目標端口號、包長、校驗和
UDP可能不用校驗和
TCP/IP進行通信的5大要素:源IP地址,目標IP地址,源端口,目標端口,協議號
6.7 TCP首部格式
TCP首部:源端口號、目標端口號、序列號、確認應答號、窗口大小、校驗和
第七章、路由協議
7.1 路由控制的定義
路由器根據路由控制表轉發數據包。
靜態路由:事先設置好路由器和主機并將路由i西南西固定的一種方法。
動態路由:讓路由協議在運行過程中自動地設置路由控制信息的一種方法。
7.2 路由控制范圍
內部網關協議IGP(Interior Gateway Protocol),外部網關協議EGP
7.3 路由算法
距離向量算法Distance-Vector、鏈路狀態算法Link-State
距離向量算法
根據距離代價和方向決定目標網絡和目標主機位置的一種方法
鏈路狀態算法
是路由器在了解網絡整體連接狀態的基礎上生成路由控制表的一種方法。
鏈路狀態算法代價是從網絡代理獲取路由信息表
主要路由協議
7.4 RIP
RIP Routing Information Protocol, 距離向量型的一種路由。廣泛用于LAN
RIP基本行為導致路由變更:
解決:毒性逆轉、觸發更新
7.5 OSPF
Open Shortest Path First,一種鏈路狀態路由協議,即使網絡中有環路,也能夠進行穩定的路由控制。OSPF支持子網掩碼,可以實現可變長度子網構造的網絡路由。
OSPF是鏈路狀態型路由器,路由器支架交換鏈路狀態生成的網絡拓撲信息,然后這個拓撲信息生成路由控制表。
RIP的路由選擇要求途中所經過的路由器個數越少越好。與之相比,OSPF給每條鏈路賦予一個權重,并始終選擇權重最小的路徑作為最終路由。所以,RIP是選擇路由器個數最少的路徑,OSPF是選擇總的代價較小的路徑。
在OSPF中,把鏈接到同一個鏈路的路由器稱作相鄰路由器。
RIP中包類型只有一種,可以利用路由控制信息,一邊確認是否連接了網絡,一邊傳送網絡信息。
7.6 BGP Boder Gateway Protocol
邊界網關協議是連接不同組織機構的一種協議,屬于外部網關協議。
只有BGP, RIP和OSPF共同進行路由控制,才能夠進行整個互聯網的路由控制。
BGP是路徑向量協議
7.7 MPLS
Multi Protocol Label Switching,多協議標記交換技術。
第八章、應用協議
8.1 應用層協議概要
應用協議是為了實現某種應用而設計和創造的協議。
應用協議與協議的分層。
8.2 遠程登陸 TELNET, SSH
TELNET
分為兩類基本服務:仿真終端功能,協商選項機制
TELNET主要用于登錄路由器和高性能交換機等網絡設備。
telnet 主機名 TCP端口號 / FTP 主機名
SSH
SSH是加密的遠程登陸系統。
TELNET登錄時無需輸入密碼就可以發送,容易造成通信竊聽和非法入侵。SSH可以加密通信內容。
8.3 文件傳輸 FTP
FTP是兩個相連的計算機之間進行文件傳輸時使用的協議。
匿名服務器:允許任何人進行訪問。
FTP工作機制:使用兩條TCP連接,一條用來控制,一條用于數據文件的傳輸。
8.4 電子郵件 SMTP
為了實現高效發送郵件內容,在傳輸層使用了TCP協議。
電子郵件的機制由3部分組成,分別是郵件地址、數據格式、發送協議。
接收端從郵件服務器接收郵件時使用POP3,Post Office Protocol
使用TCP的25號端口
8.5 WWW 萬維網
萬維網是將互聯網中的信息以超文本形式展現的系統,也叫做WEB。
WWW基本概念
3個重要的概念:URI,訪問信息的手段與位置;HTML信息的表現形式;HTTP信息轉發
HTML具有純文本的功能,可以在頁面中為文字或圖像附加鏈接。
HTTP的主要命令:
信息提供狀態碼:
1開頭:信息提供
2開頭:肯定應答,200:OK
3開頭:重定向請求,301資源暫時轉移
4開頭:客戶端請求內容出現錯誤,400 bad request,401沒有權限,403禁止,404找不到,405方法錯誤
5開頭:服務器錯誤,502,503,504
CGI:Web服務器調用外部程序時所使用的一種服務器應用的規范。
Cookie:Web中獲取用戶信息的一種機制。
8.6 網絡管理
SNMP:Simple Network Managment Protocol,基于UDP/IP的協議,
SNMPv3將消息處理、用戶安全、訪問控制三部分分開來處理。
SIP Session Initiation Protocol,類似于HTTP
第九章、網絡安全
9.1 TCP/IP與網絡安全
9.2 網絡安全構成要素
防火墻
內網
9.3 加密技術基礎
對稱加密與公鑰加密
對稱加密:AES, DES
公鑰加密:RSA,DH
信息提供狀態碼:
1開頭:信息提供
2開頭:肯定應答,200:OK
3開頭:重定向請求,301資源暫時轉移
4開頭:客戶端請求內容出現錯誤,400 bad request,401沒有權限,403禁止,404找不到,405方法錯誤
5開頭:服務器錯誤,502,503,504
CGI:Web服務器調用外部程序時所使用的一種服務器應用的規范。
Cookie:Web中獲取用戶信息的一種機制。
8.6 網絡管理
SNMP:Simple Network Managment Protocol,基于UDP/IP的協議,
SNMPv3將消息處理、用戶安全、訪問控制三部分分開來處理。
SIP Session Initiation Protocol,類似于HTTP
第九章、網絡安全
9.1 TCP/IP與網絡安全
9.2 網絡安全構成要素
防火墻
內網
9.3 加密技術基礎
對稱加密與公鑰加密
對稱加密:AES, DES
公鑰加密:RSA,DH
總結
- 上一篇: 你可能需要的网易前端三轮面经
- 下一篇: 如何从 0 到 1 打造团队 PC/H5