網路程式設計 基礎

2021-09-11 05:53:49 字數 3622 閱讀 4672

國際標準化組織iso在2023年形成了七層協議的體系結構,之後形成了五層協議的體系結構。

1、應用層:應用層直接為使用者的應用程序提供服務。在網際網路中的應用層的協議很多,如支援全球資訊網應用的http協議,支援電子郵件的smtp協議,支援檔案傳送的ftp協議等。

(1)、ftp(file transfer protocol)檔案傳輸協議(埠號21)

是用於檔案傳輸的internet標準。由ftp提供的檔案傳送是將乙個完整的檔案從乙個系統複製到另乙個系統中。ftp支援有限數量的檔案型別(ascii,二進位制,等等)和檔案結構(面向位元組流或記錄)。它採用兩個tcp連線來傳輸乙個檔案,命令和應答在客戶和伺服器的控制連線上以nvt ascii碼形式傳送,資料傳輸的預設方式通常也是nvt ascii碼。ftp伺服器把檔案列表從資料連線上發回,避免行的有限性對目錄大小的限制。異常中止從客戶傳向伺服器的檔案:只要客戶停止在資料連線上傳送資料,並傳送abor命令到控制連線上的伺服器即可;異常中止接收:使用telnet同步訊號。

(2)、smtp(****** mail transfer protocol)簡單郵件傳輸協議(埠號25)

有時電子郵件也可用於傳送檔案。用tcp進行的郵件交換是由報文傳送**mta完成的。兩個mta之間用nvt ascii進行通訊,smtp的乙個特色是它用nvt ascii表示一切:信封、首部和正文。後續,新加入的smtp命令影響了信封,首部可以使用非ascii字母,正文(mime)中也加入了結構。rfc 1425定義了擴充的smtp的框架,其結果被稱為擴充的smtp(esmtp)

2、運輸層:運輸層的任務就是負責向兩個主機中的程序之間的通訊提供服務。運輸層主要使用以下兩種協議:

(1)、傳輸控制協議tcp(transmission control protocol):面向連線的,資料傳輸的單位是報文段,能夠提供可靠的支付。

(2)、使用者資料報協議udp(user datagram protocol):無連線的,資料傳輸的單位是使用者資料報,不保證提供可靠的支付。

3、網路層:網路層負責為分組交換網上的不同主機提供通訊服務。

4、資料鏈路層:傳輸資料的單位為幀。

5、物理層:在物理層上所傳資料的單位是位元。物理層的任務就是透明的傳送位元流。

1、tcp協議的主要特點:

(1)tcp是面向連線的運輸層協議,也就是說,應用程式在使用tcp協議之前,必須先建立tcp連線,在傳送資料完畢後,必須釋放已經建立的tcp連線。

(2)每一條tcp連線只能有兩個端點,每一條tcp連線只能是點對點的。tcp連線的端點叫做套接字或者插口,埠號拼接到ip位址即構成了套接字。

(3)tcp提供可靠交付的服務。

(4)tcp提供全雙工通訊。

(5)面向位元組流。

2、為什麼tcp可以提供可靠性,其可靠性是如何保證的???

(1)資料可以完全到達接收方   應答確認機制(ack)和超時重傳機制

(2)接收方資料是有序的  每乙個tcp報文段都有相應的序號

(3)資料傳送和接收保證完全一致  tcp首部有16位的檢驗碼

3、解釋tcp首部

tcp資料被封裝在乙個ip資料報中,如下圖所示:

tcp首部資料格式,通常是20個位元組:

(1)源埠和目的埠:各佔2個位元組,每個tcp段都包含源端和目的端的埠號,用於尋找傳送端和接收端應用程序。

(2)序號:佔4個位元組,在乙個tcp連線中傳送的每乙個位元組都按順序編號。序號用來標識從tcp發端向tcp收端傳送的資料字節流,表示在這個報文段中的第乙個資料位元組。

(4)首部長度(資料偏移):佔4位,它指出tcp報文段的資料起始處距離tcp報文段的起始處有多遠。這個字段實際上是指出tcp報文段的首部長度。

(5)保留:佔6位,保留位今後使用,但目前應置為0。

(6)在tcp首部中有6個標誌位元:

urg:緊急指標有效,當urg=1時,表明緊急指標字段有效;

ack:確認序號有效,僅當ack=1時確認號字段才有效,tcp規定,在連線建立後所有傳送的報文段都必須把ack置為1;

psh:接收方應該盡快將這個報文段交給應用層,當兩個應用程序進行互動式的通訊時,有時在一端的應用程序希望在鍵入乙個命令後立即就能收到對方的響應;

rst:重建連線,當rst=1時,表明tcp連線**現嚴重差錯,必須釋放連線,然後再重新建立運輸連線;

syn:同步序號用來發起乙個連線,在連線建立時用來同步序號;

fin:發端完成傳送任務,用來釋放乙個連線,當fin=1時,表明此報文段的傳送方的資料已經發生完畢,並要求釋放運輸連線

(7)視窗:佔2個位元組,視窗指的是傳送本報文段的一方的接收視窗,視窗值告訴對方:從本報文段首部中的確認號算起,接收方目前允許對方傳送的資料量

(8)檢驗和:佔2個位元組

(9)緊急指標:佔2個位元組,緊急指標僅在urg=1時才有意義

(10)選項:長度可變,最長可達40位元組,當沒有使用選項的時候,tcp的首部長度是20位元組。

1、udp協議的主要特點

(1)udp是無連線的,即傳送資料之前不需要建立連線,可以減少開銷和傳送資料之前的時延

(2)udp不保證可靠交付,主機不需要維持複雜的連線狀態表

(3)udp是面向報文的,傳送方的udp對應用程式交下來的報文,在新增首部後就向下交付給ip層

(4)udp沒有擁塞控制

(5)udp支援一對

一、一對多、多對一和多對多的互動通訊

(6)udp的首部開銷小,只有8個位元組,比tcp的20個位元組的首部要短

2、udp如何能夠實現可靠傳輸?

udp實現ack機制,傳送乙個確認報文段給接收方,當接收方收到訊息之後,接收方再給傳送方傳送乙個ack訊息,表示收到訊息;如果傳送方在一定的時間之內未收到ack訊息,則將訊息再次傳送。

3、解釋udp首部

udp首部格式如下,通常是8個位元組:

埠號:表示傳送程序和接受程序。

udp長度:指的是udp首部和udp資料的位元組長度,其最小值是8(僅有首部)。

網路程式設計 網路基礎

1.物理層 提供建立 維護和拆除物理鏈路所需的機械 電氣 功能和規程的特性 提供有關在傳輸介質上傳輸非結構的位流及物理鏈路故障檢測指示。在這一層,資料還沒有被組織,僅作為原始的位流或電氣電壓處理,單位是位元。常用協議 eia tia rs 232 eia tia rs 449 v.35 rj 45 ...

linux網路程式設計基礎 網路基礎

客戶機 client 伺服器 server 模式。需要在通訊兩端各自部署客戶機和伺服器來完成資料通訊。瀏覽器 browser 伺服器 server 模式。只需在一端部署伺服器,而另外一端使用每台pc都預設配置的瀏覽器即可完成資料的傳輸。c s模式 優點缺點 資料快取本地,效率高 工作量大,開發周期更...

網路程式設計基礎

1 什麼是計算機網路 2 網路的型別 3 網路傳輸的介質 4 網路傳輸的資料格式 5 網路裝置 hub 分流裝置,把網路流量一分多,是根據實際情況平均分配的方法,是即插即用的裝置 中繼器 網路訊號傳輸一段距離後,訊號衰減會變弱,需要通過中繼器把訊號還原和再生 網橋 連線2個網路的裝置,這2個網路可以...