a) MSS : As the name suggests it is "maximum segment size".. So the term "segment" is used in conjuction with the TCP entity..But it is actually a bit misnomer as it is concerned with payload part only.
In fact there is a 4 byte option of MSS in TCP header format out of which 2 bytes is there for telling the size of data allowed in 1 TCP segment i.e. MSS ..Hence maximum possible size = 65535 bytes..By default is 536 bytes.
1 TCP segment is = = 1 MSS + TCP header
b) For IP packet (or IP datagram ; remember that UDP which is a transport layer protocol is associated with datagram also as UDP is used for short message transfer ) :
If at all it comes from application layer , then as per as TCP / IP protocol stack , we have :
IP packet(for host to host or source to destination) = application layer message + TCP header + IP header
It is noteworthy that :
Application layer message is nothing but forms the payload(data) part of TCP segment..
c) For ethernet frame ( which is representative of data link layer ) :
Ethernet frame = IP packet + frame header (which is 18 bytes as per as IEEE 802.3 standard)
Answer to your last query :
Fragmentation can be done by source as well as intermediate routers in case of IPv4 but in case of IPv6 it is done only by the source and not by the intermediate routers..
Hope this helps..:)
Reference for MSS : https://tools.ietf.org/html/rfc879 [ Plz go through the 3rd heading under TCP MSS option ]