본문으로 바로가기

OSI 7계층

category Computer/컴퓨터 구조 2019. 1. 18. 18:06

OSI(Open System Interconnection) 7 계층

OSI 7계층

  • 국제표준화기구(ISO)에서 정보통신업체 간 장비 호환성을 위해 1984년에 발표한 '표준구조'
  • 왜 만들게 되었나?
    • 표준,장비간 호환성을 통한 비용 절감
    • 서로 다른 환경에서 상호작용하기 위해




 OSI 7 계층

  • 물리 계층(Physical Layer)
    • 전기적 , 기계적 , 기능적인 특성을 이용해서 통인 케이블로 데이터를 전송
    • 데이터를 전달만 할 뿐 데이터가 무엇인지 에러가 있는지 어떻게 보내는게 효과적인지 관여하지 않는다.
    • 통신단위 : 비트(1,0)
    • 장비
      • 리피터
        • 데이터가 전송되는 동안 케이블에서는 신호의 손실인 감쇄 현상이 일어나는데 리피터는 감쇄되는 신호를 증폭하고 재생하는 전송하는 역할을 한다.
      • 허브(멀티포트 리피터)
        • 허브에 연결된 케이블 중 한 케이블로 신호가 들어오면 같은 신호를 다른 모든 케이블로 전달된다.
        • => 연결된 데이터 컴퓨터에 따라 전송대역이 분리됨 (성능저하)
          • ex) 전송대역이 8Mbps 네트워크 라인-> 4대 컴퓨터 -> 각 컴퓨터 대역폭 2Mbps                                
      • 모뎀
        • 정보전달을 위해 신호를 변조하고 송신하고 수신측에서 원래의 신호로 복구하기 위해서 복조하는 장치
        •  아날로그 => 디지털 , 디지털 => 아날로그 

  • 데이터 링크계층 (Data Link Layer)
    • 전송단위 : 프레임
    • 오류가 있는지 없는지 안정된 전달을 하는지 담당
    • 각 네트워크 개체가 고유한 주소를 할당하고 물리 계층에서 발생할수 있는 오류를 찾아내서 수정하는데 필요한 기능적,절차적 수단을 제공
      • 주소 할당
        • 물리 계층으로 받은 신호들이 네트워크 상의 장치에 올바르게 안착할 수 있게 한다.
      • 오류 감지
        • 신호가 전달되는 동안 오류가 포함되어 있는지를 감지
    • 장비
      • 브리지
        • 두개 혹은 그 이상의 네트워크 세그먼트를 연결하거나 패킷을 전송할 때 사용됨
        • MAC 주소를 기반을 분석하여 폐기하거나 전송
      • 스위치
        • 길 바꿔주는것

  • 네트워크 계층 (Network Layer)
    • 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능을 가지고 있다.
    • 데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층이다.
                        => 패킷을 발신자로부터 여러 네트워크를 통해 목적지까지 안전하게 전달한다.
    • 장비
      • 라우터
        • 브리지는 물리주소로 처리하지만 네트워크층의 주소(IP)로 처리함
        • 네트워크와 네트워크를 연결하는 장치(서로 다른 네트워크 연결가능)
        • 수신처에 대한 라우터 루트를 결정하여 패킷을 배송
        • 데이터 패킷이 목적지까지 갈 수 있는 길을 검사 하고 어떤 경로로 전송하는 것이 가장 효율적인지를 결정한다.
      • 스위치


  • 전송 계층 (Transport Layer)
    • 종단 시스템 간의 전송 연결 설정 , 데이터 전송 , 연결 해제 기능
    • 응답,순서,흐름제어 등을 이용하여 데이터가 에러 없이 순서에 맞게, 중복되거나 없어지는 일 없이 전송되도록 한다.
    • 전체 메시지의 프로세스 - 대 - 프로세스 역할


  • 세션 계층 (Session Layer)
    • 네트워크 상에서 통신을 하게 될 경우 양쪽 host간 최초 연결이 되게 하고 통신중 연결이 지속되도록 시켜주는 역할
    • 세션 연결의 설정과 해제,세션 메시지 전송 등의 기능을 한다.
    • 네트워크의 '대화 조정자'로 통신하는 시스템들 사이의 상호작용을 설정,유지하고 동기화한다.
      • 동기란 통신 양단에서 서로 동의하는 논리적인 공통처리 지점으로써 , 동기점을 설정하기 위해 사용된다.
      • 동기점이 설정된다는것 의미는 그 이전까지의 통신은 서로 완벽하게 처리했다는것을 뜻한다.
    • 포트별로 여러 종류의 응용프로그램 연결.


  • 프레젠테이션 계층 (Presentation Layer)
    • 두 시스템 사이에서 교환되는 정보의 구문과 의미에 관련된 변환,압축 및 암호화를 담당
    • 상대방이 읽을수 있도록 데이터를 변환
    • 응용 프로그램간에 교환되는 데이터의 구문에 대한 표현과 형식의 차이를 해결

  • 어플리케이션 계층 (Application Layer)
    • 사용자(사람,소프트웨어)가 네트워크에 접근할 수 있도록 함.
    • 사용자 인터페이스를 제공하고 , 전자우편, 원격 파일 접근과 전송, 공유 데이터베이스 관리 및 다양한 분산정보 서비스 제공함

사실 위의 내용들은 여러 블로그나 각종 사이트에 비슷한것들이 많이 있다.

누군가에게는 쉽고 누군가에게는 어려운 내용일수 있다. 대부분은 어렵다고 생각할것이다. 

하지만 좀더 단순하게 생각해보면 굉장히 쉬울수 있는 개념이다.


 

생각을 해보자! 
우리나라(Korea)에서 특정 프로그램에서 미국의 특정 프로그램에 데이터를 전송하고 싶다. 어떻게 가능할까?
먼저 데이터가 전송되기 위해서는 물리적 개념이 뒷받침 되어야 한다.
즉, 전송선이 있어야 한다는 말이다. 바다에 광케이블이 있다. 이것이 존재하기 때문에 먼곳에서도 통신이 가능하다.
먼곳에 있는 곳 까지 데이터를 전송해야 한다면 가는 도중에 신호가 약해질수 있다. 그렇기 때문에 리피터가 나오는것이고
데이터에 오류가 있는지 없는지 체크해야 하니까 Data Link Layer가 나온것이고 그렇게 데이터가 흘러가는 도중
최단경로(올바른길)로 가야하니까 Router(길찾기)가 필요한것이고 그래서 Network Layer가 나오는것이다.
길을 찾았으면 전송을 해야하니까 Transport Layer 가 나오는것이다. 이렇게 꼬리의 꼬리를 물면 이해가 좀더 쉽게 될것이다.
5~7 계층은 프로그램과 관련된 내용이니 따로 언급하지는 않겠다.
또한 각 계층에 특정 기기들이 있다. 허브, 스위치 ... 이것은 원래 개념은 1계층,2계층 등등 일수 있지만 그 기능들이 추가가 되면서
3계층이 될수도 있다. 즉, 최종적인 기능을 보면서 그 특정 기기가 어떤 Layer를 지원하는지 판단해야한다.