En cuanto a la parte 1, descripción general super general:
El control de flujo está controlado por el lado receptor. Asegura que el remitente solo envíe lo que el receptor pueda manejar. Piense en una situación en la que alguien con una conexión de fibra rápida podría estar enviando mensajes a alguien por marcación o algo similar. El remitente tendría la capacidad de enviar paquetes muy rápidamente, pero eso sería inútil para el receptor en el acceso telefónico, por lo que necesitaría una forma de limitar lo que el lado remitente puede enviar. El control de flujo se ocupa de los mecanismos disponibles para garantizar que esta comunicación se desarrolle sin problemas.
El control de la congestión es un método para garantizar que todos en una red tengan una cantidad "justa" de acceso a los recursos de la red, en cualquier momento. En un entorno de red mixta, todos deben poder asumir el mismo nivel general de rendimiento. Un escenario común para ayudar a comprender esto es una LAN de oficina. Tiene varios segmentos de LAN en una oficina, todos haciendo lo suyo dentro de la LAN, pero luego es posible que todos necesiten salir a través de un enlace WAN que sea más lento que los segmentos de LAN constituyentes. Imagínese tener conexiones de 100 MB dentro de la LAN que finalmente salen a través de un enlace WAN de 5 MB. Es necesario que exista algún tipo de control de congestión allí para garantizar que no haya problemas en toda la red.
En cuanto a la parte 2:
Si esta es una pregunta de preparación para la entrevista, como dijo anteriormente, consideraría tomarme un tiempo para leer sobre TCP / IP en general. No uses Wikipedia. RTFM! Vale mucho la pena su tiempo. Se podría argumentar que este es el protocolo más importante que soporta la mayor parte de la Internet moderna.
Cosas para leer sobre el control de flujo: detener y esperar, ventana deslizante, marcos de PAUSA.
Cosas para leer sobre el control de congestión: QoS (calidad de servicio), políticas de retransmisión, políticas de ventanas.
Más allá de eso, puede buscar implementaciones de cualquier proveedor en particular (Cisco, etc.)