티스토리 뷰

Computer/ETC..

( 네트워크 ) OSI 7계층

ywlee 2017. 7. 21. 16:58


What is 

OSI 7 Layer ?


우리는 보통 학교에서 OSI 7 계층을 기본적으로 배운다 (컴퓨터 전공이라면)

하지만 대부분의 학생들은 이게 뭔지 어떤 역할을 위해 존재하는것인지 모르고 시험에 나오기 때문에 외우는 경우가 많을 것이다. (나역시도)


하지만, 이 OSI 7 계층은 네트워크의 가장 기본적인 뼈대이며 반드시 동작 메커니즘을 이해하고 있어야만 한다.


그렇다면 OSI 7 계층이란 무엇일까?


OSI 의 뜻은 아래와 같다.


O pen

S ystems

I nterconnection

(Reference Model)


문자 그대로 해석하자면, 


시스템의 상호간 연결을 위한 열린(표준) 시스템 모델


즉, 두(또는 몇개의) 시스템간의 연결을 위한 표준 모델.


서로 연결을 하기 위해 내가 보내고싶은대로 내맘대로 데이터 포멧을 만들어 보내는 것이 아니라, 

서로간의 약속된 모델로 주고 받는다는 것이다.


ISO (국제 표준화 기구) 가 1984 년 발표.





구성


OSI 7계층의 구성은 아래와 같다.


L7

응용

Application

L6

표현

Presentation

L5

세션

Session

L4

전송

Transport

L3

네트워크

Network

L2

데이터링크

Data Link

L1

물리

Physical


통상적으로 응용 계층을 상위 계층, 물리 계층을 하위 계층으로 부른다.

상위 계층으로 갈수록 유저 친화적이며, 하위 계층으로 갈수록 기계 친화적이라고 볼 수 있다.

각 계층에 대한 설명은 아래에서 조금 더 자세히 알아본다.





Layer 1. 물리 계층 (physical layer)


물리 계층은 문자 그대로 데이터 통신의 물리적인 전송을 담당하는 계층이다.

데이터 전송에 필요한 실제 물리적인 구성들이 포함된다.

(전선, 허브..등 눈으로 보고 손으로 만질 수 있는 모든 것.)


물리 계층은 아래와 같은 작업을 수행한다.

- 데이터 연결 성립과 종료

- 데이터 연결의 유지




Layer 2. 데이터 링크 계층 (Data Link Layer)


데이터 링크 계층은 두 포인트간의 신뢰성있는 데이터 전송을 위해 존재하는 계층이다.

에러제어나 흐름제어, 다중 접속제어를 수행.

- 에러제어 : 에러를 어떻게 발견하고, 발견했을 시 어떤 행동을 취할것인지. (나중에 자세히 알아보자)

- 흐름제어 : 전송하려는 데이터를 프레임 단위로 쪼개는 행동. 데이터를 쪼개어 송/수신하며, 수신시에 우리가 잘 아는 Ack, Nack 패킷을 보낸다.

- 다중 접속 제어 : 통신이 항상 1:1 통신이라는 법은 없다. 다중 접속시 어떻게 교통관리를 할 것이지를 제어한다.


네트워크 브릿지나 스위치 등이 데이터 링크 계층을 이용한다.

실제 물리적인 네트워크 주소값을 할당 받는 계층이다. (MAC Address, 네트워크 통신을 위한 물리적인 하드웨어가 갖는 고유의 주소)




Layer 3. 네트워크 계층 (Network Layer)


데이터 링크 계층이 물리적인 네트워크 주소값을 할당 받는 계층이라면, 

네트워크 계층은 논리적인 네트워크 주소값을 할당받는 계층. (IP address)


실제로 인터넷이 가능하도록 만드는 계층.


연결된 노드들 간의 연결 붕괴 현상을 감시하며, 연결이 붕괴되었다면 복구하거나 다른 노드를 찾는 역할을 수행한다.


이전의 하위 두 계층이 물리적인 부분을 담당했다면, 이 네트워크 계층은 논리적인 부분을 담당하는 첫번째 계층이라고 볼 수 있다.




Layer 4. 전송 계층 (Transport Layer)


데이터를 전송하는 측과 수신하는 측과의 관계에서 서로간의 신뢰있는 데이터 전송을 위한 알고리즘을 포함하는 계층.

상위 계층에서 내려온 데이터의 유효성을 검토하여 오류가 있다면 다시 상위 계층에 재 전송을 요구한다.





Layer 5. 세션 계층 (Session Layer)


이제부터는 유저 친화적인 애플리케이션 계층와 관련있는 내용으로 들어간다.

지금까지의 하위 4계층은 데이터의 전송/수신, 오류검출 등의 데이터의 교류에 관한 것이었다면, 

세션계층부터는 응용 계층까지 전달될 데이터를 재구성하거나, 상위 계층으로부터 내려온 데이터를 검사하고 재 요청하는 역할을 한다.


전송 모드를 결정하고, 사용자 위주의 논리적 서비스를 제공함.





Layer 6. 표현 계층 (Presentation Layer)


세션 계층으로부터 받은 데이터를 응용 계층이 이해할 수 있도록 변환.

응용 계층으로부터 받은 데이터를 세션 계층이 이해할 수 있도록 변환해주는 역할.




Layer 7. 응용 계층 (Application Layer)


일반적으로 우리가 알고있는 모든 응용 프로그램들이 존재하는 계층. 

응용 프로그램에서 데이터 전송을 요구할 경우 하위 계층으로 전달함.







데이터 전송 흐름


데이터전송은 아래와 같은 흐름을 가진다.



하지만, 데이터는 중간중간 네트워크 라우터를 거치게 된다.

따라서, 조금 더 정확하게 표현하자면 아래와 같은 흐름을 가진다.
















공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함