오늘 하루, develop

#11. [4계층] 포트번호의 개념, 분류, 확인 방법 본문

네트워크

#11. [4계층] 포트번호의 개념, 분류, 확인 방법

toZoe 2024. 5. 7. 20:24

 소개

3계층을 통해 통신하고 싶은 컴퓨터에는 도착했다!

이제 4계층을 통해 컴퓨터의 여러 프로그램 중 어떤 프로그램과 통신할 것인지에 대해 알아보자 :)


4계층 전송계층

  • 전송계층은 송신자의 프로세스와 수신자의 프로세스를 연결하는 통신 서비스를 제공한다.
  • 전송 계층은 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 그리고 다중화와 같은 편리한 서비스를 제공한다.
  • 전송 프로토콜 중 가장 잘 알려진 것은 연결 지향 전송 방식을 사용하는 전송 제어 프로토콜(TCP)이다.
  • 보다 단순한 전송에 사용되는 사용자 데이터그램 프로토콜(UDP)도 있다.

 

- TCP

연결 지향형 프로토콜

 

- UDP

비연결 지향형 프로토콜

 

포트 번호

4계층에서 사용하는 주소

  • 특정 프로세스와 특정 프로세스가 통신을 하기 위해 사용한다.
  • 하나의 포트는 하나의 프로세스만 사용 가능하다.
  • 하나의 프로세스가 여러 개의 포트를 사용하는 것은 가능하다.
  • 포트 번호는 일반적으로 정해져 있지만 무조건 지켜야 하는 것은 아니다.
  • 예를 들어 일반적으로 웹 서비스는 80번 포트를 사용하지만 웹 서비스가 항상 80번 포트를 사용해야만 하는 것은 아니다.

 

- 분류

Well-Known 포트

Registered 포트

  • Well-Known 포트까진 아니지만 어느 정도 알려짐

 

Dynamic 포트

  • 일반 사용자들이 사용

 

 

 

✔ 윈도우에서 포로그램 연결 정보 확인

netstat -ano

인터넷 접속 후 외부 서버 443와 통신 중인 PID 확인 -> 크롬!

 


✅ https는 443번 포트를 쓴다. 그렇다면 https://naver.com:8080 이라고 치면 443번 포트로 가는걸까, 8080번 포트로 가는 걸까?

일반적으로 HTTPS는 443번 포트를 사용하지만 URL에 포트가 명시적으로 지정되어 있다면 해당 포트로 연결을 시도한다. 즉, https://naver.com:8080"이라고 입력하면 8080번 포트로 연결을 시도한다. 네이버 서버의 웹 서비스는 443 포트를 사용하므로 연결이 되지 않는다.
일반 사용자는 http 또는 https로 늘 접근을 하기 때문에 모든 웹 서비스가 80 또는 443 포트를 사용하는 것이지, 80,443 포트를 반드시 써야 하는 것이 아니다. (다른 포트를 사용해도 된다.)

 


출처

https://youtu.be/Qqmwm3rFihk?si=Gdv0f4rGRPP3W3C4

https://youtu.be/Jb7tCFp-udM?si=yDuP6efySin0U38o

https://youtu.be/tG0ldt4sBzY?si=14hpr7LP5tstBIqW