리오집사의 기억저장소

트랜스포트 계층

컴퓨터 안까지 들어온 데이터를 각 프로그램가지 전달하는 역할을 한다.

여러 기기로부터 받은 데이터는 트랜스포트 계층에서 포트 번호를 기준으로 분류되어, 애플리케이션 계층에 전달된다.

애플리케이션 계층에는 다양한 프로토콜이 있었지만, 트랜스포트 계층의 대표적인 프로토콜은 TCP와 UDP 두 가지가 존재한다.

TCP : 웹, 이메일과 같이 데이터가 정확하게 전달되어야 하는 통신에 사용 

-> 수신지에 데이터가 정확하게 전달되도록 전송 속도 조절, 도달하지 않은 데이터 재전송


UDP : Voip, 동영상 스트리밍과 같이 빠르게 전달해야 하는 통신에 사용

-> 동영상 스트리밍 등 실시간 통신이나 전송 속도가 중요한 통신에 사용


트랜스포트 계층의 역할

-애플리케이션 계층과 인터넷 계층 사이에 위치

-인터넷 계층 : 데이터를 수신지 컴퓨터까지 전달

-트랜포트 계층 : 컴퓨터가 받은 데이터를 애플리케이션까지 전달(이 때, 애프리케이션의 구분은 포트 번호로 한다.)




포트 번호

트랜스포트 계층에는 인터넷 계층에서 전달한 다양한 종류 패킷이 들어온다.

이 패킷들은 애플리케이션 계층에 있는 각각의 애플리케이션들에게 전달되며, 이 때 포트 번호를 통해 어느 애플리케이션으로 보내져야 할지 결정된다.

포트 번호의 범위 : 0번지~65535번지.

-> Well-known ports(웰 노운 포트) : 0~1023번. 서버 프로그램이 수신 대기할 때 사용하는 포트. 애플리케이션 계층에서 가장 많이 사용됨.

-> Registered ports(레지스터드 포트) : 1024~49151번.  벤더가 할당받아 사용하는 포트

-> Dynamic ports(다이내믹 포트) : 49152~65535번. 클라이언트 프로그램이 사용하는 포트. 클라이언트는 그때그때 비어있는 포트번호를 할당받아 사용하기 때문에, 매번 다르다.

주요 Well-known ports

포트 번호

프로토콜 

20

 FTP (액티브 모드에서는 데이터 커넥션, 패시브 모드에서는 랜덤 포트를 사용)

21

 FTP (컨트롤 커넥션) 

22

 SSH (원격 제어. 보안 기능 있음) 

23

 Telnet (원격 제어) 

25

 SMTP (이메일 전송)

80

 HTTP (웹)

110

 POP3 (이메일 수신) 




클라이언트와 서버의 접속 과정

클라이언트와 서버가 서로 통신하기 위해 [클라이언트가 사용할 포트 결정] ----->  [서버의 포트에 접속]



서버의 클라이언트 식별 방법

서버 측 포트 번호는 고정되어 있기 때문에, 여러 클라이언트에서 서버의 포트로 요청이 몰릴 수 있다.

즉, 서버는 같은 포트를 사용하는 반면, 접속을 요청한 클라이언트는 서로 다른 IP 어드레스와 포트 번호를 사용한다.

서버는 클라이언트의 [IP 어드레스 + 포트 번호]를 조합하여 클라이언트를 식별하기 때문에, 여러 클라이언트와 통신해도 혼선이 발생하지 않는다.

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band