主頁 >  其他 > 《圖解TCP/IP》筆記

《圖解TCP/IP》筆記

2021-01-25 11:12:37 其他

學習目標:《圖解TCP/IP》筆記

學習內容:

一、計算機網路背景
1、廣域網與局域網;
2、OSI開放式通信系統互聯參考模型:
<1>應用層:為應用程式提供服務并規定應用程式中通信相關的細節,針對特定應用的協議,電子郵件協議,遠程登錄協議,檔案傳輸協議;
<2>表示層:主要負責格式轉換,接受不同表現形式的資訊,文字流,影像,聲音等,將應用處理的資訊轉換為適合網路傳輸的格式,或者將來自下一層的資料轉換為上層能夠處理的格式;
<3>會話層:負責建立和斷開通信連接,以及資料的分割和傳輸,何時建立連接,何時斷開,以及保持多久連接
<4>傳輸層:可靠傳輸的作用,是否有資料丟失;
<5>網路層:經過哪個路由傳遞到目標地址;
<6>資料鏈路層:資料幀與位元流之間的轉換;
(位元流:內容分發協議,它采用高效的軟體分發系統和點對點技術共享大體積檔案(如一部電影或電視節目),并使每個用戶像網路重新分配結點那樣提供上傳服務,一般的下載服務器為每一個發出下載請求的用戶提供下載服務,而BitTorrent的作業方式與之不同,分配器或檔案的持有者將檔案發送給其中一名用戶,再由這名用戶轉發給其它用戶,用戶之間相互轉發自己所擁有的檔案部分,直到每個用戶的下載都全部完成,這種方法可以使下載服務器同時處理多個大體積檔案的下載請求,而無須占用大量帶寬,)
<7>物理層:位元流與電子信號之間的切換;
在這里插入圖片描述
在這里插入圖片描述
3、傳輸方式分類
1)是否需要預先建立連接分類:
面向有連接型:發送資料之前需要在收發主機之間連接一條通信線路,例如電話;
面向無連接型:發送端于任何時候自由發送資料,接收端也永遠不知道自己會在何時從哪接受資料,此時接收端需要時常確認是否接受了資料,例如發郵包;
2)交換方式分類
電路交換:交換機主要負責資料的中轉處理,計算機首先被連接到交換機上,而交換機與交換機之間則由眾多的通信線路再繼續連接,計算機之間發生資料時需要先通過交換機與目標主機建立通信電路,
3)分組交換:
<1>為了防止電路交換中,兩臺計算機獨占線路,實作并發交換,連接到通信電路上的計算機所要發送的資料分成多個資料包,按照一定的順序排列之后分別發送,由于每個資料包都寫入了發送端與接收端的地址,所以即使在同一條線路也可以同時為多個用戶提供服務,
<2>分組交換中,分組交換機連接通信線路,發送端計算機將資料分組發送給路由器,路由器收到這些分組資料以后快取到自己的緩沖區的佇列中,然后再轉發給目標計算機,也叫“蓄積交換”,
<3>由于網路擁堵,路由器可能發生快取飽和或者溢位,甚至出現分組資料丟失,
4)根據接收端數量分類
<1>單播(Unicast):1對1通信;
<2>廣播(Broadcast):對應的能接受到廣播的計算機范圍成為廣播域,如果頻段資訊;
<3>多播(Multicast):指定特定的一組主機作為接收端,如電視會議;
<4>任播(Anycast):在特定的多臺主機中選出一臺作為接收端,類似多播在特定的一組主機中任選,在DNS根域名決議服務器中有應用,
4、地址
1)唯一性:一個地址必須明確地表示一個物件;
2)層次性:通過分層樹狀結構實作快速檢索,如電話號碼,實際住址,也有無層次的地址,如MAC地址,
3)MAC與IP在標識一個主體時都具有唯一性,但只有IP有層次性;MAC雖然是最終通信的地址,但尋址程序中IP地址必不可少;
4)P地址的分層:
<1>IP地址由網路號和主機號兩部分組成;
<2>網路號相同的主機在組織結構,提供商型別和地域分布上都比較集中,
5)網路傳輸中,每個節點會根據分組資料的地址資訊,來判斷該報文應該由哪個網卡發送出去,為此,各個地址會參考一個發出介面串列,MAC尋址是地址轉發表,IP尋址是路由控制表
5、現代網路
1)核心網:計算機網路中的“高速公路”;使用高速路由器快速傳輸大量資料,
2)邊緣網路:“高速公路”的出入口;常用多功能路由器和3層交換機,
3)接入層(匯聚層):計算機網路中連接邊緣網路的部分,常用2層交換機和3層交換機,
4)互聯網通信:用戶A - 接入層 - 【邊緣網路】 - 【主干網】 - 【邊緣網路】 - 接入層 - 用戶B,有時候在接入層就可以完成通信,
5)移動通信:手機終端A - 基站 - 通信控制中心 - 聲音主干網/資料主干網 - 通信控制中心 - 基站 - 手機終端B,
6)資訊發布者:資訊發布者將資訊發布到資料中心,資料中心內部的網路分布著3層交換機和高速路由器,資料中心通常接入主干網或邊緣網路可以實作大帶寬高速資料傳輸,以此處理對該資訊的大量訪問,
6、虛擬化技術與云
1)虛擬化技術:當一個網站需要調整運營所使用的資源時,并不增減服務器,存盤設備,網路等實際的物理設備,而是通過軟體將這些物理設備虛擬化,在有必要的時候進行增減,以此達到按需分配,按比例分配,對外提供可靠的服務,
2)云:利用虛擬化技術根據使用者的情況動態調整必要資源的機制為“云”,

二、TCP/IP基礎知識
1、TCP/IP協議簇:
1)應用層:HTTP,SMTP,FTP,TELNET,SNMP;
2)傳輸層:TCP,UDP
3)網路層:IP,ICMP,ARP
4)路由控制協議:RIP,OSPF,BGP
2、IETF/RFC:TCP/IP協議由IETF討論制定,需要標準化的協議被列入RFC(Request For Comment);
3、互聯網中的每個網路都是由骨干網(BackBone)和末端網(Stub)組成的,每個網路之間通過NOC(Network Operation Center)相連,如果網路運營商不同,網路連接方式和使用方法也會不同,連接這種異構網路需要IX(Internet Exchange)支持,互聯網是一個由眾多異構網路通過IX連接起來的一個巨型網路;
4、OSI七層
由誰實作:
應用程式:應用層,表示層,會話層;
作業系統:傳輸層,網路層;
設備驅動與網路介面:資料鏈路層,物理層,
硬體(物理層):以太網或者電話線;
網路介面層(資料鏈路層):相當于NIC(網卡)的驅動程式,驅動程式是作業系統與硬體之間的橋梁,直接插入硬體是無法正常作業的,
互聯網層(網路層):IP協議的作用是將分組資料包發送到目的主機,通過互聯網層可以忽略網路結構的細節,從相互通信的主機角度看,對端主機就如同在一個云層對面,
連接互聯網的所有主機跟路由器都實作IP的功能,但網橋,中繼器和集線器可以不用實作IP或TCP功能,因為它們處于第3層以下,
IP:是分組交換的協議,但不具備重發機制,可能出現丟包,屬于非可靠傳輸協議,
ICMP:IP資料包發送途中一旦發生例外導致無法到達對面地址時,無藥給發送端回傳一個例外通知,這便是ICMP的作用,例如:ping命令,
ARP:從分組資料包的IP地址中決議出物理地址(MAC)的一種協議,
傳輸層:讓應用程式之間實作通信,通過埠號識別,對于正在通信的2個程式而已,中間細節全被忽略如同一朵云,
TCP:面向有連接的傳輸協議,可以正確處理丟包,傳輸亂序等例外,還可以有效利用帶寬,但建立與斷開至少需要7次發包收包(3次握手,4次揮手),浪費網路流,不適合視頻會議,
UDP:面向無連接傳輸層協議,用于多播或者廣播等視頻通信領域
應用層(會話層以上)
會話層,表示層,應用層都由應用程式實作,
TCP/IP應用架構多數屬于客戶端/服務端模型,
WWW,萬維網:是一種互聯網上資料讀寫規范
瀏覽器與服務端之間用HTTP通信(應用層);
傳輸資料主要格式是HTML(表示層),
E-mail
發送電子郵件協議為SMTP(Simple Mail Transfer Protocol);
電子郵件格式由MIME協議(表現層)拓展,
FTP(檔案傳輸協議)
傳輸可以選擇二進制還是文本格式,在Windows和macOS或Unix等系統間進行檔案傳輸時會自動修改換行符,這時由于表示層;
FTP進行檔案傳輸時會建立2個TCP協議,一個用于發出請求時需要的控制連接,一個是實際傳輸連接,這個是會話層功能,
遠程登錄(TELNET和SSH,UNIX的rlogin,Windows的X協議)
網路管理(SNMP,Simple Network Management Protocol)
使用SNMP管理的主機,網橋,路由器稱作SNMP代理(agent);
可以通過表示層協議MIB(Management Information Base)訪問網路介面的資訊,通信資料量以及設備溫度等資訊,
5、TCP/IP分層與通信
1)每個分層都會對所發資料附加一個首部,上一層的資料加首部就是的資料,
2)資料單位:
<1>包:全能性術語;
<2>幀:資料鏈路層中包的單位;
<3>資料報:IP和UDP等網路層以上分層中包的單位;
<4>段:TCP資料流中的資訊;
訊息:應用協議的資料的單位;
3)發送資料包的例子(發郵件)
<1>填寫收件人郵箱(應用層,SMTP);
<2>郵件內容編碼(表示層);
<3>群發還是單發(會話層),
3)TCP模塊的處理
<1>根據會話層的指示,建立連接;
<2>在應用層資料的前端加上TCP首部,包括:1)源埠號和目標埠號(用于識別發送主機和接受主機的應用),2)序號(用于確定發送包的哪部分資料),3)校驗和(用于判斷資料是否損壞),
4)IP模塊的處理
<1>IP將“TCP首部 + 應用層資料”合起來當作自己的資料,并在TCP首部前面加上IP首部;IP首部中包含發送和接受端的IP地址,后面還有用來判斷其后資料是TCP還是UDP的資訊,
<2>IP包生成后,參考路由控制表決定IP包的路由或主機,發送給連接這些路由器或主機的驅動程式,
<3>如不知道接收端MAC地址,可以用ARP(Address Resolution Protocol)查找,只要知道了IP和MAC就可以給以太網驅動程式實作傳輸,
<4>網路介面(以太網驅動)處理5)附加上以太網首部:接收端與發送端的MAC地址,標志以太網型別的以太網資料協議,
并由硬體計算FCS(Frame Check Sequence),添加到包的最后用以判斷資料包是否由于噪聲而被破壞,
5)經過資料鏈路的包
<1>以太網包首部,IP包首部,TCP(UDP)包首部,以及以太網包尾;
<2>包的首部包含:
發送端接收端的地址(以太網/MAC,IP/IP,TCP(UDP)/埠);
上一個協議型別;
協議自身資訊
6)應用程式的處理
<1>網路介面:先判斷接受端MAC地址是不是自己的MAC地址,如不是則丟棄,如果是則先查看資料型別,如果是IP包則傳給IP子程式,如果是ARP則給ARP,如果無法識別資料型別則丟棄;
<2>IP模塊:同樣先查看IP,后查看資料型別;在有路由器的情況下,會根據路由控制表調查該送達的主機和路由進行轉發,
<3>TCP模塊:先計算校驗和,判斷資料是否損壞,然后檢查是否在按照順序接受資料,完成后回傳確認回執給發送端;最后查看埠號把資料給相應的程式;
<4>應用程式:接受TCP傳來的資料處理并作出回應(正常/例外),
三、資料鏈路層
資料鏈路層的作用:資料鏈路層協議規定了通過資訊通信媒介互聯的設備之間傳輸的規范, 0,1等計算機二進制 -> 電壓高低,光的閃滅以及電波強弱,
涉及名詞:VLAN(Virtual Local Area Network),WLAN(Wireless Local Area Network),PPP(Point to Point Protocol),FDDI(Fiber Distributed Data Interface),ATM(Asynchronous Transfer Mode),
資料鏈路的段:被分割的網路,例如,使用中繼器相連的兩個網線在網路層上講是一個網路,但在資料鏈路層上是2個段,一根網線一個段,
1、資料鏈路相關技術
1)MAC地址:用于識別資料鏈路中互連的節點,
以太網或FDDI中的MAC和無限LAN與藍牙等MAC是不同規范;
燒入ROM中,全世界唯一;
長度為48位元

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/252127.html

標籤:其他

上一篇:二維字串 hash

下一篇:標題: 執行測驗: CH1-2020

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more