最近在閱讀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