轉(zhuǎn)載自http://www.reibang.com/p/4b9d43c0571a
網(wǎng)絡(luò)基本概念
OSI模型
OSI 模型(Open System Interconnection model)是一個由國際標準化組織??提出的概念模型,試圖??供一個使各種不同的計算機和網(wǎng)絡(luò)在世界范圍內(nèi)實現(xiàn)互聯(lián)的標準框架开睡。
它將計算機網(wǎng)絡(luò)體系結(jié)構(gòu)劃分為七層,每層都可以??供抽象良好的接口菊碟。了解 OSI 模型有助于理解實際上互聯(lián)網(wǎng)絡(luò)的工業(yè)標準——TCP/IP 協(xié)議。
OSI 模型各層間關(guān)系和通訊時的數(shù)據(jù)流向如圖所示:
顯然驳癌、如果一個東西想包羅萬象恐锦、一般時不可能的往果;在實際的開發(fā)應(yīng)用中一般時在此模型的基礎(chǔ)上進行裁剪、整合一铅!
七層模型介紹
物理層:
物理層負責(zé)最后將信息編碼成電流脈沖或其它信號用
于網(wǎng)上傳輸陕贮;
eg:RJ45等將數(shù)據(jù)轉(zhuǎn)化成0和1;
數(shù)據(jù)鏈路層:
數(shù)據(jù)鏈路層通過物理網(wǎng)絡(luò)鏈路??供數(shù)據(jù)傳輸潘飘。不同的
數(shù)據(jù)鏈路層定義了不同的網(wǎng)絡(luò)和協(xié) 議特征,其中包括物理
編址飘蚯、網(wǎng)絡(luò)拓撲結(jié)構(gòu)馍迄、錯誤校驗、數(shù)據(jù)幀序列以及流控;
可以簡單的理解為:規(guī)定了0和1的分包形式局骤,確定了
網(wǎng)絡(luò)數(shù)據(jù)包的形式攀圈;
網(wǎng)絡(luò)層
網(wǎng)絡(luò)層負責(zé)在源和終點之間建立連接;
可以理解為,此處需要確定計算機的位置峦甩,怎么確定赘来?IPv4,IPv6凯傲!
傳輸層
傳輸層向高層??提供可靠的端到端的網(wǎng)絡(luò)數(shù)據(jù)流服務(wù)犬辰。
可以理解為:每一個應(yīng)用程序都會在網(wǎng)卡注冊一個端
口號,該層就是端口與端口的通信冰单!常用的(TCP/IP)協(xié)議幌缝;
會話層
會話層建立、管理和終止表示層與實體之間的通信會話诫欠;
建立一個連接(自動的手機信息涵卵、自動的網(wǎng)絡(luò)尋址);
表示層:
表示層??供多種功能用于應(yīng)用層數(shù)據(jù)編碼和轉(zhuǎn)化,以確
保以一個系統(tǒng)應(yīng)用層發(fā)送的信息 可以被另一個系統(tǒng)應(yīng)用
層識別; 可以理解為:解決不同系統(tǒng)之間的通信,eg:
Linux下的QQ和Windows下的QQ可以通信荒叼;
應(yīng)用層:
OSI 的應(yīng)用層協(xié)議包括文件的傳輸轿偎、訪問及管理協(xié)議
(FTAM) ,以及文件虛擬終端協(xié)議(VIP)和公用管理系統(tǒng)信
息(CMIP)等;
規(guī)定數(shù)據(jù)的傳輸協(xié)議;
常見的應(yīng)用層協(xié)議:
互聯(lián)網(wǎng)分層結(jié)構(gòu)的好處: 上層的變動完全不影響下層的結(jié)構(gòu)被廓。
TCP/IP 協(xié)議基本概念
OSI 模型所分的七層,在實際應(yīng)用中,往往有一些層被整合,或者功能分散到其他層去坏晦。TCP/IP 沒有照搬 OSI 模型,也沒有 一個公認的 TCP/IP 層級模型,一般劃分為三層到五層模型來??述 TCP/IP 協(xié)議。
在此描述用一個通用的四層模型來描述,每一層都和 OSI 模型有較強的相關(guān)性但是又可能會有交叉嫁乘。
TCP/IP 的設(shè)計,是吸取了分層模型的精華思想——封裝昆婿。每層對上一層??供服務(wù)的時 候,上一層的數(shù)據(jù)結(jié)構(gòu)是黑盒,直接作為本層的數(shù)據(jù),而不需要關(guān)心上一層協(xié)議的任何細節(jié)。
TCP/IP 分層模型的分層以以太網(wǎng)上傳輸 UDP 數(shù)據(jù)包如圖所示:
數(shù)據(jù)包
寬泛意義的數(shù)據(jù)包:每一個數(shù)據(jù)包都包含"標頭"和"數(shù)據(jù)"兩個部分."標頭"包含本數(shù)據(jù)包的一些說明."數(shù)據(jù)"則是本數(shù)據(jù)包的內(nèi)容.
細分數(shù)據(jù)包:
應(yīng)用程序數(shù)據(jù)包: 標頭部分規(guī)定應(yīng)用程序的數(shù)據(jù)格式.數(shù)據(jù)部分傳輸具體的數(shù)據(jù)內(nèi)容. ——對應(yīng)上圖中的數(shù)據(jù)蜓斧!
TCP/UDP數(shù)據(jù)包:標頭部分包含雙方的發(fā)出端口和接收端口. UDP數(shù)據(jù)包:'標頭'長度:8個字節(jié),"數(shù)據(jù)包"總長度最大為65535字節(jié),正好放進一個IP數(shù)據(jù)包. TCP數(shù)據(jù)包:理論上沒有長度限制,但是,為了保證網(wǎng)絡(luò)傳輸效率,通常不會超過IP數(shù)據(jù)長度,確保單個包不會被分割. ——對應(yīng)上圖中的UDP數(shù)據(jù)仓蛆!
IP數(shù)據(jù)包: 標頭部分包含通信雙方的IP地址,協(xié)議版本,長度等信息. '標頭'長度:20~60字節(jié),"數(shù)據(jù)包"總長度最大為65535字節(jié). ——對應(yīng)上圖中的IP數(shù)據(jù)
以太網(wǎng)數(shù)據(jù)包: 最基礎(chǔ)的數(shù)據(jù)包.標頭部分包含了通信雙方的MAC地址,數(shù)據(jù)類型等. '標頭'長度:18字節(jié),'數(shù)據(jù)'部分長度:46~1500字節(jié). ——對應(yīng)上圖中的以太網(wǎng)數(shù)據(jù)
四層模型
網(wǎng)絡(luò)接口層
網(wǎng)絡(luò)接口層包括用于協(xié)作IP數(shù)據(jù)在已有網(wǎng)絡(luò)介質(zhì)上
傳輸?shù)膮f(xié)議。
它定義像地址解析協(xié)議(Address Resolution
Protocol,ARP)這樣的協(xié)議,??供 TCP/IP 協(xié)議的數(shù)據(jù)
結(jié)構(gòu)和實際物理硬件之間的接口法精。
可以理解為:確定了網(wǎng)絡(luò)數(shù)據(jù)包的形式多律。
網(wǎng)間層
網(wǎng)間層對應(yīng)于 OSI 七層參考模型的網(wǎng)絡(luò)層,本層
包含 IP 協(xié)議搂蜓、RIP 協(xié)議(Routing Information Protocol,
路由信息協(xié)議),負責(zé)數(shù)據(jù)的包裝狼荞、尋址和路由。同時
還包含網(wǎng)間控制報文協(xié)議(Internet Control Message Protocol,ICMP)用來??供網(wǎng)絡(luò)診斷信息帮碰;
可以理解為:該層時確定計算機的位置相味。
傳輸層
傳輸層對應(yīng)于 OSI 七層參考模型的傳輸層,它??供
兩種端到端的通信服務(wù)。其中 TCP 協(xié)議(Transmission
Control Protocol)??供可靠的數(shù)據(jù)流運輸服務(wù),UDP
協(xié)議(Use Datagram Protocol)??供不可靠的用戶數(shù)
據(jù)報服務(wù)殉挽。
TCP:三次握手丰涉、四次揮手;UDP:只發(fā)不管別人收不
收得到--任性哈
應(yīng)用層
應(yīng)用層對應(yīng)于 OSI 七層參考模型的應(yīng)用層和表達層拓巧;
不明白的再看看7層參考模型的描述。
TCP/IP 協(xié)議族常用協(xié)議
應(yīng)層:TFTP一死,HTTP肛度,SNMP,F(xiàn)TP投慈,SMTP承耿,DNS,Telnet 等等
傳輸層:TCP伪煤,UDP
網(wǎng)絡(luò)層:IP加袋,ICMP,OSPF抱既,EIGRP职烧,IGMP
數(shù)據(jù)鏈路層:SLIP,CSLIP防泵,PPP蚀之,MTU
重要的 TCP/IP 協(xié)議族協(xié)議進行簡單介紹:
IP(Internet Protocol,網(wǎng)際協(xié)議)是網(wǎng)間層的主要協(xié)議,
任務(wù)是在源地址和和目的地址之間傳輸數(shù)據(jù)。IP 協(xié)議只
是盡最大努力來傳輸數(shù)據(jù)包,并不保證所有的包都可以傳
輸 到目的地,也不保證數(shù)據(jù)包的順序和唯一择克。
IP 定義了 TCP/IP 的地址,尋址方法,以及路由
規(guī)則√褡埽現(xiàn)在廣泛使用的 IP 協(xié)議有 IPv4 和 IPv6 兩
種:IPv4 使用 32 位二進制整數(shù)做地址,一般使用點
分十進制方式表示,比如 192.168.0.1前普。
IP 地址由兩部分組成,即網(wǎng)絡(luò)號和主機號肚邢。故
一個完整的 IPv4 地址往往表示 為 192.168.0.1/24
或192.168.0.1/255.255.255.0 這種形式。
IPv6 是為了解決 IPv4 地址耗盡和其它一些問
題而研發(fā)的最新版本的 IP拭卿。使用 128 位 整數(shù)表示
地址,通常使用冒號分隔的十六進制來表示,并且可
以省略其中一串連續(xù)的 0,如:fe80::200:1ff:fe00:1骡湖。
目前使用并不多!
ICMP(Internet Control Message Protocol,網(wǎng)絡(luò)
控制消息協(xié)議)是 TCP/IP 的 核心協(xié)議之一,用于在 IP
網(wǎng)絡(luò)中發(fā)送控制消息,??供通信過程中的各種問題反
饋峻厚。 ICMP 直接使用 IP 數(shù)據(jù)包傳輸,但 ICMP 并不被
視為 IP 協(xié)議的子協(xié)議响蕴。常見的聯(lián)網(wǎng)狀態(tài)診斷工具比
如依賴于 ICMP 協(xié)議;
TCP(TransmissionControlProtocol,傳輸控制協(xié)議
)是一種面向連接的,可靠的, 基于字節(jié)流傳輸?shù)耐ㄐ艆f(xié)
議。TCP 具有端口號的概念,用來標識同一個地址上的
不 同應(yīng)用惠桃。??述 TCP 的標準文檔是 RFC793浦夷。
UDP(UserDatagramProtocol,用戶數(shù)據(jù)報協(xié)議)是
一個面向數(shù)據(jù)報的傳輸層協(xié) 議。UDP 的傳輸是不可
靠的,簡單的說就是發(fā)了不管,發(fā)送者不會知道目標地址
的數(shù)據(jù)通路是否發(fā)生擁塞,也不知道數(shù)據(jù)是否到達,是否
完整以及是否還是原來的 次序辜王。它同 TCP 一樣有用來
標識本地應(yīng)用的端口號劈狐。所以應(yīng)用 UDP 的應(yīng)用,都能
夠容忍一定數(shù)量的錯誤和丟包,但是對傳輸性能敏感的,
比如流媒體、DNS 等呐馆。
ECHO(EchoProtocol,回聲協(xié)議)是一個簡單的調(diào)試
和檢測工具肥缔。服務(wù)器器會 原樣回發(fā)它收到的任何數(shù)據(jù),
既可以使用 TCP 傳輸,也可以使用 UDP 傳輸。使用 端
口號 7 汹来。
DHCP(DynamicHostConfigrationProtocol,動態(tài)主
機配置協(xié)議)是用于局域 網(wǎng)自動分配 IP 地址和主機配置
的協(xié)議续膳「耐В可以使局域網(wǎng)的部署更加簡單。
DNS(DomainNameSystem,域名系統(tǒng))是互聯(lián)網(wǎng)的一
項服務(wù),可以簡單的將用“.” 分隔的一般會有意義的域名
轉(zhuǎn)換成不易記憶的 IP 地址坟岔。一般使用 UDP 協(xié)議傳輸,
也可以使用 TCP,默認服務(wù)端口號 53谒兄。??
FTP(FileTransferProtocol,文件傳輸協(xié)議)是用來進
行文件傳輸?shù)臉藴蕝f(xié)議。 FTP 基于 TCP 使用端口號
20 來傳輸數(shù)據(jù),21 來傳輸控制信息社付。
TFTP(Trivial File Transfer Protocol,簡單文件傳輸
協(xié)議)是一個簡化的文 件傳輸協(xié)議,其設(shè)計非常簡單,通
過少量存儲器就能輕松實現(xiàn),所以一般被用來通 過網(wǎng)絡(luò)
引導(dǎo)計算機過程中傳輸引導(dǎo)文件等小文件;
SSH(SecureShell,安全Shell),因為傳統(tǒng)的網(wǎng)絡(luò)服務(wù)
程序比如TELNET本質(zhì)上都極不安全,明文傳說數(shù)據(jù)和
用戶信息包括密碼,SSH 被開發(fā)出來避免這些問題, 它
其實是一個協(xié)議框架,有大量的擴展冗余能力,并且??供
了加密壓縮的通道可以 為其他協(xié)議使用舵变。
POP(PostOfficeProtocol,郵局協(xié)議)是支持通過客戶
端訪問電子郵件的服務(wù), 現(xiàn)在版本是 POP3,也有加密的
版本 POP3S。協(xié)議使用 TCP,端口 110瘦穆。
SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸
協(xié)議)是現(xiàn)在在互聯(lián)網(wǎng) 上發(fā)送電子郵件的事實標準纪隙。使用
TCP 協(xié)議傳輸,端口號 25。
HTTP(HyperTextTransferProtocol,超文本傳輸協(xié)議)
是現(xiàn)在廣為流行的WEB 網(wǎng)絡(luò)的基礎(chǔ),HTTPS 是 HTTP 的
加密安全版本扛或。協(xié)議通過 TCP 傳輸,HTTP 默認 使用端口 80,HTTPS 使用 443绵咱。