I don't know that this is fully correct but coming from the text and some online sources I found the following.
Link layer
- Deal with transmission related errors
- Regulate the flow of data
- Provide well-defined interfaces for use in the network layer
Network layer
- Provide means for transmitting varying sizes of packets from source to destination
- Respond to requests from the transport layer to issue requests to the link layer
- Logical addressing and routing
Transport layer
- Allow multiple applications to receive their respective data via ports and filtering
- Keep order of packets being transmitted and re-sending transmission failures (Not UDP though)
- Uses segmentation and flow/error control to ensure proper data transmission