--- title: 網路課 week4 筆記 tags: 網路課tcp/ip --- # 網路課 week4 筆記 [上一頁](https://hackmd.io/@yAywlvh8QrOW-y_aYbMdCQ/r1mPzgOZo)  ### TTL 1. 限制封包可以傳多遠 每經過一個路由器就-1 直到TTL=0 還沒送達就丟棄 送一個ICMP封包(功用:1.控制2.錯誤回報) 2. 防止故障 網路發生錯誤時,避免封包一直存活在網路上 不同OS送的封包TTL可能不同 所以可以由封包TTL回推 傳送方的OS ### Header Checksum (檢查標頭有沒有發生錯誤) 1. 第一欄Ver Version(4 bits) 0100(ipv4) 0110(ipv6) 2. 第二欄IHL Internet Header Length(5個單位= 20 byte) 一個單位是4個byte 若大於5個單位 代表有選擇項 若<5個單位 代表是錯誤的 正常來說: IPv4 header:20 byte TCP header:20 byte UDP header:8 byte 3. 第三欄TOS Type Of Service 封包送出去希望有甚麼服務 Precedence 3 Bits 優先權(最小0~最大7) 1. D Delay 封包送出去到接收到的時間差 若D設為1 代表 不希望Delay ex:即時通訊 (Delay sentitive) 若D設為0 代表 不需要即時性 ex:備份 **應用程式通常分4類** 1. 語音類型 重視 延遲時間 資料量小(PCM編碼 每秒取樣8000次 每個sample 8個bit) 所以所需頻寬為 64kbps 壓縮後可能只需2~3kbps 2. 影音類型 影像(ex:看youtube或直播)對延遲要求不高 因為可以透過Buffering(緩衝)吸收網路的抖動 但是對頻寬的要求比較高 (720p 1080p 4K...所需頻寬漸高) 聲音 對延遲的要求 希望從 接收到>編碼>壓縮>傳送>解壓縮>還原 控制在 100 minisec ~ 200minisec 3. 一般資料傳輸 ex:網頁 不重視延遲 重視完整性 4. 背景資料 ex:備份 不需要講求速度 慢慢傳就可以 **吞吐量** 單位時間的傳送/接收量 >throughput OSI第2、3層 封包接收量 ex:mac ip tcp (有header) >good put 應用層封包接收量 不用考慮header 所以通常good put <= through put 而且底層throughput也會計算到傳送失敗丟失的封包(封包可能會重複發送) 而在應用層只會收到底層 成功傳送的封包(每個封包只會算到一次 不重複) 通常傳送檔案看到的速率就是goodput 而throughput則是實際真正的流量 影像、一般資料傳輸 對throughput要求比較高 2. R reliability 可靠度 若R設為1 代表 需要高可靠度、完整 ex: data類型(網頁) 若R設為0 代表 不需要很高的可靠性 ex: video voice 丟失一點點沒關係 3. C cost 成本 光纖 無線網路 同軸電纜 材質特性不同 可以標記要走快速通道或節省通道等 若C設為1 代表 以最小成本路徑傳輸 若C設為0 代表 以一般成本路徑傳輸 4. 最後一個位元 保留欄位 設為0 表示未做定義 ### DS Differentiated Service 差異式服務 講求差異 (DSCP 就是把資料分類 只要某一類比另外一類好 就好了) ### IS Integrated Service 整合式服務 講求絕對 精準型QoS(ex:要求1M傳輸通道 只有我可以透過這條專屬通道傳輸 但是成本高 太多人用會造成負荷量過高 所以只會在實驗中實作) ### ECN Explicit Congestion Notification 1. 當TCP封包送出後,若成功送達會傳回ACK 而網路過於壅塞時便會在傳回的封包中加入ECN的資訊代表網路壅塞 需要降低傳輸速率 2. Hacker可以偽裝成路由器 傳ECN給其他使用者騙它網路發生壅塞 降低網速 Hacker便可以利用網路資源 ### TL Total Length <pre> v IHL v TL-IHL __________________ | IP | payload | ------------------ ^ TL payload的長度為 TL-IHL </pre> #### 封包的分割與重組 IPv4 允許封包在傳輸過程切割 IPv6 只能在來源端切割 傳送前先尋找Path MTU(最大的傳輸單元) 1. ID 識別代碼 封包切割完後 ID會相同 (重組只在接收端進行) 2. Flags 旗標 DF (Don't Fragment) 不切割 0:可以切 (一般封包) 1:不可以切 (對完整性(安全性)有要求的封包) 若設為1 但封包太大 便會丟棄封包回傳ICMP MF (More Fragment) 1: 後面一個封包也是被切割的 0: 後面一個封包不是被切割的 3. FO (Fragment Offset) 分片位移 用來記錄重組回去的位置 位移量是以 8byte 為單位  ### PROT Protocol #### 識別項 <pre> 1 : ICMP 6 : TCP 17 : UDP </pre>  #### 安全補丁 (在IP層做的) 50 ESP 內容加密 完整性 51 AH 驗證身分 HC Header Checksum 傳輸過中 檢查 header 有沒有發生錯誤 SA 來源IP 32bits DA 目的IP 32bits ### OPT option 長度不定 1. Source Route 來源端路徑 `$ route print` 查看路由表  目的IP和遮罩做ADD運算後等於路由表上網路目的地的 取遮罩1最多的作為轉發的選擇 並且從 該介面送出 若遮罩數相同 挑計量小的送 在封包傳送過程中 明確指出 要經過哪些站(測試 除錯) 2. Route Record 路徑紀錄 記錄封包經過哪些路由器 3. Time Stamp 時間標記 經過某路由器的時間點 可以推算經過兩個路由器的時間差(檢查壅塞) 4. Security Label 安全標誌 ### PAD padding 填充 IP header 一定要是4的倍數 若不足就在PAD補0 #### Strict Source Routing 嚴格源路行徑 明確指定哪一站要經過哪些節點 #### Loose Source Routing鬆散源路行徑 會經過指定的節點但中間可插入其他中間節點 ### **IPv6 vs IPv4** <pre> 位置長度: 128bit 32bit 安全性 : 安全性設計在協定中 只有安全補丁 效能 : (封包大小固定40byte) 大小不固定 需要計算大小->引響效能 IP 設定: 基本上使用自動 可以自動也可以手動 </pre> IPv6適合應用在 物聯網IoT Internet of Things ### IPv6的傳播方式 1.單播 Unicast 2.群播 Multicast 3.任播 Anycast (路由器在使用的)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up