UDP ASSOCIATE
Запрос UDP ASSOCIATE используется для установления соединения посылающим UDP-сообщения процессом. Поля DST.ADDR и DST.PORT содержат адрес и порт, на который клиент собирается слать UDP-датаграммы после установки соединения. Сервер может использовать эту информацию в целях ограничения доступа. Если клиент не располагает информацией об адресе на момент запроса UDP ASSOCIATE, то клиент должен заполнить нулями номер порта и адреса.
UDP-связь обрывается, когда обрывается TCP-соединение выполнившее запрос UDP ASSOCIATE.
В ответе на запрос UDP ASSOCIATE, поля BND.PORT и BND.ADDR определяют порт и адрес, куда клиент должен слать UDP-датаграмы для пересылки.
Обработка ответов
Когда приходит ответ с сообщением о неудаче (значение REP не равно X'00'), то SOCKS сервер должен оборвать TCP-соединение вскоре после посылки ответа. Это должно произойти не более чем спустя 10 секунд после определения причин вызвавших неудачу.
При получении ответа с сообщением об удаче (значение REP равно X'00'), если запросом был BIND или CONNECT, то клиент может начинать передавать данные. Если выбранная схема аутентификации требует особое формирование пакетов с целью проверки целостности и/или конфедициальности, данные должны инкапсулироваться в пакет, формат которого определяется выбранным методом. Подобно этому, когда данные для клиента получаются SOCKS-сервером, сервер должен инкапсулировать данные согласно тому, как это требует выбранный метод аутентификации.