网络基础之几个基础问题(整理)

几个网络基础问题的理解,并进行整理。
1、为什么以太网要规定60字节和1514的最小包和最大包?
2、为什么ethernet II没有长度字段?
3、为什么TFTP用UDP实现的效率反而不如用TCP实现的FTP效率高?
4、为什么UDP通讯的源端口和目的端口经常是相同的数字?
5、为何很多UDP应用的数据包最大都是512字节?

 

 

第一题的解答

以太网是无连接的,不可靠的服务,采用尽力传输的机制。以太网CSMA/CD我就不多讲了,我相信大家都了解这个原理。
以太网是不可靠的,这意味着它并不知道对方有没有收到自己发出的数据包,但如果他发出的数据包发生错误,他会进行重传。以太网的错误主要是发生碰撞,碰撞是指两台机器同时监听到网络是空闲的,同时发送数据,就会发生碰撞,碰撞对于以太网来说是正常的。
我们来看一下,假设A检测到网络是空闲的,开始发数据包,尽力传输,当数据包还没有到达B时,B也监测到网络是空闲的,开始发数据包,这时就会发生碰撞,B首先发现发生碰撞,开始发送碰撞信号,所谓碰撞信号,就是连续的01010101或者10101010,十六进制就是55或AA。这个碰撞信号会返回到A,如果碰撞信号到达A时,A还没有发完这个数据包,A就知道这个数据包发生了错误,就会重传这个数据包。但如果碰撞信号会返回到A时,数据包已经发完,则A不会重传这个数据包。
我们先看一下,以太网为什么要设计这样的重传机制。

首先,以太网不想采用连接机制,因为会降低效率,但他又想有一定的重传机制,因为以太网的重传是微秒级,而传输层的重传,如TCP的重传达到毫秒级,应用层的重传更达到秒级,我们可以看到越底层的重传,速度越快,所以对于以太网错误,以太网必须有重传机制。
要保证以太网的重传,必须保证A收到碰撞信号的时候,数据包没有传完,要实现这一要求,A和B之间的距离很关键,也就是说信号在A和B之间传输的来回时间必须控制在一定范围之内。IEEE定义了这个标准,一个碰撞域内,最远的两台机器之间的round-trip time 要小于512bit time.(来回时间小于512位时,所谓位时就是传输一个比特需要的时间)。这也是我们常说的一个碰撞域的直径。
512个位时,也就是64字节的传输时间,如果以太网数据包大于或等于64个字节,就能保证碰撞信号到达A的时候,数据包还没有传完。
这就是为什么以太网要最小64个字节,同样,在正常的情况下,碰撞信号应该出现在64个字节之内,这是正常的以太网碰撞,如果碰撞信号出现在64个字节之后,叫 late collision。这是不正常的。

以太网封装IP数据包的最大长度是1500字节,也就是说以太网最大帧长应该是以太网首部加上1500,再加上7字节的前导同步码和1字节的帧开始定界符,具体就是:7字节前导同步吗+1字节帧开始定界符+6字节的目的MAC+6字节的源MAC+2字节的帧类型+1500+4字节的FCS。
        按照上述,最大帧应该是1526字节,但是实际上我们抓包得到的最大帧是1514字节,为什么不是1526字节呢?原因是当数据帧到达网卡时,在物理层上网卡要先去掉前导同步码和帧开始定界符,然后对帧进行CRC检验,如果帧校验和错,就丢弃此帧。如果校验和正确,就判断帧的目的硬件地址是否符合自己的接收条件(目的地址是自己的物理硬件地址、广播地址、可接收的多播硬件地址等),如果符合,就将帧交“设备驱动程序”做进一步处理。这时我们的抓包软件才能抓到数据,因此,
抓包软件抓到的是去掉前导同步码、帧开始分界符、FCS之外的数据,其最大值是6+6+2+1500=1514。

 

第二题解答

Ethernet II使用了类型字段,而非长度,此时协议类型既然已经知道了,当然可以根据协议类型来取走相应字段即可,同时还可以去掉繁琐的LLC、SNAP,何乐不为?另外,看到15楼解释说“另外,高层协议必须表示数据长度“,这并没有规定,比如arp就没有长度字段。实际上,大家可以想一下,当链路层知道自己封装的是什么协议,它直接送到上层对应的协议模块,上层协议自然知道哪些字段有用,而没用的部分,自然是填充内容,不作处理即可。所以,不使用长度,而用类型字段,是没有任何问题的。


第三题解答
这个和TFTP的实现有关TFTP是为了实现一种简单的文件传输而不重视效率
它在实现的时候报文的大小限制在512Bytes以内
另外它在
发送接收采用的停止等待技术,也就是你发一个报文过去,对方要回应之后你才能发下一个。所以它的传输效率远远低于TCP实现的FTP

我认为研发tftp的初衷是实现简单,他使用了停止,等待的半双工协议,而且他的数据报大小都是512byte,显然不如使用tcp的ftp来的灵活和高效.还有一个次要原因,就是在假如不太可靠的网络上面通信,tcp比udp工作的更好.

tftp协议一次传输512字节,并且有应答报文,还有包编号,相比udp,对丢包的处理能力大大增强了,当然也就大大减小损失了传输效率。所以这里不能用“因为udp效率比tcp高,所以tftp效率比ftp高“这种类推思路来思考问题!

最初的TFTP协议,规定序号字段仅16bit,每个报文长度不超过512字节,自己算算是不是可能支持100M的文件传输?(答案:很多TFTP服务器限制在16MB,比如CISCO设备自己带的TFTP server、GNU tftp server。如果序号用无符号整数,最大也就32MB而已)
当然后来也有改进的TFTP可以支持比较大的文件传输,比如通过扩大报文的最大长度等方法,来支持更大一些的文件传输;又比如一些实现中,将大文件切割成32MB的n块。不过不是所有的TFTP server/client支持这些情况。
最后要说的是,由于它的运作机制,TFTP无论如何也不是一种快速可靠地传输大文件的工具


第四题解答

为什么UDP通讯的源端口和目的端口经常是相同的数字?
      在UDP中,源端口是可选参数,如果没有的话就插入0value来代替这个地方,所以可以是相同的,所以可能在某些程序中为了方便就写成一样的(猜测,本人不是做程序开发的,呵呵),但是“经常是相同”到未必,看是什么程序了(RFC768),而且很多应用也可以根据目的IP地址,源IP地址和源端口号来过滤送往一个给定UDP端口号的数据


第五题解答

为何很多UDP应用的数据包最大都是512字节?
      所有的主机必须能够重新组合最多为576字节的数据报,但实际上是应该能够重新组合与系统接口的MTU规格相同的数据报(RFC1122),因为TCP可以把数据分片,所以这个规定不会影响TCP;由于TCP/IP内核实现的限制,在UDP程序在设计中,应用程序数据被限制成512字节或更小。

http://blog.csdn.net/hitlerisyou/article/details/3967109

网络基础知识大全 1 网络常用基础知识: 3 1)如何查看本机所开端口: 3 2)如何获得一个IP地址的主机名? 3 3)如何查看本机的ip地址? 3 4)再使用net命令的时候遇到一些错误代码,如何查看对应的错误信息? 4 5)利用telnet连接到对方主机上,想获得一些系统信息,用什么命令? 4 6)跟踪路由器的命令是什么? 4 7)简单介绍一下cookie! 4 8)安装2000的时候,速度会特别特别特别慢,怎么加快安装速度呢? 5 9)Windows2K密码忘记了,如何才能进入系统? 5 10)ping不到,tracert不到,但是却能用nbtstat显示对方的一些信息,为什么? 5 11)telnet上去后,如何给对方开共享? 5 12)如何判断对方的具体操作系统版本? 5 13)如何查看98的随机启动的程序? 6 14)设置了BIOS密码,可是却忘记了,该怎么办? 6 15)如何自制一个让98蓝屏的炸弹? 6 16)如何再命令行下杀死对方进程? 7 17)上次说了ping的基本用法,这次谈谈ping的命令参数! 7 18)如何查看本机的DNS服务器? 8 19)肉鸡上的部分文件无法删除,怎么办? 8 20)再说一个可以限制用户登陆时间的命令! 8 22)如何删除windows2K的默认贡献? 8 23)139端口的又一用法 9 24)利用批处理文件来建立一个记录3389登陆者信息的记录器 10 25)网络命令小节 10 26)这里我必须(或者说不得不重新重申一个命令!不过说之前我要把这个命令的相关命令稍微介绍一下!) 12 27)关于双系统的两个问题: 12 28)这里说几个主页恶意代码:『并不是让大家把这些代码加入到自己的主页中!只是希望大家能了解恶意代码,起到更好的防护作用!』 13 29)系统自带的系统工具 14 30)批处理在入侵中的几则妙用! 15 31)再说几个非常简单实用的DOS命令(工具): 15 32)ping命令的其他技巧: 17 局域网应用问题专题解答 (Rayi々) 18 1、问:我访问局域网中的计算机时,为什么常常被提示要输入用户名和密码? 18 2、问:上网浏览前在局域网中应如何对IE进行设置? 18 3、问:在局域网中应如何设置OutLook Express收发邮件? 18 4、问:在由三台电脑组成的局域网中,我在其中一台电脑上用过Windows优化大师后,为什么这台电脑就不能登录网络,并且还提示找不到拨号适配器? 18 5、问:如何在局域网中设置QQ、ICQ等即时通讯软件? 18 6、问:我想用NetMeeting进行局域网中的通话,应该如何设置? 19 7、问:我知道在局域网内文件是可以共享的,但我想问的是,打印机和扫描仪应该如何共享? 19 8、我用分机线上网,上网速度最大才48000bps,请问是何原因? 还有,将Modem放在主机箱侧面,开机后(未打开Modem电源),家里的电话就处于忙音状态,如何解决? 19 9、我新购的网卡在电脑上无法安装,而在其他电脑上却使用正常,这是怎么回事? 19 10、我的电脑出现“网上邻居”中找不到其他联网电脑的故障,如何解决? 20 11、问:公司局域网,只有一台机器通过猫接入互联网,现想其他机器接入互联网,请问如何实现? 20 12、问:局域网通过路由器、使用ADSL方式上网,如何使各工作站快速的获得可以上网的IP地址而不手工去指定? 20 13、问:公司要组建局域网,需要用到邮件服务器和WWW服务器,请问这两种服务放到一台电脑里还是分别用两台电脑?都用什么软件?谢谢! 20 14、问:家里原先有一台PII的计算机,最近又新增一台P4机器,操作系统都为Windows 98且已安装网卡,现在我想把他们联起来共享资源,该怎么办? 20 15、问:办公室机器桌面的“网上邻居”图标没了,能上Internet,但无法浏览其他机器上的资源了,怎么办? 21 16、问:办公室机器桌面的网上邻居图标解决了且也能浏览其他机器的共享资源了,但发现右键中的“共享”命令没了!怎么办? 21 17、问:右键中的“共享”命令已经显身!但我设了共享不想让别人从网上邻居中看到这个共享目录,只有自己知道且能实现异地机上有完全操作的权限。 21 18、问:一块PCI总线的10/100自适应网卡,无法正常工作。主要表现在网络时断时续,不管是不是Ping自己的IP地址,还是Ping对方的IP地址,都有这种情况发生。查看网卡的指示灯也出现同样的现象。 21 19、问:我的电脑与一个对等网连接好了,但不能读别人电脑上的数据,这是怎么回事? 21 20、问:我的网络从集线器升级为交换机后,感觉速度并没有多大提高,是什么原因? 22 21、问:VLAN是什么意思,使用它有什么好处? 22 22、问:我的自适应网卡只有红灯闪烁,绿灯不亮,这种情况正常吗? 22 23、问:如何使用交换机的UpLink端口,怎样连接?使用了UpLink口后,是否还可以使用其相邻最近的端口? 22 24、问:我在安装网卡后,在“系统→设备管理器”中网卡出现黄色的“!”号,请问该如何解决? 23 25.问:ADSL上网网页打不开的问题? 23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值