6.4.3 하나의 통신에 두 개 이상의 세션이 사용될 때의 고려사항
현대 프로토콜은 하나의 통신을 위해 한 개의 세션만 사용하는 경우가 대부분이지만 특별한 목적으로 두 개 이상의 세션을 만드는 경우가 있습니다. 이때 서로 다른 두 세션이 하나의 통신을 위해 사용하고 있다는 것을 네트워크 통신 중간에 놓인 세션 장비도 파악해야 합니다. 두 통신 중 한쪽 세션이 끊겨 있거나 세션 장비의 세션 테이블에서 삭제되면 단방향 통신만 가능하거나 통신하지 못할 수 있습니다. 이런 경우 통신에 문제가 있음을 쉽게 파악하지 못하는 경우가 많아 장애가 길어질 수 있으니 더 주의해야 합니다.
프로토콜은 데이터 프로토콜과 컨트롤 프로토콜로 구분할 수 있습니다. 데이터 프로토콜은 데이터를 실어 나르고 컨트롤 프로토콜은 데이터가 잘 전송되도록 세션을 제어합니다. 현대 프로토콜들은 대부분 컨트롤 프로토콜 기능과 데이터 프로토콜 기능을 하나의 프로토콜에서 헤더나 별도 메시지로 해결하지만 특별한 목적이 있거나 오래된 프로토콜은 두 개의 프로토콜이 분리된 경우가 있습니다. 가장 대표적인 프로토콜이 FTP(File Transfer Protocol)입니다. FTP는 컨트롤 프로토콜과 데이터 프로토콜이 완전히 분리되어 있고 통신 방법이 다른 두 가지 모드를 가지고 있습니다.
▲ 그림 6-19 컨트롤 프로토콜과 데이터 프로토콜이 다른 경우의 고려사항