當前位置:首頁 » 網路連接 » 計算機網路謝希仁解答題
擴展閱讀
網路安全法監控主任責任 2025-07-05 16:29:00
世界上首個計算機網路 2025-07-05 14:15:44
電腦一扯就黑屏怎麼辦 2025-07-05 12:42:54

計算機網路謝希仁解答題

發布時間: 2022-04-22 10:04:05

計算機網路第五版(謝希仁編著)的概論部分的習題解答

我的解答如下:

所需要的分組總數為x/p,則總的數據加上控制信息為(p+h)x/p (bit)。
源端發送這些數據需用時:(p+h)x/(pb)。
中間的路由器重傳最後一個分組所花的總時間:(k-1)(p+h)/b。
則總延遲為:(p+h)x/(pb)+ (k-1)(p+h)/b。
求該函數對p的導數,可得:-hx/(b*p^2)+(k-1)/b。
令導數為0,得:p=(hx/(k-1))^(1/2)。
則當p=(hx/(k-1))^(1/2)時能使總時延最小。

解答應該沒錯的,你可以檢查下。

㈡ 求解一道計算機網路試題

這個題目是計算機網路(第5版)謝希仁 編著 裡面的課後問答題。

主要是考【傳播時延】和【時延帶寬積】這兩個知識點。

傳播時延是電磁波在信道中傳播一定的距離需要花費的時間。

傳播時延的計算機公式是:
傳播時延=信道長度(m)/電磁波在信道上的傳播速率(m/s)

時延帶寬積=傳播時延*帶寬(就是我們要求的正在傳播的比特數)
發送的第一個比特數即將達到終點時,發送端就已經發送了多少比特(正在發送的比特數)

長度0.1m 傳播時延4.35*10^-10s
數據率=1Mb/s 正在傳輸的比特數 4.35*10^-4
數據率=10Gb/s 正在傳輸的比特數 4.35
長度100m 傳播時延4.35*10^-7s
數據率=1Mb/s 正在傳輸的比特數 0.435
數據率=10Gb/s 正在傳輸的比特數 4.35*10^3
長度100km 傳播時延4.35*10^-4s
數據率=1Mb/s 正在傳輸的比特數 4.35*10^2
數據率=10Gb/s 正在傳輸的比特數 4.35*10^6
長度5000km傳播時延0.0217s
數據率=1Mb/s 正在傳輸的比特數 2.17*10^4
數據率=10Gb/s 正在傳輸的比特數 2.17*10^8

㈢ 求解CSMA/CD的一道題!計算機網路第五版(謝希仁) 第3章25題!!高手救我啊!!!

在書的第83頁有圖3-18。在此題中匯流排被佔用時間為Tau+Tj(48)+Tau

㈣ 那位給發一下計算機網路(謝希仁,第四版)第六章,28題:簡述RIP,OSPF,和BGP路由選擇協議的特點

1、RIP現在基本不用,就算是小型網路,也可執行OSPF,如果網路太小,比如幾台路由器,可用靜態路由;

2、OSPF適合中大型網路,一般路由器在1000台以下的都行,只要規劃合理;

3、BGP自治系統外部路由,目前唯一使用的EGP路由。

RIP協議工作在網路層,ospf也會也是工作在網路層,但是BGP就不是,工作在傳輸層,利用TCP的179埠,因為BGP主要用在運營商,概念和RIP,ospf完全不同,是距離矢量但又有鏈路狀態的特性的混合協議。因為他是AS by AS的傳遞路由信息。比其他協議更穩定,而且安全的以後總協議。

(4)計算機網路謝希仁解答題擴展閱讀:

RIP很早就被用在Internet上,主要傳遞路由信息,通過每隔30秒廣播一次路由表,維護相鄰路由器的位置關系,同時根據收到的路由表信息計算自己的路由表信息。

最大跳數為15跳,超過15跳的網路則認為目標網路不可達。此協議通常用在網路架構較為簡單的小型網路環境。分為RIPv1和RIPv2兩個版本,後者支持VLSM技術以及一系列技術上的改進。RIP的收斂速度較慢。

路由協議主要運行於路由器上,路由協議是用來確定到達路徑的,它包括RIP,IGRP(Cisco私有協議),EIGRP(Cisco私有協議),OSPF,IS-IS,BGP。起到一個地圖導航,負責找路的作用。它工作在網路層。路由選擇協議主要是運行在路由器上的協議,主要用來進行路徑選擇。

㈤ 關於謝希仁著《計算機網路》(第四版)的兩個問題

1。連接簡單;在小規模的網路中不需要專用的網路設備;匯流排結構省線。星型結構比較穩定,任何一個線出問題了都不會影響其他埠;不使用共享匯流排,所以不會有匯流排擁塞問題;可擴展性好,可以通過級聯擴展網路。

2.
1)首先強調關於HDLC的定義問題:
約束通信雙方按一定規則進行通信的體系為數據鏈路控制規程(DLCP),也叫數據通信控制規程(DCCP)。自上世紀六十年代開始,世界上許多國家組織和大財團都在研究制定此類規程。從發布的規程體系看,共包括兩類——面向字元的控制規程和面向比特的控制規程。
面向字元的規程,典型代表有美國標准協會ANSI的X3.28,ISO的ISO1745、DEC公司的DDCMP、中國的GB3453-82、IBM公司的BSC。
後來,IBM公司在同步數據鏈路控制規程(SDLC)基礎上發展出面向比特的規程。再後來,ANSI和ISO兩組織以IBM的SDLC為基礎發展了兩個類似的規程,一個是ANSI的高級數據通信控制規程(ADCCP),另一個就是ISO的高級數據鏈路控制規程,即HDLC。
(2)一般情況下,HDLC規程幀格式中的8位地址碼段已經足夠(256個地址),若實在不夠,則該8位地址是可以擴展的(按8位擴展),並且可以許循環擴展下去,具體擴展方式是將地址的首8比特的第一位置0,表示下一個8比特是基本地址的擴展(沒有擴展時則表示是控制碼段)。
(3)地址的命名規則以實際系統構造方式為前提,是可以設計的。不同的系統,對規則的定義是不同的,應結合具體系統來理解。例如,基本地址方式下,256個地址是等同的,擴展後,前128位可以是主系統,後256位可以是子系統。也可以是128位與256位的組合形成新的獨立地址碼(但在解碼時需要設計具體進程)。還可以是其它解釋,一切看自己的系統規程設計。
(4)如第(2)點所說的地址擴展方式,一切以具體系統的具體規程為原則,不存在絕對的「網路層向鏈路層提供的是網路層地址」(此情況僅指你目前正在認識的系統),另一方面,在地址擴展方式下,很容易區分網路層地址和接入系統地址。
(5)MAC是和網路拓撲及具體互聯媒質相關的協議規程。但是,僅僅適合於區域網的規定結構方式(不能與網路拓撲重構概念混淆)。在許多網路中,其互聯媒質通常是按照一定的技術要求有所規定,因此不存在MAC問題,但在區域網中,由於結構形式、聯結媒質可以多樣化,因此相關規程中作了一些定義,試圖全方位適應各種情況的規程協議(也是目前流行規程),將MAC接入控製作為規程要點之一。當然,目前一些區域網技術規程有擴大化應用趨勢(包括MAC方面),但MAC的重點是根據具體媒質和具體拓撲結構來選擇不同的數據傳輸進程式控制制方式或規程,是比地址碼概念更外圍的規程,一旦選定具體MAC規程(可以是動態選擇),通信進程便按照設計的HDLC規程約定完成

3.交換機應該用在區域網負荷重的那個網路。

4.因為無線網可靠性比較差,丟包率高,在底層協議做完整性檢查比較劃算。乙太網物理介質可靠性高,在高層協議做完整性檢查更劃算。

㈥ 關於謝希仁計算機網路的一道IP地址分配的題,請大家幫忙解決,謝謝!

從字面上理解,你這個題目是一個考VLAN的題目。
主機位全1和主機位全0的地址是不能分配給主機的。如果你說lan3錯了,那你的lan1也錯了,6位主機位,有32個地址,但要去掉全1和全0的,就只剩30了,都沒有給網關的地址了。
你最好能把圖掛上來,干講不夠直觀。

㈦ 求解CSMA/CD的一道題!計算機網路第五版(謝希仁) 第3章25題!!

t=0時,A,B開始傳輸數據; t=225比特時間,A和B同時檢測到發生碰撞; t=225+48=273比特時間,完成了干擾信號的傳輸; 開始各自進行退避演算法: A: 因為rA=0,則A在干擾信號傳輸完之後立即開始偵聽 t=273+225(傳播時延)=498比特時間,A檢測到信道開始空閑 t=498+96(幀間最小間隔)=594比特時間,A開始重傳數據 -----第一問A的重傳時間 t=594+225 (傳播時延)=819比特時間,A重傳完畢 ----第二問A重傳的數據幀到達B的時間 B: 因為rB=1,則B在干擾信號傳輸完之後1倍的爭用期,即512比特時間才開始偵聽 t=273+512=785比特時間,B開始偵聽 若偵聽空閑,則 t=785+96(幀間最小間隔)=881比特時間,B開始重傳數據 若偵聽費空閑,則繼續退避演算法 又因為t=819比特時間的時候,A才重傳數據完畢,所以B在785比特時間偵聽的時候,肯定會偵聽信道非空閑,即B在預定的881比特時間之前偵聽到信道忙, 所以,第四問的答案:B在預定的881比特時間是停止發送數據的。 即第三問A重傳的數據不會和B重傳的數據再次發生碰撞。

㈧ 謝希仁《計算機網路》(第4版)第3-08題答案是什麼

演算法流程:

發送方:
1)從主機去一個數據幀,送交發送緩存.
2)V(S) 0{發送狀態變數初始化}
3)N(S) V(S){將發送狀態變數值寫入數據幀中的發送序號}
4)應答序號初始化
5)判斷發送緩沖區以滿,卻未收到應答幀.是則到(6),否則到(8)
6)出現差錯,喚醒超時計數器,將所有幀重新全部發送到緩存
7)若收到應答幀,則到(9);再次超時並未收到應答幀,則返回(6)
8)收到應答幀後,從上層獲取數據,並寫入發送緩沖區當前位置
9)組裝發送幀編碼
10)發送數據幀,並加發送序號加1
11)設置超時計數器
12)在所設置的超時時間收到確認幀,則轉到(8);若出現差錯,則轉到(13)
13)超時計數器往回走,將未收到的第n個幀及以後的所有幀全部進行重傳
14)若仍產生差錯則繼續(13),若受到確認幀則繼續傳數據幀,則轉到(15)
15)接受幀,取得接收方希望接受的幀編號,返回(1)

接收方:
1)V(R) 0{接受狀態變數初始化,其數值等於與接收的數據幀的發送序號}
2)等待
3)收到一個數據幀,若N(S)= V(R),則執行(4),否則,丟棄此數據幀
4)發送確認幀ACKn
5)檢查收到的幀是否按序,進行V(R)'=(V(R)+1)mod 8檢驗.若不按序則丟棄第n-1幀後的所有幀,重新發送ACKn
6)重新接收未收到的幀
7)將收到的數據幀中的數據部分送交上層軟體
8)更新接受狀態變數V(R) [V(R)+1]mod 8,轉到2)

演算法代碼:

#define MAX_SEQ 7 /* 應該為2^n-1 */
typedef enum {frame_arrival, cksum_error, timeout, network_layer_ready} event_type;
#include protocal.h
static boolean between(seq_nr a, seq_nr b, seq_nr c)
{ /* 如果b落在a和c之間(含a不含c)返回true,否則返回false. */
if (((a<=b) && (b<c)) || ((c<a) && (a<=b)) || ((b<c) && (c<a)))
return(true); else return(false); }

static void send_data(seq_nr frame_nr, seq_nr frame_expected, packet buffer[])
{/* 構造和發送數據幀
frame s; /* 起始變數 */
s.info=buffer[frame_nr]; /* 插入分組到幀中 */
s.seq=frame_nr; /* 插入序號到幀中 */
s.ack=(frame_expected+MAX_SEQ) % (MAX_SEQ+1) /* 捎帶應答 */
to_physical_layer(&s); /* 傳送該幀 */
start_timer(frame_nr); }
/* 啟動定時器 */
void protocal5(void)
{seq_nr next_frame_to_send; /* MAX_SEQ>1; 用於外出流 */
seq_nr ack_expected; /* 還沒有得到應答的最早的幀 */
seq_nr frame_expected; /* 進入流期望的下一幀 */
frame r; /* 初始變數 */
packet buffer[MAX_SEQ+1] /* 外出流的緩存 */
seq_nr nbuffered; /* 當前正在使用的輸出緩存 */
event_type event;
enable_network_layer(); /* 允許 network_layer_ready 事件 */
ack_expected = 0; /* 下一個期望進入的應答 */
next_frame_to_send = 0; /* 下一個要送出的幀 */
frame_expected = 0; /* 期望進入的幀的序號 */
nbuffered = 0; /* 初始沒有分組被緩存 */
while (true) {
wait_for_event ( &event); /* 四種可能的事件,見上面event_type定義 */
switch (event) {
case network_layer_ready; /* 網路層有一個分組要發送 */
/* 接收, 保存, 以及發送一個新的幀 */
from_network_layer(&buffer[next_frame-to_send]); /* 獲得一個新的分組 */
nbuffered = nbuffered + 1; /* 增加發送方的窗口 */
send_data(next_frame_to_send, frame_expected, buffer); /* 發送幀 */
inc(next_frame_to_send); /* 發送方的窗口上界向前移動 */
break;
case frame_arrival: /* 一個數據幀或控制幀到達 */
from_physical_layer(&r); /* 從物理層得到一個進入的幀 */
if (r.seq == frame_expected) {
/* 所有的幀只能按序接收. */
to_network_layer(&r.info); /* 傳遞分組到網路層 */
inc(frame_expected); /* 接收方的窗口下界向前移動 */ }
/* Ack n 意味著n-1,n-2,
while (between(ack_expected, r.ack, next_frame_to_send))
{ /* 處理捎帶應答 */
nbuffered = nbuffered + 1; /* 減少一個緩存的幀 */
stop_timer(ack_expected); /* 幀完好到達, 停止定時器 */
inc(ack_expected); /* 壓縮發送窗口 */
}
break;
case cksum_err: break; /* 丟棄壞幀 */
case time_out: /* 重傳所有超時的幀 */
next_frame_to_send = ack_expected; /* 開始重傳 */
for (i = 1; i <= nbuffered; i ++) {
send_data(next_frame_to_send, fram_expected, buffer); /* 重發1幀 */
inc(next_frame_to_send); /* 准備發送下一幀 */
if (nbuffered < MAX_SEQ)
enable_network_layer();
else
disable_network_layer();

注: 演算法中所有調用的未說明的過程和函數在protocal.h中定義。

㈨ 計算機網路的一道題,不懂,希望大神給解釋一下

C應該是發送數據率。
電路交換是先建立連接獨占鏈路直達通信,沒有轉發時延。
分組交換是存儲轉發機制,以分組為單位,經歷k段鏈路,自然是中間有k-1個交換機,要經歷k-1次存儲然後進行路由選擇轉發。x bit分分成 (x / b) + 1個分組,交換機是要接收完整個分組的所有bit後才會轉發,所以只考慮最後一個分組就行了,最後一個分組達到目的地所經歷的時延就是總的時延。