@Arjun Sir, @Bikram Sir,
Could you please check if the below explanation satisfies.
Slightly different opinion. The difference b/w slow increase and Additive increase. is such that-
Let's say at sender window(cwnd) is having x segments.(n1,n2,n3...nx). Mark this window as wi.
size of wi is x number of segments=n1+n2+n3.....+nx
In case of Slow increase , when the ack for n1 received by Sender after RTT, then cwnd=x+1. Then when ack received for n2, then cwnd=(x+1 MSS)+1MSS..and so on. So when the last ack such as ni would be received, then cwnd=((((x+1MSS)+1MSS)+1MSS)+1MSS)+1MSS....x times=x+x=2x.
When window wi starts it's transmission of it's frame, then it was x. And when all the acks are received for window(wi), then cwnd becomes 2x.
However for additive increase(taking the same example) cwnd size doesn't increase after every ack . Instead of that when all the segments of window(wi) are sent and their acks are received , such that the last ack nx is received , it confirms that all the segments of entire window(wi) are acked. Then cwnd= cwnd+1MSS.
In this case, the sshthresh= 12000/2=6000 bytes=3segments
1MSS=2000 bytes=1 segment
Present window size(cwnd)wi=4000 bytes=2 segments (name them as seg-p ,seg-q)
At the moment we are in slow start phase.
seg-p sent and it's ack received by sender. So cwnd= cwnd+1 MSS =2+1 segments= 3 segmemts. Now it has reached sshthresh.
So now additive increase starts and from wi , still seg-q is left. Send the seg-q and receive the ack for seg-q.
So all the segments for window (wi) are received. So cwnd=cwnd+1 MSS=3+1=4 segments=8000 bytes.