CS/네트워크
포트 번호의 구조
amungstudy
2024. 5. 17. 15:15
모두의 네트워크 책을 읽고 정리하고 있다.
오늘은 포트 번호의 구조에 대해 알아보자
OSI 모델 4계층인 전송계층의 기능
- 오류를 점검하는 기능. 오류가 발생하면 데이터를 재전송하도록 요청한다(연결 확립,재전송 제어,윈도우 제어)
- 전송된 데이터의 목적지가 어떤 애플리케이션인지 식별하는 기능
여기서 2번째 기능을 위해 포트번호를 활용한다. TCP헤더의 포트 번호를 사용해서 통신시 목적지 애플리케이션을 구분할 수 있다.
TCP헤더
TCP 헤더를 간단히 살펴보자면... 그림에는 영어가 많아서 한글로 적어보겠다.
- 발신지 포트 번호, 목적지 포트 번호
- 일련번호(32비트)
- 확인 응답 번호(32비트)
- 헤더길이(4비트), 예약 영역(6비트), 코드비트(6비트), 윈도우 크기(16비트)
- 체크섬(16비트), 긴급 포인터(16비트)
- 옵션
포트 번호의 특징
그럼 본격적으로 포트 번호에 대해 알아보자
포트 번호는 어떤 애플리케이션인지 구분하는 역할을 한다. TCP 통신 시 포트 번호로 애플리케이션을 확인할 수 있다.
포트번호는 0~65535번을 사용할 수 있다.
Port number | 특징 |
0 ~ 1023 | well-known ports. 주요 프로토콜이 사용하도록 예약되어있다. 일반적으로 사용하는 서버 측 애플리케이션에서 사용된다 |
1024 | 예약되어 있지만 사용되지 않는 포트 |
1025 ~ 65535 | random port. 클라이언트 측의 송신 포트로 사용된다 |
참고로 웹 브라우저로 접속할 때 웹 브라우저에는 임의의 포트가 자동으로 할당된다.
따라서 클라이언트 측은 포트번호를 따로 지정하지 않아도 된다.
주요 애플리케이션과 포트번호
애플리케이션 | 포트 번호 |
SSH | 22 |
SMTP | 25 |
DNS | 53 |
HTTP | 80 |
POP3 | 110 |
HTTPS | 443 |
* SSH는 원격 호스트에 접속할 때 사용하는 보안 프로토콜이다
* SMTP는 메일 발신 시 사용
* POP3은 메일을 수신할 때 사용한다
참조 : <모두의 네트워크> - 미즈구치 카츠야