iT邦幫忙

0

企業資料通訊 Week3

Q:多個傳送者去分配同一條channel?

FDM(分頻) V.S TDM(分時)

https://ithelp.ithome.com.tw/upload/images/20211007/20135414GSjZDiD60h.png
可以看:
FDM與TDM有什麼區別?
1.FDM(Frequency-division multiplexing)
上圖的第一種(FDM)一個頻譜寬度切成八個頻道
就算沒有傳資料時也會占頻道

2.TDM(Time-division multipexing)
而第二種分時分頻(切time slot)
以時間分週期
同時允許多個使用者傳遞資料,不過愈多人同時用速度愈慢

3.優劣:FDM 永遠都可以用,通常是用在固定通訊、類比通訊
但如果有新的人要進來就需要coordination
FM就是FDM的一種,需要長期租;或是4G5G也是八年左右才搶一次

TDM 假如你是上圖藍色區塊部分的人只能用藍色部分
要跟別的顏色部分並再一起才能連續
而且時間還要教準,如果不準的話會互相衝突
好處是大家可以概念上的同時傳輸。

Package Switch 與 Circuit Switch哪個好?

可以看:
筆記一下學習網路五層#1.3
Package Switch 每個User 有 0.1機率想往外傳
(90% 機率 閒置 )

如果是Circuit Switch 則只能10人
就向前一張接線生那裏的思維

如果是Package Switch
有queue
這個系統小於10個人同時在用的機率是0.9996,
數學怎麼算:
正在傳的機率是0.01
(0.1)^0*(1-0.1)^35
+
(0.1)^0*(1-0.1)^35
+
...
+
(0.1)^10*(0.9)^25
加起來就是0.9996
也就是只有萬分之四的機率會多於10個人同時用
如果有第11個人同時就先排隊
於是35人都可以用

與只能10個人用的Circuit Switch,Package Switch感覺比較適合現在上網的狀況

不過Package Switch就十全十美嗎?
當然不是!

great for bursty data

如果突然爆多人同時使用
如果通道大可以快消耗排隊的隊伍
不需要coordinate
也不需要Circuit Switch的 call setup像是電話嘟嘟聲,

但是有排隊有delay 或是loss=>需要 reliable data transfer 重送
快滿時通知=>congestion control

  • 現在打電話是VOIP (Voice over IP)

=====

ISP網網相連

最爛的方式:
https://ithelp.ithome.com.tw/upload/images/20211007/20135414cYIpbWHGFY.png
一直互相拉線

好的方法:有中央ISP,如此每個人出一根線連到中央global ISP就好
不過拉線還是有麻煩
https://ithelp.ithome.com.tw/upload/images/20211007/20135414I5rEkiSU1k.png

https://ithelp.ithome.com.tw/upload/images/20211007/20135414mXh4TMRzu5.png
=>每個小區一個小中央ISP


區域性整合 IXP Internet

https://ithelp.ithome.com.tw/upload/images/20211007/20135414N3RydZrcYK.png

===content provider network
EX:Google
有全球性的機房,台灣人不需要連到美國才能用FB;Akamai 已經在全世界建立機房
題外話:
前幾天FB IG不能用就是設定錯誤

目標是讓服務更接近end User

============實際ISP配置1-39圖

網網相連ISP loss 計算
arrival rate>output rate=>排隊

為甚麼發生Delay? | 四種不同delay

因素分成:
1.判斷與計算上的delay
2.排隊等待的delay
3.每次推資料出去需要的時間
4.傳輸路程上需要的時間

https://ithelp.ithome.com.tw/upload/images/20211007/20135414Q1xgPrNC7b.png

1.proc
1)因為要檢查錯誤=>演算法
2)要決定路線=>演算法
**一般小於1/1000秒
2.queue
就是排隊delay,有很多因素影響要排多久

  • *第三與第四常搞混
    https://ithelp.ithome.com.tw/upload/images/20211007/20135414gPzYrBtMGz.png
    3.trnas
    物理性質,看網卡
    如圖,要傳的有 L bit
    大概是一秒鐘能推多少訊號,
    一秒推100bps則是 R

4.prop
地球月球發射站
跨越地球月球的距離
d是距離
s是跑的時間
如果愈遠就更久
跟傳輸的介質有關

=================第二節

進來速度與出去速度

###real delay
https://ithelp.ithome.com.tw/upload/images/20211007/20135414DY0wd5NTnH.png

公式:https://ithelp.ithome.com.tw/upload/images/20211007/20135414cnlv0lIiPM.png

用自己電腦試試看
cmd 指令 tracceroute
https://ithelp.ithome.com.tw/upload/images/20211007/20135414FVvCW8vSdp.png
結果如圖:
可以知道中間有幾站
隨便打一個終點位址,起點是我的電腦
跑出來的內容
就是每一站
而每一行後面有三個數字(每一站有三個探測封包丟出去測量時間) 一般來說是遞增
並不是只丟一個封包跑完
而是三個第一站然後回來
**如果跨過台灣島就會大於百

Packet loss

排隊隊伍滿了會丟掉
丟掉要丟哪一個?第一個還是最後一個?
如果有即時性的需求。不過一號的人已經等很久了,舊了,已經失去即時的價值
這些都是數學

Troughput 以接收方的角度來言,感受到實質收到的Rate

因為sending rate 不見得等於收到的Rate
因為在 Queue 傳送中可能卡瓶頸(bottleneck)
1-51

簡單介紹 Protocal layers

我們在寫程式不需要知道liberary 放哪裡

把每一層定義出來,層與層之間有連線,各有各的API,每一層都有定義的事情做,根本不用管下一層
**以寄件為例:

信紙上有資訊,可能是中文英文或是密碼,郵差不用知道,我們只要把信包在信封,
信封有固定寫法(這是與郵差的協定)

之後裝在郵袋由司機送,司機只知道要送在哪個地區的郵局
,如果是跨國,會送到機場郵局,裝箱(EX:這箱就是去美國XX機場),之後開飛機

到了目的地這些信就與機長沒關係了。
接著就一直拆(拆箱、拆袋),辨識是哪個州,是哪個局,到最後拆到只剩下信封,郵差看你的地址送到朋友家,
朋友撥開信封就能看你的內容。

ISO/OSI Model由上往下看

https://ithelp.ithome.com.tw/upload/images/20211007/201354146h62gog1sB.png

自己寫的程式在第七層
例如遊戲玩家武器是message
application 本身會解讀這些信息
瀏覽器,自己寫的app

往下是 transport + network 層
是作業系統相關:

第四層 transport layer:
寫的程式會在作業系統形成porcess
要註冊一個號碼
作業系統做安排
EX:TCP UDP

第三層主要是routing:
找路徑routing end-to-end
IP, routing portocol
如何到對方host

更下面(L1,L2)會比較韌體部分:

HardWare :

L2:data link layer(很多人同時要傳,處理誰先傳的安排)
L1:physical layer(銅導線,如何表示1 or 0,在無線電波頻譜)


後來發現七層太多,省略成五層

https://ithelp.ithome.com.tw/upload/images/20211007/201354148kjl46AXsG.png

而不見的那兩層?

L5(session) & L6(presentation)
它們用來壓縮與加密
& message的呈現
可能是中文,編碼方式
但是不是所有人都有壓縮加密問題,讓application搞定就好,覺得有點多餘=>L6省

L5 session

synchronization,
checkpointing, recovery of data
exchange

EX:嘟嘟聲 call set up
只是為了等等傳資料的事前準備
但是後來傳資料方是變了就不需要了,不過還是可能用到=>L5省 ,給application 用好

最後都給應用層做了
看第七層要做不做

封裝 (Encapsulation)

資料or封包在傳遞到下一層以前,
新增此層的表頭 (header) 或其他元資料的動作,稱為 封裝。
如此底層不需要知道上層的細節。
https://ithelp.ithome.com.tw/upload/images/20211107/20135414scqwZBIxXo.png

call 特定 API 讓下面給辦好
https://ithelp.ithome.com.tw/upload/images/20211007/20135414vgzM8F7s87.png
表面上看起來像是同層直接負責的人,實際上是由上而下,再由下而上
下面是資料在各層的封裝:
https://ithelp.ithome.com.tw/upload/images/20211007/20135414nZgMQD2sal.png
L7 Message
L4 Segment
L3 Datagram
L2&L1 Frame

表面上是同層互傳,實際上是封裝後傳下一層

圖片上的 'H' 是標頭的意思,每一層加疊的H會放在最前面

Ht是塞process 相關的information
Hn 是routing 相關的 information
Hl 是網卡相關

是在銅線上收到訊息(完整的L bit frame)
然後解開,往上層傳

**先不講 Link-layer switch
https://ithelp.ithome.com.tw/upload/images/20211007/201354143dZgSxU7CN.png
看看這張圖,才裝到第三層又拆回去了
Q:為甚麼要重新解開又要包一次傳出去呢?
A:同質性問題,可能之後是用光纖或是電磁波船(傳輸媒介換了)
而且因為換手的關係,hadding 內容會變

註:到了Router 是 Layer3 device 知道Layer 3以下的訊息,但不知道上層 EX:看的懂 Hn Hl 但是不懂 Ht
的informatoin

到了終點就是一層層解開,跟上面寄信的例子一樣

參見:
NotFalse 技術客|協定資料單元 — 區段 (Segment)、資料包 (Datagram)、訊框 (Frame)


尚未有邦友留言

立即登入留言