본문 바로가기
I T/Network

OSI 7계층

by 루솨 2015. 8. 28.

OSI 7 Layer 와 TCP/IP

퍼옴 :  http://rjsdnwl.egloos.com/3470887


OSI 7 Layer 은 무엇인가?

통신에 관한 국제적인 표준기구인 ISO라는 곳에서 만든 OSI 7 Layer는 통신이

일어나는 과정을 7개의 단계로 나누었다.



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를 받으면 그다음 데이터를 보낸다.
           
            이러한 과정때문에 TCP는 UDP에 비해서 속도가 느리다.


UDP

-신뢰성 X

-속도가 빠르다.

-클라이언트가 서버한테 요청을 했을따 ACK가 없고 그냥 그대로 보내버린다. 
  
  문제가 있을때에는 클라이언트가 확인을 해야 한다. 전송의 오류가 있으면

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


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

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

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


MTU - 데이터 단위

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 자동으로 구성해준다.