TCP/IP與OSI

最近在閱讀TCP/IP方面的東西,下面是一些簡單的總結介紹,首先介紹一些概念:html

TCP/IP協議模型:TCP/IP模型是一系列網絡協議的總稱,這些協議的目的,就是使計算機之間能夠進行信息交換。所謂"協議"能夠理解成機器之間交談的語言,每一種協議都有本身的目的。TCP/IP模型一共包括幾百種協議,對互聯網上交換信息的各個方面都作了規定。TCP/IP協議與OSI相對應web

互聯網地址(IP):網絡上每個節點都必須有一個獨立的Internet地址(也叫作IP地址),IP地址是網絡號+主機號的組合。如今,一般使用的IP地址是一個32bit的數字,也就是咱們常說的IPv4標準,這32bit的數字分紅四組,也就是常見的255.255.255.255的樣式。IPv4標準上,地址被分爲五類,具體分類和參考http://blog.csdn.net/panjunnn/article/details/5653388,咱們經常使用的是B類地址。數據庫

域名系統:域名系統是一個分佈的數據庫,它提供將主機名(網址)轉換成IP地址的服務。編程

RFC:RFC是tcp/ip協議的標準文檔,如今它一共有4000多個協議的定義,通常咱們須要學習的也就十多個。windows

端口號:注意,這個號碼是用在TCP,UDP上的一個邏輯號碼,並非一個硬件端口,咱們平時說把某某端口封掉了,也只是在IP層次把帶有這個號碼的IP包給過濾掉了而已。端口是一個軟件結構,被客戶程序或服務進程用來發送和接收信息。一個端口對應一個16比特的數。服務進程一般使用一個固定的端口,例如,SMTP使用2五、Xwindows使用6000。這些端口號是‘廣爲人知’的,由於在創建與特定的主機或服務的鏈接時,須要這些地址和目的地址進行通信。服務器

應用編程接口:如今經常使用的編程接口有socket和TLI。而前面的有時候也叫作「Berkeley socket」,可見Berkeley對於網絡的發展有多大的貢獻。網絡

OSI系統參考模型和TCP/IP系統對比:socket

OSI七層模型 TCP/IP四層模型 對應網絡協議
應用層(Application) 應用層 TELNET,FTP,TFTP,SMTP,HTTP,DNS...
表示層(Presentation) 文本:ASCII,EBCDIC 圖形:TIFF,JPEG,GIF,PICT 聲音:MIDI,MPEG,QUICKTIME...
會話層(Session) NFS,SQL,RPC,ASP,SCP...
傳輸層(Transport) 傳輸層 TCP,UDP...
網絡層(Network) 網際層 IP,ICMP,ARP,RARP,AKP
數據鏈路層(Data Link) 網絡接口 SDLC,HDLC,PPP,STP,幀中繼..
物理層(Physical) EIA/TIA RS-232,V.35...

具體以下圖所示:tcp

OSI各層功能詳解:參見博客http://blog.csdn.net/htyurencaotang/article/details/11473015學習

(1)物理層:

提供創建、維護和拆除物理鏈路所需的機械、電氣、功能和規程的特性;提供有關在傳輸介質上傳輸非結構的位流及物理鏈路故障檢測指示。在這一層,數據尚未被組織,僅做爲原始的位流或電氣電壓處理,單位是比特。

(2)數據鏈路層

 負責在兩個相鄰結點間的線路上,無差錯地傳送以幀爲單位的數據,並進行流量控制。每一幀包括必定數量的數據和一些必要的控制信息。與物理層類似,數據鏈路層要負責創建、維持和釋放數據鏈路的鏈接。在傳送數據時,如 果接收點檢測到所傳數據中有差錯,就要通知發方重發這一幀。

(3)網絡層

 爲傳輸層實體提供端到端的交換網絡數據傳送功能,使得傳輸層擺脫路由選擇、交換方式、擁擠控制等網絡傳輸 細節;能夠爲傳輸層實體創建、維持和拆除一條或多條通訊路徑;對網絡傳輸中發生的不可恢復的差錯予以報告。 網絡層將數據鏈路層提供的幀組成數據包,包中封裝有網絡層包頭,其中含有邏輯地址信息——源站點和目的站點 地址的網絡地址。

(4)傳輸層

 爲會話層實體提供透明、可靠的數據傳輸服務,保證端到端的數據完整性;選擇網絡層的最適宜的服務;提供建 立、維護和拆除傳輸鏈接功能。傳輸層根據通訊子網的特性,最佳的利用網絡資源,爲兩個端系統的會話層之間提供創建、維護和取消傳輸鏈接的功能,並以可靠和經濟的方式傳輸數據。在這一層,信息的傳送單位是報文。

(5)會話層

爲彼此合做的表示層實體提供創建、維護和結束會話鏈接的功能;完成通訊進程的邏輯名字與物理名字間的對應; 提供會話管理服務。

(6)表示層

爲應用層進程提供能解釋所交換信息含義的一組服務,即將欲交換的數據從適合於某一用戶的抽象語法,轉換爲適合於OSI系統內部使用的傳送語法,提供格式化的表示和轉換數據服務。數據的壓縮,解壓縮,加密和解密等工做都由表示層負責。

(7)應用層

提供OSI用戶服務,即肯定進程之間通訊的性質,以知足用戶須要以及提供網絡與用戶應用軟件之間的接口服務。

簡而言之各層的做用爲:

物理層:在物理媒體上傳輸原始的數據比特流。

數據鏈路層:將數據分紅一個個數據幀,以數據幀爲單位傳輸。有應有答,遇錯重發。

網絡層:將數據分紅必定長度的分組,將分組穿過通訊子網,從信源選擇路徑後傳到信宿。

傳輸層:提供不具體網絡的高效、經濟、透明的端到端數據傳輸服務。

會話層:進程間的對話也稱爲會話,會話層管理不一樣主機上各進程間的對話。

表示層: 爲應用層進程提供格式化的表示和轉換數據服務。

應用層:提供應用程序訪問OSI環境的手段。

相應的TCP/IP的各層功能可總結以下:

網絡接口:負責創建電路鏈接,是整個網絡的物理基礎,典型的協議包括以太網、ADSL等等;

網際層:負責分配地址和傳送二進制數據,主要協議是IP協議;

傳輸層:負責傳送文本數據,主要協議是TCP協議;

應用層:負責傳送各類最終形態的數據,是直接與用戶打交道的層,典型協議是HTTP、FTP等。

經常使用協議及其端口號:

所在TCP/IP層 關鍵字 協議名 端口號
應用層 FTP 文件傳輸協議(TCP:ftp的數據傳輸) 20
HTTP 超文本傳輸協議(TCP:訪問web網站) 80
DNS

域名服務器協議

(UDP:域名解析服務,客戶端進行域名查詢

TCP:Domain Name Server ,DNS服務器間域名複製)

53
SMTP 簡單郵件傳輸協議(TCP:郵件的傳輸) 25
NFS 網絡文件系統協議(文件共享TCP和UDP) 2049
傳輸層 TCP 控制傳輸協議

端口號通常用來區分一臺主機的各類服務,

如web,ftp服務。使用端口號能夠找到一

臺設備中惟一的程序。因此若是須要和某

臺計算機創建鏈接的話,只須要知道IP地址

或域名便可,可是若是想和該臺計算機上的

某個程序交換數據的話,還必須知道該程序

使用的端口號。

 

UDP 用戶數據報協議
網際層 IP 網際協議
ICMP 網際控制消息協議
ARP 地址解析協議
RARP 反向地址解析協議
網絡接口 HDLC 高級鏈路控制協議
PPP 點對點協議
SLIP 串行線路接口協議

參考博客:http://www.ruanyifeng.com/blog/2009/03/tcp-ip_model.html

             http://blog.csdn.net/htyurencaotang/article/details/11473015

相關文章
相關標籤/搜索