網絡
計算機通過網絡進行互連的
網絡體系結構
網絡體系結構是網絡如何構成和使用的一套規則和協議集合
體系結構是抽象的,而實現是具體,是真正在運行計算機硬件和軟件
網絡模型有哪些
目前主要分為兩種模型分別是ISO/OSI模型、TCP/IP模型
ISO/OSI模型
ISO是國際標准化組織,比如大家經常聽說的iso9000認證,iso是一個結構
OSI是開發系統互聯參考模型OSI/RM(Open System Interconnent Reference Model),是一套關於如何設計網絡、如何連接網絡、如何發送和處理網絡數據等規定的集合
出自1984年,由國際標准化組織制定的計算機網絡通信規范
特點是概念清楚,理論完整,但既復雜又不實用
OSI模型
OSI模型分為七層,分別是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層
名稱 | 介紹 |
---|---|
物理層 | 傳輸二進制信號,主要設備是網卡、集線器等 |
數據鏈路層 | 在局域網內尋找到達目的計算機的通路,以及進行流量控制等,會對傳輸的數據添加信息或拆解信息(具體不必做過多了解);主要設備是交換機 |
網絡層 | 主要進行路由、尋址(簡單說就是尋找吧數據從一個網送到另一個網的目的計算機時,走哪條路更短、更快),也能進行流量控制;也會對數據添加信息和拆解信息;主要設備是路由器 |
傳輸層 | 主要負責傳輸數據到目的計算機;也會也會對數據添加信息和拆解信息;主要設備是硬件防火牆 |
會話層 | 收到計算機發來的信息 |
表示層 | 理解信息的含義 |
應用層 | 根據收到的信息,做具體的工作(實質是執行程序),也會對數據添加信息和拆解信息;主要設備是服務器(計算機一級內部的特定軟件)對等層之間封裝、拆解信息的規則是一致的 |
TCP/IP四層模型
由TCP和IP為代表的一系列協議集合,包括很多規則和要求
TCP傳輸控制協議,屬於傳輸層的協議,用於保證數據安全傳輸和送達(如果數據丟失將重新發送)
IP網絡協議,屬於網絡層協議,用於路由、尋址、無連接發送數據(不保證數據安全送達)
TCP/IP是一個協議簇
四層模型分別為網路層接口、網絡層、傳輸層、應用層
OSI和TCP/IP的對應關系
OSI | TCP/IP |
---|---|
應用層 | \ |
表示層 | \ |
會話層 | 應用層 |
傳輸層 | 傳輸層 |
網絡層 | 網絡層 |
數據鏈路層 | \ |
物理層 | 網絡接口層 |
TCP/IP的五層模型
應用層、傳輸層、網絡層、數據鏈路層、物理層
TCP/IP每層包含的協議
應用層/Application | HTTP、HTTPS、FTP、SMTP、POP3 |
---|---|
傳輸層/Transport | TCP、UDP |
網絡層/Network | IP、ICMP、ARP、RARP |
網絡接口層/Network apitest | PPP |
TCP和UDP區別
TCP傳輸控制協議,用於端到端傳輸數據(端到端就是一個計算機到另一個計算機),可以保證數據安全傳達和傳輸,一般用於需要安全傳輸數據的程序,程序員編程時可以選擇用還是不用。
UDP用戶數據報協議,用於無連接傳輸數據,不保證數據是安全的、正確的,通常用於傳送大量數據而且不要求數據完整或安全的場合,也由程序員選擇是否使用,一旦程序員選擇了某種傳輸協議,測試時需要我們去了解
Windows網絡常用命令
IP:網絡協議,一系列的規定,具體實施是IP地址
ipconfig 命令查看本機的IP地址
ping命令查看自己計算機能不能連通網絡
ping www.baidu.com表示看自己計算機能不能連通百度網站服務器www.baidu.com(www一般表示網站)
ping IP地址:表示看自己的計算機能不能連上指定的IP代表的計算機
如果出現“恢復...字節=”等字樣,表示計算機可以相連通
應用層協議
應用層直接為用戶的應用進程提供服務
HTTP | HyperText Transfer Protocol,超文本傳輸協議,可以傳輸文本、圖片、聲音、影像、文件等數據(突破最早只能傳輸文本的限制),簡單理解為傳輸網頁(不太確切) |
---|---|
HTTPS | HyperText Transfer Protocol over Secure Socket Layer,基於SSL(安全套接字層)的安全的http協議 |
FTP | File Transfer Protocol,文件傳輸協議,用於上傳下載文件的協議 |
SMTP | Simple Mail Transfer Protocol ,簡單郵件傳輸協議,用於發送郵件 |
POP3 | Post Office Protocol version3,郵局協議第三版本,用於收郵件 |
端口、端口號
是一個數字,介於0~65535之間
用於一台服務器上有多個服務或軟件時,區分不同的服務
比如同一台服務器的IP是172.166.100.24,使用80端口可以訪問服務器上的網站,使用3306可以訪問服務器上的mysql數據庫,使用21可以訪問服務器上的FTP服務器下載文件等.
注意:除了默認端口號外,不要隨便把點口號改成0-1023以內的整數,盡量避開其他已使用的端口號(比如1433、3306、1521等),實際工作中,同一個計算機中,多個不同的服務(軟件、接口),它們的IP地址、域名、端口號這三個不能完全相同
常見面試題:查詢那個程序在使用3306端口
netstat -ano | findstr "3306"
net:網絡
stat:是status縮寫,狀態
-a:all,所有,所有的端口
-n:結果中顯示IP地址和端口號
-o:顯示程序編號(進程號)
findstr:在|左邊的結果中查找右邊字符串
常見面試題:根據程序的編號查出程序名
tasklist | findstr "程序編號"
tasklist:查看計算機中正在運行的所有程序列表(進程列表),相當於任務管理器中看到的所有進程
常見面試題:常用的應用層的協議端口號有哪些
HTTP | 80 |
---|---|
HTTPS | 443 |
FTP | 21 |
SMTP | 25 |
POP3 | 110 |
端口分類
熟知的端口號(系統端口號)
范圍:0~1023
在www.iana.org可以查看到(國際互聯網地址分配委員會IANA)
當一種新的應用程序出現后,IANA必須給它拍一個熟知端口
登記端口號
范圍:1024~49151
使用這類端口號必須在IANA按照規定的手續登記
客戶端使用的端口號(短暫端口號)
范圍:49152~65535
僅在客戶進程運行時才動態選擇。當服務器進程收到客戶進程的報文時,就知道客戶進程使用的端口號,因而可以把數據發送給客戶進程。通信結束后,剛才使用過的客戶端口號就不復存在