主机间直连

主机间直连
  互联网最核心的功能是两个主机之间的通信。在实际应用中,两个主机直接互连是比较少见的,通常都要经过一个交换机,或者多个交换机和路由器。理解两个主机直接互连的通信过程,对于理解两个主机经过多个交换机和路由器的通信有很大的帮助。此文就是详细介绍两个主机直接互连的通信过程。
  让两个主机直接互连的最简单方式就是将一根网线的两端分别接到主机的网口上。除此之外,两个主机还要配置同一个网段的不同IP地址。如下图所示:

  假设主机A(hostA)要给主机B(hostB)发送数据(Data),那么需要将三层的头添加到Data前,这包括源和目标的IP地址(即主机A和主机B的IP地址)。那么首先它需要知道主机B的IP地址。主机B的IP地址可以通过用户告诉主机A。然后需要将二层的头添加到数据包前,那么主机A需要知道主机B的MAC地址。主机A是通过ARP协议来获得主机B的MAC地址的。
  首先主机A对外发送ARP请求,这个请求的意思是:谁的IP地址是IPB,请回复,我的MAC地址是MACA。主机B收到ARP请求,发现自己的IP地址是IPB,则响应请求,此响应的意思是:我的IP地址是IPB,我的MAC地址是MACB。主机A收到响应,就知道了主机B的MAC地址MACB,这时就可以完成数据包的填充,然后发送此数据包。