[ CS / Network ] OSI 7 Layer

황승환·2022년 5월 3일
0

CS

목록 보기
37/60

OSI 7 Layer

국제표준화기구(ISO)에서 제안한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한다. 각 계층은 하위 계층의 기능을 이용하여 상위 계층에 기능을 제공한다.

계층을 나눔으로써 각 기능을 독립적으로 수행할 수 있게 되고, 문제가 발생했을 때 어디서 문제가 발생하였는지 찾기 수월해진다.

OSI 7 계층은 다음과 같은 구조로 이뤄져 있다.

  • Physical Layer
  • Data Link Layer
  • Network Layer
  • Transport Layer
  • Session Layer
  • Presentation Layer
  • Application Layer

각 계층의 특징에 대해 알아보았다.

Physical Layer (물리 계층)

  • 기본 네트워크 하드웨어 전송 기술
  • 네트워크의 높은 수준의 기능에 대한 논리 데이터 구조를 기초로 하는 필수 계층
  • 전송 단위 Bit
  • Point to Point 간 신뢰성있는 전송을 보장하기 위해 이용되는 계층
    • CRC 기반의 오류 제어, 흐름 제어 필요
  • 물리적 주소값을 할당 (MAC 주소)
  • 전송 단위 Frame

Network Layer (네트워크 계층)

  • 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할
  • Transport Layer에서 요구하는 서비스 품질을 제공하기 위한 기능적, 절차적 수단 제공
  • 라우팅, 흐름제어, 세그멘테이션, 오류제어, 인터네트워킹 수행
  • IP 주소 사용
  • 전송 단위 Datagram(Packet)

Transport Layer (전송 계층)

  • End to End의 사용자들 간의 신뢰성 있는 데이터 전송 제공
  • 시퀀스 넘버 기반의 오류 제어 방식 사용
  • 일부 프로토콜은 상태 기반(Stateful)
  • 연결 기반
  • TCP, UDP 프로토콜
  • 전송 단위 Segment

Session Layer (세션 계층)

  • 양 끝단의 응용 프로세스의 관리를 위한 방법 제공
  • Duplex, Half-duplex, Full Duplex의 통신과 함께 체크 포인팅, 유휴, 종료, 다시 시작 과정 등을 수행

Presentation Layer (표현 계층)

  • 코드 간의 번역을 담당
    • 사용자 시스템에 데이터의 형식상 차이를 두는 부담을 Application Layer로부터 덜어줌
  • MIME 인코딩, 암호화 등의 동작을 수행

Application Layer (응용 계층)

  • 일반적인 응용 서비스 수행
  • 일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공
  • HTTP, FTP 등의 프로토콜

OSI 7 Layer Protocol

Physical Layer

  • RS-232

    • 15m 이하 단거리에서 38400bps까지 전송을 위한 직렬 인터페이스
  • X.25 / X.21

    • X.25는 패킷교환망, X.21은 회선교환망에 대한 액세스 표준
  • Ethernet
    • 비연결성 모드, 전송 속도 10Mbps 이상, LAN 구현 방식
  • HDLC(High-Level Data-Link Control)
    • 고속 데이터 전송에 적합하고, 비트 전송을 기본으로 하는 범용의 데이터 링크 전송제어절차
  • PPP(Point-to-Point Protocol)
    • 전화선과 같이 양단간 비동기 직렬 링크를 사용하는 두 컴퓨터 간의 통신을 지원하는 프로토콜

Network Layer

  • IP(Internet Protocol)
    • 패킷 교환 네트워크에서 정보를 주고 받을 때 사용하는 정보 위주의 규약
    • 호스트의 주소 지정과 패킷 분할 및 조립 기능 담당
  • ICMP(Internet Control Message Protocol)
    • TCP/IP에서 IP 패킷을 처리할 때 발생하는 문제를 알림
    • 진단과 같이 IP 계층에서 필요한 기타 기능들을 수행하기 위해 사용되는 프로토콜
  • IGMP(Internet Group Management Protocol)
    • IP 멀티캐스트를 실현하기 위한 통신 프로토콜
    • PC가 멀티캐스트로 통신할 수 있다는 것을 라우터에 통지하는 규약

Transport Layer

  • TCP(Transmission Control Protocol)
    • 전송제어프로토콜, 네트워크의 정보전달을 통제하는 프로토콜
    • 데이터의 전달을 보증하고 보낸 순서대로 받게 해줌
    • 3 Way Handshake와 4 Way Handshake 등을 활용한 신뢰성있는 전송 제공
  • UDP(User Datagram Protocol)
    • 비연결성이고 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공
    • 실시간 스트리밍 서비스에 적합

Session Layer

  • NetBIOS
    • 네트워크의 기본적인 입출력을 정의한 규약
  • RPC(Remote Procedure Call)
    • Windows 운영 체제에서 사용하는 원격 프로시저 호출 프로토콜
  • WinSock(Windows Socket)
    • 유닉스 등에서 TCP/IP 통신 시 사용하는 Socket을 Windows에서 그대로 구현한 것

Presentation Layer

  • SSL(Secure Socket Layer)
    • 네트워크 레이어의 암호화 방식, HTTP뿐만 아니라 FTP, NNTP에도 사용
    • 인증, 암호화, 무결성 보장하는 프로토콜
  • ASCII(American Standard Code for Information Interchange)
    • 문자를 사용하는 많은 장치에서 사용되며 대부분의 문자 인코딩이 아스키에 기반
    • 7비트 인코딩, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자

Application Layer

  • HTTP(Hyper Text Transfer Protocol)
    • WWW 상에서 정보를 주고 받을 수 있는 프로토콜
    • 주로 HTML문서를 주고 받는 데에 쓰이고, TCP와 UDP를 사용하며, 80번 포트 사용
  • SMTP(Simple Mail Transfer Protocol)
    • 인터넷에서 이메일을 보내고 받기 위해 사용되는 프로토콜, TCP를 사용하며, 25번 포트 사용
  • FTP(File Transfer Protocol)
    • 컴퓨터 간 파일을 전송하는데 사용되는 프로토콜, 데이터 전달 시 20번 포트 사용, 제어정보 전달 시 21번 포트 사용
  • TELNET
    • 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜, IETF STD 8로 표준화
    • 보안 문제로 사용이 감소하고 있으며, 원격제어를 위해 SSH로 대체
profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글