CS/네트워크

[네트워크] OSI 7계층

마데카솔라 2021. 1. 7. 22:51
반응형

OSI 7 계층


  • 디지털 통신 제품과 소프트웨어 프로그램이 상호 연동될 수 있도록 안내하고 통신 도구 간의 명확한 비교를 쉽게 하기 위해

 

7 계층을 나누는 이유?


  • 통신이 일어나는 과정을 단계별로 알 수 있기 때문이다
  • 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있다.
  • 계층 하나 하나를 모듈식으로 따로 만들어서 조립한 것이다.

자동차 부품 교환시 타사 제품의 부품으로도 교체할 수 있는데 이는 다 규격을 정의해 놓고, 각 부품별로 모듈화가 되어 있기 때문에 가능합니다. 이와 같이, 네트워크도 데이터 흐름을 파악하기 위해 계층(모듈)을 나눈 것입니다.

 

 

OSI 7계층 단계


  1. 물리(Physical) 계층

    • 단지 데이터를 전기적인 신호로 변환해서 주고받는 공간
    • 데이터를 전송하는 역할만 진행한다.
    • 전송 or 받으려는 데이터가 무엇인지, 어떤 에러가 있는지 등에는 신경 쓰지 않는다.
    • Ex) 리피터, 케이블, 허브 등..
  2. 데이터 링크(Data Link) 계층

    • 물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할
    • 맥(Mac) 주소를 가지고 통신한다.
    • 전송 단위를 프레임이라 하는데, 프레임에 Mac 주소를 부여하고 에러 검출, 재전송, 흐름 제어를 진행한다.
    • Ex) 브릿지, 스위치 등..
    • 브릿지나 스위치를 통해 맥주소를 가지고 물리계층에서 받은 정보를 전달함.

    *** MAC(Media Access Control Address) 주소** : 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자

  3. 네트워크(Network) 계층

    • 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능을 담당한다.
    • 라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달해준다.
    • 라우팅, 흐름 제어, 오류 제어, 세그멘테이션 등을 수행
    • IP주소가 네트워크 계층 헤더에 속해있다.
    • Ex) 라우터, IP
    • 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 역할
  4. 전송(Transport) 계층

    • TCP와 UDP 프로토콜을 통해 통신을 활성화한다.

    • 포트를 열어두고, 프로그램들이 전송할 수 있도록 제공해준다.

    • 만약 데이터가 왔다면 해당 데이터를 하나로 합쳐서 5 계층에 던져 준다.

    • 신뢰성 있고 효율적인 데이터를 전송한다.

    • 오류검출 및 복구, 흐름 제어, 중복검사 등 수행

    • 양 끝단(End to end)의 사용자들이 신뢰성 있는 데이터를 주고받을 수 있도록 한다.

    • 특정 연결의 유효성을 제어하고, 일부 프로토콜은 상태 개념이 있고, 연결 기반이다.

    • 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다.

  5. 세션(Session) 계층
  • 데이터가 통신하기 위한 논리적인 연결을 담당한다.
  • TCP/IP 세션을 만들고 없애는 책임을 지니고 있다.
  • 세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다.
  • Ex) API, Socket
  • 통신하는 사용자들을 동기화하고, 오류복구 명령들을 일괄적으로 다룬다.

 

   6. 표현(Presentation) 계층

  • 데이터 표현에 대한 독립성을 제공하고 암호화하는 역할을 담당한다.
  • 파일 인코딩, 명령어를 포장, 압축, 암호화한다.
  • 코드 간의 변역을 담당해 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어준다.
  • Ex) JPEG, MPEG 등
  • 사용자의 명령어를 완성 및 결과 표현. 포장/압축/암호화

 

   7. 응용(Application) 계층

  • 최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.
  • 사용자 인터페이스, 전자우편, 데이터베이스 관리 등의 서비스를 제공한다.
  • Ex) HTTP, FTP, SMTP, IMAP, Telnet 등
  • 네트워크 소프트웨어 UI 부분, 사용자의 입출력(I/O) 부분

 

 

참고

github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Network/OSI%207%20%EA%B3%84%EC%B8%B5.md

https://jhnyang.tistory.com/194

https://shlee0882.tistory.com/110

https://reakwon.tistory.com/59

https://coconuts.tistory.com/94

반응형