---
# System prepended metadata

title: 資訊網路專題期末考內容，OSI七層
tags: [OSI (Open System Interconnection Model)]

---

---
tags: OSI (Open System Interconnection Model)
---
# 資訊網路專題期末考內容，OSI七層

## 第7層，應用層
此處最小單位為data
專為應用軟體所設的層，以決定應用軟體所使用的通訊協定，例：HTTPS、FTP、SMTP等
### port的概念
一台PC，使用者同時開啟多個使用網路服務的應用程式(例：同時開啟LOL遊戲以及SPOTIFY服務)，電腦是怎麼知道哪個封包是哪個應用程式的？
每個需要網路服務的程式，在開啟的時候會佔住一個"port"，每個port只能單獨給一個應用程式使用，封包內會寫到來源以及目的地所使用的port number，即可避免上述問題。
※port number數字較小的大多都是server的port，像是http用80 port，ssh用22 port。
### HTTP的POST和GET概念
GET的作法是將資料夾在網址中送出，像是拍賣網站的頁碼數或是google search送出關鍵字的方法，此方法除了有安全問題以外，夾帶資料長度也有限
POST則與GET作法不同，其會放在封包內的某處
※PUT
### DNS(Domain Name System) Server
做為一般使用者，輸入網址之後，電腦須將其轉換成IP位置才能繼續。於是user會將網址傳給DNS Server，拿到該Domain Name所對應的IP位置後繼續下面的動作
#### DNS Server運作模式：recursive and iterative
recursive: DNS Server若是沒有此Domain Name的資料，Server會自行詢問其他DNS Server並且會找到IP位置候傳回去給使用者
iterative: DNS Server若是沒有此Domain Name的資料，Server會回給User可能知道此Domain Name的DNS Server

## 第6層，表達層

## 第5層，會議層

## 第4層，傳輸層
此處最小單位為segment
主要工作：
* segmenting切割：為了使程式能夠一起使用網路資源，故須將資料分開傳遞
* identifying確認：確認資料傳輸正確
* tracking追蹤：追蹤溝通
* reassembling重組：切割並將資料傳輸給使用者後，使用者仍需要將其重組
加表頭的地方，例如TCP協定常用的SYN、ACK、FIN以及Window Size等
### TCP協定
TCP為較可靠的傳輸協定，因為它有封包編號等機制，以維持其可靠性
#### 三方交握
* user→→→→→SYN,SEQ=0→→→→→server
* user←←←SYN+ACK，SEQ=0←←←server
* user→→→→→ACK，SEQ=1→→→→server
* user←←←←←ACK，SEQ=1←←←←server
* user→→→→→ACK，SEQ=2→→→→server
* user←←←←←ACK，SEQ=2←←←←server
.
.
.
#### TCP常見表頭
* SYN：為1表示這是連接請求或是連接接受請求，用於建立連接和使順序號同步
* ACK：為1表示確認號欄位有效
* SEQ：序號，client會與server說自己需要編號幾的封包，server收到要求後則會將該編號封包傳出
* RST：為1表示出現嚴重差錯。可能需要重新建立TCP連接。還可以用於拒絕非法的header和拒絕連接請求
* FIN：為1表示傳送方沒有資料要傳輸了，要求釋放連接
* Window Size：用於限定此連線流量的大小
#### TCP可靠性優於UDP的原因
因為多了以下東西
sequence number：封包序號
acknowledge number：用於回覆哪些編號的封包已收到，尚未收到哪些封包等
header：包含SYN、ACK、FIN等
#### 那為什麼還要UDP
使用於需要速度但可靠性沒那麼重要的時候，像是網路電話等

## 第三層，網路層
此處最小單位為packet
主要工作：
* addressing
* routing路由：將封包送給下一個router
### IP address、Net Mask and Default Gateway
#### IP Address
作用有兩個
一為標示主機(addressing)，提供主機在網路中的位置
二為網路尋址(routing)，在整個路由網路間運作的機制中佔很重要角色
#### Net Mask(子網路遮罩)
標示出網路位址與主機位置
假設IP為192.168.100.1，子網路為255.255.255.0
網路位置計算方式為192.168.100.1與255.255.255.0做==AND==運算，可得到192.168.100.0
主機位置計算方式為192.168.100.1與255.255.255.0做==NOT==運算，可得到0.0.0.1
#### Default Gateway(預設閘道)
本網路預設的路由器，當目的地不在這個子網路裡面(自己的網路位置與目的地的網路位置不同)，就要將封包交給預設閘道器，進入路由網路
### 路由協定
#### Distance and Vector v.s Link State
![](https://i.imgur.com/Q4iep0R.png)
#### 路由表收斂
即使路由器間繼續交換資料，也不影響路由表，即趨於穩定

## 第二層，資料連結層
此處最小單位為frame
主要工作：
* framing：根據傳輸的方式(乙太網路、wifi或衛星等等)給予不同表頭包裝
* MAC(Media Access Control)：取得網路使用權以及管理
### ARP(Address Resolution Protocol)
封包要傳給下一個接收者，不論是預設閘道器、路由器或是到接收者，都需要知道其MAC位置。
每台電腦都有一個ARP Table，紀錄著IP位置與對應的MAC位置。
但若是IP有更動，或是其他原因，導致ARP Table沒有接收者IP的MAC位置，就要使用廣播，詢問接收者的MAC位置。
※由於是使用廣播知道接收者IP，除非client端和server端在同個子網路，不然client是不知道server端的MAC位置，至少不是透過ARP協定知道。(此處可能有誤不確定)
### CSMA/CA以及CSMA/CD
CSMA/CD是傳統乙太網路的MAC機制，含一個環境，兩個運作方式：
CS(Carrier Sense)：偵測有無訊號
MA(Mutiple Access)：多人要求在單一通道內存取
CD(Collision Detection)：碰撞偵測
－－－－－
CSMA/CA是wifi的MAC機制，CSMA與上述相同
CA(Collision Avoidence)：碰撞預防

## 第一層，實體層
此處最小單位為bit
主要工作：
* encoding
* signal
### 4B/5B

### Unshielded Twisted Pairs(UTP)
因為有參考基準(其中一條絞線)，使得其較不怕受到干擾

## source
https://docs.google.com/spreadsheets/d/1mu3M6CqnQsWTfRQTBYy0o8VvFrgGyLr7aNRfKTfOacw/edit?usp=drivesdk
https://www.evernote.com/shard/s285/sh/b2ee51a1-ca31-4ee3-b69f-02a3cccabdd7/79b65c2fd09fcc3c8322810f6563307b
https://zh.wikipedia.org/wiki/OSI%E6%A8%A1%E5%9E%8B
https://medium.com/%E5%B0%8F%E5%B0%8F%E8%AA%AA%E6%9B%B8%E4%BA%BA/%E7%B6%B2%E9%A0%81get-%E8%88%87-post-%E5%B7%AE%E7%95%B0-%E7%A7%91%E6%99%AE%E5%A3%B9%E9%BB%9E%E9%80%9A-94cbaa666fdb
https://zh.wikipedia.org/wiki/IP%E5%9C%B0%E5%9D%80
https://zh.wikipedia.org/wiki/%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6%E5%8D%8F%E8%AE%AE
https://zh.wikipedia.org/wiki/%E7%94%A8%E6%88%B7%E6%95%B0%E6%8D%AE%E6%8A%A5%E5%8D%8F%E8%AE%AE
https://zh.wikipedia.org/wiki/%E5%9C%B0%E5%9D%80%E8%A7%A3%E6%9E%90%E5%8D%8F%E8%AE%AE