node는 아래 그림처럼 A,B,C라는 노드가 있을때 노드들은 서로 유기적으로 Message로 연결되어 사용
수행하고자 하는 task가 많아질수록 노드가 늘어나며 시스템을 확장시킬 수 있음

topic은 아래 그림의 node A - node B, noda A - node C처럼 비동기식 단방향 메시지 송수신 방식
메시지 형태의 메시지를 발송하는 Publisher와 메시지를 수신하는 Subcriber간의 통신으로 볼 수 있음
이는 1:N, N:1, N:N 통신도 가능하며 ROS에서 사용되는 통신 방법

service는 아래 그림의 node B - node C 처럼 동기식 양방향 메시지 송수신 방식으로 서비스 request하는 쪽을 service client라고 하며 서비스의 response 하는 쪽을 service server라고 함

action은 아래 그림의 node A - node B처럼 비동기식 + 동기식 양방향 메시지 송수신 방식으로 액션 Goal을 지정하는 action client와 액션 목표를 받아 특정 task를 수행하면서 중간 결과 값에 해당되는 action feedback과 최종 결과 값에 해당되는 action result를 전송하는 action server간의 통신임

parameter는 아래 그림의 각 노드에 파라미터 관련 server를 실행시켜 외부의 parameter client간의 통신으로 파라미터를 변경하는 것으로 서비스와 동일하다고 볼 수 있다.

# 터미널1
$ ros2 run turtlesim turtlesim_node
# 터미널2
$ros2 run turtlesim turtle_teleop_key
# 터미널 3
$rqt_graph

# 터미널 4
$ ros2 node list

# 터미널 5
$ ros2 run turtlesim turtlesim_node __node:=new_turtle

# 터미널 4
$ ros2 node list

새로운 turtle이 생겼음을 확인할 수 있음