TCP/IP協議詳解---概述

    工做以後,才發現之前在學校裏學的東西忘得太快太乾淨了,如今須要一點點地撿起來了,要否則寫幾行程序會鬧不少笑話會出現不少bug的。從今天開始,翻一翻《TCP/IP協議詳解 卷1》這本書,但願能看下去,作好筆記發博客。
    首先了解一下TCP/IP的基本概念知識吧。
     一、分層
    TCP/IP一般是被分紅四層協議系統的,應用層(Telnet、FTP和Email等)、運輸層(TCP、UDP)、網絡層(IP、ICMP、IGMP等)和鏈路層(設備驅動程序),每一層各司其職,下層對上層來講,是透明的。
    上圖是局域網上運行的FTP兩臺主機,在同一層上,雙方都有對應的一個或多個協議進行通訊。首先認識一下TCP/IP協議。
     TCP/IP一般指的是TCP/IP協議簇,是一組不一樣的協議組合在一塊兒勾成的協議簇,上圖中列舉了四種不一樣層次的協議,F T P是一種應用層協議, T C P是一種運輸層協議,I P是一種網絡層協議,而以太網協議則應用於鏈路層上。
    在T C P / I P協議族中,網絡層 I P提供的是一種不可靠的服務。也就是說,它只是儘量快地把分組從源結點送到目的結點,可是並不提供任何可靠性保證。而另外一方面,  T C P在不可靠的I P層上提供了一個可靠的運輸層。爲了提供這種可靠的服務, T C P採用了超時重傳、發送和接收端到端的確認分組等機制。
     
二、互聯網的地址
    互聯網上每一個接口都必須有一個惟一的Internet地址即IP地址,IPV4的地址長度是32bit,以下圖分紅五類:
    A類地址範圍:0.0.0.0~127.255.255.255,B類地址範圍:128.0.0.0~191.255.255.255,C類地址範圍:192.0.0.0~223.255.255.255,D類地址範圍:224.0.0.0~239.255.255.255,E類地址範圍:240.0.0.0~247.255.255.255.
     三、域名系統
    在 T C P / I P領域中,域名系統( D N S)是一個分佈的數據庫,由它來提供 I P地址和主機名之間的映射信息。
    
     四、封裝
    當應用程序用 T C P傳送數據時,數據被送入協議棧中,而後逐個經過每一層直到被看成一串比特流送入網絡。其中每一層對收到的數據都要增長一些首部信息。以太網數據幀的物理特性是其長度必須在 4 6~1 5 0 0字節之間。
    
     五、分用
    當目的主機收到一個以太網數據幀時,數據就開始從協議棧中由底向上升,同時去掉各層協議加上的報文首部。每層協議盒都要去檢查報文首部中的協議標識,以肯定接收數據的上層協議。這個過程稱做分用。
     六、客戶-服務器模型
    大部分網絡應用程序在編寫時都假設一端是客戶,另外一端是服務器,其目的是爲了讓服務器爲客戶提供一些特定的服務。能夠將這種服務分爲兩種類型:重複型或併發型。通常來講, T C P服務器是併發的,而 U D P服務器是重複的,但也存在一些例外。
     七、端口號
    T C P和U D P採用16 bit的端口號來識別應用程序,服務器通常都是經過知名端口號來識別的。例如,對於每一個 T C P / I P實現來講,F T P服務器的T C P端口號都是2 1,每一個Te l n e t服務器的T C P端口號都是2 3。U n i x系統的文件/e t c / s e r v i c e s都包含了人們熟知的端口號。查看:cat /etc/services | grep telnet
     八、RFC
    I n t e r n e t的正式標準都以R F C(Request for Comment)文檔出版。另外,大量的R F C並非正式的標準,出版的目的只是爲了提供信息。 R F C的篇幅從1頁到2 0 0頁不等。每一項都用一個數字來標識,如 RFC 1 1 2 2,數字越大說明R F C的內容越新。
     九、實現
    既成事實標準的 T C P / I P軟件實現來自於位於伯克利的加利福尼亞大學的計算機系統研究小組。從歷史上看,軟件
是隨同4.x BSD系統(Berkeley SoftwareD i s t r i b u t i o n)的網絡版一塊兒發佈的。它的源代碼是許多其餘實現的基礎。
     十、應用編程接口
    使用T C P / I P協議的應用程序一般採用兩種應用編程接口( A P I):s o c k e t和T L I(運輸層接口:Transport Layer Interface )。
相關文章
相關標籤/搜索