In this paper, we study the revenue sharing and rate allocation for Internet Service Providers (ISPs) that jointly provide network connectivity between content providers and end-users. Without colluding, each ISP may selfishly set a high transit-price to cover its cost and maximize its own profit, which inevitably results in a loss in social profit. We model this noncooperative interaction between an "eyeball" ISP and a content ISP as a Stackelberg game and quantify the resulting loss in social profit. To recover the profit loss, we propose a revenue sharing contract between ISPs by modeling them as a supply chain to deliver traffic in a two-sided market. Parameterized by the profit division factor, the sharing contract coordinates ISPs' objectives such that they aim to maximize the social profit self-incentively. We further propose a Nash bargaining process to determine the profit division factor such that all ISPs are simultaneously better off compared to the noncooperative equilibrium.