after(ack, tp->snd_nxt)
TCP除了主动发起连接的第一个SYN包,ACK=0,其它所有TCP包都设置ACK= 1 标志位。
接到对方数据,如果没有数据要发送,需要用一个ACK确认对方,如果ACK丢,不会为ACK重传。
如果有数据要发送,顺便捎带ACK,确认对方的数据,如果数据丢,会重传数据,所以ACK就是一个跟随者。
路由器就会检查外部接口入方向的TCP segment:ACK == 0,说明外部主动发起的连接,丢弃。
ACK == 1,内部主机发起的连接,允许通行。