UDP와 데이터그램 통신
PART 02에서 우리는 TCP의 든든함을 누렸습니다. 보낸 것은 순서대로 빠짐없이 도착했고, 연결은 정중하게 맺어지고 끊어졌습니다. 그런데 그 든든함에는 대가가 있습니다. 연결을 맺는 데 시간이 걸리고, 순서와 도착을 보장하느라 그만큼 무겁습니다.
세상에는 그 든든함을 기꺼이 포기하는 대신 가볍고 빠른 길을 택하는 통신도 있습니다. 바로 UDP입니다. 이 PART에서는 TCP를 버리면 무엇이 남는지부터 살펴봅니다. UDP는 무엇을 보장하지 않는지, 그럼에도 왜 쓰는지를 이해한 뒤, UDP 서버와 클라이언트를 만들어 봅니다. 그다음 UDP가 버린 신뢰성을 우리 손으로 다시 더해 보며, 결국 TCP가 왜 그렇게 만들어졌는지를 몸으로 깨닫습니다. 이어서 한 번에 여러 상대에게 뿌리는 브로드캐스트와 멀티캐스트를 다루고, 마지막으로 여러 센서가 데이터를 쏘아 보내는 실시간 수집기를 만듭니다.
UDP를 배우고 나면 TCP를 더 깊이 이해하게 됩니다. 두 프로토콜은 같은 질문에 대한 정반대의 답이기 때문입니다.