티스토리 뷰
네트워크
- 컴퓨터, 스마트폰, 서버 등 다양한 디바이스들이 서로 연결되어 정보를 공유할 수 있는 구조.
- 현재의 IP 기반의 네트워크는 미 국방성에서 1969년 진행했던 아르파넷(ARPANET) 프로젝트에서 시작되었고, 기존에 사용되었던 회선교환 방식이 아닌 패킷교환 방식으로 네트워크를 구축하였습니다.
- 패킷교환은 패킷이라는 단위로 데이터를 잘게 나누어 전송하는 방식으로, 빠르고 효율적으로 데이터를 전송이 가능하였습니다.
- 이때 패킷의 출발지와 목적지의 정보를 IP(인터넷 프로토콜) 주소라는 특정한 숫자값으로 표기하게 되었습니다.
IP/IP 패킷
- IP는 컴퓨터에 부여되는 일종의 주소로, 지정한 IP 주소에 패킷이라는 통신 단위로 데이터 전달을 합니다.
- 패킷 단위로 전송을 하면 노드들은 목적지 IP에 도달하기 위해 서로 데이터를 전달합니다.
- 이때 데이터를 받은 서버 역시 IP 패킷을 이용해 클라이언트에 무사히 데이터를 전송받다는 응답을 전달합니다.
- 그러나 받을 대상이 없거나 서비스 불능 상태여도 전송하는 비연결성과 데이터 전송 중 일부가 소실되어도 알 수 없는 비신뢰성의 문제가 존재합니다.
- 또한 패킷 단위로 데이터를 나눠서 전달하게 될 때, 의도하지 않은 순서로 패킷들이 전달될 수 있습니다.
- 이런 한계를 해결하기 위해 TCP와 UDP를 사용합니다.
TCP, UDP
- TCP, UDP는 네트워크 프로토콜 계층보다 높은 계층인 전송계층에서 존재하기에 IP 프로토콜의 한계를 보완할 수 있습니다.
- TCP는 Transmission Control Protoco의 약자로, UDP보다 신뢰성 있는 연결 지향형 프로토콜입니다.
- 데이터를 전송하기 전에 연결 설정을 거치고, 데이터 전송 중에도 오류 검출 및 복구, 순서 제어 등을 수행하여 데이터의 안정성을 보장합니다.
- TCP는 3-way handshake 방식을 사용하는데, 클라이언트가 서버에게 SYN 패킷을 보내면 서버는 SYN-ACK 패킷으로 응답하고 클라이언트는 다시 ACK 패킷으로 응답하여 연결을 설정합니다.
- 이후 데이터 전송을 시작하고, 데이터가 정상적으로 도착하지 않거나 손실되었을 경우, 재전송을 수행합니다.
- TCP는 이를 통해 비연결성을 해결할 수 있지만, 속도가 느리기에 실시간 전송에 적합하지 않습니다.
- UDP는 User Datagram Protocol의 약자로, TCP에 비해 단순한 비연결지향형 프로토콜입니다.
- TCP와 달리 3 way handshake 방식을 사용하지 않기 때문에 신뢰성은 낮지만 TCP보다 비교해 빠른 속도를 보장합니다.
- 이 때문에 빠른 전송이 필요하고, 데이터의 순서가 중요하지 않은 실시간 통신에 유리합니다.
'컴퓨터 공학 및 알고리즘' 카테고리의 다른 글
HTTP (0) | 2023.05.01 |
---|---|
네트워크 계층 모델 (0) | 2023.05.01 |
재업) 스코프와 클로저 (0) | 2023.04.24 |
UI/UX (1) | 2023.04.13 |
재귀 (0) | 2023.04.11 |
댓글