① 谢希仁的《计算机网络》可以自学吗
网工备考资料(我都看过的,自己按重要程度高低排序):
郭春柱编着的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这两本书是一前一后的,