2012年11月6日 星期二

網概作業說明



寫在前面的廢話

其實網路概論教的東西都是很生活化的,
或許現在的電腦&資訊產品已經太方便了,讓人很容易忽略背後的簡單原理。
所以沒事不妨多想想自己用的東西背後是怎樣運作的。

HW1

P1-4
原始資訊100Bytes,五層每層加10Bytes,總資料量(100+5*10)Bytes
效率 100Bytes/150Bytes = 66.67%

Q1-10
a. message
b. datagram
c. frame

Q1-11
b. a datagram
frame是第二層,第二層裡面包的當然是第三層的資料單位

Q1-12
b. a segment
datagram是第三層,可以從裡面解出來的就是上一層的segment

Q1-16
a. URL/URI or other
b. IP位址
c. MAC addr.

HW2

P1-5
advantage: 通訊時over-head少,網路穩定的情況下效能可以較高
disadvantage: 網路傳輸時,資料轉送、資料遺失等狀況下成本高

P1-6
a. network layer
b. data-link layer
c. application layer

P1-7
a. transport layer (UDP式傳輸層的)
b. data-link layer
c. physical layer

P1-10 (沒標準答案)
如果有需要新增一層,可以新增在TCP/IP的transport與application間

P1-13 (沒標準答案)
解法ㄧ. 加在transport與application間,使application layer擁有多種資料呈現方式
解法二. 加在application layer之上,將其視為一種進階資料表示方式

HW3

Q2-7
UDP,因為資料量小、且沒有保證傳遞的需求

Q2-14
中間會空一行,也就是連續兩個\n

Q2-18
可以用UDP,(TFTP就是走UDP)
但上層應有偵錯、重送判斷機制

P2-2
這題不只一種解法
其中一種是於登入時,server端發給client端一個僅限當次使用的session key
由client以cookie型式存放,即可以作為當次登入之辨認依據

P2-7
於HTTP header中使用"Connection: closed"屬性

P2-8
HTTP持續連線模式就是,於要求大量資料時可以減少因連線造成的資料交換傳輸量

HW4

1.
Base-64
用於電子郵件、XML等,每64byte唯一單位編碼
編碼字符圍數字、英文字母、符號等

Quote Printable
Percent encoding
無法以ASCII表示的字元使用' = '或是' % '開頭
後面以16進位數字格式表示其代碼

Puny code
主要用於中文(Unicode)網域名稱轉換
編碼字符為英數字母、符號等

2.

判斷的大原則:
local-part@domain-part
domain-part一定要是合法的主機domain-name或是IP-address
local-part部分可為一個或多個element,一個以上的element間以' . '分開
有分隔符號但是缺少element,也就是" .. "不允許
若有需要,element頭尾可以使用' " '框起來,有框起來的空element允許( 可允許 "" )
有些特殊符號要在框起來的區段內方可使用,有些必須使用拖曳字元
(符號請參考RFC或Wikipedia)

正確:
hermionegranger@s99.tku.edu.tw
hermione.granger@s99.tku.edu.tw
hogwarts.school.of.witchcraft.and.wizardry@mail.tku.edu.tw
albus.percival.wulfric.brian.dumbledore@mail.tku.edu.tw
albus.percival.wulfric.brian.dumbledore+hogwarts@mail.tku.edu.tw
hermione\ jean\"granger\\gryffindor@s99.tku.edu.tw
"Hogwarts.School of Witchcraft and Wizardry"@mail.tku.edu.tw
"gryffindor.@.Hogwarts.School.of.Witchcraft.and.Wizardry"@mail.tku.edu.tw
0@a
""@mail.tku.edu.tw
postbox@com
!#$%&’*+-/=?^_`{}|~@mail.tku.edu.tw
"()<>[]:,;@\\\"!#$%&'*+-/=?^_`{}| ~ ? ^_`{}|~.a"@mail.tku.edu.tw

錯誤:
hermione..granger@s99.tku.edu.tw
hermione@granger@gryffindor@s99.tku.edu.tw
hermione"jean"granger@s99.tku.edu.tw
hermione jean"granger\gryffindor@s99.tku.edu.tw
hermione.granger.s99.tku.edu.tw
hermione.@s99.tku.edu.tw
"gryffindor.(),:;<>[]\".hogwarts@\\ \"school\".witchcraft.and.wizardry"@mail.tku.edu.tw
a"b(c)d,e:f;gi[j\k]l@s99.tku.edu.tw

HW5

1.

Cookie
優點是可以存放較長時間,且可是用於移動後重新連線的場合,缺點是要寫程式處理。

IP address
可以直接使用HTTP server提供的環境變數存取得知,
但是如果有兩個使用者自同一個NAT後方連線,則無法辨認。

Socket
最為直接的方式,且擁有較高的傳輸效率,
缺點是一但HTTP斷線後就會失去辨識資料,因此只是用於短時間的session,
如果長時間持續連線,也會增加server負荷。

2.

請參考指定的參考資料作答,類似的概念在多點續傳、P2P傳輸中皆有應用,
也就是從server端記錄資料的格式下手,將長的資料分成多個區段,
並允許通訊協定對特定區塊進行存取。

沒有留言:

張貼留言