計算機網絡通訊

1.通訊的條件程序員

通訊的是由:物理鏈接的創建,互聯網協議。(互聯網協議就是一系列的標準,至關於就是計算機界的英語)。數據庫

2.網絡協議瀏覽器

 

一系列統一的標準,這些標準稱之爲互聯網協議,互聯網的本質就是一系列的協議,總稱爲‘互聯網協議’(Internet Protocol Suite).服務器

 

互聯網協議的功能:定義計算機如何接入internet,以及接入internet的計算機通訊的標準。網絡

 

3.tcp/ip五層協議socket

 

(1.)物理層tcp

傳輸介質:網卡、電纜、光纜、雙絞線(網線)。分佈式

物理層功能:主要是基於電器特性發送高低電壓(電信號),高電壓對應數字1,低電壓對應數字0ui

 (2.)數據鏈路層google

數據鏈路層的功能:定義了電信號的分組方式

以太網協議:

ethernet規定

  • 一組電信號構成一個數據包,叫作‘幀’
  • 每一數據幀分紅:報頭head和數據data兩部分
       head                        data                             

 

head包含:(固定18個字節)

  • 發送者/源地址,6個字節
  • 接收者/目標地址,6個字節
  • 數據類型,6個字節

data包含:(最短46字節,最長1500字節)

  • 數據包的具體內容

head長度+data長度=最短64字節,最長1518字節,超過最大限制就分片發送。

MAC地址

head中包含的源和目標地址由來:ethernet規定接入internet的設備都必須具有網卡,發送端和接收端的地址即是指網卡的地址,即mac地址

mac地址:每塊網卡出廠時都被燒製上一個世界惟一的mac地址,長度爲48位2進制,一般由12位16進制數表示(前六位是廠商編號,後六位是流水線號)

廣播:

廣播(原文:broadcast)是指封包計算機網絡中傳輸時,目的地址爲網絡中全部設備的一種傳輸方式。實際上,這裏所說的「全部設備」也是限定在一個範圍之中,稱爲「廣播域」。使用協議ARP協議。

以太網和IPv4網都用全1的地址表示廣播,分別是ff:ff:ff:ff:ff:ff和255.255.255.255。

設備:二層交換機

(3.)網絡層:

網絡層功能:引入一套新的地址用來區分不一樣的廣播域/子網,這套地址即網絡地址。

IP協議:

  • 規定網絡地址的協議叫ip協議,它定義的地址稱之爲ip地址,普遍採用的v4版本即ipv4,它規定網絡地址由32位2進製表示
  • 範圍0.0.0.0-255.255.255.255
  • 一個ip地址一般寫成四段十進制數,例:172.16.10.1

ip地址分紅兩部分

  • 網絡部分:標識子網
  • 主機部分:標識主機

注意:單純的ip地址段只是標識了ip地址的種類,從網絡部分或主機部分都沒法辨識一個ip所處的子網

例:172.16.10.1與172.16.10.2並不能肯定兩者處於同一子網

子網掩碼

所謂」子網掩碼」,就是表示子網絡特徵的一個參數。它在形式上等同於IP地址,也是一個32位二進制數字,它的網絡部分所有爲1,主機部分所有爲0。好比,IP地址172.16.10.1,若是已知網絡部分是前24位,主機部分是後8位,那麼子網絡掩碼就是11111111.11111111.11111111.00000000,寫成十進制就是255.255.255.0。

 

ip數據包

ip數據包也分爲head和data部分,無須爲ip包定義單獨的欄位,直接放入以太網包的data部分

 

head:長度爲20到60字節

data:最長爲65,515字節。

而以太網數據包的」數據」部分,最長只有1500字節。所以,若是IP數據包超過了1500字節,它就須要分割成幾個以太網數據包,分開發送了。

 

以太網頭                ip 頭                                     ip數據                                

 

 

 ARP協議

arp協議由來:計算機通訊基本靠吼,即廣播的方式,全部上層的包到最後都要封裝上以太網頭,而後經過以太網協議發送,在談及以太網協議時候,我門瞭解到

通訊是基於mac的廣播方式實現,計算機在發包時,獲取自身的mac是容易的,如何獲取目標主機的mac,就須要經過arp協議。

ARP協議的含義:址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議

arp協議功能:廣播的方式發送數據包,獲取目標主機的mac地址

 

協議工做方式:每臺主機ip都是已知的

例如:主機172.16.10.10/24訪問172.16.10.11/24

一:首先經過ip地址和子網掩碼區分出本身所處的子網

場景 數據包地址
同一子網 目標主機mac,目標主機ip
不一樣子網 網關mac,目標主機ip

 

 

 

二:分析172.16.10.10/24與172.16.10.11/24處於同一網絡(若是不是同一網絡,那麼下表中目標ip爲172.16.10.1,經過arp獲取的是網關的mac)

  源mac 目標mac 源ip 目標ip 數據部分
發送端主機 發送端mac FF:FF:FF:FF:FF:FF 172.16.10.10/24 172.16.10.11/24 數據

 

 

三:這個包會以廣播的方式在發送端所處的自網內傳輸,全部主機接收後拆開包,發現目標ip爲本身的,就響應,返回本身的mac

設備:三層交換機、路由器。

(4.)傳輸層

傳輸層的由來:網絡層的ip幫咱們區分子網,以太網層的mac幫咱們找到主機,而後你們使用的都是應用程序,你的電腦上可能同時開啓qq,暴風影音,等多個應用程序,

那麼咱們經過ip和mac找到了一臺特定的主機,如何標識這臺主機上的應用程序,答案就是端口,端口即應用程序與網卡關聯的編號。

傳輸層功能:創建端口到端口的通訊

補充:端口範圍0-65535,0-1023爲系統佔用端口

tcp協議:

可靠傳輸,TCP數據包沒有長度限制,理論上能夠無限長,可是爲了保證網絡的效率,一般TCP數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包沒必要再分割。

以太網頭 ip 頭               tcp頭               數據                                                    

 

udp協議:UDP協議全稱是用戶數據報協議[1] ,在網絡中它與TCP協議同樣用於處理數據包,是一種無鏈接的協議。

不可靠傳輸,」報頭」部分一共只有8個字節,總長度不超過65,535字節,正好放進一個IP數據包。

以太網頭 ip頭                      udp頭                            數據                                           

 

tcp報文

tcp三次握手和四次揮手

(5.)應用層

應用層功能:規定應用程序的數據格式。

例:TCP協議能夠爲各類各樣的程序傳遞數據,好比Email、WWW、FTP等等。那麼,必須有不一樣協議規定電子郵件、網頁、FTP數據的格式,這些應用程序協議就構成了」應用層」。

 

傳輸數據是數據進行封裝數據包的過程,而接收數據是數據進行解封裝的過程。

應用層協議:FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS

4.socket

網絡上的兩個程序經過一個雙向的通訊鏈接實現數據的交換,這個鏈接的一端稱爲一個socket。

可以惟一標示網絡中的進程後,它們就能夠利用socket進行通訊了,什麼是socket呢?咱們常常把socket翻譯爲套接字,socket是在應用層和傳輸層之間的一個抽象層,它把TCP/IP層複雜的操做抽象爲幾個簡單的接口供應用層調用已實現進程在網絡中通訊。

socket起源於UNIX,在Unix一切皆文件哲學的思想下,socket是一種"打開—讀/寫—關閉"模式的實現,服務器和客戶端各自維護一個"文件",在創建鏈接打開後,能夠向本身文件寫入內容供對方讀取或者讀取對方內容,通信結束時關閉文件。

介於應用層與傳輸層之間,把tcp/udp封裝起來,爲開發人員提供簡單的接口,因此程序員只須要遵循socket的標準,寫出的程序天然就遵循tcop/udp協議。

5.DHCP協議

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)一般被應用在大型的局域網絡環境中,主要做用是集中的管理、分配IP地址,使網絡環境中的主機動態的得到IP地址、Gateway地址、DNS服務器地址等信息,並可以提高地址的使用率。

DHCP協議採用客戶端/服務器模型,主機地址的動態分配任務由網絡主機驅動。當DHCP服務器接收到來自網絡主機申請地址的信息時,纔會向網絡主機發送相關的地址配置等信息,以實現網絡主機地址信息的動態配置。DHCP具備如下功能:
1. 保證任何IP地址在同一時刻只能由一臺DHCP客戶機所使用。
2. DHCP應當能夠給用戶分配永久固定的IP地址。
3. DHCP應當能夠同用其餘方法得到IP地址的 主機共存(如手工配置IP地址的主機)。
4. DHCP 服務器應當向現有的BOOTP 客戶端提供服務。
DHCP有三種機制分配IP地址:
1) 自動分配方式(Automatic Allocation),DHCP服務器爲主機指定一個永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP服務器端租用到IP地址後,就能夠永久性的使用該地址。
相關圖片
2) 動態分配方式(Dynamic Allocation),DHCP服務器給主機指定一個具備時間限制的IP地址,時間到期或主機明確表示放棄該地址時,該地址能夠被其餘主機使用。
3) 手工分配方式(Manual Allocation),客戶端的IP地址是由網絡管理員指定的,DHCP服務器只是將指定的IP地址告訴客戶端主機。
6.DNS協議
DNS(Domain Name System,域名系統),因特網上做爲域名和 IP地址相互映射的一個 分佈式數據庫,可以使用戶更方便的訪問 互聯網,而不用去記住可以被機器直接讀取的IP數串。
1.遞歸查詢: 
通常客戶機和服務器之間屬遞歸查詢,即當客戶機向DNS服務器發出請求後,若DNS服務器自己不能解析,則會向另外的DNS服務器發出查詢請求,獲得結果後轉交給客戶機;
2.迭代查詢(反覆查詢):
通常DNS服務器之間屬迭代查詢,如:若DNS2不能響應DNS1的請求,則它會將DNS3的IP給DNS2,以便其再向DNS3發出請求;
舉例:好比學生問老師一個問題,王老師告訴他答案這之間的叫遞歸查詢。這期間也許王老師也不會,這時王老師問張老師,這之間的查詢叫迭代查詢
7.網絡通訊流程
1.本機獲取
  • 本機的IP地址:192.168.1.100
  • 子網掩碼:255.255.255.0
  • 網關的IP地址:192.168.1.1
  • DNS的IP地址:8.8.8.8

2.打開瀏覽器,想要訪問Google,在地址欄輸入了網址:www.google.com。

3.dns協議(基於udp協議)

相關文章
相關標籤/搜索