---
# System prepended metadata

title: 計算機網路 期末範圍

---

# 計算機網路 期末範圍

## Chapter4 Network Layer : Data plane
Router L3: 可執行pdn layer

* sender :封裝segments(一段一段的) into datagrams，然後轉給link layer
receiver :收到datagram 之後往上層送
中間的router:檢查header裡面的ip 然後給牠一個合適的去處

* **Forwarding** : input後幫她決定適合的output → 出口選對(Data plane
* **Routing** : 用 routing演算法找你整條路徑(control plane

每個router都有自己的 routing table--由Routing Algorithm算出來把整個網路串起來 :pre-router control plane
根據routing table執行:data plane
找個傭兵來幫你算routing table:SDN control plane軟體定義網路

### Network service model
定義傳輸的特性
1. guaranteed delivery(傳送保證): 保證封包一定會抵達目的地
2. guaranteed delivery with bounded delay(有限延遲的傳送保證): 不僅保證封包一定會成功抵達，而且保證會在某個主機到主機的延遲時間上限內送達

此外，網路層也可能提供下列服務給來源端與目的端之間的封包流
1. in-order packet delivery(依順序的封包傳送)
2. guaranteed minimal bandwidth(最低頻寬保證): 只要傳送端主機傳輸位元的速率小於規定的位元傳輸速率，就不會有封包遺失，而且每一個封包都會在預先指定的主機到主機延遲時間內抵達
3. guaranteed maximum jitter(最大時基誤差保證): 保證傳送端連續傳輸兩個封包的時間間隔，會等於他們抵達目的端的時間間隔(或保證此一建格的變化小於某個特定值)
4. 安全性服務: 利用只有來源端主機與目的端主機知道的秘密會談key值，來源端主機的網路層可以將所有要送到目的主機的資料封包內容加密。
=> 可以提供機密性給所有來源主機與目的主機之間傳送的傳輸層區段

Quality of service?
>Bandwith?
Loss?
Order?
Timing?
![](https://i.imgur.com/5UfZ2ve.png)

circuit switching隨著使用的人越來越多 改用vitual circuit
比較多還是用packet switching 但不能提供QoS

#### ATM asynchronous transfer mode
![](https://i.imgur.com/GqcYqrD.png)
每個segment固定5+48 bytes
5: VCI VPI
把線路像vlan一樣切
在表頭

#### IntServ vs DiffServ
Int:每個服務給固定頻寬
Diff:根據當下需求動態調整給不同服務的頻寬

#### Input port function
![](https://i.imgur.com/p0Echbj.png)



ex:
R1的routing table:
![](https://i.imgur.com/L0SMMlN.png)

目的IP:180.70.65.140到R1
與Routing table第一個遮罩/26做AND運算 -> 180.70.65.128 :不是m2
遮罩/26表示方法 從左邊算來有幾個1:1111111111111111111111111100000...

### 交換結構switching fabrics
![](https://i.imgur.com/lrxLu30.png)
第一代 速度受 memory bandwidth 限制 存到記憶體裡然後再forward

* input port queuing

![](https://i.imgur.com/7iyHN3s.png)
![](https://i.imgur.com/3BW7i5g.png)

ECN:我很忙別再丟進來了

output port queuing
![](https://i.imgur.com/lLZ6ziA.png)


* Round Robin(RR)
進入buffer(queue)時會先分類
任何header裡的資訊都可以成為分類的依據
會輪流的傳送每一個分類的封包
![](https://i.imgur.com/aCZoltt.png)

* Weighted Fair Queueing(WFQ)
進入buffer(queue)時會先分類
任何header裡的資訊都可以成為分類的依據
原理跟round robin很像，一樣都會輪流傳送每一個class的封包
但差別在於每個class都有自己的權重
會根據每個class的權重大小來決定這個class被輪到後一次可以傳送多少的封包，而不是像RR一樣，每次輪到每個分類都是傳一樣的份量
![](https://i.imgur.com/hYTINhK.png)

### IP 封包表頭格式介紹
https://joy0626.pixnet.net/blog/post/2109687
![](https://i.imgur.com/ymSZM6x.png)

Internet Header Length:告訴她表頭長度到哪 data從哪開始
type of service diffserv:0-5 ECN:6、7

表頭是固定的 but options+padding不一定 但整個要讓32整除 padding用來填充

* how much overhead?
20bytes of TCP'
20bytes of ip
=40 bytes +

### IP addressing : 子網路遮罩等設定
網路位置32位元 剩下就是主機位置
/24=從左至右有24個1

路由器不會把封包送到點上 他只知道要送去哪個網段 送到點是switch做的事

#### classful IP address 
![](https://i.imgur.com/M1RyPXf.png)
網路位置|主機位置
網路位置不夠:拿主機位置來補
Network-prefix|Host-number 變成
Network-prefix|subnet-number|Host-number
--------這之前都是網路位置----

#### CIDR
![](https://i.imgur.com/YbFSqp0.png)

* ex:130.34.12.64/26 切 4 subnets
ans:/26 -> /28
(從ip第24個字開始)
1.0100 0000 - 0100 1111
2.0101 0000 - 0101 1111
3.0110 0000 - 0110 1111
4.0111 0000 - 0111 1111

* ex 211.32.45.0 切 6 =>/27 :24+3
新Mask= 舊Mask+log2 總ip數/網段要的ip數

* ex : 167.199.170.83/27 network address?
82= ==010==1 0010
=>0100 0000 or 64
=>the network address is 167.199.170.64/27
* ex : what is the subnetwork address if the destination address is 200.45.34.56 and the subnet mask is 255.255.240.0?
=>and運算
34.56
00100010 00111000
240 . 0
11110000 00000000
and=>00100000 00000000:32.0
=>200.45.32.0

* ex : 190.100.0.0/16
分給group1 64customers eachneed 256address
group2 128 128
group3 128 64
1.64\*256=16384 address =>套公式
2.128\*128=16384 address =>n=16+log~2~(65536/16384)=16+log~2~4=18


### DHCP dynamic host configration protocal
應用層協定 用UDP傳
給孤兒們身分證↓
ip address
Mask address
DNS address
Gateway address

DHCP會在子網路裡面 每個子網路都有

少數會用兩個port的協定
![](https://i.imgur.com/QWceaWV.png)
![](https://i.imgur.com/yaj9WTf.png)

### NAT
大家都用同一個IPv4位置
![](https://i.imgur.com/4UwU0Ye.png)
router幫你去外面聯網 以port當代號
我去幫忙買晚餐 再根據訂單 分給同學們



#### ipv6優點
v4太短
speed up: 表頭固定40byte
易於flow cont=>QoS

不用學子網路規劃,router算給你 主機位置用MAC產生
auto conf: (dynamic) stateful addr-DHCPv6 , stateless addr:router算給你

![](https://i.imgur.com/Q7nvjD3.png)
next header 功能擴充
![](https://i.imgur.com/fR0HGDO.png)

#### v4 v6混編

#### IPv6定址
anycast 找最近的 

##### IPv6 Global Unicast address
![](https://i.imgur.com/HJIqVD5.png)
2001開頭 IPv6的公有ip:Global Unicast address
FC00是 IPv6的私有位置
##### Link local 
169.254(FE80)開頭 不上網 內網ip
鄰居發現 自動定址等功能
一個IPv6會有兩個IP位置:Global Unicast address、Link local address
沒有DHCP的時候用的
##### Unique local address
FC00開頭
私有
#### Default route address
::/0

#### 和ipv4結合定址

#### interface ID configure
EUI-64 prefix設定好後
ID由MAC拆一半再組來生

支援自動組態

### 管理方式:軟體定義OpenFlow controller
SDN 集中管理 flow table 
router只負責往外丟
軟體定義網路 controller寫好flow Table:給各個router 

![](https://i.imgur.com/GDxD7Q1.png)
![](https://i.imgur.com/pbVqWJn.png)
不用再經過and運算

利用軟體實現Router Firewall Switch NAT
軟體化 虛擬化 掛了重裝 備份 復原 都很方便

負載平衡 同一個IP同一個domain name 但實際上有很多機器一起負擔

#### middlebox
中間盒的示例包括防火牆，網絡地址轉換器，負載平衡器和深度數據包檢查盒。

### IP分段
![](https://i.imgur.com/qhfI3BN.png)
路由器切封包
16-bit identifier封包的名字 flag:識別你有沒有被切 frg offset:切多大包
![](https://i.imgur.com/OBduRGk.png)
拆一份多一個header
offset field 代表此一分段在整個datagram的相對位置，以8為單位

## U5
看投影片

global

decentralized


Dijkstra's algorithm 
Bellman


























