TCP / IP
이전 글에서 다룬 OSI 7계층은 데이터 표준을 정리한 이론적인 모델이다. 하지만 개념적인 모델이고, 계층 구조가 매우 복잡하고 구체적으로 정의되어 있는 등 실제 적용이 어려워 현재에는 인터넷 표준 TCP/IP 모델이 네트워크 통신에서 가장 많이 사용되고 있다.
패킷 (Packet)
- 데이터 통신에서 전송되는 데이터의 작은 조각이다.
- 라우터나 스위치 등의 네트워크 장비를 통해 전송된다.
- 전송되는 데이터의 크기가 큰 경우에 이를 여러 개의 작은 조각으로 분할하여 전송하는 방식으로 사용되어 전체 데이터를 한 번에 전송하는 것보다 안정적이고 빠른 전송을 가능하게 한다.
- 일반적으로 헤더와 데이터로 구성되어 있습니다. 헤더는 패킷의 출발지와 목적지를 식별하고, 패킷의 크기, 우선순위 등의 정보,데이터는 전송되는 실제 데이터를 담고있다.
- 라우터 등의 네트워크 장비를 통해 전송되며, 이 과정에서 패킷의 헤더는 수정이 가능하다. 라우터는 패킷의 출발지와 목적지를 기반으로 최적의 경로를 선택하고, 패킷을 다음 네트워크로 전송한다. 그러므로서 패킷은 목적지에 안정적이고 빠르게 전송된다.
TCP
TCP는 연결 지향적이고 신뢰성 있는 데이터 전송을 담당하는 프로토콜로, TCP는 데이터를 패킷으로 나누어 전송하며 패킷을 전송할 때는 목적지 IP 주소와 포트 번호를 이용한다. 수신측에서는 패킷을 수신하고, 패킷을 재조립하여 전체 데이터를 복원한다. TCP는 패킷 전송 중에 발생할 수 있는 오류나 패킷 손실 등을 검출하고, 이를 처리하기 위해 다양한 기능을 제공하고 있다. 이러한 작업의 수행으로 데이터의 정확성, 신뢰성이 보장된다.
IP
우리가 흔히 아는 인터넷 프로토콜 IP는 인터넷에서 데이터 패킷을 전달하기 위한 프로토콜이다. IP는 패킷을 라우팅하여 목적지까지 전달하는 역할을 한다. 또한 패킷 전송 중에 발생할 수 있는 문제를 검출하는 기능도 갖고 있다. IP는 다양한 프로토콜과 함께 사용될 수 있으며, TCP/IP 프로토콜 스위트에서 가장 기본적인 프로토콜 중 하나이다.
UDP
TCP와 함께 전송 계층(Transport Layer)에서 사용되는 터넷 프로토콜의 한 종류이다. UDP는 비연결형 프로토콜로, 데이터 전송 시에 별도의 연결 설정을 요구하지 않고 데이터를 전송한다. 데이터를 패킷 형태로 전송하는데 이 패킷은 데이터 전송에 필요한 최소한의 정보인 출발지 포트, 목적지 포트, 패킷 길이, 체크섬 정보 등을 포함하고 있다.
UDP는 데이터 전송 중에 연결 설정을 수행하지 않기때문에 처리 속도가 빨라 특정한 상황에서 매우 유용한 프로토콜이다. 실시간 데이터 전송이 필요한 VoIP, 게임, 스트리밍 등에서 많이 사용되고 있다.
TCP와 UDP의 차이
TCP | UDP | |
연결 방식의 차이 | - 연결형 프로토콜 - 데이터 전송 전에 연결 설정을 수행한다 |
- 비연결형 프로토콜 - 연결 설정을 요구하지 않고 데이터를 전송한다 |
신뢰성의 차이 | 데이터 전송 중에 오류 검사와 복구를 수행하여 데이터의 정확성을 보장한다 | 데이터 전송 중에 오류 검사와 복구를 수행하지 않기 때문에, 데이터의 정확성을 보장하지않는다 |
처리 속도의 차이 | 연결 설정 등의 추가 작업으로 인해 상대적으로 느리다 | 연결 설정을 요구하지 않아 상대적으로 처리속도가 빠르다 |
패킷 헤더의 차이 | 데이터 전송에 필요한 최소한의 정보 뿐만 아니라, 데이터의 신뢰성을 보장하기 위한 추가 정보도 포함한다 | 패킷 헤더에 데이터 전송에 필요한 최소한의 정보만 포함한다 |
멀티캐스트 지원의 차이 | 멀티캐스트(Multicast)를 지원하지 않는다 | 멀티캐스트(Multicast)를 지원한다 |
각 계층의 역할
- 네트워크 접속 계층 (Network Access Layer 또는 Link Layer)
- 물리적인 연결 방식과 관련된 계층이다.
- 랜 카드나 네트워크 인터페이스 카드와 같은 하드웨어적인 요소를 다루는 계층이다.
- 데이터 전송을 위해 필요한 프로토콜인 이더넷(Ethernet), 와이파이(Wi-Fi), 블루투스(Bluetooth) 등이 이 계층에서 동작한다.
- 인터넷 계층 (Internet Layer)
- 데이터 패킷을 보내는 곳에서 받는 곳까지의 경로를 선택하고, 패킷을 전달하는 기능을 한다.
- 패킷의 출발지와 목적지 주소를 결정한다.
- IP(Internet Protocol) 프로토콜이 이 계층에서 동작한다.
- 전송 계층 (Transport Layer)
- 양 끝단의 사용자들 사이의 데이터 흐름을 제어하고, 데이터의 신뢰성과 정확성을 보장한다.
- TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)가 이 계층에서 동작합니다.
- TCP는 신뢰성있는 데이터 전송을 보장하는 반면, UDP는 비신뢰성있는 데이터 전송을 위해 사용됩니다.
- 응용 계층 (Application Layer)
- 사용자가 직접 다루는 응용프로그램들과 직접적으로 연관된 계층이다. 즉 사용자 인터페이스와 통신을 담당한다.
- 사용자가 네트워크를 통해 데이터를 주고받을 수 있도록 해줍니다.
- HTTP, FTP, SMTP, POP3, SSH, Telnet 등의 다양한 프로토콜이 이 계층에서 동작한다.
'Network. > Server.' 카테고리의 다른 글
[Server] 로컬 DNS 서버에서 wildcard 사용하기 - DNSmasq (0) | 2023.04.28 |
---|---|
[Network] 네트워크 모델(1)- OSI(Open Systems Interconnection) 7계층 모델 (0) | 2023.04.18 |
[AWS]Route53으로 서브도메인 설정- 와일드카드 (0) | 2023.03.29 |
[AWS] Route53로 DNS 관리하기(ELB 연결) (0) | 2023.03.29 |
[Free Domain] 무료 도메인 사용해보기 (0) | 2023.03.23 |