关于计算机网络一些问题的思考

前言

个人主要科研方向为下一代网络SDN以及云计算中网络研究,可是传统网络发展到如此成熟的一个地步,虽然存在一些问题,不过咱们不该该用完美来要求全部东西,传统网络的不少思想和技术都将长远地影响之后的网络发展,这篇文章欲总结一些传统网络中常常会碰到的问题。服务器

正文

1.为何不单独的用MAC地址和IP地址来进行数据转发?
若是只用MAC地址,也就是说整个网络都处于一个大二层中,都处于同一个广播域中,当世界上成百上千万的机器处于同一个广播域的时候,结果可想而知。
若是只是用IP地址,这个问题我只想了下面这种可能性,可是以为解释上仍然有些不足,但愿大神能够不吝赐教。IP地址是由管理者统一分配的,因此在某个机器申请了IP地址以后,不是说这个机器的IP地址肯定了,而是这个机器如今所连的这根网线的IP地址肯定了,因此只有IP地址的话,若是频繁的更换或者移动机器,每次都须要从新配置机器的IP地址。网络


2.ICMP和IGMP以及ARP和RARP属于IP/TCP协议分层中的哪一层?
首先ICMP和IGMP都是IP的附属协议,因此他们有理由都属于网络层,可是在数据包的具体传输过程当中,ICMP和IGMP报文都被封装在了IP数据报中。
对于ARP和RARP协议来讲,也是众说纷纭,有的教材将其划做网络层,有的认为是数据链路层,从逻辑上来讲,数据在从上到下进行封装的过程当中会加上本身的信息,当网络层的IP包进入链路层时,链路层经过ARP协议添加链路信息,而这不是网络层的功能,因此能够认为是数据链路层,可是从整个网络解析层面来讲,ARP和RARP和IP数据报同样,都拥有本身的以太网数据帧类型,因此也能够认为是网络层,因此他们在哪一层并不重要,明白原理最重要,这同时也说明了网络层的划分并非十分完美的。云计算


3.为何常见的网络应用端口号都是奇数?
端口号是用来区分不用应用的,好比咱们看着视频聊着QQ,咱们都须要使用网络传输数据,因此须要客户端端口号,一样的,对于服务器而言,他要提供多种服务,如何区分这些服务,一样须要的是服务器端口号。若是有注意的话发现经常使用的、时间比较久远的应用的端口号都是奇数,好比FTP的端口号为21,SNMP为161,Telnet为23。这是为何呢?由于这些端口号都是从网络控制协议(即TCP前身,ARPANET的传输层协议)派生出来的,原来网络控制协议是单工的,不是全双工的,所以每一个应用程序须要两个链接,一个用于接收,一个用于发送,须要预留一对奇数和偶数端口号,当TCP和UDP称为了标准的传输层协议时,每一个应用程序只须要一个端口号,因此就使用了原来的网络控制协议中的奇数。视频

总结

不少技术的发展都有其深入的历史烙印,想要精通一门技术,了解其历史是十分重要的。原理

相关文章
相关标签/搜索