計算機網絡協議基礎

一、OSI七層模型

  開發系統互連參考模型(Open System Interconnect簡稱OSI)是國際標準化組織(ISO)和國際電報電話諮委會(CCITT)聯合制定的開放系統互連參考模型,爲開放是互連信息系統提供了一種功能結構的框架。其目的是爲異種計算機鏈接提供一個共同的基礎和標準框架,併爲保持相關標準的一致性和兼容性提供共同的參考。這裏所說的開放系統,是指上值得是遵循OSI參考模型和相關協議可以實現互連的具備各類應用目的的計算機系統。程序員

  OSI採用了分層的結構化技術,共分七層:物理層、數據聯絡層、網絡層、傳輸層、會話層、表示層、應用層服務器

二、TCP/IP模型

  OSI模型比較複雜且學術化,因此咱們實際使用的TCP/IP模型,共分4層,鏈路層,網絡層,傳輸層,應用層。兩個模型之間的對應關係如圖所示:網絡

 

  不管什麼模型,每個抽象層創建在低一層提供的服務上,而且爲高一層提供服務。架構

三、TCP/IP協議族框架

  Transmission Control Protocol/Internet Protocol的簡稱,中譯名爲傳輸控制協議/因特網互連協議,是Internet的基本協議、Internet國際互聯網絡的基礎,由網絡層的IP協議和傳輸層的TCP協議組成。協議採用4層的層級結構。然而在不少狀況下,它是利用IP進行通訊時鎖必須用到的協議羣的統稱。也就是說,它實際上是個協議家族,由不少個協議組成,而且是在不一樣的層,是互聯網的基礎通訊架構。tcp

TCP/IP概念層模型編碼

功能加密

TCP/IP協議族spa

 

應用層操作系統

文件傳輸,電子郵件,文件服務,虛擬終端

TFTP,HTTP,SNMP,FTP,SMTPDMS,Telnet

數據格式化,代碼轉換,數據加密

沒有協議

解除或創建與別的接點的聯繫

沒有協議

傳輸層

提供端對端的接口

TCP,UDP

     網絡層

爲數據包選擇路由

IP,ICMP,RIP,OSPF,BGP,IGMP

 

 

 

鏈路層

傳輸有地址的幀以及錯誤檢測功能

SLIP,CSLIP,ARP,RARP,MTU

一二進制數據形式在物理媒體上傳輸數據

ISO2110,IEEE802,IEEEE802.2

四、TCP和UDP

  在上述表格中,網絡協議IP是TCP/IP中很是重要的協議。負責對數據加上IP地址(有發送它的主機地址(原地址)和接受它的主機的地址(目的地址))和其餘的數據以肯定傳輸的目標。

       而TCP和UDP都是傳輸層的協議,傳輸層主要爲兩臺主機上的應用成序提供端到端的通訊。

       可是TCP和UDP最不一樣的地方是,TCP提供了一種能可靠的數據傳輸服務,TCP 是面向鏈接的,也就是說,利用TCP通訊的兩臺主機首先要經理一個創建鏈接的過程,等到鏈接創建後纔開始傳輸數據,並且傳輸過程當中採用「帶重傳的確定確認」技術來實現傳輸的可靠性。TCP還採用一種稱爲「滑動窗口」的方式進行流量控制,發送完成後還會關閉鏈接。因此TCP要比UDP可靠的多。

       UDP(User Datagram Protocol的簡稱,中文名師用戶數據報協議)是把數據直接發出去,而無論對方是否是在接受,也無論對方是否接受的了,也不須要接收方確認,屬於不可靠的傳輸,可能會出現對包現象,實際應用中要求程序員編碼驗證。

       注意:咱們常見的網絡應用基本上都是基於TCP和UDP的,這兩個協議又會使用網絡協議的IP協議。可是咱們徹底能夠繞過TCP和UDP,直接使用IP,好比LINUX中LVS,甚至直接訪問鏈路層,好比tcpdump程序就是直接和鏈路層進行通訊。

 

 

 

  上圖中,其餘一些協議的名詞解釋,

  ICMP:控制報文協議

  IGMPA:internet組管理協議

  ARP:地址解析協議

  RARP:反向地址轉化協議

五、地址和端口號

  咱們常說MAC地址和IP地址。MAC地址及以his媒體介入層上使用的地址,也叫物理地址、硬件地址或鏈路地址,有網絡設備製造商生產是寫在硬件內部。MAC地址與網絡無關,也即不管將帶有這個地址的硬件(如網卡。集線器、路由器等)接入到網絡的何處,都有相同的MAC地址,他有廠商寫在網卡的BIOS裏,理論上講,除非盜來硬件,不然是沒有辦法毛寧頂替的。

       IP地址後來用來識別TCP/IP網絡中互聯的額主機和路由器。IP地址基於邏輯,比較靈活,不受硬件限制,也容易記憶。

       在傳輸層也有這種相似於地址的概念,那就是端口號。端口號用來識別同一臺計算機中進行通訊的不一樣應用程序。所以,它也被稱爲程序地址。

       一臺計算機上同時能夠運行多個程序。傳輸層協議正式利用這些端口識別本機正在進行通訊的應用程序,並準確的將數據傳輸。

六、端口號的肯定

  標準既定的端口號:這種方法也叫靜態方法。她是值每一個應用程序都有其指定的端口號。但並非說能夠隨便使用任何一個端口號。例如HTTP、FTP、TELNET等廣爲使用的應用協議中所使用的端口號就是固定的。這些端口號被稱爲知名端口號,分佈在0~1023之間;除了知名端口號外,還有一些端口號被正式之策,它們分佈在1024~49151之間,不過這些端口號可用於任何通訊用途。

       時序分配法:服務器有必要肯定監聽端號,可是接受服務的客戶端不必肯定端口號。在這種方法下,客戶端應用程序徹底能夠不用本身設置端口號,而全權交給操做系統進行分配。動態分配的端口號範圍在49152~65535之間。

七、端口號和協議

  端口號由其使用的傳輸層協議決定。所以,不一樣的傳輸層協議可使用相同的端口號。

       此外,哪些知名的端口號豫傳輸層協議並沒有關係。只要端口一直都將分配同一種應用程序進行處理。

相關文章
相關標籤/搜索