① 謝希仁的《計算機網路》可以自學嗎
網工備考資料(我都看過的,自己按重要程度高低排序):
郭春柱編著的4本書:網路工程師考試案例 網路工程師動手實驗營
網路工程師考前沖刺指南 2009年8月份准備又出一本,就四本了,名字不知道自己留意。
可能是為11月份考試准備的。今年的5月份考試在他《網路工程師動手實練營》其中有些和試題類似(這些事情你應該清楚吧)
網路工程師歷年試題分析與解答 清華大學出版社 (必備,這本書最重要,出版日期越新越好)
2004和2009網路工程師考綱(必備,作對比用)
網路工程師沖刺指南(第二版)徐峰編著 電子工業出版社(必備,這本書從2月到5月我都在翻)
網路工程師考試題型精解與全真練習徐峰編著 電子工業出版社(必備,我唯一一本模擬題輔導資料,反復做了好多遍)
計算機網路(第五版) 謝希仁編著 電子工業出版社 (建議,聽說沒基礎的要多看)
《網路工程師教程》 雷震甲主編 清華大學出版社 (必備,網上很多人說把它當詞典翻,不過都以他作為標准,我像是的,太深奧沒有人能夠完全看完的)
網路工程師考試考前串講 希賽的
電子工業出版社 (考前一個星期一定要看,很有收獲!)
網路工程師考試試題分類精解 希賽的
電子工業出版社 (考前一個星期也要看!)
網路工程師考前同步輔導 清華大學出版社 (有興趣就去看下,我買來基本上是放在一邊,覺得裡面的知識都過時啦)
Red hat linux9 系統管理 朱居正著 清華大學出版社(學習linux時我就看這本書)
下面四本書:你遇到不懂時就去參考下最好能借,買的話太貴了
《CCNA 1 網路基礎》
《CCNA 2 路由器與路由基礎》
《CCNA 3 交換基礎與中級路由》
《CCNA 4 廣域網》
② 謝希仁的計算機網路
想過
計算機四級
,不難。你買份歷年試卷,你會發現每年考試的題目類型,幾乎一樣,
子網劃分
,
網路地址
,IP報文分析,有針對性的做題看書~我就是這樣過的,提前祝你過關啊~
③ 跪求計算機網路(謝希仁)的視頻教程。
04謝希仁
鏈接:
若資源有問題歡迎追問~
④ 計算機網路(特南鮑姆著、第五版),與謝希仁的計算機網路的內容有何不同
首先,外國教材《計算機網路》閱讀起來可能沒有謝版那麼流暢和舒服,前者是由外國作者著,更加符合外國人的閱讀習慣,而且,譯文讀起來有些地方可能略顯生硬和難懂。總之,謝版閱讀起來比前者更符合中國人的閱讀風格。(這里特別強調一下,如果你有能力直接閱讀英文原版最好,這樣能更好地理解作者想表達地意思,當然也可以中英對照)
其次,外國教材更加註重講解怎麼來?為什麼要有?等問題,不局限於考試的考點,知識更加豐富與分散。而謝版更像是前者的精華版。
最後,就課後習題來看,外國教材更加豐富,難度也更大,開放性更高。而謝版更加註重基礎的培養與考核。
總之,如果你對自己的能力有信心,你可以直接閱讀機械工業出版社的《計算機網路》;否則,最好先從謝版《計算機網路》入手,再學習機械工業版的教材。
⑤ 謝希仁那本計算機網路書我翻了翻,感覺那些東西好難啊,簡直不可理解啊,貌似涉及到很多復雜的硬體原理,
其實還好啦,並沒有涉及太多的硬體知識。建議你學這本書之間,先自己思考思考到底是怎麼進行通訊的,當你思考到一定程度,肯定會產生很多的問題。這時候,你再去學這本書,你會感到有意思的。
⑥ 關於怎麼學計算機網路(謝希仁第六版)
我是網路工程專業的老師。我先問第一個問題,你學網路的目的是什麼?
如果你是為了參加各種考試,那麼謝希仁的書是一個比較好的選擇,看書的時候得多做題,從我的經驗來說,如果沒有一個老師給你講一下,單純自學沒有基礎,那是有點困難的。因為計算機網路跟其他的很多課程都有緊密的聯系。
TCP/IP當然是計算機網路的基礎,詳細介紹了該協議棧運行的過程,比較專業,如果沒有學計算機網路這門課,直接學習很困難。
如果從實用出發,你沒有必要知道網路的原理,一樣可以開發程序的。本來計算機網路就是對普通用戶透明的,只是給用戶提供服務的,所以直接開始編程的學習應該更適合你吧。學編程,別忘記一定要去學資料庫。
還有不明白的,私信給我
⑦ 計算機網路謝希仁課本幾天看完
看教材說實話確實可以一天看100頁,但是基本上記不住多少大小的。網路其實重點在於重復和細,速度不能說明什麼。
⑧ 謝希仁《計算機網路》(第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中定義。
⑨ 謝希仁的《計算機網路》 和《TCP/IP詳解》 哪本書好
先學網路再學tcp這兩本書是一前一後的,