인터넷 프로토콜의 4계층
- 애플리케이션 계층 - HTTP, FTP
- 전송 계층 - TCP, UDP
- 인터넷 계층 - IP
- 네트워크 인터페이스 계층
- 인터넷 계층 - IP
- 전송 계층 - TCP, UDP
IP (인터넷 프로토콜)
ip 주소 부여를 통해서 클라이언트 (ip:100.100.100.1) 에서 서버 (ip:200.200.200.2) 로 데이터를 전달 할 수 있다.
서로의 출발지와 목적지라고 생각하면 된다
IP 역할
- 지정한 IP주소 (IP Address)에 데이터 전달
- 패킷(packet)이라는 통신 단위로 데이터 전달
IP 프로토콜의 한계
비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- ex) 대상이 서비스 불능, 패킷 전송
비신뢰성
- 중간에 패킷이 사라지면? ex) 패킷 소실
- 패킷이 순서대로 안오면? ex) 패킷의 용량이 클 때 패킷 전달 순서 문제 발생
프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
이러한 문제들을 해결해주는 것이 TCP/UDP 이다.
TCP/IP 패킷 정보
- IP 패킷 : 출발지 IP, 도착지 IP, 기타...
- TCP 세그먼트 : 출발지 PORT, 도착지 PORT, 전송 제어, 순서, 검증 정보...
- 전송 데이터
TCP 특징
전송 제어 프로토콜 (Transmission Control Protocol)
연결 지향 - TCP 3 way handshake (가상 연결)
- 클라이언트와 서버가 연결 되었는지 확인할 수 있는 방법으로 syn : 접속 요청, ack : 요청 수락 (실제 연결이 된 것이 아닌 개념적으로만 연결)
데이터 전달 보증
- 데이터 전달 2. 데이터 잘 받았음 을 교환
순서 보장
신뢰할 수 있는 프로토콜
현재는 대부분 TCP 사용
UDP 특징
사용자 데이터그램 프로토콜(User Datagram Protocol)
- 하얀 도화지에 비유 (기능이 거의 없음)
- 연결지향 -TCP 3 way handshake X
- 데이터 전달 보증 X
- 순서 보장 X
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
- 정리
- IP와 거의 같다. +PORT +체크섬 정도만 추가
- 체크섬 : 메세지에 대해서 맞는지 검증해주는 데이터
- 애플리케이션에서 추가 작업 필요
- IP와 거의 같다. +PORT +체크섬 정도만 추가
PORT 특징
IP가 아파트라고 한다면 PORT 는 호수이다.
- 0 ~ 65535 할당 가능
- 0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것이 좋음
- FTP - 20,21
- TELNET- 23
- HTTP - 80
- HTTPS - 443
DNS 특징
도메인 네임 시스템 (Domain Name System)
- 전화번호부
- 도메인 명을 IP 주소로 변환
IP의 문제점
- 기억하기 어렵다.
- IP는 변경될 수 있다.
'기초개념' 카테고리의 다른 글
자바에서 Object 클래스가 최상위 부모 클래스인 이유 (0) | 2024.08.19 |
---|---|
DevOps 와 CI/CD (0) | 2024.07.30 |
객체 지향주의란 ? (feat. 예시 코드) (0) | 2024.06.16 |
절차 지향 프로그래밍과 한계 (feat. 예시 코드) (1) | 2024.06.13 |