TCP/IP 详解翻译中的疑问 .

来源:互联网 发布:linux chgrp命令 编辑:程序博客网 时间:2024/06/04 19:08

 

前几天开始看详解卷一,看的中文版,翻译好像有些不是很流畅,某些地方总感觉很别扭,今天去找了本原版来对照着看,如果明显感觉别扭的地方就去参考原文,不过如果不是很明显的错译,就很容易被误导了,完全看原文速度还是差些:(

把一些自己觉得有疑问的地方列到这里,以后再回头来看看

http://blog.csdn.net/LENGGAOMING/article/details/1891174

stevens(你应该知道他是谁)曾说过:网络编程中80%的问题是因为对网络协议不了解。要想看网络编程接轨的,你可以看UNIX network programming,或者tcp/ip sockets in C。不过还是建议你了解最起码的协议。

////////////////////////////////////////

比如:
Figure 6.8 shows the tcpdump output for the exchange of packets that takes place.
这句话被翻译成:
tcpdump命令引起的报文交换结果如图6-8所示

P48 第五章

“这种不确定的情况一直继续下去”

原文是这样的:"This continues indefinitely"

 

结合上下文,我认为这儿应该是“这种循环会一直继续下去”的意思,而没有“不确定”之意;况且紧跟着提到“如果计算一下两次重发
之间的时间间隔,我们发现存在一种双倍的关系:从 5 . 3 4到6 . 5 5是1 . 2 1秒,从 6 . 5 5到8 . 9 7是
2 . 4 2秒,从8 . 9 7到1 3 . 8 0是4 . 8 3秒,一直这样继续下去。当时间间隔达到某个阈值时(大于
4 2 . 8 0秒) ,它又重新置为5 . 3 4秒”,说明并无不确定的意思 

 

P383

"另外的4 8字节是因为5 6字节的数据部
分的最后4 8字节必须忽略:0 x c 0是SLIP END字符"

"The additional 48 bytes are because the final 48 bytes of the 56 bytes in the data portion must be escaped: 0xc0 is the SLIP END character.
"

escape---转义,不是忽略

 

P70

"P i n g服务器一般在内核中实现I C M P的功能"


"The Ping server is normally part of the kernel's ICMP implementation"


Ping服务器通常是内核的ICMP实现的一部分

P70

"这使得试图用 I P选项来计
算路由器之间的跳站数是徒劳的"

"This makes it fruitless to try to measure hop times between routers using this IP option"

The 2nd "this" was ignored, I think it is necessary

P70

"这使得试图用 I P选项来计
算路由器之间的跳站数是徒劳的"

"This makes it fruitless to try to measure hop times between routers using this IP option"

The 2nd "this" was ignored, I think it is necessary

P68

"很可能是由于数据报产生的重定向是一份 I C M P回显请求
报文"

"perhaps that the datagram generating the redirect is an ICMP echo request message"

不通~~

P68

"直接发送I C M P报文重定向到 a i x (9 . 5"

SHUD BE重定向报文

P68

"我们已经在主机 b s d i 上运行过这个例子。现在选择 s l i p 来运行它,观察R R清单中所有
的9个I P地址"

"We could have run this example from the host bsdi. We chose to run it from slip to see all nine IP addresses in the RR list used."

虚拟----
“我们本来可以在bsdi上运行这个例子,但我们选择slip来运行是为了观察在RR列表中的所有9个IP地址”
并没有在BSDI上跑过这个程序



严重失望于翻译水准!

P68

"在子网
1 4 0 . 2 5 2 . 1上p i n g主机 a i x (在主机 s u n 上通过拨号S L I P连接可以访问) ,并带有记录路由选项。"

"We ping the host aix on the 140.252.1 subnet (accessible through the dialup SLIP connection on the host sun) with the record route option."


是说“PING在子网
1 4 0 . 2 5 2 . 1上的主机aix”

差别很大的!越来越迷惑,怎么这么多问题??

P68

"把它作为第 9章讨论 I C M P间接报文的起点"

"a starting point for our description of the ICMP redirect message in Chapter 9"


是“重定向”而不是“间接”

P65

"最后,我们还要处理每一端的
计算机异步串行接口,许多操作系统只能在固定的时间间隔内,或者收到若干字符后才去读
这些接口。"

"Finally, we're dealing with a computer's asynchronous serial interface on each end, and many operating systems read these interfaces only at fixed intervals, or when a certain number of characters have been received.
"

不准确!

P63

"这是因为计时器只能提供1 0 m s的误差"

"provided only IO-ms accuracy"

应为精度而不是误差

P62

"I P是一种最好的数据报传递服务,因此
这三个条件都有可能发生"

"IP is a best effort datagram delivery service, so any of these three conditions can occur"

似乎不太通理,丢掉了effort

Chapter 7, P61

"对于其他类型的I C M P查询报文,服务器必须响应标识符和序列号字段"

"As with other ICMP query messages, the server must echo the identifier and sequence number fields"

应该是“和其它的ICMP查询报文一样”而不是“对于其他类型的。。。”

P60

"发送端应用程序在标识字段内存入一个
唯一的数值,以区别于其他进程的应答"

" The sending application stores a unique value in the identifier field, to distinguish between replies for itself and replies for other processes"

不一定说是数值
另外,“以区别发送给自己的应答还是发送给其他进程的应答”

P56

"最后两小节我们来讨论I C M P查询报文 — 地址掩码和时间戳查询及应答"

"The last two sections looked at ICMP query messages-the address mask and time-stamp queries and replies. We'll now examine "

结合上下文,此处应该是“刚才的两小节”、“过去的两小节”而不是“最后两小节”

P54

"此它们的值比82 800 000(2 3 0 0小时)要大是有道理的。"

明显应该是23小时或者23:00小时,虽然原文也是这样的

P54

"提供三个字段的原因是可以让发送方分别计算发送请求的时间和发送应答的时间"

"The reason for providing the three fields is to let the sender compute the time for the request to be sent, and separately compute the time for the reply to be sent"

翻译似乎没问题,可就是不理解是啥意思~~~~~~~~~~

Chapter 6, P53

"发送给本机 I P地址的数据报( 1 4 0 . 2 5 2 . 1 2 . 3 3)实际上是送到环回接口。
I C M P地址掩码应答必须是收到请求接口的子网掩码(这是因为多接口主机每个接口有不同的
子网掩码) ,因此两种情况下地址掩码请求都来自于环回接口。"

"we see that IP datagrams sent to the host's own IP address (140.252.13.33 in this example) are actually sent to the loop-back interface. The ICMP address mask reply must correspond to the subnet mask of the interface on which the request was received (since a multihomed host can have different subnet masks for each interface), and in both cases the request is received from the loopback interface.
"

1、地址写错:13。33
2、(这是因为多接口主机每个接口有不同的
子网掩码)----是可能会有不同的掩码,不是一定的
3、“因此两种情况下”--并无因果关系,应为“在以上两种情况下”

"显然,尽管 s v r 4 接口
已经设置了正确的子网掩码,但是 S V R 4还是返回了一个普通的B类地址掩码,就好像子网并
不存在一样。
svr4 % ifconfig emd0
emd0: flags=23<UP,BROADCAST,NOTRAILERS>
inet 140.252.13.34 netmask ffffffe0 broadcast 140.252.13.63"

"It appears that SVR4 is returning the general class B address mask, assuming no subnets, even though the interface on svr4 has been configured with the correct subnet mask:

svr4 % ifconfig emd0
emd0: flags=23<UP, BROADCAST ,NOTRAILERS>
inet 140.252.13.34 netmask ffffffe0 broadcast 140.252.13.63

"

冒号不应该被改为句号,并因此这里语句的顺序也不适合作无意义的调换

routing 应该是选路而不是路由

Chapter 6, P50
"我们将详细介绍第 2 7章P i n g程序所使用的回应请
求和应答报文和第9章处理I P路由的I C M P报文"

"We discuss the echo request and reply messages in detail with the Ping program in Chapter 7, and we discuss the ICMP messages dealing with IP routing in Chapter 9."

不是说在这章就详细介绍!

Chapter 6, P50

"所有报文的
前4个字节都是一样的,但是剩下的其他字节则互不相同"

"The first 4 bytes have the same format for all messages, but the remainder differs from one message to the next"

遗漏了关键的“格式”一词

 

2:

发现译者的一个低级错误:P212,图20-4中的文字“能够发送ASAP”,ASAP是“As Soon As Possible”的缩写,估计译者不知道ASAP是什么意思,而以为是个什么技术名词,所以就没有翻译,低级错误啊。

今天看了下第四章,很明显且致命的错误是: 
  4.6 arp代理一节中 
   中文: 
   “路由器n e t b识别出该I P地址属于它的一个拔号主机,于是把它的以太网接口地址140.252.1作为硬件地址来回答。” 
   英文: 
   “The router netb recognizes this IP address as one belonging to one of its dialup hosts, and responds with the hardware address of its Ethernet interface on the cable 140.252.1.” 
   这个错误不像是懂网络的人能说的出的。 
   
   
   翻译中的语义错误属于严重错误,受此书“熏陶”的读者把错误作为“真理”,教育的现状......不想骂人。 
   
   还有一些汉语语法上的错误,虽不影响理解,但读起来很拗口。读书要读好书,做事要先做人。 

P42: 
  从第2行中可以看到,尽管ARP请求是广播的,但是ARP应答的目的地址却是bsdi(0:0:c0:6f:2d:40)。ARP应答是直接送到请求端主机的,而是广播的。 
  From line 2 we see that while the ARP request is broadcast, the destination address of the ARP reply is bsdi(0:0:c0:6f:2d:40). The ARP reply is sent directly to the requesting host; it is not broadcast. 
  看清楚,这样翻译?it is not broadcast--而是广播的。 

 

Wireshark这款软件,或多或少把网络的神秘面纱揭开一点,会给你带来前所未有的困惑,同时会让你发掘Stevens的这几本书的价值。有了Wireshark和TCP/IP详解,你可能在半天,一天或一周就可以对计算机网络有很深刻的了解了。

wireshark对理解TCP/IP非常有用,自己去抓包然后分析其中的内容很快就会对纸本的知识有清晰的理解。

 .7节有一句话如下: 
  3)任何传给该主机IP地址的数据均被送到环回接口 
  英文: 
  Anything sent to one of the host's own IP addresses is sent to the loopback interface . 
  不知道大家看出两者的区别了吗? 
   
  原文作者的意思是:自己给自己发的数据(因为有可能是多网卡的机器所以说是one of),但是作者说了own,表示是自己给自己发的,但是翻译的时候却说出“任何传给该主机IP地址的数据”

16.4节 BOOTP服务器的设计,167页第一行
中文:这里出现了一个有趣的问题:TFTP服务器如何能将一个响应直接送回BOOTP客户?
英文:An interesting problem arises: how can the server send a response directly back to the client?
这里应该去掉TFTP,或者把TFTP换成BOOTP。反复读了N遍之后才发现是翻译错误,错的有点离谱,TFTP服务怎么能给BOOTP客户响应?

原创粉丝点击