According to me when PSH flag is set, it indicates that data will have to be sent immediately to the wire and on receiving side the data has to be pushed to the application immediately.
When URG flag is set it indicates that urgent data has to be sent immediately to wire from sender side and on receiving end the urgent data has to be sent immediately to application.
Urgent pointer in TCP segment is used to indicate that amount of urgent data present in TCP segment. So, for example, if the segment contained 400 bytes of urgent data followed by 200 bytes of regular data, the URG bit would be set and the Urgent Pointer field would have a value of 400.
The problem here is this: is urgent data is same as push data? If yes, then why are two different URG and PSH flag are used in TCP segment?
Please help me to clear my doubts in simple language. I am new to networking field and preparing for the CCNA exam.