네트워크에서 통신이 일어나는 과정을 7단계로 표현한 OSI 7계층이다.
이중에서 4계층인 전송계층에서는 다음과 같은 특징을 가지고 있다.
-segment 단위
-최종 목적지로 데이터 전송
-TCP, UDP 프로토콜을 통해 통신 활성화
- 장비 : Gateway
이러한 4계층에서 사용되는 TCP 와 UDP 프로토콜에 대해 알아 볼 것이다.
TCP
Transmission Control Protocol 로 전송제어규약 이라는 뜻이다 .
TCP와 IP 가 사용될때 IP는 데이터를 전송하는 것을 처리 한다면 TCP는 패킷을 추적과 관리를 하게 된다.
추적 과 관리는 쪼개진 각 패킷들을 전송을 할때 순서를 지정해 두고(checksum) 목적지에서 순서에 맞게 다시 조립을 하는데
이러한 과정으로 중간에 유실된 패킷을 확인 할 수 있다.
패킷을 목적지로 전송하기 위해 논리적인 경로를 배정하는 것을 연결 지향 방식이라고 하는데
TCP는 연결지향 방식으로 신뢰성을 보장 하는 연결형 서비스 이다.
연결지향 방식을 위해 3-way-handshaking 과정으로 연결을 설정하고 4-way handshaking으로 해제를 한다.
https://adm1n1.tistory.com/71 ( <- 3 way handshaking에 관한 내용)
그래서 이러한 연결 과정으로 인해 UDP에 비해 속도가 느린 편이다.
HTTP, 이메일 , 파일 전송에 주로 많이들 쓰인다.
[ tcp 특징 ]
-연결 지향 방식
- 3-way handshaking으로 연결 4-way handshaking으로 해제
-높은 신뢰성
-순서 보장
- UDP 보다는 속도 느림
-흐름 제어( 데이터 처리 속도 조절, 수신자의 버퍼 오버플로우 방지)
-혼잡 제어(네트워크 내의 패킷 수가 넘치지 않도록 방지 )
-전이중(Full-duplex), 점대점(point to point) 방식
[TCP 서버 특징 ]
- 서버 소켓은 연결만을 담당
- 연결과정에서 반환된 클라이언트 소켓은 데이터의 송수신에 사용
- 서버와 클라이언트는 1대 1로 연결
- 스트림 전송으로 전송 데이터의 크기가 무제한이다
-패킷에 대한 응답을 해야하기 때문에 성능이 낮다
- 빠른 속도가 필요한 서비스 예를 들어 인터넷 생방송(Steaming) 서비스에서는 불리 하다.
UDP
User Datagram Protocol의 약자로 사용자 데이터그램 구약이라는 뜻이다.
데이터 그램이란 독립적인 관계를 지닌 패킷이다.
TCP와는 다르게 비연결형 프로토콜로 3-way handshaking, 4-way handshaking의 과정없이 일반적으로
목적지에 데이터를 전송을 한다. 덕분에 신뢰성이 낮고 재조립을 하는 과정이 없다.
그 대신 속도가 TCP가 빠르며 네트워크 부하가 적다 .
[UDP 특징]
-비연결형 서비스
- 연결 설정, 패킷 재조립 하는 과정이 없음
-흐름 제어 , 혼잡 제어 기능 없음
- 속도가 TCP에 비해 빠름
- 네트워크 부하가 적음
[UDP 서버의 특징]
-UDP에는 연결 자체가 없어서 서버 소켓과 클라이언트 소켓에 구분이 없음
- 소켓 대신 IP 기반으로 데이터 전송
-서버와 클라이언트는 1대 1 (Broadcast), 1대 N (Broadcast) , N대 M (Multicast) 등으로 다양하게 연결될수 있음
-데이터그램 단위로 전송되며 65535 바이트로 제한이 있으며 그 이상 데이터그램은 쪼개서 보낸다
-신뢰성이 높은 서비스 보다는 성능이 중요시 되는 서비스에 주로 이용
참고
https://mangkyu.tistory.com/15
https://velog.io/@hidaehyunlee/TCP-%EC%99%80-UDP-%EC%9D%98-%EC%B0%A8%EC%9D%B4
'보안 > 기초' 카테고리의 다른 글
blind SQL injection (1) | 2024.01.14 |
---|---|
Error based SQL injection (0) | 2024.01.13 |
Bind shell 과 Reverse shell (0) | 2023.10.24 |
3 way handshake 와 nmap으로 실습! (1) | 2023.10.11 |
bruteforce란 무엇이고 파이썬으로 구현 해보자! (0) | 2023.06.13 |