다른 사용자에게 IP 주소만 알고 정보를 전송한다 해서 정보만 전송되는 것은 아니다.
우리가 마치 택배 박스를 포장하고 주소를 쓰고 택배사까지 보내는 것처럼 생각보다 네트워크 통신은 여러 정보들이 담겨져 전송되고 있다.
- 통신 초기에는 통신관련 장비를 만들던 업체들이 서로간의 호환성이 없어 자신들의 회사 제품끼리만 연결이 가능했다.
- 이때 서로간의 연결에 있어 문제가 없도록 표준을 정한 것이
OSI 7 Layer
이다.
OSI 7 Layer
- 1계층부터 물리, 데이터링크, 네트워크, 전송, 세션, 표현, 어플리케이션 계층으로 이루어져 있다.
- 택배를 포장하듯이 송신할때는 어플리케이션 부터 물리 계층까지 하나하나 포장한다. (캡슐화)
- 수신받을 때는 택배 포장지를 풀듯이 물리부터 어플리케이션까지 하나한 포장을 풀어낸다.(디캡슐화)
물리 계층 (Physical Layer)
- 7계층 중에서 최하위 계층으로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 케이블로 전송한다.
- 사용되는 통신 단위는
비트(bit)
이며1과 0
으로 나타내어지는 전기적 신호이다. - 데이터를 전송 및 전달받을 때 데이터의 정보와 에러는 신경쓰지 않는다.
- 대표적인 장치로는
통신 케이블
,리피터
,허브
등이 있다.
데이터 링크 계층 (DataLink Layer)
- 물리계층으로부터 받은 데이터의
오류와 흐름을 관리
하여 안전한 정보전달을 수행할 수 있도록 도와준다. - 전송 단위는
프레임
을 사용하고, 사용자의 물리주소인 MAC 주소로 통신한다. - MAC 주소만 사용하기 때문에 내부 네트워크에서만 전송이 가능하다.
- 대표적인 장치로는
브릿지
,스위치
등이 있다.
네트워크 계층 (Network Layer)
- 이 계층은
데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능
을 중요시한다. (라우팅 기술) IP주소
로 경로 선택 및 패킷 전달을 해주는 것이 이 계층의 역할이다.- 라우팅, 흐름제어, 세그멘테이션, 오류제어, 인터네트워킹 등을 수행한다.
- 대표적인 장치로는
라우터
가 있다.
전송 계층 (Transport Layer)
- 사용자간의 신뢰성 있는 데이터를 주고 받을 수 있도록 해준다.
- 이 계층에서는
TCP
와UDP
프로토콜을 사용한다. - 신뢰성이 있고 연결지향적인 프로토콜은
TCP
- 신뢰성이 없고 비연결성인 프로토콜은
UDP
- TCP
- 패킷 손실, 중복, 순서바뀜 등이 없도록 보장
- IP 계층의 신뢰성 없는 서비스에 대해 다방면으로 신뢰성을 제공
- UDP 보단 느리지만 연결지향적이다.
- 패킷의 정보가 UDP보다 더 많다.
- UDP
- 실시간 응용 및 멀티캐스팅이 가능하다.
- 헤더가 단순하기 때문에 TCP보다 빠르다. (헤더 고정크기 8Byte, TCP는 20Byte)
- 메세지 도착을 확인하지 않고, 수신된 메세지 순서를 맞추지 않는다.
- 흐름제어를 위한 피드백을 제공하지 않는다.
- 오류 검출 및 제어가 없다.
세션 계층 (Session Layer)
데이터가 통신하기 위한 논리적인 연결
을 말한다. (통신을 하기위한 대문 역할)- 세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다.
- 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다.
동시 송수신 방식(duplex)
,반이중 방식(half-duplex)
,전이중 방식(Full Duplex)
의 통신과 함께, 체크포인팅과 유휴, 종료, 다시 시작 과정 등을 수행한다.TCP/IP 세션을 만들고 없애는 책임
을 진다.
표현 계층 (Presentation Layer)
- 데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화한다.
- 코드간의 번역을 담당하여 데이터의 형식상 차이를 다루는 부담을 응용 계층으로 부터 덜어준다.
- MIME 인코딩, 암호화 등이 이루어진다.
- 확장자를 구분한다. (text, png, gif, jpg, ppt 등등)
응용 계층 (Application Layer)
- 최종 목적지로서 HTTP, FTP, SMTP, Telnet 등과 같은 프로토콜이 있다.
- 응용 계층에서 사용되는 프로토콜을 통해 우리가 사용하는 브라우저, 메일 등을 보다 쉽게 사용하게 해주는 응용프로그램이다.
- 응용 프로세스와 직접 관계하여 일반적인
응용 서비스를 수행
한다.