본문 바로가기

old drawer/Network

[Network] OSI 7 layer

1980년대 초에 ISO는 업체들이 네트워크를 구현할 때 참조로 할 네트워크 모델의 필요성을 인식하고 1984년 OSI 참조 모델을 발표하게 되었다.
OSI참조 모델은 응용 프로그램의 정보가 네트워크 매체를 통해 다른 컴퓨터의 응용 프로그램에 어떻게 전달되는가를 설명한다.
 

통신 기능은 일련의 계층 집단으로 분할되며, 각 계층은 다른 시스템과 통신하려는 데에 필요한 관련된 기능을 수행한다. 각 계층은 그 기능들의 세부 내용을 은폐하고 보다 원시적인 기능을 수행하기 위하여 바로 아래에 있는 계층에 의존한다.

<OSI 7 Layer 개념도>

    1 계층 : 물리 층(Physical Layer)
    물리 층은 시스템간에 물리적 링크를 작동시키거나 유지하며 전기, 기계, 절차 그리고 기능적 측면의 문제들을 정의한다.

    2 계층 : 데이터 링크 층(데이터-link Layer)
    데이터 링크 층은 물리적 링크를 통한 신뢰성 있는 데이터 전송을 제공한다. 이 계층은 물리적 어드레싱, 네트워크 토폴로지, 회선 사용 규칙, 오류 검출, 프레임 전달 그리고 흐름 제어 등에 관계한다.

    3 계층 : 네트워크 층(Network Layer)
    네트워크 층은 다른 장소에 위치한 두 시스템간에 연결성과 경로 선택을 제공한다. 라우팅 프로토콜이 서로 연결된 네트워크를 통한 최적 경로를 선택하며 네트워크 층의 프로토콜은 선택된 경로를 따라 정보를 보낸다.

    4 계층 : 트랜스포트 층(Transport Layer)
    애플리케이션, 프리젠테이션, 그리고 세션 층이 애플리케이션에 관련되어 있다면 하위의 네 계층은 데이터 전송에 관련되어 있다. 트랜스포트 층은 데이터 전송 서비스를 제공하는 층이다. 즉 인터네트워크 상에서 얼마나 신뢰성 있는 데이터 전송이 이루어지는가 등의 문제에 트랜스포트 층이 관련되어 있다. 신뢰성 있는 서비스를 제공하기 위해 트랜스포트 층은 가상 회로의 구축, 유지 및 종료, 전송 오류 검출 및 복구 그리고 정보 흐름 제어의 절차를 제공한다.

    5 계층 : 세션 층(Session Layer)
    세션 층은 애플리케이션간에 세션을 구축하고 관리하며 종료시키는 역할을 하는 층이다. 세션 층은 프리젠테이션 층 사이의 대화를 동기 시키며 데이터 교환을 관리한다.

    6 계층 : 프리젠테이션 층(Presentation Layer)
    프리젠테이션 층은 한 시스템의 애플리케이션에서 보낸 정보를 다른 시스템의 애플리케이션 층이 읽을 수 있도록 하는 층이다.

    7 계층 : 애플리케이션 층(Application Layer)
    애플리케이션 층은 OSI 모델에서 유저와 가장 가까운 층이다. 이 계층은 OSI의 다른 어떤 계층에도 서비스를 제공하지 않는다는 점에서 다른 계층과 다르다. 이 계층에는 스프레드 쉬트, 워드 프로세싱 등이 속한다.

<출처>
http://www.tibs.co.kr/network/3/osi7.htm

● OSI 7 Layer


 OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 그 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문에 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽다. 그리고 만약 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다.

 예를 들면 게임방에서 스타를 하는데 베틀넷이 끊어진다면, 관리자는 우선 모든 PC가 그런 것인지 한 PC만 그런 것이지 확인을 한다. 만약 모든 PC가 베틀넷이 안된다면 아마도 인터넷 접속에 문제가 있다고 보면 된다. 즉, 라우터의 문제(3계층)이거나 광랜을 제공하는 회사의 회선 문제(1계층)인지를 알 수 있다. 만약 한 PC만 이상이 있다면 소프트웨어를 확인하여 소프트웨어에 이상이있다면 7번째 계층인 어플리케이션 계층(Application Layer)에 이상이 있는 것이고, 컴퓨터에 이상이 없고, 스위치에 이상이 있으면 2번째 계층인 데이터링크 계층(Data-Link Layer)에 이상이 있는 것이 된다. 아무튼 OSI 7계층은 네트워크를 공부하는데 있어서 아주 중요한 이론이며, 꼭 알고 있어야하는 부분이다. 이제 각 7단계의 특징을 알아보겠다.

 OSI 7계층은 위에서 말했듯이 총 7단계로 나눠져 있다. 각 계층의 명칭을 알아보면 다음 그림과 같다.

사용자 삽입 이미지
                                                       <OSI 7 계층의 통신과정>


 위 그림에서 맨 아래에 있는 계층부터 1계층이 된다. 즉, (1계층 = Physical(물리)), (2계층 = Data Link(데이터링크)), (3계층 = Network(네트워크)), (4계층 = Transport(전송)), (5계층 = (Session(세션)), (6계층= Presentation(표현)), (7계층 = Application(응용))이 된다. 위 그림은 데이터가 어떤 식으로 각 단계를 거쳐 목적지로 전해진 뒤 목적지에서 어떤 식으로 데이터를 받게 되는지 보여준다. 우선 알아야 할 것은 데이터통신은 각 계층별로 이루어진다는 것이다. 처음에는 이게 무슨 말인지 이해하기 쉽지는 않겠지만 조금만 공부해보면 금방 이해하게 될 것이다. 아무튼 통신이 각 계층별로 이루어진다는 뜻을 알아보면...

 사용자가 데이터를 전송할 때 각 계층을 지날 때 마다 헤더라는 작은 크기의 프레임을 달게 된다. 마지막 계층까지 헤더프레임이 붙인 후 목적지 컴퓨터에 전송하면 목적지 컴퓨터는 각 계층별로 헤더프레임을 파악하여 자신의 것이 맞는지, 전송도중에 오류는 없었는지 등의 검사를 거친 후 이상이 없을 때 사용자에게 보여주게 된다. 이제는 각 단계에서 어떤 일을 하는지 알아보겠다. 그전에 1계층~3계층까지는 하드웨어 부분이고, 5~7계층은 소프트웨어 부분, 4계층은 그 중간 이라고 생각하면 된다.


▪ 1단계(물리계층)

 이 계층에서는 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하게 된다. 이 계층에서 사용되는 통신 단위는 비트이며 이것은 1과 0으로 나타내어지는, 즉 전기적으로 On, Off 상태라고 생각하면 된다. 이 계층에서는 단지 데이터를 전달만 할뿐 전송하려는(또는 받으려는)데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다. 단지 데이터 전기적인 신호로 변환해서 주고받는 기능만 할 뿐이다. 이 계층에 속하는 대표적인 장비는 통신 케이블, 리피터, 허브등이 있다.


▪ 2단계(데이터 링크계층)

 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다. 따라서 통신에서의 오류도 찾아주고 재전송도 하는 기능을 가지고 있는 것이다. 이 계층에서는 맥 어드레스를 가지고 통신하게 된다. 이 계층에서 전송되는 단위를 프레임이라고 하고, 대표적인 장비로는 브리지, 스위치 등이 있다.(여기서 MAC어드레스를 사용한다.)


▪ 3단계(네트워크 계층)

 네트워크로 먹고 사는 사람들이 가장 많이 다루는 계층이다. 이 계층에서 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능이다. 이 기능을 라우팅이라고 하는데 여기에 사용되는 프로토콜의 종류도 다양하고, 라우팅하는 기술도 다양하다.

 아무튼 이 계층은 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할이다. 이 계층의 대표적인 장비는 라우터 이며, 요즘은 2계층의 장비 중 스위치라는 장비에 라우팅 기능을 장착한 Layer 3 스위치도 있다.(여기서 IP주소를 사용한다.)


▪ 4계층 - 전송 계층(Transport Layer) : 통신을 활성화하기 위한 계층이다. 보통 TCP프로토콜을 이용하며, 포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다. 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져 준다. 단대단 오류제어 및 흐름제어 이 계층 까지는 물리적인 계층에 속한다.(TCP/UDP프로토콜을 사용한다.)


▪ 5계층 -세션 계층(Session Layer) : 데이터가 통신하기 위한 논리적인 연결을 말한다. 통신을 하기위한 대문이라고 보면 된다. 하지만 4계층에서도 연결을 맺고 종료할 수 있기 때문에 우리가 어느 계층에서 통신이 끊어 졌나 판단하기는 한계가 있다. 그러므로 세션 계층은 4 계층과 무관하게 응용 프로그램 관점에서 봐야 한다. 세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다.


▪ 6계층 - 표현 계층(Presentation Layer) : 데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화 한다. 전송되는 데이터의 표현 방식에 대한 설명이다. 해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분이다.


▪ 7계층 - 응용 계층(Application Layer) - 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜 많이 있다. 해당 통신 패킷들은 방금 나열한 프로토콜에 의해 모두 처리되며 우리가 사용하는 브라우저나, 메일 프로그램은 프로토콜을 보다 쉽게 사용하게 해주는 응용프로그램이다. 한마디로 모든 통신의 양 끝단은 HTTP와 같은 프로토콜이지 응용프로그램이 아니다.

<출처>
http://honhon20.tistory.com/95

프로토콜

   - 다양한 이 기종간에 통신(데이터 송수신)을 수행하기 위해서는 상호간의 약속이 필요하다
   - 이 약속을 프로토콜이라 한다.
   - ISO 에서는 OSI 7 Layer를 기초로 해서 프로토콜을 만들기를 권고 하고 있다.  
    
 OSI 7 Layer

 
   - OSI 7 Layer 각 계층은 바로 그 상위 또는 하위 계층과만 데이터를 주고 받는다.
   - 모듈화가 되어 있어 구현하기가 쉽다.(장점)
   - 다른 계층에 대해서는 완전히 독립적이다
   - 계층 구조의 본질적인 약점인 속도에는 손해를 보게 된다.(소프트웨어 가격 >> 하드웨어 가격)   -
   - TCP / IP 는 OSI 7 Layer 를 이용하여 설계되었다.  

  OSI 7 Layer : Physical Layer
 
  - 인접한 통신 단말기 간의 물리적 교신 표준을 정의한다.
        - 전기적인 신호 전압(Volt)은 얼마로 할까?
        - 통신에 사용하는 케이블은 어떤 규격의 것을 사용할까?

 OSI 7 Layer : Data Link Layer

   - 인접한 통신 단말기간에 실제 데이터를 전달하는 역할과 제어를 담당한다.
   - 데이터를 패킷으로 분할 / 흐름을 조절 / 에러 Checking / 에러발생시 재전송--> 일종의 규격
   - 데이터 링크계층이 데이터 송수신을 수행하지만, 인접한 단말기(게이트웨이 내의) 끼리의 통신

 OSI 7 Layer : Network Layer

   - '논리'적인 두 지점간의 데이터 전송을 담당하는 계층이다.(논리적인 지점은 물리적과 연관 X)
   - 하나의 게이트웨이 내에서 송수신 되는게 아니라 라우터를 벗어난 곳 까지 전송이 가능
   - 각각의 PC 마다 Mac address 가 아닌 구별할 수 있는 IP address 가 필요하게 된다. 
   - 즉 경로 '배정'과 '중계'가 필요하게 된다(Router가 필요)
   - 데이터를 중계하는 라우터에도 네트워크 계층까지는 구현되어 있다. 

 OSI 7 Layer : Transport Layer
  
   - 네트워크 계층에 전달되는 데이터의 에러와 순서를 찾아내고 필요하다면 다시 송수신을 하게 한다.
   - 물리적으로 멀리 떨어진 상태에서의 재전송을 담당(같은 게이트웨이 내에서는 Data Link Layer 담당)
   - 즉 논리적인 두 통신 단말기 사이의 흐름 제어와 에러 보정을 하게 된다.
   - Session Layer 에서 데이터가 크게 넘어오면 데이터를 작은 패킷으로 분할/재조합(역순)을 하게된다.
   - 데이터의 무결성과 송수신된 데이터에 대해서 순서의 정확성을 보장(올바른 데이터)
   
 OSI 7 Layer : Session Layer

   - 통신 단말기 사이의 세션을 구축하고 유지하며 종료시키는 역할을 한다.
     (Session 즉 일종의 데이터 전송시의 규약을 담당한다)
   
 OSI 7 Layer : Presentation Layer

   - 송수신된 데이터를 서로 상이한 기종에서 표현하기 위하여 송수신된 데이터에 대한 규약을 정한다.
   - 데이터 압축 방법이나 암호화 규약 같은 것이 해당(암호화 복호화)

 OSI 7 Layer : Application Layer
   
   - 네트워크 서비스를 제공하는 계층(실제 우리가 프로그램을 작성하는 계층)
 - 하위 계층의 데이터 송수신 작업을 이요해 특정 네트워크 서비스를 만드는 계층

  TCP/IP 와 OSI 7 Layer
 

  - 인터넷은 TCP/IP통신 프로토콜을 사용한다.
  - TCP/IP 는 OSI 7 Layer 를 기반으로 하지만 단순화 시켜서 4단계로 나눔(속도 향상을 위해)

 TCP / IP : Network Access Layer

   - 네트워크 장치를 만드는 하드웨어 제작 회사와 그 회사가 제공하는 네트워크 드라이버에 구현되어 있다.
   - 직접 함수를 호출 할 필요가 없다.(실제에는 TCP와 UDP 만 보고 코딩하면 된다)
   - 인접한 통신 객체(지점)들 간에 송수신시 사용하는 프로토콜
   - 통신장치를 식별할 수 있는 물리적 주소인 Mac address 를 사용한다. 
   - Mac address 는 지역내에서만 쓰기 때문에 중복 문제가 거의 발생하지 않는다(문제는 IP address 중복 문제이다)
  
 TCP / IP : Internet Layer

   - 상위 계층에서 보낸 데이터를 논리적인 통신장치까지 전송하는 역할을 수행한다.
   - 통신 지점이 물리적으로 멀리 떨어져 있는 경우 전송경로를 설정하고 라우팅 작업을 수행하게 된다.
   - 논리적인 통신장치를 식별하기 위한 주소(IP)를 사용

 TCP / IP : Transport Layer

   - 두 통신 지점사이에 오류가 없는 데이터 송수신을 수행한다. 
   - 두 통신 지점이란 물리적 하드웨어 내의 논리적 지점이다.
   - 물리적인 두 통신 지점은 IP주소에 의해 지정되며 트랜스포트 계층의 두 통신 지점은
     IP 주소를 기반으로 포트번호로 식별하는 하드웨어 내의 논리적 지점이다.
   - 대이터의 분할 / 재전송 또한 담당한다.

    TCP : 연결형 프로토콜 (논리적 연결) / 속도가 느리다 / 신뢰성이 있다
    UDP : 비연결형 프로토콜 (논리적 연결 없이 송수신) / 속도가 빠르다 / 신뢰성이 없다 / (ex : 인터넷 방송)
   
 TCP / IP : Application Layer

   - 다양한 네트워크 서비스와 어플리케이션 자체를 의미한다.
   - 개발자가 실제 개발해야 할 몫이다.

 계층별 헤더

   - TCP/IP의 각 계층은 이것을 구현하기 위해 실제 송신하는 데이터 외에 자신의 계층이 인식할 수 있는 헤더
     정보를 첨부하여 송신하게 된다.
   - TCP/IP의 각 계층은 헤더를 붙여 전송하고, 상대 컴퓨터의 해당 계층은 헤더 정보를 이용해 자신의 계층
      에서 수신한 데이터에 대해 처리한다.
   - Application Layer 에서 전송한 데이터는 여러 데이터로 분할해서 보내고 이 분할된 데이터를
     '세그먼트'라고 한다.
   - 트랜스포트 계층과 인터넷 계층에서 헤더 정보를 포함한 데이터를 
     '패킷'(상위 분할된 세그먼트에 헤더 포함)이라고 한다.
   - 프렘임이란 헤더 + 패킷 + 트레일러를 의미
<출처>
http://metalpooh.egloos.com/2710266


OSI 7 Layer
 
- 표준화 이유?
  표준화가 되어 있지 않다면, 하나의 네트워그 관련 프로그램을 개발하기 위해
  프로그램 개발자는 인터페이스에서 부터 프로토콜 처리,
  네트워크 카드 제어까지 네트워크에서 발생하는 모든 제반 사항들을 
  프로그램에 포함 시켜야만 한다.
  이와 같은 불편함과 비효율성을 해결하기 위한 방법으로 표준화/모듈화가 필요
  
  즉, 응용프로그램의 사용자 인터페이스 단계부터 네트워크카드에서의 
  신호처리까지의 모든 과정을 기능별 단계로 나누고 각각의 기능별 단계가
  위쪽 단계와 아래쪽 단계로 원할하게 데이터와 신호를 전달하고 처리할 수 
  있게 각각의 단계를 표준화 모듈화 시키는 것이다.
  
- ISO (International Standardization Organization: 국제 표준화 기구)에서
  OSI (Open System Interconnection) 7계층 모델이란 표준 방식 제안
  
  
  
- OSI 7 Layer
  
  7계층  -  Application   -  사용자 인터페이스 / 응용 프로그램
  6계층  -  Presentation  -  데이터 포맷 / 암호화
  5계층  -  Session       -  연결 유지
  4계층  -  Transport     -  패킷 생성 / 패킷 오류 관리
  3계층  -  Network       -  논리적 주소 관리 / 경로 설정
  2계층  -  Data Link     -  물리적 주소 관리
  1계층  -  Physical      -  네트워크의 물리적 구조(케이블, 신호방식)
  
  각각의 계층은 데이터를 전송하느냐 수신하느냐에 따라서 데이터를 아래쪽으로
  전달하는지 위쪽으로 전달하는지의 전달 경로가 결정
  각각의 계층은 자신의 계층에서의 역할에 따른 작업에 의해서 데이터에 변형을
  가하게 되고, 어떤 작업이 일어났는가에 대한 정보를 추가하여 데이터를
  전달하게 된다.
  각각의 계층에서 자신의 역할에 따라 추가한 정보를 헤더(Header)라고 한다.
  
  
- 7계층, Application Layer
  사용자 인터페이스의 역할을 담당하고 있는 계층이다. 
  즉, 사용자들이 이용하는 네트워크 응용 프로그램이라고 생각하면 된다.
  메일을 보낼려면 메일 프로그램, 인터넷 검색을 하려면 웹 브라우저를 
  사용하듯, 이와 같이 사용자 입장에서 네트워크를 이용할수 있게
  해주는 역할을 담당한다.
  FTP, Telnet, SMTP, DNS, DHCP
  
  
- 6계층, Presentation Layer
  네트워크로 보내질 데이터의 형식(Format)을 결정
  보낸 쪽과 받는 쪽이 정확한 데이터 형식을 사용할 수 있도록 해주는 역할
  
  문자 데이터 형식: ASCII, EBCDIC, 유니코드 등..
  멀티미디어 데이터 형식: GIF, JPEG, MIDI, MPEG 등..
  
  또한 네트워크로 전송될 데이터를 암호화하고 해독하는 역할도 담당한다.
  
  웹 브라우저나 메일 프로그램을 사용하여 웹 페이지나 메일의 내용을 확인할
  경우 영어로된 웹 페이지는 영어로 보여주고, 한글로된 웹페이지는

  한글로 자동으로 보여주는 기능이 Presentation 계층의 역할이다.
  웹 브라우저나 메일 프로그램에서 내용을 확인할 때 알 수 없는 문자가 
  나타난다면 Presentation 계층의 역할에 문제가 발생한 것이다.
  
             송신 컴퓨터  -------------------------->  수신 컴퓨터
  데이터 형식: 한글/영어  -------------------------->  한글/영어 문자 표시
  데이터 형식: MP3        -------------------------->  MP3 음악 재생
  데이터 형식: GIF/JPEG   -------------------------->  GIF/JPEG 그래픽 표시
  데이터 형식: 암호화     -------------------------->  암호해독
  
  
- 5계층, Session Layer
  네트워크 상에서 컴퓨터들이 서로 통신을 할 경우에 양쪽 컴퓨터 간에 최초에
  연결이 되도록 하고 통신 중에 연결이 끊어지지 않도록 상호간에
  연결상태를 유지시켜주는 역할
  
  특정 목적지 컴퓨터로 파일을 전송하는 경우, 목적지 컴퓨터가 네트워크 
  상에 존재하는지 아닌지도 확인하지도 않고 바로 파일을 보내는 것이 아니라
  목적지 컴퓨터와 파일을 보낼테니 받을 준비가 되었는가를 협의해야 한다.
  
  특정 사이트에 접속할 경우에 해당 사이트에 최초에 연결을 시도하면서 
  해당 사이트들이 사용자의 접속을 제한 하지는 않는지 등을 파악하고
  필요한 경우에 접속을 위한 협의 과정을 거쳐야 한다.
  
  
- 4계층, Transport Layer
  사용자가 보낸 데이터가 목적지에 정확하게 도착하도록 관리하는 역할이다.
  
  효율적인 데이터 전송을 위해서 데이터를 전송하기에 적당한 크기의 
  패킷(Packet)으로 나누어 주는 역할을 한다.
  10MByte의 파일을 상대방에게 전송하는 경우에 전송 도중 오류가 발생한다면
  10MByte의 파일을 다시 전송해야만 한다.
  이런 경우에 10MByte의 파일을 한번에 다 전송하지 않고 1MByte의 크기의 
  단위로 나누어 전송을 한다면 전송 도중에 오류가 발생하여도
  오류가 발생한 해당 부분만 다시 재전송을 하면 되므로 효율적으로 
  네트워크를 사용할 수 있게 된다.
  
  수신측 컴퓨터의 경우에는 수신된 각각의 패킷들을 원래의 파일로 다시 
  재결합하는 역학을 한다.
  각각의 패킷은 수신측 컴퓨터의 Transport 계층에서 다시 원래의 파일로 
  재결합 되기 위해서 패킷의 헤더에 패킷 번호 정보를 가지고 있다.
  
  웹 브라우저를 사용하여 그림이 있는 웹 페이지를 검색하는 경우에, 원본 그림
  파일의 마지막 패킷까지 제대로 전송받지 못한 경우에는 그림의 위쪽 부분은
  표시가 되는데 아래쪽 부분이 나타나지 않는 현상이 나타날 수 있다.
  또한 그림의 아래부분이 위에 나타나고 위쪽 부분이 아래에 나타날 경우에는
  패킷을 다 전송 받기는 하였지만 순서대로 재결합을 하지 못했을 경우이다.
  
  Transport 계층의 역할을 담당하는 Protocol --> TCP, UDP
  
  
- 3계층, Network Layer
  논리적인 주소를 담당하고 패킷의 전달 경로를 결정하는 역할
  논리적인 주소 --> IP주소, IPX주소, 컴퓨터 이름
  
  Transport 계층에서 만들어진 패킷을 전달 받아 목적지 컴퓨터의 논리적인 
  주소를 네트워크 계층의 헤더에 추가하는 역할을 한다.
  

  Network 계층 역할을 담당하는 장비 --> Router(라우터)
  
  Network 계층 역할을 담당하는 Protocol --> IP, IPX, ARP
  
  
- 2계층, Data Link Layer
  네트워크 카드의 물리적인 주소를 관리한다.
  
  네트워크 상에서 각각의 컴퓨터들을 구분하기 위해서 논리적인 주소인 
  컴퓨터 이름, IP주소를 사용한다.
  하지만 최종적으로 데이터가 목적지 컴퓨터로 전달 되기 위해서는 네트워크 
  카드의 물리적인 주소인 MAC(Media Access Control)주소가 반듯이 필요하다.
  
  Network 계층에서 전달 받은 데이터를 케이블에 흘려 보낼 데이터 형태인 
  프레임(Frame)으로 만든다.
  프레임은 물리적 네트워크 구성이 Ethernet 인지 Token Ring 인지에 따라서 
  그 크기와 내용이 결정된다.
  
  프레임의 목적지 주소로 물리적 주소를 사용한다.
 
  프레임의 목적지 주소는 발신지 컴퓨터와 목적지 컴퓨터가 동일한 네트워크 
  세그먼트 상에 존재할 경우에는 목적지 컴퓨터의 MAC주소로 지정,
  발신지 컴퓨터와 목적지 컴퓨터가 동일한 네트워크 세그먼트 상에 존재하지 
  않는 경우에는 해당 세그먼트에 존재하는 리우터의 MAC주소로 지정하여
  아래 계층인 물리 계층으로 전달한다.
  
  수신쪽에서는 하위 계층인 물리 계층으로부터 전달 받은 프레임의 목적지 
  MAC주소가 자신의 MAC주소와 일치하는 경우 해당 프레임의 헤더를 제거한
  패킷을 위쪽 계층인 Network 계층으로 전달한다.
  
  Network 계층 역할을 담담하는 장비 --> 브릿지, Layer2 Switch
  
  Network 계층 역할을 담당하는 Protocol --> SLIP, PPP
  
  
- 1계층, Physical Layer
  네트워크 통신을 위한 물리적인 표준을 정의
  
  물리적인 표준 --> 네트워크 카드들이 사용하는 케이블 종류, 
                    데이터 송수신 속도, 신호의 전기 전압
  
  Physical 계층 역할을 담당하는 장비 --> 허브, 리피터
  
  TCP/IP
 
- OSI 7 계층이 발표되기 이전 개발된 프로토콜
  1960년대 말 미국의 DARPA(미국방성 고등연구소)에서 국방성의 컴퓨터들을
  네트워크로 통합하기 위한 연구로 시작하였고, 1980년대에 들어서 
  현재 우리가 알고 있는 것과 같은 TCP/IP의 모습으로 나타나게 되었다.
  이때 사용된 계층화 모델은 7단계가 아닌 4단계 모델을 사용하였고 
  이를 DOD(Department Of Defense: 미국방성) 4계층 이라고 한다.
  DOD 4계층의 역할은 OSI 7 계층의 역할을 단계별로 묶은 형식이다.
 
- TCP/IP는 누구나 기능 향상이나 새로운 기술을 추가하도록 제안 할수 있는
  공개 프로토콜로 개발이 되었고, 현재까지도 계속 발전하고 있다.
 
- TCP/IP는 하나의 프로토콜 이름을 지칭하는 것이 아니라 네트워크 통신을
  위한 OSI 7계층의 각각의 역할을 담당하는 여러가지 프로토콜을 총칭하는
  대표 이름으로, 가장 중심이 되는 프로토콜이 TCP와 IP 이므로 TCP/IP로
  부르게된 것이다.
 
- TCP/IP는 OSI 7 Layer의 구조를 4개의 계층으로 구분하고, OSI 7 Layer의
  각 계층이 하는 일은 TCP/IP에서도 동일하게 적용된다.
 
 
 
- Application Layer
  OSI 7 계층의 Application, Presentation, Session 계층의 역할을 담당하는 
  프로토콜로 FTP, Telnet, SMTP, DNS, DHCP등이 있다.
  
  
- Transport Layer
  OSI 7 계층의 Transport 계층의 역할을 담당하는 프로토콜로 
  TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)가 있다.
  
 
- Internet Layer
  OSI 7 계층의 Network 계층의 역할을 담당하는 프로토콜로 
  IP(Internet Protocol), ARP(Address Resolution Protocol), 
  ICMP(Internet Control Message Protocol)등이 있다.
  
  
- Network Access Layer
  OSI 7 계층의 Data Link, Physical 계층의 역할을 담당 

<출처>
http://smstudent.egloos.com/2586818