㈠ 計算機網路(謝希仁)第四版與第五版哪個好
我最近也關心了這個問題,我也有困惑,也想問問。
可是,我只能說各有內各的不同,四和五光從容目錄來說確實有相當大的差別,但是仔細看了後你會基本內容發現差別不大,只是計算機網路現在發展太快,教材也要跟上潮流。比如,可能到了2010年我們就要用新的IP協議,IPv6。現有的IPv4已經不能滿足人們的需求了,IPv4隻是32位的地址表示,數量及其有限,而IPv6採用的是128位,可以說有用不完的地址可以分配,科學家們設想給每一個家用電器都設置IP,從而使得主人可以在外地就可以對其進行操作,使生活更加方便。
而,第五版最後一章,好像是什麼下一代計算機網路就講了些這個問題。所以說五版更有發展性。但四版中你又可以了解以前或者更多的知識,如果可以你就兩者兼顧,還是以新的為主吧。
另一方面,Microsoft現在已經放慢對XP的更新維護,到使用了IPv6協議後XP就要被真正淘汰的,而現在的VISTA確可以勝任!
呵呵
㈡ 關於謝希仁著《計算機網路》(第四版)的兩個問題
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.因為無線網可靠性比較差,丟包率高,在底層協議做完整性檢查比較劃算。乙太網物理介質可靠性高,在高層協議做完整性檢查更劃算。
㈢ 求助!!關於謝希仁計算機網路第四版和第五版的區別
數據鏈路層部分,第五版刪去了第四版過時的內容,加入了新內容,但2009,2010年的大綱內計算機網路部分容的數據鏈路層依舊是老的內容,不知道2011年的大綱是否有變化,其實2010年編寫大綱的時候,謝希仁的第五版書已經有了,但2010年的大綱網路部分還是老內容,不能說大綱計算機網路部分是按照謝希仁的書編的,但也應該與時俱進啊,大綱計算機網路部分確實太老了,過時了。
㈣ 關於計算機網路方面的書籍
1. 計算機網路常識書籍
計算機網路常識書籍 1.計算機網路入門需要看那些書籍
1)編碼:隱匿在計算機軟硬體背後的語言,此書從信息的編碼,數字的不同進製表示,到計算機採用的二進制機器級表示開始,到用電路構建一個簡單的加法器,觸發器,計數器,存儲器,甚至一個具有控制器,運算器,存儲器的簡易CPU,娓娓道來,真是醍醐灌頂。最後還談到了圖形界面的原理。此書作者更是被傳為聖經的《Windows程序設計》的作者Charles Petzold。讀完此書可對計算機硬體的原理與設計有一全面深入之認識,猶如身處群山之巔,一覽無余。
2)深入理解計算機系統 上一本《編碼》通俗易懂,即使沒有計算機相關知識也能懂,但缺乏一些計算機機制的介紹。此書是國外著名的介紹計算機系統方面的書,從程序員的角度帶你暢游計算機系統架構。涉及程序的機器級表示(機器碼,匯編),處理器體系結構,存儲器結構,系統IO,網路編程,並發編程,以及程序性能的優化。讀完此書可對計算機系統,程序設計有一深層次了解。
3)就C語言而言,K&R的 C程序設計語言 的無疑是最好的參考書,不過對初學者來說還是有一定難度,輔以諸如 C和指針 ,C陷阱與缺陷 會有更好的效果。當然多寫程序才是王道,多寫才能發現問題,加深認識。
4)Debug Hacks 此書介紹GDB調試工具及調試技巧,本人現在主要就是使用gcc gdb啦。此書助你更好的找出臭蟲。
6)數據結構與演算法分析 介紹演算法和數據結構的書籍很多,但本人就是用這本書學習的,所以推薦。此書的前3章和第7章就介紹了題主要求的一些數據結構和演算法,後面幾張介紹樹,排序,圖論演算法,及一些高級數據結構。讀完此書將助你設計更優美的程序。
2.計算機網路經典書籍
《tcpip詳解》分三卷,國外經典計算機教材,有中文譯版,不過不適合你的。
《計算機網路》也分很多種,如果你要考網工的話或者你想學習網路推薦你看以下的書籍:
網路工程教程(第二版) 雷震甲 主遍 清華大學出版 (這本太深了,不過內容全)網工指定教材
網路工程必讀系列 王達 這套書我看了兩遍,實在不錯。。。
計算機網路第五版 謝希仁 主遍 謝希仁同時還出了很多書都關於TCP/IP的書籍,具體書名我忘記,我覺得他講解得思路清晰,易理解,適合基礎旅岩差的。
計算檔散機網路第四版,這是國外經典計算機網路經典教程,作者都是英文名字(具體我忘記了) ,我以前我學時很喜歡看這本。
3.計算機網路方面有哪些書籍值得推薦
計算機網路第五版,謝希仁的,個人感覺是國內最好的初級書籍。
如果想對網路有個清晰、全面的認識,可以閱讀下面三本書籍: 第一本就是潘愛民翻譯的Andrew S.Tanenbaum的《計算機網路》,此書講明白了網路之道,即計算機網路通信的主要原理; 第二本是W.Richard Stevens的《TCP/IP詳解卷一:協議》,此書講明白了網路之術,即TCP/IP協行鎮氏議簇的工作過程; 第三本是Douglas E.er的《計算機網路與網際網路》,此書嘗試在更廣泛意義上解答「計算機網路和網際網路是如何工作的」這一基本問題,解釋了協議是如何使用硬體和應用是如何使用協議來滿足用戶的需求。
4.有關計算機編程,網路基礎知識的書籍
建議你從C語言開始學,學好了它以後學其他語言會很容易上手
推薦你先看譚浩強的《C語言程序設計》先,這是一部非常好的C語言書籍,慢慢來學習程序設計是一個非常漫長的過程,不要著急,一本書多看兩遍三遍,學會交叉學習法,在學習C的過程中,可以看看數據結構,編譯原理,操作系統等書籍,對編成都是很有幫助的。最開始學習的時候,先不要編一些比較大的程序,多編一些小程序,比如數組運算,字元組合等等,指針是C語言的精華,是比較復雜的部分。如果指針這部分都可以熟練的應用,那麼C語言里你還有什麼不明白的嗎,我相信你,你一定能學習好C語言的。
可以按照C——C++——JAVA的順序學習,C++的學習是很有難度的,類,標准庫,多態,繼承等等比較抽象難道懂的概念,雖然他秉承了C語言的風格,但是有很多很多是C語言不具備的,要多看書,上機實踐也是必不可少的。《C++編程思想》,《C++標准庫》,這些書都非常好,內容也很全面,常式書籍也是必不可少的,多看源代碼對編程是很有幫助的,也會少走很多彎路。總之,C++的學習是一個比較漫長的過程,大概需要兩年的時間,這只是底限,如果想學通,學精,還需要更多的時間。
我向你推薦一些C++經典書籍:
c++程序設計教程
c++編程思想
c++大學教程
c++程序設計語言
數據結構演算法與應用c++語言描述
c++標准模板庫------自修教程與參考手冊
泛型編程與STL
深度探索c++對象模型
設計模式---可復用面向對象軟體的基礎
重構---改善既有代碼的設計
Essential c++
Effective c++
More Effctive c++
C++ primer
前五本應該屬於入門書籍,後面的屬於學習難度比較大的,想提高C++的編程能力,看看這些書籍有好處。建議你把編程思想這本書多看看。多做練習題,對提高編程水平的幫助是很大的。
其實語言是相通的,一門語言學會了,學習其他語言就比較容易了。
業界有這樣一種說法,因為JAVA這門語言包含了C++的一些特性,掌握了C++,就等於掌握了JAVA的80%,
在掌握了C++之後(我說的掌握指的是,可以熟練用C++編程序了,並沒有要求你完全掌握C++的所有部分,沒有人能達到這一點,因為C++太龐大了,如果能堅持不懈的學習C++兩年到三年的時間了,你就可以學習其他的語言了)可以試著學習一些其他的語言,如JAVA,VC++等等比較復雜的語言.
這時候可以說你已經對程序設計語言有個大體的認識了,可以明確自己學習的方向,根據自己的學習情況而定,是學習一些自己比較感興趣的語言啊(從興趣出發),還是為了找工作啊,開始進行更深入的學習.比如學習windows下的框架編程和編程等等比較復雜的語言.
如果是為了找工作的話你一定學好C,C++,JAVA三門語言.
在我國目前的軟體開發行業中,C,C++,JAVA的需求量是非常大的.
好了,說了這么多,可以參考一下,為自己做個學習計劃,要對自己有信心,最後祝你在學習編程的道路上走的更好更遠,祝你學有所成!!
5.計算機網路技術的推薦書籍
如果想對網路有個清晰、全面的認識,可以閱讀三本書籍:
第一本就是潘愛民翻譯的Andrew S.Tanenbaum的《計算機網路》,此書講明白了網路之道,即計算機網路通信的主要原理;
第二本是W.Richard Stevens的《TCP/IP詳解卷一:協議》,此書講明白了網路之術,即TCP/IP協議簇的工作過程;
第三本是Douglas E.er的《計算機網路與網際網路》,此書嘗試在更廣泛意義上解答「計算機網路和網際網路是如何工作的」這一基本問題,解釋了協議是如何使用硬體和應用是如何使用協議來滿足用戶的需求。
6.推薦計算機基礎知識學習的書籍
1、《計算機基礎(第二版)》——姜岩、王秀玲
本書介紹了信息與計算機的基礎知識、Windows XP操作系統的基本操作和基本使用知識、Word
2003文字處理軟體的基本知識、Excel 2003電子表格處理軟體的基本知識和PowerPoint 2003文檔
演示軟體等知識做了簡單的介紹。
2、《計算機應用基礎》 ——劉錫軒、丁恆、侯曉音
本書是為非計算機專業類學生提供計算機一般應用所必需的基礎知識、能力和素質的課程。本書滿
足普通高等院校培養「應用型人才」的教學宗旨,內容豐富,與時俱進,實用性強。
3、《計算機應用基礎》——楊飛宇,孫海波
本書主要介紹了計算機組裝與維護、計算機網路技術、電子文檔製作、電子報表製作和演示文稿制
作。
4、《計算機應用基礎》——張 明、王 翠、張和偉
本書採用任務驅動的方式進行編寫,內容強調操作性和實用性。全書涵蓋計算機基礎知識、
Windows XP操作系統、Word 2003文字處理軟體、Excel 2003電子表格處理軟體和PowerPoint
2003演示文稿製作軟體等內容。
5、《深入理解計算機系統》————布賴恩特
本書主要介紹了計算機系統的基本概念,包括最底層的內存中的數據表示、流水線指令的構成、虛
擬存儲器、編譯系統、動態載入庫,以及用戶應用等。書中提供了大量實際操作,可以幫助讀者更
好地理解程序執行的方式,改進程序的執行效率。
6、《計算機應用基礎》——武馬群
本書主要介紹了計算機基礎知識、操作系統Windows XP、網際網路(Inter)應用、文字處理軟體
Word 2003應用、電子表格處理軟體Excel 2003應用、多媒體軟體應用、演示文稿軟PowerPoint
2003應用等內容。
㈤ 計算機網路看哪本書比較好
《計算機網路》也分很多種,如果你想學習網路推薦你看以下的書籍:
計算機網路第五版 謝希仁 主遍 謝希仁同時還出了很多書都關於TCP/IP的書籍,具體書名我忘記,我覺得他講解得思路清晰,易理解,適合基礎差的。
計算機網路第四版,這是國外經典計算機網路經典教程,作者都是英文名字(具體我忘記了) ,我以前我學時很喜歡看這本。。
㈥ 那位給發一下計算機網路(謝希仁,第四版)第六章,28題:簡述RIP,OSPF,和BGP路由選擇協議的特點
1、RIP現在基本不用,就算是小型網路,也可執行OSPF,如果網路太小,比如幾台路由器,可用靜態路由;
2、OSPF適合中大型網路,一般路由器在1000台以下的都行,只要規劃合理;
3、BGP自治系統外部路由,目前唯一使用的EGP路由。
RIP協議工作在網路層,ospf也會也是工作在網路層,但是BGP就不是,工作在傳輸層,利用TCP的179埠,因為BGP主要用在運營商,概念和RIP,ospf完全不同,是距離矢量但又有鏈路狀態的特性的混合協議。因為他是AS by AS的傳遞路由信息。比其他協議更穩定,而且安全的以後總協議。
(6)計算機網路謝希仁第四版擴展閱讀:
RIP很早就被用在Internet上,主要傳遞路由信息,通過每隔30秒廣播一次路由表,維護相鄰路由器的位置關系,同時根據收到的路由表信息計算自己的路由表信息。
最大跳數為15跳,超過15跳的網路則認為目標網路不可達。此協議通常用在網路架構較為簡單的小型網路環境。分為RIPv1和RIPv2兩個版本,後者支持VLSM技術以及一系列技術上的改進。RIP的收斂速度較慢。
路由協議主要運行於路由器上,路由協議是用來確定到達路徑的,它包括RIP,IGRP(Cisco私有協議),EIGRP(Cisco私有協議),OSPF,IS-IS,BGP。起到一個地圖導航,負責找路的作用。它工作在網路層。路由選擇協議主要是運行在路由器上的協議,主要用來進行路徑選擇。
㈦ 謝希仁《計算機網路》(第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中定義。