클라이언트: 요청을 보내는 컴퓨터
서버: 요청을 처리하는 컴퓨터
예시: "Hello, world!" 메시지로 통신 과정 설명
상태: 클라이언트와 서버 간 원활한 데이터 교환 이루어짐
예시: IP 주소 100.100.100.1, 200.200.200.2
역할:
- 지정한 IP 주소(IP Address)에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
패킷:
- 통신의 기본 단위로 데이터 전달
- 구성: 출발지 IP, 목적지 IP, 실제 전송 데이터
IP 패킷 정보

비연결성:
- 패킷 수신 대상이 없거나 서비스 중단 상태에서도 패킷 전송 가능
비신뢰성:
- 중간에 패킷 유실되거나 패킷의 용량이 너무 큰 경우 전송 순서 변경 가능성 존재
프로그램 구분 문제:
- 동일 IP 서버에서 여러 애플리케이션 동시 통신 시 발생
결과:
- 대상 서버의 실제 패킷 수신 가능 상태 확인 어려움

TCP/IP 패킷 정보


TCP 3 way handshake:
- SYN: 클라이언트의 접속 요청
- SYN+ACK: 서버의 요청 수락
- ACK: 연결 최종 완료
데이터 전송:
- 데이터 전송 시 순서 엄격히 보장
- 예시: 패킷1, 패킷2, 패킷3 순차적 전송
상태:
- 데이터 수신 확인 절차 포함
사용자 데이터그램 프로토콜 (User Datagram Protocol):
- 최소한의 기능
- 연결 및 데이터 전달 보장 없음
특징:
- 간단하고 빠른 전송
- IP와 유사, PORT와 체크섬만 추가
사용 예시:
- 실시간 게임, 화상통화 등에 적합
결론:
- 데이터 전달 및 순서 보장이 중요하지 않은 서비스에 최적
PORT:
- 동일 IP 내 프로세스 식별 역할(여러 애플리케이션을 구분)
- 포트 번호: 0 ~ 65535 할당 가능
- 잘 알려진 포트: 0 ~ 1023 (사용 자제 권장)
예시 포트:
- FTP: 20, 21
- TELNET: 23
- HTTP: 80
- HTTPS: 443
전화번호부와 유사한 기능
도메인 이름을 IP 주소로 변환
작동 과정:
- 도메인 이름 입력 (예: google.com)
- DNS 서버가 해당 IP 주소 응답 (예: 200.200.200.2)
- 클라이언트 해당 IP로 접속
중요성:
- 기억하기 어려운 IP 주소 대신 쉬운 도메인 사용 가능