인터넷 프로토콜
- IP는 출발지와 목적지의 정보를 IP 주소라는 특정한 숫자값으로 표기하고 패킷단위로 데이터를 전송하는 것
패킷교환 방식
- 패킷이라는 단위로 데이터를 잘게 나누어 전송하는 방식
- 특정 회선이 전용선으로 할당되지 않기 때문에 빠르고 효율적으로 데이터를 전송할 수 있다.
IP/IP Packet
- IP는 지정한 IP 주소(IP Address)에 패킷(Packet)이라는 통신 단위로 데이터 전달한다.
- IP 패킷에서 패킷은 pack과 bucket이 합쳐진 단어이다. / IP 패킷은 이를 데이터 통신에 적용한 것
IP한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 클라이언트는 서버의 상태를 파악할 방법이 없기 때문에 패킷을 그대로 전송
- 비신뢰성
- 중간에 있는 서버가 데이터를 전달하던 중 장애가 생겨 패킷이 중간에 소실되더라도 클라이언트는 이를 파악할 방법이 없음
🔍 IP Packet 한계 보완 - OSI 7계층, TCP/IP 4 계층
- IP 프로토콜 보다 더 높은 계층에 TCP 프로토콜이 존재하기 때문에 한계를 보완할 수 있음
- 네트워크 프로토콜 계층은 다음과 같이 OSI 7계층과 TCP/IP 4 계층으로 나뉜다.
- 실제 네트워크 표준은 TCP/IP 4 계층에 가깝다.
📄 OSI 7계층 모델
- ISO(International Organization for Standardization)라고 하는 국제표준화기구에서 1984년에 제정한 표준 규격
- OSI 7계층 모델의 목적
- 표준화를 통하여 포트, 프로토콜의 호환 문제를 해결
- 네트워크 시스템에서 일어나는 일을 해당 계층 모델을 이용해 쉽게 설명
- 네트워크 관리자가 문제가 발생했을 때 물리적인 문제인지, 응용 프로그램과 관련이 있는지 등 원인이 어디에 있는지 범위를 좁혀 문제를 쉽게 파악
- 데이터 전송하는 쪽 : 헤더를 붙여나가는 것을 캡슐화라고 함
- 데이터 받는 쪽 : 각 계층에서 헤더(데이터링크 계층에서는 트레일러)를 제거해 나가는 것을 역캡슐화라고 함
- 역캡슐화를 거쳐 응용계층에 도달하면 원본 데이터만 남음
- 1계층 - 물리 계층: OSI 모델의 맨 밑에 있는 계층으로서, 시스템 간의 물리적인 연결과 전기 신호를 변환 및 제어하는 계층
- e.g. 디지털 또는 아날로그로 신호 변경
- 2계층 - 데이터링크 계층: 네트워크 기기 간의 데이터 전송 및 물리주소(e.g. MAC 주소)를 결정하는 계층
- e.g. 브리지 및 스위치, MAC 주소
- 3계층 - 네트워크 계층: OSI 7 계층에서 가장 복잡한 계층 중 하나로서 실제 네트워크 간에 데이터 라우팅을 담당
- e.g. IP 패킷 전송
- 4계층 - 전송 계층: 컴퓨터 간 신뢰성 있는 데이터를 서로 주고받을 수 있도록 하는 서비스를 제공하는 계층
- e.g. TCP/UDP 연결
- 5계층 - 세션 계층: 세션 연결의 설정과 해제, 세션 메시지 전송 등의 기능을 수행하는 계층
- 6계층 - 표현 계층: 응용 계층으로 전달하거나 전달받는 데이터를 인코딩 또는 디코딩하는 계층
- e.g. 문자 코드, 압축, 암호화 등의 데이터 변환
- 7계층 - 응용 계층: 최종적으로 사용자와의 인터페이스를 제공하는 계층
- e.g. 이메일 및 파일 전송, 웹 사이트 조회
📄 TCP/IP 4 계층 모델
- OSI 모델을 기반으로 실무적으로 이용할 수 있도록 현실에 맞춰 단순화된 모델
- 4계층: 애플리케이션 계층: OSI 계층의 세션 계층, 표현 계층, 응용 계층에 해당하며 TCP/UDP 기반의 응용 프로그램을 구현할 때 사용
- e.g. FTP, HTTP, SSH
- 3계층: 전송 계층: OSI 계층의 전송 계층에 해당하며 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당
- e.g. TCP/UDP
- 2계층: 인터넷 계층: OSI 계층의 네트워크 계층에 해당하며 통신 노드 간의 IP 패킷을 전송하는 기능 및 라우팅을 담당
- e.g. IP, ARP, RARP
- 1계층: 네트워크 인터페이스 계층: OSI 계층의 물리 계층과 데이터 링크 계층에 해당하며 물리적인 주소로 MAC을 사용
- e.g. LAN, 패킷망 등에 사용됨
'Front end > 개발 지식' 카테고리의 다른 글
소프트웨어 개발 프로세스 자동화 : CI/CD (0) | 2023.06.07 |
---|---|
[ 네트워크 ] HTTP / HTTPS 특징 (0) | 2023.05.07 |
[사용자 친화 웹] 웹 표준 & 접근성 (0) | 2023.05.04 |
[ UI / UX ] 와이어프레임 & 프로토타입 (0) | 2023.04.15 |
[ UI / UX ] 기초 알아보기 (0) | 2023.04.15 |