The network localization problem is closely related to the rigidity of graph. A network can only be localized if the graph of the network is rigid. The rigidity theory for graph states that for a 2D graph to have unique realization, it must be redundantly rigid and tri-connected. Centralized and polynomial algorithms exist to check whether a graph is uniquely realizable. In this paper, we propose a distributed algorithm to find the maximal rigid region in a network. This algorithm does not require the existence of a central node. It starts from local rigid patches and the patches are merged in a distributed manner in the network. In the end, a maximal rigid region can be found. It is proved that the algorithm will converge and all nodes in the network will get a list of maximal rigid regions it belongs to when the algorithm terminates.