국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델.
네트워크 통신이 일어나는 과정을 7단계로 나눈 것.
통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문.
데이터를 목적지까지 가장 안전하고 빠르게 전달
단위 : 패킷
라우터를 이용하여 경로를 선택하고 IP를 정해서 경로(Route)에 따라 패킷을 전달함 (이때 IP헤더가 추가됨)
예시 : 라우터
TCP, UDP 프로토콜을 통해 통신을 활성화(포트를 열고, 프로그램이 전송되도록함)
Port번호, TCP/UDP등의 전송방식 결정 -> TCP헤더가 붙음
+) 👀 TCP/UDP란
- TCP : 신뢰성, 연결지향적
신호를 분산하고 다시 합치는 과정을 통해서 에러와 경로를 제어
데이터가 통신하기 위한 논리적 연결을 담당
두 지점간의 프로세스 및 통신하는 호스트 간의 연결 유지
TCP/IP 세션을 체결, 포트번호를 기반한 통신 세션 구성
통신 방식 : API, Socket
데이터 표현에 대한 독립성을 제공, 암호화하는 역할
하는 일 : 파일 인코딩, 명령어를 포장, 압축, 암호화
종류 : ASCII, GIF, JPEF, MPEG
응용 프로세스와 직접 관계된 일반적인 응용 서비스를 수행 (ex: 크롬, 익스플로어)
UI, 전자우편, 데이터베이스 관리 등의 서비스 수행
프로토콜 종류 : HTTP, FTP, SMTP, POP3, IMAP, Telnet
📍 웹프로토콜 자세히 알아보기
1. HTTP
- 암호화 되지 않은 평문 데이터를 전송 -> 보안에 취약함
- Stateless 프로토콜 -> 이전 데이터 요처이 다음 데이터 요청이 서로 관련이 없음. (서버의 부하를 줄일 수 있다)
- TCP/IP 통신 위에서 동작하며, 기본 포트는 80번.
- start line(method, path, version), headers, body 로 구성
2. FTP(File Transfer Protocol)
- 컴퓨터 간의 파일 교환시에 호환성을 보장함
- 어떤 형태의 데이터든 전송이 가능
- 파일을 다운로드 & 업로드 가능
- 파일에 대한 권한을 설정 가능
- ASCII문자로 메시지가 교화되며 검색/조회 가능
3. SMTP(Simple Mail Transfer Protocol)
- 이메일 안에 텍스트 외의 데이터도 전송이 가능한 프로토콜
- 문자열 형태로 인코딩, 수신할 때 디코딩