Professional Documents
Culture Documents
計算機概論 二次作業
計算機概論 二次作業
¶ 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)
§ IP (Internet Protocol)
¶ 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
OSI 網路參考模型 傳輸層 傳輸層
連接特性性 可靠性連接 非可靠性非連接性
穩定性 高 低
速度 慢 快
Hand Shaking 需要 不需要
優點 傳輸資料較為可靠 可傳輸訊息量大的資料且較為迅速
缺點 速度慢 資料較易遺失、錯誤
應用程式需自行建立可靠的機制
適用服務 email DNS lookup、Video Streaming
TCP/IP
TCP/IP 是 Internet Protocol Suite 中最早通過的標準,為 Internet Protocol Suite
的兩大核心協定,這兩個協定的結合將資料的封裝、定址、傳送、路由以及接
收都進行了標準化。
¶ 網域的分類
為了方便 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 解析程式是負責與發出請求的客戶端進行交流,並開始查詢序
列]
¶ DNS 的安全性
由於幾乎所有的網路流量皆需要 DNS 來金行查詢以及轉換,因此 DNS 攻
擊分猖獗也極易帶給客戶端困擾,攻擊者透過 DNS 搜集客戶的個資並使該企業
須為此負責,而防止 DNS 攻擊的最主要協議為 DNS 安全擴張(DNSSEC),
此協定是透過對資料進行數字簽名來防止攻擊,而為了確保安全的有效性,這
種數字簽名必須在 DNS Lookup 的每一級別進行。
¶ URL 的結構
1. 通訊協定 (Protoclos) – HTTPS
為超文件傳輸協定(HyperText Transfer Protocols),是發布及接收 HTML
的一種方法。當 URL 前端有著一鎖頭符號時,表示該裝置與該網站的連線
是安全的,而 SSL 是用於網站主機和瀏覽器之間建立加密連結的一種安全
技術。利用 SSL 可以確保所有資料都具一定程度的隱私。