In current Internet, applications employ lots of sessions with multiple connections between multiple senders and receivers. Sessions or users with more connections gain higher throughput. To obtain more network resource, applications tend to create more connections. It causes unfair bandwidth allocation by per-connection TCP rate allocation and the network suffers lots of TCP overheads. In this paper, we explore the issue on fair share allocation of bandwidth among sessions or users. Various fairness definitions are discussed in this study. Then, we propose a novel distributed scheme to achieve various fairness definitions. Simulation results show that our distributed scheme could achieve fair allocation according to each fairness definition.