본문 바로가기
책/DB

OSI 7Layer의 계층

by 파이어볼러 2015. 3. 3.

OSI 7 Layer

 

컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것으로서 복잡한 네트워크를 쉽게 이해할 수 있고 작업의 효율성을 높일수 있으며 문제점 발생시 쉽게 찾을 수 있다

 

1~4까지는 하위, 5~7까지는 상위 계층으로 분류

 

특징

 

- 각각의 계층에서 독립적인 프로토콜이 동작

- 이 모델은 프로토콜을 기능별로 나눈것

- 각 계층은 하위 계층의 기능만을 이용하고, 상위계층에게 기능을 제공

- 일반적으로 하위계층들은 하드웨어로, 상위계층들은 소프트웨어로 구현

 

계층(Layer)의 의미

 

- 통신하기 위한 일련의 과정이나 단계 or 절차

- 논리 및 소프트웨어적인 상위 계층보다 물리적으로 가까운 하위계층이 빠르다

- 상위계층의 기능에는 하위계층의 기능이 포함된다

 

PDU(Protocol Data Unit)

- 정보를 전송하기 위한 일종의 전송단위로서 부가 정보의 추가 상태를 의미

- 일반적으로 LxPDU와 같이 표현하는데 특히 다음과 같이 나눈다

 

L4PDU : 세그먼트

L3PDU : 패킷

L2PDU: 프레임

L1PDU : 비트

 

## 각 계층의 전송 단위는 PDU라 한다 ##

 



 

1계층(Physical layer) - 비트


- 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송

- 데이터 정보를 전기적 신호로 변환시켜 매개체를 통해 전달

- 단순히 한 컴퓨터로부터 다른 컴퓨터에 비트를 전송한다

 

2계층(Data layer) - 연결


- 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리

- 안정한 정보의 전달을 수행할 수 있도록 도와주는 역할

- 하나의장치로부터 다른 장치로의 신호를 통한 데이터의 흐름을 제공

- 네트워크 계층으로부터 패킷을 받아서 송신을 위한 물리적인 계층에 보내질 프레임 데이터 단위의 정보를 패키징한다

 

3계층(Network layer) - 연결


- 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능

- 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 역할

- 네트워크 계층은 논리적인 주소를 물리적인 주소로 번역하여 준다

- 데이터가 목적지에 도달하는 데 여러가지 방법이 있다면, 어떠한 형태로 전달할 것인지 결정

 * 대표적인 프로토콜 : IPv4, IPX, NetBEUI, IPv6 *


4계층(Transport layer) - 전송

 

- 전송계층, 통신을 활성화하기 위한 계층, 흐름과 요류를 제어, TCP / UDP

- 패킷이 차례로 손실이나 중복 및 에러 없이 전송되는 것을 보장

- 시퀀스 넘버 기반의 오류 제어 방식을 사용

- 접속 지향형 프로토콜의 경우(3-way-handshake로 세션을 맺고) 비접속 지향형 프로토콜의 경우에는 전송 전에 접속을 성립하지 않는다

- 큰 사이즈의데이터 유닛을 세션 계층으로부터 전달받으면 작은 패킷으로 나누는 단편화(Segmentation)작업을 수행

- MTU : 네트워크를 통하여 전달받을 수 있는 최대 데이터 유닛의크기

## 기본적인 MTU 크기는 1500byte ##

##단편화(Fregmentation) : 전송계층으로부터 받은 세그먼트를 더 작은 패킷으로 나누는 과정 ##

=======================================================================

 

5계층(Session layer) - 세션, 동기화


- 데이터가 통신하기 위한 논리적인 연결을 유지, 관리하는 역할

- 이름 찾기 서비스와 두 개의 프로그램이 서로 통신하도록 허용하는 보안과 통신 링크의 설정 제공

- 통신하는 두 프로세스간의 대화를 제어하고, 통신 중에 어느 지점에서 누가 전송하고 수신할지 결정

- Half-Duplex, Full-Duplex, checkpointing, 종료, 다시 시작 등의 과정 수행

- TCP/IP 세션을 만들고 없애는 책임을 진다

 

6계층(Presentation layer) - 번역, 암호화


- 네트워크가 요구하는 포멧과 컴퓨터가 요구하는 포멧간의 데이터를 번역

 

a 프로토콜 전환

b 데이터 전환(Encrypt / Decrypt)

c 압축과 암호화

d 문자집합 변환

e 그래픽 명령어의 해석

 

- 네트워크 리다이렉터(Redirector) : 파일 서버 상의 파일을 클라이언트 컴퓨터가 볼 수 있게 해주는 역할 수행 ## EBCDIC로 인코딩된 문서 파일을 ASCII 로 인코딩 된 파일로 바꿔주는 역할도 함 ##

 

7계층(Application layer) - OS의 프로그램


- 사용자에게 서비스를 제공해주는 인터페이스 계층

- OSI의 가장 상위에 존재 응용프로세스와 직접 관계하여 일반적인 응용서비스를 수행

- 응용 계층에서 컴퓨터 어플리케이션은 단지 Desktop Resource 만을 필요로 한다

- 프로토콜 종류 ex) SMTP, FTP, SNMP, NCP, AFP, HTTP, API 등등

 



 

- Layer 1 : PC1 - SW - RO -PC2 간에는 물리적으로 연결된 링크를 통해서 데이터 정보를 전기적 신호로 변환하여 전달한다

 

- Layer 2 : SW에서는 Mac Address를 learning하여 PC1 -> R0까지의 넥스트 홉을 결정하여 스위칭해준다 또한 물리적으로 송수신되는 정보들에 대한 오류와 흐름을 관리한다

ex) 전송방식에 따른 CRC Error

 

- Layer 3 : R0에서는 IP Address 정보와 자신이 가지고 있는 Routing Table을 비교하여 라우팅 경로를 지정해준다

 

- Layer 4 : 서비스의 사용 프로토콜에 따라 전송 방식이 결정된다 TCP, UDP등등 TCP의 경우에는 3-way-handshaking을 통해 흐름과 오류를 제어할 수 있다

 

- Layer 5 : Client의 브라우저의 세션 쿠키를 통해 서버와 논리적인 세션이 맺어진다. 이값은 브라우저에 저장된다.

 

- Layer 6 : 데이터를 IE가 이해할 수 있게 gzip을 사용하여 압축한다

 

- Layer 7 : IE에서 제공하는 UI를 통해 Client는 인터넷을 사용한다

 



 

OSI 7 Layer와 TCP / IP

 


 

 

OSI Model은 참조 모델이라고 한다. 이것을 기반으로 다른 모델을 만든다.

 

실제로 우리가 사용 하는 것은 오른쪽의 TCP/IP모델이다.

 

=================== 상위계층 (user 계층)(응용계층 만들어내는 계층)======================

 

Application Layer (어플리케이션 계층)  7계층

 

-사용자와 컴퓨터간의 연결을 제공 하는 유저인터페이스를 제공 하는 영역

 

-내가 컴퓨터랑 이야기를 할수 없으니 컴퓨터랑 대화할수 있게 인터페이스를 제공하는것이다.

 

 

Presentation Layer (프레젠테이션 계층) 6계층

 

-컴퓨터(단말기)가 인식할수 있도록 도와주는 데이터 포캣형태를 가져오는 계층

 

-ex)확장자명 : .jpg .mp3  .avi

 

-ex)압축 : 데이터 전송의 효율을 높이기 위해서

 

Session Layer (세션 계층)  5계층

 

-응용 프로그램 간 연결을 만들어 주는것

 

-ex)핸드폰으로 전화번호 등록을 하면 카톡에 새친구가 뜨는것과 같은것

 

-상위 계층으로부터 받은 정보를 전달하기 위해 하위계층을 이용하여 연결을 시도하거나

 

   또는 연결을 종료하는 역할을 하는 계층 

 

-양방향 : 일반 전화기            단방향 : 무전기

 

TCP/IP Model은 Application안에 5,6,7 계층이 한번에 묶여있다.

 




 

 

========================= 하위계층 (dataflow계층)(이동 시켜주는 계층)===================

 

Transport Layer (트랜스포트 계층) 4계층

 

-쉽게말해서 위에 5,6,7계층에서 만들어진 내용을 포장하는 곳이다.

 

- 포장하는 방법으로는 TCP  ,   UDP 방식이 있다.

 

TCP

 

-신뢰성  O

 

-속도가 조금 느리다.

 

-ACK : 서버가 클라이언트 한테 정보를 줬을때 클라이언트가 서버한테 보내는 정보

         

          : 기본적으로 데이터는 나뉘어서 보내지는데(Segmenting) TCP 환경에서는

          

           나뉘어진 데이터(Segment)를 하나 보내고 제대로 왔다고 ACK를 보낸다.

          

            ACK(acknowledgement code​)를 받으면 그다음 데이터를 보낸다.

           

            이러한 과정때문에 TCP는 UDP에 비해서 속도가 느리다.

 

 

UDP

 

-신뢰성 X

 

-속도가 빠르다.

 

-클라이언트가 서버한테 요청을 했을따 ACK가 없고 그냥 그대로 보내버린다. 

  

  문제가 있을때에는 클라이언트가 확인을 해야 한다. 전송의 오류가 있으면

 

  전체 데이터를 다시 보낸다.

 

 

신뢰성 : 데이터의 전송유무를 확인할수 있는것.

 

            데이터를 한번에 전송하지 않고 나눠 전송 한다. 그이유는 하나의 기계가 보낼수 있는

 

             데이터의 한계가 있기 때문이다.

 

 

MTU(maximum transfer unit) - 데이터 단위

 

Segmenting - 데이터를 나누는 기능

 

Segment - 나뉘어진 데이터

 

Sequence Number - 나뉘어진 데이터의 순서를 구분해주는 번호

 

 

 

4계층 대표 장비

 

L4 Switch : 포트번호를 구분할수 있는 장비

               : 부하분산에 쓰여진다.

 

 

부하분산 : 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터자원들에게 작업을 나누는것

 

포트번호(서비스 요청번호) : 프로토콜을 구분짓기 위한 번호

 

 

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

 

-논리적 주소(ip)를 기반으로 데이터를 전송경로를 만들어주는 계층

 

-쉽게 풀어 데이터를 보내기 위해서 주소를 적기위한 단계이다. 출발지와 목적지 ip를 적는다.

 

 경로를 선택하고 주소를 정하고 경로에 따라 패킷(정보)을 전달해 주는것이 이계층의 주 목적이다.

 

 

논리적 주소 : ip를 말한다. 변경할수 있다.

 

물리적 주소 : mac 이라고 한다. 변경이 불가능 하다. 

                   공장에서  LAN카드를 만들때 바코드같이 붙어서 나오기 때문이다.

 

   각가의 컴퓨터를 구분해주는 시리얼 번호이다.

 

   48bit로 이루워져 있다.

 

 

3 계층 대표장비

 

라우터 : ip 주소를 구분할수 있는 장비이다.

 

L3-switch

 

 

데이터 단위 : packet (패킷)

 

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

 

- 물리적 주소(mac)를 기반으로 데이터를 전송하는 형태를 결졍하는것

 

-쉽게 말해 운송수단을 결정하는것 (4계층과는 다르다. 4계층은 포장방법)

 

- Point-to-Point : 1:1 연결    라우터 : 라우터 (프로토콜 : PPP , HDLC)

 

-BMA : 1:1 ,1:n 연결 주로 이더넷(Ethernet)환경 / LAN

(Broadcast Multi Access)

 

-NBMA : 1:1연결  WAN  Frame-relay

(Non Broadcast Multi Access)

 

 

데이터 단위 : frame

 

 

2계층 대표 장비

 

Switch - 물리적 주소 (mac)를 구분할수 있는 장치

 

 

 

 

Physical Layer (피지컬 계층) 1계층

 

-상위계층으로 부터 받은 데이터를 전기적 신호로 걸쳐 매개체로 전달 해주는것

 

-컴퓨터는 기본적으로 0 과 1 밖에 모른다 우리가 만든 데이터를 전송할때 

 

  이것을  0 과 1로 바꿔서 보내는것이다.

 

 

1계층 대표 장비 

 

Hub(허브) :  멀티포트(Multiport)  기능

 

Repeater(리피터) :   약해진 신호를 증폭 시켜서 전송거리를 길게 이어준다. 하지만 

 

잡음이 생길수도 있고 길이가 늘어날수록 충돌거리도 늘어난다.

 

                              예를 들면 음악에서 앰프같은 것이다. Hub는 이 리피터 기능도 할수있다.

 

 

 

 

Multiport :  허브로 연결한 컴퓨터끼리 통신이 가능하다. 외부로의 통신은 안된다.

 

 

 

 

 

OSI 7 Layer 간단한 정리

 




 

 

 

 각 계층에 따라 작업이 이루어진다. 컴퓨터 A에서 데이터를 보내는데 이때 7계층 부터 1계층 순으로 내려온다. 이것을 Encapsulation 이라고 한다. 이 과정에서 계층을 넘어 올때마다 헤더라는 정보가 하나씩 하나씩 붙는다. 그리고 1계층에서 데이터를 보내고 컴퓨터 B쪽으로 받은 데이터에서 헤더를 하나씩 벗끼면서 1계층부터

 

7계층 순으로 올라간다 이 작업을 De - encapsulation 이라고 한다.

 

 

간단한 예로 우편물 배달이 있다. 보통 통신을 우편물이나 택배를 많이 비유한다.

 

 

Encapsulation    =>   A 컴퓨터

 

1. 5,6,7 계층에서 물건(Date)을 만든다.

 

2. 4계층에서 물건(Date)를 포장한다.       ->   TCP  , UDP

 

3. 3계층(우리집)에서는 우리집 주소와 상대방 받는 주소를 적고 우체국으로 보낸다.  -> ip

 

2. 2계층(우체국)에서는 비행기로 자동차로 보낼지 운송방법을 정한다.   -> PPP , HDLC

 

1. 1계층에서 물건을 보낸다.  -> 01010101010101010 (컴퓨터는 0 과 1밖에 모른다.)

 

 

De-encapsulation     => B 컴퓨터

 

1. 1계층에서 물건을 받는다.

 

2. 2계층(다른 우체국지점)에서 물건이 제대로 왔는지 확인한다. 제대로 왔으면 집(3계층)으로 배송한다.

 

3. 3계층(상대방집)으로 물건을 받는다.

 

4. 4계층에서 물건 포장을 뜯는다.

 

 

 

 

 

 

 

 

 

Protocol Suite

 

- 각 계층마다 대표적인 프로토콜이 있다.

 

 

5,6,7 대표적 프로토콜 

 

() = 안의 숫자는 포트번호다.

 

DNS(53) : ip 주소를 알기 쉽게 문자로 바꿔주는것    74.125.128.106 => www.google.com

 

HTTP(80) : 웹서비스 제공

 


 

 

HTTPs(443) : http가 보안이 취약해서 암호화 하는것이다. 대표적으로 은행사이트나 로그인 화면에서

                     확인할수 있다.

 


 

 

FTP(20,21) : 파일전송 20 - 파일을 주고 받을때 쓴다. 21 - 접속을 제한할때 쓴다.

 


 

 

Telnet(23) : 원격접속 ==> ssh(22) 보안이 취약해서 쓴다.

 


 

 

DHCP(67, 68) : ip 자동으로 구성해준다.

 

http://rjsdnwl.egloos.com/viewer/3470887