인터넷 네트워크

이건·2025년 3월 20일

Http

목록 보기
1/1

인터넷에서 컴퓨터 두 대는 어떻게 서로 통신할까?

구성 요소:

  • 클라이언트: 요청을 보내는 컴퓨터

  • 서버: 요청을 처리하는 컴퓨터

  • 예시: "Hello, world!" 메시지로 통신 과정 설명

  • 상태: 클라이언트와 서버 간 원활한 데이터 교환 이루어짐

1. IP 주소와 패킷 전달

IP 주소:

  • 예시: IP 주소 100.100.100.1, 200.200.200.2

  • 역할:
    - 지정한 IP 주소(IP Address)에 데이터 전달
    - 패킷(Packet)이라는 통신 단위로 데이터 전달

  • 패킷:
    - 통신의 기본 단위로 데이터 전달
    - 구성: 출발지 IP, 목적지 IP, 실제 전송 데이터

IP 패킷 정보

패킷 전송의 한계

  • 비연결성:
    - 패킷 수신 대상이 없거나 서비스 중단 상태에서도 패킷 전송 가능

  • 비신뢰성:
    - 중간에 패킷 유실되거나 패킷의 용량이 너무 큰 경우 전송 순서 변경 가능성 존재

  • 프로그램 구분 문제:
    - 동일 IP 서버에서 여러 애플리케이션 동시 통신 시 발생

  • 결과:
    - 대상 서버의 실제 패킷 수신 가능 상태 확인 어려움

2. TCP와 UDP의 차이

인터넷 프로토콜 스택의 4계층:

  • 애플리케이션 계층: HTTP, FTP
  • 전송 계층: TCP, UDP
  • 인터넷 계층: IP
  • 네트워크 인터페이스 계층

TCP/IP 패킷 정보

TCP:

  • 연결 지향적 프로토콜
  • 데이터 전달 보장 및 순서 유지

UDP:

  • 비연결 지향적 프로토콜
  • 데이터 전달 및 순서 미보장
  • 단순하고 빠른 특성

TCP의 연결 과정

  • TCP 3 way handshake:
    - SYN: 클라이언트의 접속 요청
    - SYN+ACK: 서버의 요청 수락
    - ACK: 연결 최종 완료

  • 데이터 전송:
    - 데이터 전송 시 순서 엄격히 보장
    - 예시: 패킷1, 패킷2, 패킷3 순차적 전송

  • 상태:
    - 데이터 수신 확인 절차 포함

UDP의 특징과 사용

  • 사용자 데이터그램 프로토콜 (User Datagram Protocol):
    - 최소한의 기능
    - 연결 및 데이터 전달 보장 없음

  • 특징:
    - 간단하고 빠른 전송
    - IP와 유사, PORT와 체크섬만 추가

  • 사용 예시:
    - 실시간 게임, 화상통화 등에 적합

  • 결론:
    - 데이터 전달 및 순서 보장이 중요하지 않은 서비스에 최적

3. 포트와 프로세스 구분

  • PORT:
    - 동일 IP 내 프로세스 식별 역할(여러 애플리케이션을 구분)
    - 포트 번호: 0 ~ 65535 할당 가능
    - 잘 알려진 포트: 0 ~ 1023 (사용 자제 권장)

  • 예시 포트:
    - FTP: 20, 21
    - TELNET: 23
    - HTTP: 80
    - HTTPS: 443

4. DNS의 역할과 기능

도메인 네임 시스템 (Domain Name System):

  • 전화번호부와 유사한 기능

  • 도메인 이름을 IP 주소로 변환

  • 작동 과정:
    - 도메인 이름 입력 (예: google.com)
    - DNS 서버가 해당 IP 주소 응답 (예: 200.200.200.2)
    - 클라이언트 해당 IP로 접속

  • 중요성:
    - 기억하기 어려운 IP 주소 대신 쉬운 도메인 사용 가능

0개의 댓글