OSI 7계층
OSI 7계층은 두가지 계층으로 나눌수 있습니다.
- 1~4 : 데이터 플로 계층 / 하위 계층
- 5~7 : 애플리케이션 계층 / 상위 계층
계층 | 기본용어 | 실무 |
---|
7계층 | 애플리케이션 | |
6계층 | 프레젠테이션 | 표현계층 |
5계층 | 세션 | |
4계층 | 트랜스포트 | 전송계층 |
3계층 | 네트워크 | |
2계층 | 데이터 링크 | |
1계층 | 피지컬계층 | 물리계층 |
TCP/IP 프로토콜 4계층
기술과 표준을 만들 때 만들어진 역사적 배경이나 만든 조직, 프로토콜이 만들어진 목표에 따라 성향이 많이 반영되는데 TCP/IP는 이론보다 실용성에 중점을 둔 프로토콜입니다.
계층별 이해하기
OSI 7계층은 참조형 모델이고 실제로 사용하는 프로토콜은 TCP/IP프로토콜 스택으로 구현되어있지만 조금더 계층별로 살펴보기위해 OSI 7계층으로 보자!
1계층(피지컬계층)
- 물리계층으로 물리적 연괄과 관련된 정보를 정의
- 주요장비 : 허브,리피터, 케이블, 커넥터, 트랜시버, 탭
- 허브,리피터는 통신을 중재하는 네트워크 장비
- 1계층은 들어온 전기 신호를 그대로 잘 전달하는 것이 목적
2계층(데이터링크 계층)
- 1계층과는 다르게 전기 신호를 정확히 전달하기 보다는 주소정보를 정의하고 정확한 주소로 통신하는 것에 초점
- 2계층에서 에러를 탐지하는 역할
- 2계층에서 동작하는 네트워크 구성요소는 네트워크 인터페이스 카드와 스위치입니다.
- MAC주소를 가지고 통신을 하게된다.
3계층(네트워크 계층)
- IP주소와같은 논리적인 주소가 정의 됩니다.
- 3계층을 이해할 수 있는 장비나 단말은 네트워크 주소정보를 이용해 자신이 속한 네트워크와 원겨지 네트워크를 구분할 수 있고 원격지 네트워크를 가려면 어디로 가야하는지 경로를 지정하는 능력이있습니다.
- 동작하는 장비는 라우터입니다.
- 라우터는 3계층에서 정의한 IP주소를 이해할 수 있습니다. 이를 통해 최적의 경롤를 찾아주고 해당경로로 패킷을 전송하는 역할을 합니다.
4계층(트랜스포트 계층)
- 앞의 1~3계층과는 다른 역할을 한다.
- 1~3계층은 신호와 데이터를 올바른 위치로 보내고 실제 신호를 잘만들어 보내는데 집중
- 4계층은 실제로 해당 데이터들이 정상적으로 잘보내졌는지 확인하는 역할
- 전송을 하다보면 데이터를 분할해 패킷을 보내다보니 유실되거나 순서가 바뀐는 경우에 바로잡아주는 역할을 한다.
- 동작하는 장비는 로드 밸런서와 방화벽이있습니다.
- 위 장비들은 4계층에서 볼수 있는 애플리케이션 구분자와 시퀀스, ACK번호를 이용해 부하를 분산하거나 보안 정책을 수립해 패킷을 통과, 차단하는 기능을 수행한다.
5계층(세션 계층)
- 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후에는 이연결을 끊는 역할을 합니다.
- TCP/IP 세션을 만들고 없애는 책임을 집니다.
- 에러로 중단된 통신에 에러복구와 재전송도 수행합니다.
세션계층에 중요한 동기화가 있음
-
전이중화 통신
전이중화(full duplex)통신은 양쪽 장치가 동시에 송수신할 수 있는 방식을 말합니다. 이는 송신로와 수신로로 나눠서 데이터를 주고받으며 현대의 고속 이더넷은 이 방식으로 통신합니다.
-
반이중화 통신
반이중화(half duplex)통신은 양쪽 장치 서로 통신 간으하지만, 동시에는 통신이 불가능하며 한번에 한 방향만 통신할 수 있는 방식입니다.
일반적으로 장치가 신호를 쉰하면 응답 전 전송이 완료가 될때까지 기다려야한다.
둘이상의 장치가 동시에 전송하면 충돌이 발생해서 메세지가 손실 혹은 왜곡될 수 있기에 '충돌 방지 시스템'이 필요하다.
6계층(프레젠테이션 계층)
- 일종의 변역기나 변환기 역할을 수행하는 계층
- 사용자 시스템의 응용 계층에서 데이터의 형식상 차이를 다루는 부담을 줄여줌
- MIME 인코딩이나 암호화, 압축, 코드 변환과 같은 동작이 이루어짐
7계층(애플리케이션 계층)
- 최상위 7꼐층
- 애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행
- 사용자 입출력 부분을 정의
ex) 웹브라우저: CHROME 등
계층 간 데이터 송수신 과정
앺프리케이션 계층에서 전송 계층으로 필자가 보내는 요청값들이 캡슐화 과정을 거쳐 전달되고, 다시 물리계층을 통해 해당 서버와 통신하고, 해당 서버의 링크 계층으로부터 애플리케이션까지 비캡슐화 과정을 거쳐 데이터가 전송됩니다.
캡슐화과정(인캡슐레이션)
애플리케이션에서 데이터를 1~4계층으로 내려보내면서 패킷에 데이터를 넣을 수 있도록 분할 하는데 이과정을 캡슐화과정이라고 합니다.
- 애플리케이션의 데이터가 전송계층으로(세그먼트, 데이터그램화됨) 가면서 TCP(L4)헤더가 붙습니다.
- 인터넷 계층으로 가면서 IP(L3)헤더가 붙어지며 패킷화가 됩니다.
- 링크 계층으로 가며 프레임 헤더와 트레일러가 붙어 프레임화가 됩니다.
즉, 데이터를 보내는 과정을 캡슐화과정이라고 합니다.
비캡슐화과정(디캡슐레이션)
캡슐화된 데이터를 받게되면 하위계층부터 올라오면서
프레임화 -> 패킷화 -> 세그먼트,데이터그램화 -> 메시지화
결국 최종적으로 사용자에게 애플리케이션의 PDU인 메시지로 전달 됩니다.
즉, 데이터를 받는 과정을 비캡슐화 과정이라고 합니다.
PDU
네트워크의 어떠한 계층에서 계층으로 데이터가 전달 될 떄 한 덩어리 단위를 PDU(Protocol, Data Unit)라고 합니다.
PDU 는 제어관련된 정보들이 포함된 헤더, 데이터를의미하는 페이로드로 구성되어 있다.
계층마다 부르는 명칭이 다릅니다.
- 애플리케이션계층 - 메시지
- 전송계층 - 세그먼트(TCP) 데이터그램(UDP)
- 인터넷 계층 - 패킷
- 물리 계층 - 프레임 ,비트