Reliability of data transmission in a network is highly dependent on the functioning of its transport layer protocol. When a host sending data to another host is not aware of the capacity of the receiving end or the network, it would result in either underutilizing or overwhelming the network nodes and/or the destination. Transport layer protocols, like TCP, are responsible for end-to-end reliable delivery, while making optimum use of the available network resources.This thesis deals with the study and implementation of transport layer protocols for wireless networks, in discrete event network simulator NS-3. Two of the most widely used protocols at transport layer are the transport control protocol (TCP) and user datagram protocol (UDP). TCP was designed mainly for reliable end-to-end transmission in wired networks based on the acknowledgement-clocking mechanism. Now the mobile wireless based streaming applications have become mainstream, which require a reliable transport layer protocol. Using the basic TCP encounters, many challenges as the characteristics of the wireless networks are different from that of the wired. Unlike wired networks, the wireless networks have limited bandwidth, dynamic network topology, and error-prone channels that are shared by multiple users, giving rise to more errors and uncertainties. Therefore, suitable modifications are required in TCP for it to work well in wireless networks. In this thesis, two of the most widely used TCP variants (TCP New Reno and TCP Westwood) are studied for wireless networks. This thesis also describes various NS-3 modules and concepts at deeper level, concentrating on design and implementation of TCP variants. NS-3 network simulator gives its users an ability to develop scenarios, which are comparable to real life networks. It also provides features to design the nodes that are similar to a host in a real network.