活動二、網路通訊協定
【活動二、網路通訊協定】
電腦通過訊息在網路網路上傳遞來彼此溝通。然而,網際網路有時卻不是很可靠,可能會遭遇到延遲甚至是遺失訊息的機會。因此,我們可以透過在這些要被傳遞的訊息中做點什麼處置,來確保訊息可能成功地被發送與接收。這些處置就被叫做「協定」。
網路通訊協定遊戲
電腦通過訊息在網路網路上傳遞來彼此溝通。然而,網際網路有時卻不是很可靠,可能會遭遇到延遲甚至是遺失訊息的機會。因此,我們可以透過在這些要被傳遞的訊息中做點什麼處置,來確保訊息可能成功地被發送與接收。這些處置就被叫做「協定」。
網路通訊協定遊戲
http://163.22.72.1/html5/html5_network_protocols/network_protocols.html
【基本玩法】
1. 兩人一組,一人為發送者,一人為接收者。
2. 發送者會拿到一張隨機的訊息,上面寫有數個字元的英文字母(並非有意義的單字或句子)。
3. 第一回合,發送者指定程式中的網路環境為「可靠網路」
(1) 按照手上的訊息,決定總共需要幾張訊息卡片(每張訊息卡片至多只能輸入5個字元)。
(2) 編輯訊息卡的內容。
(3) 開始發送程序。
4. 訊息卡的傳送過程中,會通過稱為「網路機會」的路由,將決定這張訊息卡會被「順利傳送」、「被迫等待」或是「被丟棄」。
5. 發送者傳送完所有訊息卡後,請接收者過來抄寫最後程式接收到的訊息,並試圖拼湊出正確的結果。
6. 發送與接收者交換,進行第二回合與第三回合。重新拿取隨機的訊息,分別指定網路環境為「延遲網路」與「不可靠網路」,分別再進行一次遊戲。
【進階玩法】
1. 指定程式上方「ACK signal」狀態為「ON」,再按基本玩法的流程進行遊戲。
【基本玩法】
1. 兩人一組,一人為發送者,一人為接收者。
2. 發送者會拿到一張隨機的訊息,上面寫有數個字元的英文字母(並非有意義的單字或句子)。
3. 第一回合,發送者指定程式中的網路環境為「可靠網路」
(1) 按照手上的訊息,決定總共需要幾張訊息卡片(每張訊息卡片至多只能輸入5個字元)。
(2) 編輯訊息卡的內容。
(3) 開始發送程序。
4. 訊息卡的傳送過程中,會通過稱為「網路機會」的路由,將決定這張訊息卡會被「順利傳送」、「被迫等待」或是「被丟棄」。
5. 發送者傳送完所有訊息卡後,請接收者過來抄寫最後程式接收到的訊息,並試圖拼湊出正確的結果。
6. 發送與接收者交換,進行第二回合與第三回合。重新拿取隨機的訊息,分別指定網路環境為「延遲網路」與「不可靠網路」,分別再進行一次遊戲。
【進階玩法】
1. 指定程式上方「ACK signal」狀態為「ON」,再按基本玩法的流程進行遊戲。
2. ACK signal的用途:接收端在接收到訊息卡片後,會回傳一張稱為ACK的確認卡片回去,發送端在接到ACK後,才能再發送下一張訊息卡。
3. 訊息卡若在傳送時進入等待區或被丟棄,因為沒有收到ACK確認,在計時一段時間後必須重新傳送一次這張訊息卡。
4. ACK的傳送過程中,一樣會通過網路機會路由,若抽到「被迫等待」或是「被丟棄」,則必須重新傳送一次ACK。
5. 同樣在三種不同狀態的網路環境中進行遊戲。
6. 討論ACK功能存在的意義,與該如何修正能讓過程更為順利。
4. ACK的傳送過程中,一樣會通過網路機會路由,若抽到「被迫等待」或是「被丟棄」,則必須重新傳送一次ACK。
5. 同樣在三種不同狀態的網路環境中進行遊戲。
6. 討論ACK功能存在的意義,與該如何修正能讓過程更為順利。
在網路上資料是被分割成許多封包來傳送。但是這些封包傳輸時經過的管道不一定一直都是穩定的。個別的封包有時會受損、遺失或不照順序送達。
在「網路通訊協定遊戲」中,每張訊息卡片就被視為一個封包,而在訊息卡片中被輸入的文字就是資料。在遊戲過程中,由於網路狀況的不同,封包也許會不按順序抵達接收端。因此,我們會嘗試在每個封包中加入被稱為「標頭資訊」的內容,讓接收者能藉由安排正確的封包順序,來還原原本的訊息內容。但是,因為每個封包(訊息卡)的大小是有限制的,標頭資訊的多寡會影響每張訊息卡能被放入的資料量,所以發送者必須衡量標頭資訊與內容資訊的平衡點。
我們會發現,在開始傳送前,發送者跟接收者若能事先溝通出一個交換資料的方法,包括標頭資訊的編碼方式,與遇到突發狀況時的處理方法,這樣就能讓訊息傳遞的過程更為順利。真正的網際網路通訊協定有很多種,像是TCP、UDP等,協定本身的設計就會考慮平衡種種的因素,來建立一個可信賴且有效率的資料傳輸協定。
在「網路通訊協定遊戲」中,每張訊息卡片就被視為一個封包,而在訊息卡片中被輸入的文字就是資料。在遊戲過程中,由於網路狀況的不同,封包也許會不按順序抵達接收端。因此,我們會嘗試在每個封包中加入被稱為「標頭資訊」的內容,讓接收者能藉由安排正確的封包順序,來還原原本的訊息內容。但是,因為每個封包(訊息卡)的大小是有限制的,標頭資訊的多寡會影響每張訊息卡能被放入的資料量,所以發送者必須衡量標頭資訊與內容資訊的平衡點。
我們會發現,在開始傳送前,發送者跟接收者若能事先溝通出一個交換資料的方法,包括標頭資訊的編碼方式,與遇到突發狀況時的處理方法,這樣就能讓訊息傳遞的過程更為順利。真正的網際網路通訊協定有很多種,像是TCP、UDP等,協定本身的設計就會考慮平衡種種的因素,來建立一個可信賴且有效率的資料傳輸協定。
-----------------------
亂數字串產生器
最後修改: 2017年 04月 7日(Fri) 11:01