hadoop通信协议浅谈
1. RPC的基础概念
RPC,即RemoteProcdure Call,中文名:远程过程调用。
它允许一台计算机程序远程调用另外一台计算机的子程序,而不用去关心底层的网络通信细节,对我们来说是透明的。因此,它经常用于分布式网络通信中。
Hadoop RPC在整个Hadoop中应用非常广泛,Client、DataNode、NameNode之间的通讯都是通过RPC来进行的,因此可以说:Hadoop的运行就是建立在RPC基础之上的。
默认端口为local:50020或者0.0.0.0:50020等。
2:http协议
http协议,属于典型的应用层协议。就是浏览器和服务器之间进行“沟通”的一种规范。我们在看空间,刷微博…都是在使用http协议,当然,远远不止这些应用。
在hadoop中http协议用于服务器和用户间的web页面进行交互
默认端口:0.0.0.0:50070,或者50010,可以配置修改
3:tcp/ip协议
3.1框架描述
:当通过http发起一个请求时,应用层、传输层、网络层和链路层的相关协议依次对该请求进行包装并携带对应的首部,最终在链路层生成以太网数据包,以太网数据包通过物理介质传输给对方主机,对方接收到数据包以后,然后再一层一层采用对应的协议进行拆包,最后把应用层数据交给应用程序处理。
网络通信就好比送快递,商品外面的一层层包裹就是各种协议,协议包含了商品信息、收货地址、收件人、联系方式等,然后还需要配送车、配送站、快递员,商品才能最终到达用户手中。
一般情况下,快递是不能直达的,需要先转发到对应的配送站,然后由配送站再进行派件。
配送车就是物理介质,配送站就是网关, 快递员就是路由器,收货地址就是IP地址,联系方式就是MAC地址。
快递员负责把包裹转发到各个配送站,配送站根据收获地址里的省市区,确认是否需要继续转发到其他配送站,当包裹到达了目标配送站以后,配送站再根据联系方式找到收件人进行派件。
3.2ip协议作用
区分两台主机是否同属一个网络,这套地址就是网络地址,也就是所谓的IP地址
3.3 tcp协议
端口确认:
TCP即传输控制协议,是一种面向连接的、可靠的、基于字节流的通信协议。简单来说TCP就是有确认机制的UDP协议,每发出一个数据包都要求确认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包。
可靠性实现:三次对话机制
3.4在hadoop中tcp/ip协议属于传输层协议。用于datanode下的数据块传输
总结:也就是说ip:tcp确认给那哪一个进程的数据。