讀書筆記 TCPIP詳解卷一 第一章 概述

2021-07-03 04:11:58 字數 4403 閱讀 4397

第一章 概述

1.1引言

tcpip於60年代末起源於美國乙個分組交換網路研究小組,90年代發展成最常用的組網形式;

1.2分層

網路協議經常按照不同功能分成不同層次,osi分7層(物、鏈、網、傳、會、表、應)。在tcpip中,應用層和運輸層使用端到端協議,而網路層提供逐跳協議,ip提供不可靠服務,tcp提供可靠服務。

1.3tcpip的分層

分4層,分別是鏈路層、網路層(ip/icmp/igmp)、運輸層(tcp/udp)、應用層。其中icmp是internetk控制管理協議,igmp是internet組管理協議。網橋在鏈路層上對網路進行連線,路由器在網路層上對網路進行連線。在鏈路層上做位址轉換的還有arp以及rarp。

1.4網際網路的位址

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

網際網路位址的分配由網際網路絡資訊中心internic完成,它只分配網路號,主機號分配由系統管理員完成。

internic由三部分組成,註冊服務(rs.internic.net)、目錄和資料庫服務(ds.internic.net)、資訊服務(is.internic.net)。

1.5網域名稱系統

它是乙個分布式資料庫,存放ip位址和主機的對映。

1.6封裝

應用層的使用者資料要經過底層協議**,其中每一層都要對收到的資料加一些首部資訊(有時還需要在尾部加)。由此產生tcp段、ip資料報、乙太網幀(46-1500位元組)。

1.7分用

當目的主機收到乙個乙太網資料幀時,資料就開始從協議棧中由底向上公升,同時去掉各層協議加上的報文首部。每層協議盒都要去檢查報文首部中的協議標識,以確定接收資料的上層協議。這個過程稱作分用。

為協議icmp和igmp定位一直是一件很棘手的事情。把它們與ip放在同一層上,是因為事實上它們是ip的附屬協議。但是,又把它們放在ip層的上面,是因為icmp和igmp報文都被封裝在ip資料報中。

對於arp和rarp,也遇到類似的難題。把它們放在乙太網裝置驅動程式的上方,是因為它們和ip資料報一樣,都有各自的乙太網資料幀型別。又把arp作為乙太網裝置驅動程式的一部分,放在ip層的下面,其原因在邏輯上是合理的。

1.8客戶-伺服器模型

伺服器可分成重複型和並髮型2種,重複型伺服器同時只能為乙個客戶服務,一般的tcp伺服器是並髮型,udp伺服器是重複型。

1.9埠號

tcp/udp採用埠號識別應用程式,伺服器一般都是通過知名埠號來識別的。例如,對於每個tcp/ip實現來說,ftp伺服器的tcp埠號都是21,每個telnet伺服器的tcp埠號都是23,每個tftp(簡單檔案傳送協議)伺服器的udp埠號都是69。任何tcp/ip實現所提供的服務都用知名的1-1024之間的埠號。這些知名埠號由internet號分配機構(internet assigned numbers authority, iana)來管理。

到2023年為止,知名埠號介於1~255之間。256~1023之間的埠號通常都是由unix系統占用,以提供一些特定的u n i x服務—也就是說,提供一些只有unix系統才有的、而其他作業系統可能不提供的服務。現在iana管理1~1023之間所有的埠號。

1.10標準化過程

有四個小組在負責internet技術。

1) internet協會(isoc,internet society)是乙個推動、支援和促進internet不斷增長和發展的專業組織,它把internet作為全球研究通訊的基礎設施。

2) internet體系結構委員會(iab,internet architecture board)是乙個技術監督和協調的機構。它由國際上來自不同專業的1 5個志願者組成,其職能是負責internet標準的最後編輯和技術審核。iab隸屬於isoc。

3) internet工程專門小組(ietf,internet engineering task force)是乙個面向近期標準的組織,它分為9個領域(應用、尋徑和定址、安全等等)。ietf開發成為internet標準的規範。為幫助ietf主席,又成立了internet工程指導小組(iesg, internet engineering steering group)。

4) internet研究專門小組(irif,internet research task force)主要對長遠的專案進行研究。irtf和ietf都隸屬於iab。文獻[crocker 1993]提供了關於internet內部標準化程序更為詳細的資訊,同時還介紹了它的早期歷史。

1.11rfc

所有關於internet的正式標準都以rfc(request for comment)文件出版。所有的rfc都可以通過電子郵件或用ftp從internet上免費獲取。如果傳送下面這份電子郵件,就會收到乙份獲取rfc的方法清單:

to: [email protected],

subject: getting rfcs,

help:ways_to_get_rfcs。

rfc資訊搜尋索引有4類:

1)賦值rfc(assigned numbers rfc)列出了所有internet協議中使用的數字和常數。

2)internet正式協議標準,目前是rfc 1600[postel 1994]。這個rfc描述了各種internet協議的標準化現狀。

)主機需求rfc,1122和1123[braden 1989a,1989b]。rfc 1122針對鏈路層、網路層和運輸層;rfc 1123針對應用層。

4) 路由器需求rfc,目前正式版是rfc 1009[braden and postel 1987],但乙個新版已接近完成[almquist 1993]。

1.12標準的簡單服務

名字 tcp埠號 udp埠號 rfc  描述

echo 

7  7 

862  伺服器返回客戶傳送的所有內容

discard  9 

9  863  伺服器丟棄客戶傳送的所有內容

daytime  13 

13 867  伺服器以可讀形式返回時間和日期

chargen  19 

19 864  當客戶傳送乙個資料報時,tcp伺服器傳送一串連續的字元流,直到客戶中斷連線。udp伺服器傳送乙個隨機長度的資料報

time 

37 37 

868  伺服器返回乙個二進位制形式的32 bit數,表示從utc時間2023年1月1日午夜至今的秒數

如果仔細檢查這些標準的簡單服務以及其他標準的tcp/ip服務(如telnet、ftp、smtp等)的埠號時,我們發現它們都是奇數。這是有歷史原因的,因為這些埠號都是從ncp埠號派生出來的(ncp,即網路控制協議,是arpanet的運輸層協議,是tcp的前身)。ncp是單工的,不是全雙工的,因此每個應用程式需要兩個連線,需預留一對奇數和偶數埠號。當tcp和udp成為標準的運輸層協議時,每個應用程式只需要乙個埠號,因此就使用了ncp中的奇數。

1.13網際網路

internet這個詞第乙個字母是否大寫決定了它具有不同的含義。internet意思是用乙個共同的協議族把多個網路連線在一起。而internet指的是世界範圍內通過tcp/ip互相通訊的所有主機集合(超過100萬台)。internet是乙個internet,但internet不等於internet。

1.14實現

既成事實標準的tcp/ip軟體實現來自於位於伯克利的加利福尼亞大學的計算機系統研究小組。從歷史上看,軟體是隨同4.x bsd系統(berkeley software distribution)的網路版一起發布的。在本書中,我們將使用「伯克利派生系統」來指 sunos 4.x、svr4以及aix 3.2等那些基於伯克利源**開發的系統。

1.15應用程式設計介面

使用tcp/ip協議的應用程式通常採用兩種應用程式設計介面(api):socket和tli(運輸層介面:transport layer inte***ce)。前者有時稱作「berkeley socket」,表明它是從伯克利版發展而來的。後者起初是由at&t開發的,有時稱作xti(x/open運輸層介面),以承認x/open這個自己定義標準的國際計算機生產商所做的工作。xti實際上是tli的乙個超集。

1.16測試網路

搭建從略。

1.17小結

tcp/ip協議族分為四層:鏈路層、網路層、運輸層和應用層,每一層各有不同的責任。在tcp/ip中,網路層和運輸層之間的區別是最為關鍵的:網路層(ip)提供點到點的服務,而運輸層(tcp和udp)提供端到端的服務。乙個網際網路是網路的網路。構造網際網路的共同基石是路由器,它們在ip層把網路連在一起。第乙個字母大寫的internet是指分布在世界各地的大型網際網路,其中包括1萬多個網路和超過100萬台主機。在乙個網際網路上,每個介面都用ip位址來標識,儘管使用者習慣使用主機名而不是ip位址。網域名稱系統為主機名和ip位址之間提供動態的對映。埠號用來標識互相通訊的應用程式。伺服器使用知名埠號,而客戶使用臨時設定的埠號。

《TCP IP詳解,卷一 協議》讀書筆記

ftp協議流程圖。應用層和傳輸層是端到端協議,只有端系統會使用者兩層協議,傳輸層的tcp可以保證可靠性。網路層是逐跳協議,所有中間系統和端系統都會使用這一層。網路層不保證可靠性。網橋在鏈路層使主機互聯 路由器在網路層使主機互聯。igmp是internet組管理協議,用來把乙個udp資料報多播到多個主...

《TCP IP詳解卷一》讀書筆記八 ICMP

由於工作需要和知識儲備,重新系統地學習網路方面的知識,先從 tcp ip詳解卷一 開始,對看書的大體內容進行簡單整理,在這裡進行記錄。記錄只是對知識的整理過程,並不追求面面俱到。處理icmpv6報文 未知的icmpv6差錯報文必須傳遞給上層產生差錯報文的程序 如果可能的話 未知的icmpv6資訊類報...

TCP IP詳解讀書筆記(一)

arp協議用來找到目標主機的ethernet網絡卡mac位址,ip則承載要傳送的訊息。資料鏈路層可以從arp得到資料的傳送資訊,而從ip得到要傳輸的資料資訊。ip不是可靠的協議 這是說,ip協議沒有提供一種資料未傳達以後的處理機制,這被認為是上層協議tcp或udp要做的事情。ip位址協議頭 ttl欄...