[질문] NTP TimeServer 너무 어렵고 이상하네요 ㅠ_ㅠ

minamolo의 이미지

- NTP에서 Port를 변경할 수 없다는 답변을 들었는데

1. ntpdate -u time.kriss.re.kr 이렇게 시도를 하게 되면 다른 아무 포트로 자동으로 연결이 되는 것인지요?

2. 만약 NTP Server 에서 다른 124 Port가 열려 있다면, /etc/services 파일의 npt 항목의 udp의 Port 번호를 변경 해주면 그 포트로 연결이 되는지 궁금 합니다.
(Port 번호를 변경 하고 ntpdate -d 로 시도 해보면 포트가 변경 된것 처럼 보이던데)

3. 그렇다면 NTP는 TCP로는 불가능 한것인지요?

제가 공부한 찾아본 내용이 막 뒤섞여서 질문이 많고 정리가 덜된것 같아서 죄송합니다.
아시는 분있으시면 자세한 설명 좀 부탁 드릴게요 (__)

rhheo의 이미지

port에 대해서 이해 하셔야겠네요.

일반적으로 하나의 컴터(실제로는 네트웍카드 하나)에 하나의 아이피를
지정할 수 있습니다.

그 컴터 안에는 여러가지 프로그램들이 동시에 실행됩니다.
port란 그 프로그램들을 구분하기 위해서 고안된 개념입니다.
몇 번 포트는 무슨 프로그램이다라고 연결(bind)해 두는 겁니다.
그 중에 ntp서버가 있겠죠.
ntp는 UDP 123번 포트로 데이터가 들어 오기를 기다리고 있습니다.
표준으로 123번이라고 제정되어 있습니다.
포트를 변경할 수 없다는 말은 123에서 다른 포트로 바꿀 수가 없다는 말입니다.
하지만 다른 서버 프로그램들(웹 서버 프로그램 같은거)은
표준이외의 포트로 변경 할 수 있습니다.(웹 서버는 80번입니다)
그럴려면 접속하려는 사람이 그 포트가 몇번인지 미리 알고 있어야 합니다.

ntp서버가 하는 일은
네트웍로 다른 컴터가 시간을 물어 보면 그 시간을 답해 주는 일입니다.
한 번에 처리가 끝나고 데이터의 순서가 중요하지 않기 때문에
UDP전송방식으로 사용합니다.
TCP정송방식은 좀 더 복잡한 작동이 필요할 때 사용하는 방식입니다.

UDP의 경우 접속을 유지하지 않기 때문에
데이터를 받기 위해서
별도의 포트를 열어 두어야 합니다.
ntpdate의 경우
시간을 물어 보기 위해 서버의 UDP 123번으로 데이터를 보내고
데이터를 받기 위해 임의 포트를 열어 둡니다.
(포트 번호도 보내게 됩니다.)
ntp서버는 위의 임의의 포트로 응답을 보내게 됩니다.

문제는 1024이하의 포트번호는 서버용으로 많이 사용하기 때문에
root유저가 아니면 데이터 받기용으로 열 수가 없습니다.

그리고 방화벽에서 1024이하의 포트로 들어오는 데이터를
막아 두는 경우도 많기 때문에
데이터를 받을 수 없는 경우가 생길 수 있습니다.

그래서 ntpdate명령에 -u옵션으로 1024이상의 포트로
데이터를 받도록 정의하는 것입니다.

/etc/services
파일은 "몇번 포트는 무슨 서비스다"를 정의하는 파일입니다.
포트번호만으로는 사람이 읽기 불편하기 때문에
포트번호 대신에 이 파일을 참고해서 이름으로 변환해서 보여주기용 등으로 사용됩니다.
그 이외에는 아무 효과도 없습니다.
(inetd에서 포트 매칭용으로 사용하는가 보군요)

1:아니요 utp 123으로 시간을 물어보는 데이터를 보냅니다. (접속개념이 없음)
대신에 자신의 포트번호를 1024보다 높은 번호로 정의합니다.
2:아니요 결과는 동일합니다.
3:TCP로는 불가능합니다. (서버가 udp포트를 열어 놓았으므로)

이상 답변이 되셨으면 합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.