이세개발
article thumbnail

TCP, UDP

TCP (Transmission Control Protocol)UDP (User Datagram Protocol)는 인터넷 프로토콜 스택의 전송 계층에서 사용되는 두 가지 주요 프로토콜입니다. 이들은 데이터를 패킷으로 분할하고, 인터넷을 통해 전송하며, 수신 측에서 이 패킷을 다시 조립하는 역할을 합니다. 그러나 이 두 프로토콜은 서로 다른 특성과 사용 사례를 가지고 있습니다.

TCP는 연결 지향적인 프로토콜로, 데이터 전송 전에 송신자와 수신자 사이에 연결을 설정합니다. TCP는 데이터가 순서대로 도착하고, 누락되거나 손상된 패킷이 없는지 확인합니다. 필요한 경우 TCP는 재전송을 수행하여 데이터의 정확성을 보장합니다. 이러한 특성 때문에 TCP는 웹 브라우징, 이메일 전송, 파일 전송 등의 애플리케이션에서 주로 사용됩니다.

UDP는 비연결형 프로토콜로, 데이터 전송 전에 별도의 연결 설정 없이 패킷을 전송합니다. UDP는 패킷의 순서를 보장하지 않으며, 누락된 패킷에 대한 재전송도 수행하지 않습니다. 이러한 특성 때문에 UDP는 실시간 스트리밍, VoIP, 온라인 게임 등의 애플리케이션에서 주로 사용됩니다. 이러한 애플리케이션에서는 데이터의 실시간 전송이 데이터의 완전성보다 중요하기 때문입니다.

요약하면, TCP는 신뢰성이 중요한 애플리케이션에 적합하며, UDP는 실시간성이 중요한 애플리케이션에 적합합니다.

주요 프로토콜

인터넷에서 사용되는 주요 프로토콜입니다.

통신 관련

HTTP (HyperText Transfer Protocol): 웹 브라우저와 웹 서버 간에 웹 페이지와 그와 관련된 정보를 전송하는 데 사용되는 프로토콜입니다.

SSL (Secure Sockets Layer) 및 TLS (Transport Layer Security): 인터넷 상에서 데이터를 안전하게 전송하기 위한 암호화 프로토콜입니다. SSL은 이제 더 이상 사용되지 않으며, 대신 TLS가 사용됩니다. 이들 프로토콜은 웹 브라우징, 이메일, 인스턴트 메시징, VoIP 등에서 사용됩니다.

메일 관련

SMTP (Simple Mail Transfer Protocol): 이메일 메시지를 전송하는 데 사용되는 프로토콜입니다. SMTP는 주로 메일 서버 간의 메시지 전송에 사용됩니다.

POP (Post Office Protocol) 및 IMAP (Internet Message Access Protocol): 이메일 클라이언트가 메일 서버로부터 이메일을 가져오는 데 사용되는 프로토콜입니다. POP은 이메일을 클라이언트로 다운로드하고 서버에서 삭제하는 반면, IMAP은 이메일을 서버에서 직접 읽을 수 있게 해줍니다.

원격 관련

RDP (Remote Desktop Protocol): 원격 컴퓨터에 대한 그래픽 인터페이스를 제공하는 프로토콜입니다. 이를 통해 사용자는 네트워크를 통해 다른 컴퓨터를 제어할 수 있습니다.

SSH (Secure Shell): 원격 컴퓨터에 안전하게 접속하고 명령을 실행하는 데 사용되는 프로토콜입니다. SSH는 주로 서버 관리와 파일 전송에 사용됩니다.

이들 프로토콜은 각각 특정 목적에 맞게 설계되었으며, 인터넷의 다양한 기능을 가능하게 합니다.

네트워크 관련 명령어

1. ping:

Ping은 네트워크 연결 문제를 진단하는 데 사용되는 명령어입니다. 특정 호스트에 ICMP (Internet Control Message Protocol) "echo request" 패킷을 보내고 "echo reply"를 기다립니다. 이를 통해 네트워크 지연 시간을 측정하고 대상 호스트가 작동 중인지 확인할 수 있습니다.

예제:

ping google.com

2. nslookup:

nslookup은 DNS (Domain Name System) 조회를 수행하는 데 사용되는 명령어입니다. 이를 통해 도메인 이름을 IP 주소로 변환하거나 그 반대의 작업을 수행할 수 있습니다.

예제:

nslookup www.google.com

3. traceroute:

traceroute는 패킷이 소스 호스트에서 대상 호스트로 이동하는 경로를 추적하는 데 사용되는 명령어입니다. 이를 통해 각 라우터에서의 지연 시간을 측정하고 네트워크 문제를 진단할 수 있습니다.

예제:

traceroute www.google.com

4. telnet:

telnet은 원격 호스트에 대한 터미널 연결을 제공하는 명령어입니다. 이를 통해 원격 시스템에 로그인하거나 원격 서비스를 테스트할 수 있습니다. 하지만 telnet은 암호화되지 않은 텍스트를 전송하기 때문에 보안에 취약하다는 단점이 있습니다.

예제:

telnet www.example.com 80

5. hping3:

hping3는 TCP/IP 패킷 조작 및 분석 도구입니다. 이를 통해 방화벽 규칙을 테스트하거나 네트워크 서비스를 스트레스 테스트할 수 있습니다.

예제:

hping3 -S www.example.com -p 80 -c 1

6. mtr:

mtr (My Traceroute)는 traceroute와 ping의 기능을 결합한 도구입니다. 이를 통해 네트워크 연결의 지연 시간과 패킷 손실을 실시간으로 모니터링할 수 있습니다.

예제:

mtr www.google.com
profile

이세개발

@print(name)

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!