Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

計算機概論 二次作業

運管 114 110701009 吳和晏


§ TCP(Transmission Control Protocol)

TCP 的全名為傳輸控制協定,在 OSI 網路參考模型中和 UDP 同屬於傳輸層


(Transport Layer),TCP 是 Internet protocols suite 中的基本協議之一,提供一個
可靠且連線性的資料傳輸機制,負責建立伺服器端及客戶端的連結,確保資料
傳輸的完整性、安全性及正確性,而在接收來自應用層(Application Layer)的
資料時,TCP 會將資料分割成較小的封包,並在封包上進行編號排序,以利傳
輸方便。

¶ TCP 的傳輸機制
1. TCP 在建立連接時採用三路握手(Three-way hand shake),而三路握手
的過程包含了三個步驟。但在執行三個步驟前,須先將參數及序號初始化,以
避免傳輸有錯誤,並確保傳輸時按照順序。
(1)連線請求
在建立一個 TCP 連接時,伺服器端會利用到封包內的同步旗標
(SYN),將 SYN(Synchronize)的欄位內的值設為 1 ,其他欄
位皆為 0,以向接收端系統表示伺服器端正在請求連線。
(2)連線確認
而當目的地端收到此封包時,會回傳一個確認收到的封包,此封包
中 SYN 的欄位依然為 1,但會另外再將 ACK(Acknowledge)的欄位
設置為 1,使發送端知道客戶端已接收到要求傳送訊息的通知並已
被確認。
(3)連線成功
當伺服器端接收到目的地端回傳的封包時,會再將 SYN 的欄位設
置回 0,ACK 的欄位更改為 1 並在次傳送改接收端,此訊息代表著
起始端已知悉客戶端的確認動作,並即將開始傳送資料。
2. TCP 具有確認封包機制,當接收端收到訊息並且資料無誤時,會回傳
ACK 給伺服器端,雙方均會留存此封包的紀錄,以作為下次資料確認的依據,
而當資料的傳送不完整、順序錯誤或未被接送到時,此封包確認機制可使發送
端再將資料傳輸一次。

3. TCP 也具有逾時重送機制,在伺服器端將資料傳送出去之後,會開始一
個封包的計時器,發送端會保收估計一段時間作為收到封包確認的時間上限
(RTT),一但超過此時間限制並且尚未收到封包確認的訊息,伺服器端會認
為此封包在傳輸過程中遺失,而再次傳送資料,而若在時限內收到封包接收確
認訊息,伺服器端則會繼續進行下一資料封包的傳輸。

4. TCP 雖然具有上述幾點的機制,但也造成了其在效率上的問題,反覆的
確認過程中儘管嚴謹,但卻容易花費大量的時間造成網路壅塞,因此滑動窗
(Sliding windows)容許發送端在接收端回傳確認訊息前傳輸附加的封包,因
此可用來解決多重傳輸與確認的問題,滑動窗的大小表示客戶端還具多少的緩
衝區來接訊息,伺服器端則可以通過滑動窗的大小來確定應發送多大的封包,
而在滑動窗窗口為 0 時則代表無法再接收任何訊息。如此一來伺服器端可以在
收到確認訊息前同時傳輸多個封包,有效利用網路頻寬以避免造成網路壅塞問
題。
¶ TCP 的功能
1. TCP 會為每個封包加上編號,使目的地端可以在傳輸過程亂序的情況下
依然可以將封包正確重組排序。
2. TCP 在每個封包的最前面加上一檢查欄位,用以確認封包的正確性,當
確認欄位的值不正確便表示封包已損毀,此時客戶端便不會傳送確認封
包的訊息。
3. TCP 具有流量控制(Flow control)及 壅塞控制(Congestion control)的
功能,以避免主機分組或軟硬體設備不同而產生的處理資料速度不同而
造成接收端無法及時收下封包的情況。
(1) 流量控制(Flow control)
在伺服器端及客戶端皆具有緩衝區,會根據封包的大小存入待發
送的封包與以確認接收的封包,流量控制的技術便是用來減少對
緩衝區的需求,包含了兩種主要方法分別是停止與等待法
(Stop-and-Wait Method)以及滑動視窗法(Sliding Window
Method),前者便是若無收到確認收到訊息則發送端不會再傳
輸封包,後者則是上面提到的根據緩衝區大小一次傳輸多個封包。
(2) 壅塞控制(Congestion control)
發送方會根據封包的確認或遺失情形來估計網路壅塞的狀況進而
修改資料傳輸的情況。壅塞控制的演算法包含了慢啟動、壅塞避
免、快速重傳、快速恢復四個部分。
§ UDP(User Datagram Protocols)

UDP 的全名為使用者資料報協定,同樣在 OSI 網路參考模型中屬於傳輸層


(Transport Layer),但與 TCP 不同的是,UDP 是一種不可靠且非連線性的資料傳
輸機制。UDP 會在接收端不知訊息即將傳送的情況下突然將資料傳送給對方,
並在傳輸完封包後刪除再發送端的資料,也就是發送端並不會保留封包的備份。
因此 UDP 在通訊上的可靠性低,使用 UDP 的應用程式必須在一定程度上
允許封包的遺失和錯誤,然而正因 UDP 不需進行握手(Hand Shaking),UDP
的負擔較 TCP 輕,因此速度較 TCP 快,較適合使用在即時並能容忍部分遺失及
錯誤服務。
舉例來說,對於 DNS 以及串流媒體(Streaming media)、線上遊戲以及 IP 語
音(VoIP-Voice over Internet Protocol)需傳輸語音及影像等資料量大的訊息的服務,
UDP 只會造成品質輕微地下降,而且並不會發生封包重複傳送、進行檢測時所
造成延遲的問題,總體來說 UDP 會較 TCP 合適。
此外由於 UDP 缺乏壅塞控制,發送端無法檢測網路的壅塞狀況,因此會利
用 DCCP(Datagram Congestion Control Protocol)來加強對主機的控制以減少壅
塞的可能性。

§ IP (Internet Protocol)

IP 的全名為互聯網協定,在 OSI 網路參考模型中屬於網路層 (Internet


Layer),IP 的主要用途為將根據發送端主機及接收端主機的位置只來傳送資料,
IP 的第一版本為 IPv4,但由於 IPv4 地記錄位址只有 32 位元,因此隨著對網路
使用的成長便迎來了第二個版本 IPv6,儘管 IPv6 的紀錄位址上升至 128 位元,
但大多數的主流媒體依然使用 IPv4。

¶ IP 的功能與分裝
IP 負責將資料封裝到封包中,其中包括了分段及重組,而在封包於網路中
傳輸資料之前,並不會進行 Hand Shaking 的動作通知接收端,因此 IP 也同樣為
一種不可靠的傳輸機制。在通過一至多個的 IP 網路傳送之後,封包會由發送端
傳送至接收端,而為了使傳送時時的正確性,IP 的封包由兩個部分所組成,包
含了表頭以及有效載荷。
(1)表頭中包含了許多封包的資訊,其中包括
版本(Version),用以表示 IP 封包的版本為 IPv4 或 IPv6
協定代碼(Protocol number)用以紀錄該封包所使用的協定
存活時間(TTL- Time To Live)此欄位用於表示封包的存活時間,範圍
為 0-255,每當封包經過一路由器時,TTL 的值變會減一,而當值為 0
時此包變會被直接丟棄。
IP 的表頭長度(IHL- Internet Header Length)表示表頭長度
表頭檢查碼(Header Checksum) 可以用於檢查 IP 表頭錯誤
(2)有效載荷則是傳輸的資料

¶ IP 的分級與種類
在 IPv4 的版本中 IP 的網段被分成五個等級,IP 是從大領域往小領域收斂
的定位表示法。而在分類中,IPv4 中的兩大主要類別為公共 IP(Public IP)以
及私有/保留 IP(Private IP),前者是由INTERNIC 所統一規劃的IP,是連上網的
重要 IP,而後者則無法直接連上 Internet 主要用於區域網路的連接。

TCP 與 UDP 的比較

TCP UDP
OSI 網路參考模型 傳輸層 傳輸層
連接特性性 可靠性連接 非可靠性非連接性
穩定性 高 低
速度 慢 快
Hand Shaking 需要 不需要
優點 傳輸資料較為可靠 可傳輸訊息量大的資料且較為迅速
缺點 速度慢 資料較易遺失、錯誤
應用程式需自行建立可靠的機制
適用服務 email DNS lookup、Video Streaming

TCP/IP
TCP/IP 是 Internet Protocol Suite 中最早通過的標準,為 Internet Protocol Suite
的兩大核心協定,這兩個協定的結合將資料的封裝、定址、傳送、路由以及接
收都進行了標準化。

§ DNS(Domain Name Server)


DNS 的全名為網域名稱伺服器,是一種分散式資料庫,將域名以及 IP 位址
相互對應使人們在存取網際網路時更加方便。連接到網際網路上的裝置均具有
唯一的 IP 位置,其他裝置可以透過 IP 地址來找尋在網路上的電腦,DNS 所進
行的域名以及 IP 地址的轉換使人們不必儲存 IPv4 及 IPv6 等數字、字母串。

¶ 網域的分類
為了方便 DNS 找尋網址,全世界的網址被區分為不同的網域(Domain)
1. 根網域(Root Domain)
根網域為 DNS 架構中最上層的網域,一但有任何一台 DNS 根據網址無
法找尋出對應的 IP 位置時,會由最上層的負責根網域的 DNS 進行查詢。
2. 頂層網域(TLD-Top Level Domain)
頂層網域分成兩個種類
(1)國別頂級網域
為利用國際標準組織(ISO)所訂定的國碼(Country Code)來進行
區分。例如:台灣為 tw、中國為 cn、香港為 hk、日本為 jp 而美國因
爲網際網路的創始國,因此名稱為 ICANN。
(2)一班性頂級網域
此種類網路為各個單位向其國家所註冊的申請的網域名稱,其中
教育用途為 edu 、政府機關為 gov、 營利企業單位為 com 。
3. 第二層網域(Second Level Domain)
就是所謂的網域名稱,例如:youtube、facebook 、google 等
4. 主機網域(Host Domain/Subdomain)
由各個單位的使用人員依照需求劃分出來提供給不同主機使用

¶ DNS Lookup

DNS Lookup 是 DNS 伺服器進入 DNS 資料庫中找尋資料的過程的過程,若


是從 IP 地址找尋 URL 則是正向的 DNS Lookup ,反之從網域名稱來確定 IP 位
置則為反向 DNS Lookup。

DNS Lookup 過程中共有八個步驟

(1)使用者輸入 URL,DNS 遞迴程式會接收 URL 並查詢


(2) DNS 解析程式會查詢該網址的根名稱伺服器
(3)根伺服器會將頂層伺服器的位址回傳給解析程式
(4)解析程式向頂層伺服器發出請求
(5)頂層伺服器將該領域的該網域伺服器位址再次回傳給解析程式
(6)遞迴程式將查詢傳送給該網域的伺服器
(7)該網域的伺服器回傳網址的 IP 位址
(8)DNS 解析程式利用最一開始的網域 IP 位址回應網頁瀏覽器

[其中,DNS 解析程式是負責與發出請求的客戶端進行交流,並開始查詢序
列]
¶ DNS 的安全性
由於幾乎所有的網路流量皆需要 DNS 來金行查詢以及轉換,因此 DNS 攻
擊分猖獗也極易帶給客戶端困擾,攻擊者透過 DNS 搜集客戶的個資並使該企業
須為此負責,而防止 DNS 攻擊的最主要協議為 DNS 安全擴張(DNSSEC),
此協定是透過對資料進行數字簽名來防止攻擊,而為了確保安全的有效性,這
種數字簽名必須在 DNS Lookup 的每一級別進行。

§ URL (Uniform Resource Locator)


URL 的全名為統一資源定位符,也就是所謂的網址,在網際網路中負責讓
DNS 可以找到特定網頁所在的位址,在網際網路中,並不會出現兩個相同的
URL,因此每個 URL 具有唯一性。

¶ URL 的結構
1. 通訊協定 (Protoclos) – HTTPS
為超文件傳輸協定(HyperText Transfer Protocols),是發布及接收 HTML
的一種方法。當 URL 前端有著一鎖頭符號時,表示該裝置與該網站的連線
是安全的,而 SSL 是用於網站主機和瀏覽器之間建立加密連結的一種安全
技術。利用 SSL 可以確保所有資料都具一定程度的隱私。

2. 子網域(Host Domain) – www


為主機名稱,主要功能是指向 DNS 中的不同位址,子領域的名稱可以
用來為一網域建立深刻的印象。較常使用的有 www(全球資訊網)、
FTP(檔案傳輸協定)、 mailto(電子郵件傳輸協定)等
3. 網域名稱
網域名稱是 URL 結構中最重要的存在,此一部分是由個人需求所命名
的通常是有識別度的文字,網域名稱的決定會影響使用者識別以及搜尋
引擎。
4. 第二層網域名 (Second Level Domain)
用來表示該網站的性質
5. 頂層域名(TLD)
表示網址申請機構所在的國家

You might also like