Segmentation is the term used to describe the process of chopping streams of data into smaller chunks. Segmentation usually occurs fairly early in the communication process and it is almost always software that performs the segmentation process. The segmentation process is performed prior to transfer of data across a network or before storage on a peripheral device. Segmentation is necessary because today's communication systems use what is called packetized communication.
Chopping the data into segments has several advantages. Once segmented, the segments are referred to individually as protocol data units. These PDU's are encapsulated into packets. Packets can be sent along more than one path to the destination. This increases both the reliability, and the speed at which data can travel across a network. Packets can travel across a packet switched network without tieing up a communications circuit expressly for that purpose. Multiple conversations between different parties can therefore share a single communications link. If any single packet is lost, it can be retransmitted instead of having to start the entire conversation all over again.
An example of segmentation would be when Transmission Control Protocol (TCP of TCP/IP fame) chops an e-mail into a segments, encapsulates the segment with remote and local TCP port numbers and then delivers the completed protocol data unit is passed from TCP to Internet Protocol (IP) to be stamped with a sequence number, source and destination addresses added and a checksum calculated.
Fragmentation is the process of chopping larger chunks of data into smaller chunks. Fragmentation is usually performed at the hardware level, and when data is chopped into fragments, it is referred to as a frame. Fragmentation occurrs so that data can be transmitted across a connection without overwhelming the memory buffers on either side of the connection. Fragmentation allows for the coordination of data transmission amongst devices connected to a common transmission medium.
Reassembly is the reverse of segmentation. Protocol Data Units are put back together in the correct order to reassemble a stream of data in its original form.