본문 바로가기
Network

OSI 모델

by yororing 2024. 3. 29.

01 OSI란

1. 정의

  • 'Open Systems Interconnection'의 약자 (개방형 시스템 상호 연결)
  • 컴퓨터 간 데이터 전송(통신) 과정을 설명하는 reference framework
  • 표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 국제표준화기구(ISO)에서 만든 개념 모델 (1984)
  • 7-계층 아키텍처 (7-layer archetecture)로 구성
      •  
        계층 구분 역할
        7 - Application Layer 사용자-컴퓨터 상호작용 계층,
        응용 프로그램이 네트워크 서비스에 접근할 수 있는 곳
        6 - Presentation Layer 데이터가 사용 가능한 형식으로 유지, 데이터 암호화 하는 곳
        5 - Session Layer 연결 유지, port 및 session 제어 하는 곳
        4 - Transport Layer transmission protocol들(TCP, UDP 포함)을 사용하여 데이터 전송
        3 - Network Layer 데이터가 이동할 물리적 경로 결정
        2 - Data Link Layer 네트워크 상의 데이터 형식 정의
        1 - Physical Layer 물리적 매체를 통해 raw bit stream 전송
      • 각 계층은 다음 계층 위에 스택됨
        • 스택(stack): 데이터를 하나씩 쌓아 올린 형태의 자료구조로, 한쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 형식의 자료 구조
      •  
      • 각 계층은 네트워크 기능을 수행하기 위해 함께 작동
      • 나누는 이유:  7 계층을 통해 통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문

 

02 OSI 모델의 7 Layers

1. 물리적 계층 (Pysical Layer)

  • OSI 참조 모델의 가장 낮은 Layer
  • 기기 간 실제 물리적 연결 담당 (케이블, 스위치, 모뎀, hub, repeater 등 데이터 전송과 관련된 물리적 장비 포함)
  • 비트 형식의 정보 포함 (받은 데이터를 0과 1의 문자열인 비트 스트림으로 변환 후 데이터 연결 계층에 전송)
  • 신호 규칙에 동의해서 두 장치의 0과 1이 구별될 수 있어야 함
  • 데이터 전달만 하고, 데이터가 무엇인지, 어떤 에러가 있는지 신경 X
  • 장비 : 케이블, 리피터, 허브 등
  • 역할:
    • 비트 동기화 (Bit synchronization): clock을 제공함으로써 비트의 동기화를 제공. 이 clock은 송신자와 수신자를 모두 제어하여 비트 수준에서의 동기화 제공.
    • 비트 전송 속도 제어(Bit rate control): 전송률 (transmission rate, i.e., 초당 전송되는 비트 수) 정의
    • 물리적 토폴로지 (Physical topology): 네트워크에서 다양한 장치/노드가 배치되는 방식 지정 (i.e., 버스, 스타 또는 메시 토폴로지)
    • 전송 모드 (Transmission mode): 두 연결된 장치 간 데이터가 어떻게 흐르는지 정의. 가능한 전송 모드 - simplex, half-duplex, full-duplex

2. 데이터 연결 계층 (Data Link Layer - DLL)

  • 2 개의 부계층으로 나뉨: Logical Link Control(LLC), Media Access Control(MAC)
  • 데이터 단위: Frame
  • 장비 : 브리지, 스위치 등
  • 역할:
    • Framing: Framing is a function of the data link layer. It provides a way for a sender to transmit a set of bits that are meaningful to the receiver. This can be accomplished by attaching special bit patterns to the beginning and end of the frame. 프레임에 주소 부여 (MAC-물리적 주소)
    • Physical addressing: After creating frames, the Data link layer adds physical addresses (MAC addresses) of the sender and/or receiver in the header of each frame. 
    • Error control: The data link layer provides the mechanism of error control in which it detects and retransmits damaged or lost frames. 
    • Flow Control: The data rate must be constant on both sides else the data may get corrupted thus, flow control coordinates the amount of data that can be sent before receiving an acknowledgment. 
    • Access control: When a single communication channel is shared by multiple devices, the MAC sub-layer of the data link layer helps to determine which device has control over the channel at a given time.

3. 네트워크 계층 (Netwrok Layer)

  • 데이터 단위: Packet
  • 장비 : 라우터, L3 스위치
  • 역할:
    • Routing: The network layer protocols determine which route is suitable from source to destination. This function of the network layer is known as routing. 
    • Logical Addressing: To identify each device on Internetwork uniquely, the network layer defines an addressing scheme. The sender & receiver’s IP addresses are placed in the header by the network layer. Such an address distinguishes each device uniquely and universally.

4. 전송 계층 (Transport Layer)

 

  • 데이터 단위: Segment
  • 데이터 전송을 위해서 Port번호를 사용(대표 Protocol : TCP, UDP)
    • TCP : 신뢰성, 연결지향적
    • UDP : 비신뢰성, 비연결성, 실시간
  • 역할:
    • Segmentation and Reassembly: This layer accepts the message from the (session) layer, and breaks the message into smaller units. Each of the segments produced has a header associated with it. The transport layer at the destination station reassembles the message. 
    • Service Point Addressing: To deliver the message to the correct process, the transport layer header includes a type of address called service point address or port address. Thus by specifying this address, the transport layer makes sure that the message is delivered to the correct process.
  • 전송 계층이 제공하는 서비스: Connection-Oriented Service, Connectionless Service
    • Connection-Oriented Service: 3-phase process
      • Connection Establishment
      • Data Transfer
      • Termination/disconnection
    • Connectionless Service: 1-phase process
      • Data Transfer

5. 세션 계층 (Session Layer)

 

  • 역할:
    • Session establishment, maintenance, and termination: The layer allows the two processes to establish, use, and terminate a connection. 
    • Synchronization: This layer allows a process to add checkpoints that are considered synchronization points in the data. These synchronization points help to identify the error so that the data is re-synchronized properly, and ends of the messages are not cut prematurely and data loss is avoided. 
    • Dialog Controller: The session layer allows two systems to start communication with each other in half-duplex or full-duplex.

6. 표현 계층 (Presentation Layer)

 

  • 3가지 역할:
    • Translation: For example, ASCII to EBCDIC. 
    • Encryption/ Decryption: Data encryption translates the data into another form or code. The encrypted data is known as the ciphertext and the decrypted data is known as plain text. A key value is used for encrypting as well as decrypting data. 
    • Compression: Reduces the number of bits that need to be transmitted on the network.
    • 즉, 데이터 표현에 대한 독립성을 제공하고 암호화하는 역할 → 사용자의 명령어를 완성 및 결과 표현, 파일 인코딩, 명령어를 포장, 압축, 암호화 함 

7. 응용 계층 (Application Layer)

  • 최종목적지로서 사용자와 가장 밀접한 계층으로 인터페이스 역할
  • 응용 프로세스 간의 정보 교환 담당
  • HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜 존재
  • 예 : 전자메일, 인터넷, 동영상 플레이어 등
  • 네트워크 소프트웨어 UI부분, 사용자의 입출력(I/O)부분
  • 역할:
    • Network Virtual Terminal: It allows a user to log on to a remote host. 
    • FTAM (File transfer access and management): This application allows a user to access files in a remote host, retrieve files in a remote host, and manage or control files from a remote computer. 
    • Mail Services: Provide email service. 
    • Directory Services: This application provides distributed database sources and access for global information about various objects and services.

참조

  1. https://www.geeksforgeeks.org/open-systems-interconnection-model-osi/
  2. https://www.cloudflare.com/ko-kr/learning/ddos/glossary/open-systems-interconnection-model-osi/
  3. https://a-mond.tistory.com/28
  4.  

'Network' 카테고리의 다른 글

소켓과 패킷 (Socket Packet 네트워크)  (0) 2024.09.12
TCP/IP: 안전하고 신뢰성 있는 통신  (0) 2024.09.12
Proxy (프록시)  (0) 2024.07.10
Subnet Mask란 (NETMASK 설정)  (0) 2024.04.16
네트워크의 기초 지식  (1) 2024.03.29