I have gone through the SITL architecture and I just want to cross check whether I understand it right or not?
There is a FDM which solves the 6 DOF equation of your model and it is connected to the Ardupilot Autopilot through UDP ports.
And The GCS is also connected to the Ardupilot Autopilot on the other hand through TCP serials to give the user input.
Now here how it works, if a user will give the input from the GCS and that input will be sent or communicated through TCP serial ports to the Ardupilot Autopilot firmware (Desktop executable).
On the basis of user input, the autopilot will take the decision and feed the response to the FDM or Simulation of your model through UDP port which can be visible by connecting the FDM to the 3d simulator (Flight gear) through again UDP.
So that’s what I understand from the architecture. Please tell me if I am wrong in something.
And one more thing this UDP & TCP protocol will be replaced by the Mavlink protocol in the case of real drone.