您好,登錄后才能下訂單哦!
一.網絡通信原理
網絡通信技術是指:通過計算機和網絡通訊設備對圖形和文字等形式的資料進行采集、存儲、處理和傳輸等,使信息資源達到充分共享的技術。網絡,是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數據鏈路,從而達到資源共享和通信的目的。通信,是人與人之間通過某種媒體進行的信息交流與傳遞。
網絡通信原理也就是網絡協議。當今網絡協議有很多,局域網中最常用的有三個網絡協議:NETBEUI、IPX/SPX和交叉平臺TCP/IP,網絡協議就是網絡之間溝通、交流的橋梁。
二、.OSI七層模型簡介:
OSI七層模型分別為:
物理層;數據鏈路層;網絡層;傳輸層;會話層;表示層;應用層;
2.每層的功能及協議:
應用層 文件傳輸,電子郵件,文件服務,虛擬終端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示層 數據格式化,代碼轉換,數據加密 沒有協議
會話層 解除或建立與別的接點的聯系 沒有協議
傳輸層 提供端對端的接口 TCP,UDP
網絡層 為數據包選擇路由 IP,ICMP,RIP,OSPF,BGP,IGMP
數據鏈路層 傳輸有地址的幀以及錯誤檢測功能 SLIP,CSLIP,PPP,ARP,RARP,MTU
物理層 以二進制數據形式在物理媒體上傳輸數據 ISO2110,IEEE802,IEEE802.2
三、tcp/ip五層模型講解
我們將應用層,會話層并在應用層,所以tcp/ip五層模型分別是:數據鏈路層;網絡層;傳輸層;應用層然后分層講解特點及主要協議。
每層都運行特定的協議,越往上越靠近用戶,越往下越靠近硬件。
第一層:物理層(PhysicalLayer)
1.物理層規定:為傳輸數據所需要的物理鏈路創建、維持、拆除,而提供具有機械的,電子的,功能的和規范的特性。簡單的說,物理層確保原始的數據可在各種物理媒體上傳輸。
2.物理層主要功能:為數據端設備提供傳送數據通路、傳輸數據。
①.為數據端設備提供傳送數據的通路,數據通路可以是一個物理媒體,也可以是多個物理媒體連接而成。一次完整的數據傳輸,包括激活物理連接,傳送數據,終止物理連接。所謂激活,就是不管有多少物理媒體參與,都要在通信的兩個數據終端設備間連接起來,形成一條通路。
②.傳輸數據,物理層要形成適合數據傳輸需要的實體,為數據傳送服務。一是要保證數據能在其上正確通過,二是要提供足夠的帶寬(帶寬是指每秒鐘內能通過的比特(BIT)數),以減少信道上的擁塞。傳輸數據的方式能滿足點到點,一點到多點,串行或并行,半雙工或全雙工,同步或異步傳輸的需要。
第二層:數據鏈路層(DataLinkLayer):
在物理層提供比特流服務的基礎上,建立相鄰結點之間的數據鏈路,通過差錯控制提供數據幀(Frame)在信道上無差錯的傳輸,并進行各電路上的動作系列。數據鏈路層在不可靠的物理介質上提供可靠的傳輸。該層的作用包括:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。在這一層,數據的單位稱為幀(frame)。數據鏈路層協議的代表包括:SDLC、HDLC、PPP、STP、幀中繼等。
mac地址:
每塊網卡出廠時都被燒制上一個世界唯一的mac地址,長度為48位2進制,通常由12位16進制數表示(前六位是廠商編號,后六位是流水線號)。
廣播:
有了mac地址,同一網絡內的兩臺主機就可以通信了(一臺主機通過arp協議獲取另外一臺主機的mac地址)。廣播通信的方式是:一臺主機要想和另外一臺主機通信,會把自己的消息發送到局域網內所有的主機,這些主機收到后查看mac地址是不是自己的,如果是就接收,否之丟棄。
第三層:網絡層(Network layer):
在 計算機網絡中進行通信的兩個計算機之間可能會經過很多個數據鏈路,也可能還要經過很多通信子網。網絡層的任務就是選擇合適的網間路由和交換結點, 確保數據及時傳送。網絡層將數據鏈路層提供的幀組成數據包,包中封裝有網絡層包頭,其中含有邏輯地址信息- -源站點和目的站點地址的網絡地址。
網絡層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。它提供的服務使傳輸層不需要了解網絡中的數據傳輸和交換技術。
IP協議:
規定網絡地址的協議叫ip協議,它定義的地址稱之為ip地址,廣泛采用的v4版本即ipv4,它規定網絡地址由32位2進制表示
范圍0.0.0.0-255.255.255.255
一個ip地址通常寫成四段十進制數,例:192.168.1.1
ip地址分成兩部分:
網絡部分:標識子網 主機部分:標識主機
注意:單純的ip地址段只是標識了ip地址的種類,從網絡部分或主機部分都無法辨識一個ip所處的子網
例:192.168.1.1與192.168.2.1并不能確定二者處于同一子網
子網掩碼:
所謂”子網掩碼”,就是表示子網絡特征的一個參數。它在形式上等同于IP地址,也是一個32位二進制數字,它的網絡部分全部為1,主機部分全部為0。比如,IP地址172.16.10.1,如果已知網絡部分是前24位,主機部分是后8位,那么子網絡掩碼就是11111111.11111111.11111111.00000000,寫成十進制就是255.255.255.0。
知道”子網掩碼”,我們就能判斷,任意兩個IP地址是否處在同一個子網絡。方法是將兩個IP地址與子網掩碼分別進行AND運算(兩個數位都為1,運算結果為1,否則為0),然后比較結果是否相同,如果是的話,就表明它們在同一個子網絡中,否則就不是。
比如,已知IP地址172.16.10.1和172.16.10.2的子網掩碼都是255.255.255.0,請問它們是否在同一個子網絡?兩者與子網掩碼分別進行AND運算,
172.16.10.1 : 10101100.00010000.00001010.000000001
255255.255.255.0 : 11111111.11111111.11111111.00000000
AND運算得網絡地址結果:10101100.00010000.00001010.000000001->172.16.10.0
172.16.10.2:10101100.00010000.00001010.000000010
255255.255.255.0:11111111.11111111.11111111.00000000
AND運算得網絡地址結果:10101100.00010000.00001010.000000001->172.16.10.0
結果都是172.16.10.0,因此它們在同一個子網絡。
總結一下,IP協議的作用主要有兩個,一個是為每一臺計算機分配IP地址,另一個是確定哪些地址在同一個子網絡。
第四層:傳輸層(Transport layer):
傳輸層的任務是根據通信子網的特性,最佳的利用網絡資源,為兩個端系統的會話層之間,提供建立、維護和取消傳輸連接的功能,負責端到端的可靠數據傳輸。在這一層,信息傳送的協議數據單元稱為段或報文。傳輸層協議的代表包括:TCP、UDP、SPX等。
傳輸層提供了主機應用程序進程之間的端到端的服務,基本功能如下:
(1) 分割與重組數據;(2) 按端口號尋址(端口范圍0-65535,0-1023為系統占用端口)
(3) 連接管理; (4) 差錯控制和流量控制,糾錯的功能
傳輸層要向會話層提供通信服務的可靠性,避免報文的出錯、丟失、延遲時間紊亂、重復、亂序等差錯。
tcp協議:
可靠傳輸,TCP數據包沒有長度限制,理論上可以無限長,但是為了保證網絡的效率,通常TCP數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包不必再分割。
以太網頭 | ip 頭 | tcp頭 | 數據 |
udp協議:
不可靠傳輸,”報頭”部分一共只有8個字節,總長度不超過65,535字節,正好放進一個IP數據包。
以太網頭 | ip頭 | udp頭 | 數據 |
:
tcp報文:
tcp三次握手和四次揮手:
第五層應用層(Application layer):
應用層為操作系統或網絡應用程序提供訪問網絡服務的接口。應用層協議的代表包括:Telnet、FTP、HTTP、SNMP等。
四、網絡;通信流程:
1.本機配置:
本機的IP地址:192.168.1.10
子網掩碼:255.255.255.0
網關的IP地址:192.168.1.1
DNS的IP地址:114.114.114.114
說明:
想實現網絡通信,每臺主機需具備四要素:
a.本機的IP地址 b.子網掩碼 c.網關的IP地址 d.DNS的IP地址
本機的ip地址的獲取方式有兩種:
①靜態地址即手動配置ip; ②動態獲取既同伙DHCP分配。
DHCP的工作原理:
1.Discover:客戶端請求IP地址;
2.Offer:服務器相應請求;
3.Request:客戶端選擇一個ip地址
4.ACK:服務器確認。
2.打開瀏覽器,想要訪問Google,在地址欄輸入了網址:www.google.com。
3.dns協議(基于udp協議)
說明:
DNS工作原理: 第一步:客戶機提出域名解析請求,并將該請求發送給本地的域名服務器。 第二步:當本地的域名服務器收到請求后,就先查詢本地的緩存,如果有該紀錄項,則本地的域名服務器就直接把查詢的結果返回。 第三步:如果本地的緩存中沒有該紀錄,則本地域名服務器就直接把請求發給根域名服務器,然后根域名服務器再返回給本地域名服務器一個所查詢域(根的子域) 的主域名服務器的地址。 第四步:本地服務器再向上一步返回的域名服務器發送請求,然后接受請求的服務器查詢自己的緩存,如果沒有該紀錄,則返回相關的下級的域名服務器的地址。 第五步:重復第四步,直到找到正確的紀錄。 第六步:本地域名服務器把返回的結果保存到緩存,以備下一次使用,同時還將結果返回給客戶機。
全球13臺根dns:
A.root-servers.net198.41.0.4美國
B.root-servers.net192.228.79.201美國(另支持IPv6)
C.root-servers.net192.33.4.12法國
D.root-servers.net128.8.10.90美國
E.root-servers.net192.203.230.10美國
F.root-servers.net192.5.5.241美國(另支持IPv6)
G.root-servers.net192.112.36.4美國
H.root-servers.net128.63.2.53美國(另支持IPv6)
I.root-servers.net192.36.148.17瑞典
J.root-servers.net192.58.128.30美國
K.root-servers.net193.0.14.129英國(另支持IPv6)
L.root-servers.net198.32.64.12美國
M.root-servers.net202.12.27.33日本(另支持IPv6)
4.HTTP部分的內容,類似于下面這樣:
GET / HTTP/1.1
Host: www.google.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1) ……
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Cookie: … …
我們假定這個部分的長度為4960字節,它會被嵌在TCP數據包之中。
5. TCP協議
TCP數據包需要設置端口,接收方(Google)的HTTP端口默認是80,發送方(本機)的端口是一個隨機生成的1024-65535之間的整數,假定為51775。
TCP數據包的標頭長度為20字節,加上嵌入HTTP的數據包,總長度變為4980字節。
6. IP協議
然后,TCP數據包再嵌入IP數據包。IP數據包需要設置雙方的IP地址,這是已知的,發送方是192.168.1.100(本機),接收方是172.194.72.105(Google)。
IP數據包的標頭長度為20字節,加上嵌入的TCP數據包,總長度變為5000字節。
7. 以太網協議
最后,IP數據包嵌入以太網數據包。以太網數據包需要設置雙方的MAC地址,發送方為本機的網卡MAC地址,接收方為網關192.168.1.1的MAC地址(通過ARP協議得到)。
以太網數據包的數據部分,最大長度為1500字節,而現在的IP數據包長度為5000字節。因此,IP數據包必須分割成四個包。因為每個包都有自己的IP標頭(20字節),所以四個包的IP數據包的長度分別為1500、1500、1500、560。
8. 服務器端響應
經過多個網關的轉發,Google的服務器172.194.72.105,收到了這四個以太網數據包。
根據IP標頭的序號,Google將四個包拼起來,取出完整的TCP數據包,然后讀出里面的”HTTP請求”,接著做出”HTTP響應”,再用TCP協議發回來。
本機收到HTTP響應以后,就可以將網頁顯示出來,完成一次網絡通信。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。