[OSI 7 Layer] 전송계층 - TCP 프로토콜, UDP 프로토콜

2021. 3. 30. 03:58

* 아래의 책을 참고하여 공부한 내용입니다.

book.naver.com/bookdb/book_detail.nhn?bid=15813735

 

네트워크 공격패킷 분석

보안 관제, 보안 담당자, 보안 분석가 등 보안 현업에 종사하는 실무자를 위한 패킷 분석 기술서이다. 포트 스캔, DDoS 공격, 웹 해킹, 악성 코드 트래픽, 무선랜 해킹, 시스템 취약점 공격, 대용량

book.naver.com


전송계층

네트워크 통신의 양 끝단의 사용자들이 서로 신뢰성 있는 데이터를 주고받도록 하며, 상위 계층의 데이터 전달에 대해 유효성과 효율성을 보장해주는 계층이다. 이 계층에서는 패킷 내용의 유효성을 파악하고 전송 실패된 패킷들을 재전송하며 유효성을 제어한다.

 

전송 계층의 프로토콜은 신뢰성이 보장되는 TCP 프로토콜과 신뢰성이 보장되지 않는 UDP 프로토콜로 나뉜다.

 


TCP 프로토콜

상대방에게 데이터를 정확하게 전달하고 신뢰성이 높은 프로토콜이다. 크게 3가지의 절차로 데이터를 전달한다.

TCP 프로토콜은 신뢰성이 요구되는 E-메일이나 인터넷뱅킹 등의 서비스에 활용된다.

 

1) 통신시작 (세션연결)

- 3-way-handshake를 통해 클라이언트와 서버 간에 요청을 확인하고 승낙하는 작업을 거친다.

3-way-handshake

 

 

2) 데이터 송수신

- 사용자는 홈페이지 초기 파일을 요청하고, 웹 서버는 사용자에게 요청한 초기 파일을 전달한다.

 

3) 통신종료 (세션종료)

- 4-way-handshake를 통해 통신 해제 요청(FIN-ACK)을 하고 상호 합의하에 통신을 종료한다. 이 때 포트에 고유 번호를 할당하여 어떤 서비스에 사용할지 결정하는데, 각 서비스마다 포트번호는 다음과 같다.

- HTTP(80), HTTPS(443), SSH(22), TELNET(23), DNS(53) 등

4-way-handshake

 


TCP 헤더

TCP 헤더는 이더넷 헤더와 IP 헤더 다음에 따라 붙으며, 구조는 아래의 그림과 같다.

 

 


UDP 프로토콜

UDP 프로토콜은 TCP 프로토콜에 비해 헤더 정보가 단순하고, 속도도 빠르지만 데이터 전달에만 목적이 있기 때문에 신뢰성이 보장되지 않는다. 그래서 상대방의 준비 상태나 정상 수신 여부는 관심이 없다. 일부 데이터가 손상되어도 크게 영향을 받지 않는 서비스인 실시간 인터넷방송, 인터넷 전화 등의 서비스에 사용되고 있다. UDP 프로토콜 역시 3가지의 절차로 데이터가 전달된다.

 

1) 데이터 정상 전달

- TCP 프로토콜과 달리 세션을 연결하지 않고 클라이언트에서 서버로 데이터를 전송한다.

 

2) 데이터 손실 발생

- 데이터를 전달하다가 손실이 발생해도 해당 데이터를 폐기할 뿐 다시 요청하지 않는다.

 

3) 잘못된 포트로 UDP 접속 시도

만일 대상 서버가 제공하지 않는 포트로 접속을 시도하면 UDP 프로토콜 자체에서는 에러처리 기능이 없기 때문에 ICMP 메시지를 전달하여 접근이 불가능함을 알린다. 또한 목적지 도달 불가(Port unreachable) 메시지를 상대방에게 전달한다.

 


UDP 헤더

UDP 헤더 역시 이더넷 헤더와 IP 헤더 다음에 붙으며, 구조는 아래 그림과 같다.

 

BELATED ARTICLES

more