본문 바로가기

Study_Communication

OSI 7 Layer란

728x90

0. OSI(Open System Interconnection) 7 Layer란

  • 국제 표준화 기구 ISO(International Standardization Organization)에서 발표한 Standard Communication Model
  • Communication System 구성 시 호환성을 갖게 하고 각각의 Module들을 재사용 하기 위해 Network Protocol 통신 구조를 7개의 Layer로 분리하여 각 Layer간 상호 작동하는 방식을 정해 놓은 것
    • 이를 통해 서로 다른 System끼리 통신할 수 있는 Standard를 제공
  • 각 Layer는 자신의 특정한 역할을 수행하고, 자신의 하위 혹은 상위 Layer와 통신
  • 각 Layer 별로 다수의 Protocol이 존재하며 하위 Layer로 갈 수록 Data의 크기는 커진다

OSI 7 Layer Model

 

  • 각 Layer를 지날 때 마다 해당 Layer의 기능과 관련된 제어 정보가 포함된 Header가 붙음
  • 이 Header는 송신 측에서는 Layer를 지날 때 마다 추가되고, 수신 측에서는 Layer를 지날 때 마다 제거됨
    • Data Encapsulation : 계층 간 데이터 송신 시 각 계층에 맞는 헤더를 붙여 하위로 내려주는 과정
    • Data Decapsulation : 반대로 데이터 수신 시 헤더들을 하나씩 버리고 순수 데이터만 상위 데이터로 올리는 과정

 

 

1. OSI 7 Layer 상세 내용

1. Physical Layer : Bit Stream의 물리적 전달을 담당하는 Layer

  • 전기적, 기계적 특성을 통해 Data 송/수신
  • 논리 신호를 전기 신호로 변환하여 통신 Cable이나 Hub 등으로 Data Bits를 전송하는 Layer
    • 상위 계층에서 전달된 Data를 0, 1의 전기 신호(Bits)로 변환하여 송/수신

 

  • 통신 Frequency, Cable 및 신호의 규격 등 통신의 물리적인 규칙을 다루는 Layer
  • Data를 송/수신만 할 뿐, 그 Data의 내용이나 Error 여부에 대해선 신경쓰지 않는다
    • 모든 Layer들이 이런 식으로 자신의 역할에만 집중
  • 통신 Cable, 다수의 Computer를 연결하여 하나의 Network로 전송하는 Hub 등이 해당 

 

2. Data Link Layer : Physical Layer를 통해 송/수신되는 Data의 흐름 관리 및 Error 탐지/수정

    • Network Layer에 Data 전달 및 Network Layer에서 받은 Packet을 Frame으로 변환하여 Physical Layer로 전달
      • 반대 방향의 전달도 가능

 

  • 동일한 Network에 있는 두 장치 간의 Data 전송을 용이하게 함

  • Frame에 물리적 주소인 MAC(Media Access Control) Address을 부여하고, 이를 통해 통신을 진행
  • 2개의 LAN을 연결하는 Bridge, MAC Address를 기반으로 Data를 전송하는 Switch, Ethernet 등이 해당

 

3. Network Layer : Network를 논리적으로 구분하고 Routing에 대한 규칙을 정하는 Layer

  • 서로 다른 Network에 있는 두 장치 간의 Data 전송을 용이하게 함
    • 통신하는 두 장치가 같은 Network에 있는 경우에는 Network Layer가 필요하지 않음

출처 : https://www.cloudflare.com/ko-kr/learning/ddos/glossary/open-systems-interconnection-model-osi/

  • Transport Layer의 Segment를 이를 송신하는 장치에서 Packet으로 세분화하여 재조립 
  • Network를 통해 Data Packet을 전달하기 위해 Routing Protocol 으로 통신의 출발점과 목적지 간의 최적의 경로 탐색
  • Router를 통해 경로(Route)를 선택하고 IP(Internet Protocol. 주소)를 정하고 그 경로에 따라 Packet을 전달
    • 즉 Route를 선택 및 IP를 정하고 그 Route에 따라 Packet을 전달하는 것이 Network Layer의 주 역할
  • Data를 전송할 주소 확인 후 Transport Layer로 전달
  • Network Layer에 해당하는 장치는 LAN을 연결하는 Router가 있으며, Protocol은 IP가 있다

 

4. Transport Layer : Data전달의 유효성 및 효율성 제어

  • 노드 간 데이터 통신을 위한 데이터 분할 / 재조립, 연결 / 흐름 제어 등의 역할
    • 흐름 제어 : 송/수신 장치 간의 통신 속도가 다를 경우, 둘 간의 최적의 통신 속도를 결정
    • Port를 열어 Application Program들이 전송을 할 수 있게 해줌
  • Session Layer로부터 받은 Data를 Segment로 분할하고, 이를 재조립하여 Network Layer에 전달 
    • 하위 Layer에서 Data를 받으면 그 Data를 하나로 합쳐 Sesseion Layer에 전달
  • 수신 기기의 Transport Layer는 수신한 Segment를 Session Layer가 사용할 수 있는 Data 형태로 재조립해야 함

 

  • 두 Node 간의 신뢰성있는 Data 통신을 위한 Error / 흐름 / 혼잡 제어 등을 수행
  • 신호를 분산하고 다시 합치는 과정을 통해 Error와 경로를 제어
  • Port 번호, 전송 방식(TCP / UDP 결정) : TCP Header가 붙음
  • Transport Layer에 해당하는 Protocol은 TCP, UDP가 있다 
    • TCP(Transmission Control Protocol) : Data 통신 시 확인 msg를 받은 후 전송
    • Connection Oriented(연결 지향)으로, Packet들의 전송이 유효한지 확인 후 전송에 실패한 Packet들을 다시 전송
    • UDP(User Datagram Protocol) : 확인 과정 없이 단방향으로 Data를 전송

 

5. Session Layer : 양 장치 간 통신의 통로 역할

  • 두 장치 간 통신의 시작 및 종료를 담당하는 Layer
    • 통신이 시작될 때 부터 종료될 때 까지의 시간을 'Session'이라 함
  • 통신 중 연결이 끊어지지 않도록 유지하기 위해 TCP/IP Session 연결의 설정 및 해제, Session Message 전송 등 수행
  • 또한 Data 전송을 지정한 Check Point마다 동기화하여 오류 발생시 효율적으로 Data를 재전송 할 수 있게 한다
    • Ex) 1000KB의 Data 전송, 50KB마다 Check Point 설정
    • 510KB 전송 중 Error가 발생하면 마지막 Check Point인 500KB 지점에서 통신 재개 가능
    • Check Point가 없다면 Error 발생 시 Data 전송을 처음부터 다시 해야 함

  • Session Layer에 해당하는 Protocol으로는 SSH, TLS 등이 있다

 

6. Presentation Layer : 데이터의 양식 일치를 위한 동작 관리

  • 서로 다른 Format의 Data들을 해석하여 해당 Data를 Application Layer가 사용할 수 있게 준비하는 역할
    • 통신하는 두 장치가 서로 다른 Data 양식을 사용할 경우, 이를 수신 장치의 Application Layer가 이해할 수 있게 수신 Data를 변환하는 역할을 담당
    • Ex) 한국 사람과 외국 사람간 대화 시의 통역 역할
  • 즉 전송하는 Data의 Format(표현방식)을 결정(Data 변환, 압축, 암호화 등)하고 수신하는 Data를 해석하는 Layer
    • Application이 다루는 정보를 통신에 알맞는 형태로 만들거나
    • 하위 Layer에서 온 Data를 사용자가 이해할 수 있는형태로 만듦
  • Data의 효율과 보안을 위한 파일 Encoding, 압축, 암호화 및 전송을 위한 Format으로 변경하는 역할을 수행
  • 파일의 확장자(mp4, txt, docx 등)가 이 Layer에 해당하는 Protocol

 

7. Application Layer : 데이터 생성, 처리 등의 최종 과정 관리

  • 사용자와 직접 상호작용 하는 유일한 Layer로, 응용 Process와 직접 관계하여 일반적인 응용 Service를 수행
  • Chrome이나 Email Client 같은 Application Software에서 사용자가 입력한 Data 요청을 받고 그 요청한 Data를 제공하는 Layer
    • Application Software가 Application Layer에 해당하지는 않음
    • Application Layer는 Application Software가 사용자가 요청한 Data를 제공하기 위한 Protocol과 Data를 처리하는 역할

상단 사람 이미지 출처 :  https://www.flaticon.com/kr/free-icon/computer-user_74901

 

 

  • Application Layer에 해당하는 Protocol은 아래와 같다
    • HTTP (Hyper Text Transfer Protocol) : HTML 문서 전송 Protocol
    • FTP (File Transfer Protocol) : File 전송 Protocol
    • SMTP (Simple Mail Transfer Protocol) :  E-Mail 전송 Protocol
    • POP3 (Post Office Protocol 3) : E-Mail 수신 Protocol 

 

  • 실제 Protocol들은 보통 위 7개의 계층을 다 사용하지는 않음
    • 필요한 계층만 따로 사용하거나 몇개의 계층을 한 계층으로 만들어 사용

 

2. OSI Model 동작 예시

1) 송신 측

  1. 학생이 E-Mail Application을 통해 친구에게 보낼 Message 작성 후 '보내기' 클릭
  2. E-Mail Application(Application Software)이 해당 Data를 Application Layer로 전달
  3. Application Layer에서 SMTP Protocol 선택 후 해당 Data를 Presentation Layer로 전달
  4. Presentation Layer에서 해당 Data 압축 후 Session Layer에 전달
  5. Session Layer에서 통신 Session 시작 후 Transport Layer로 Data 전달
  6. Transport Layer에서 이 Data를 Segment로 나눔
  7. 이 Segment는 Network Layer에서 Packet으로 다시 한번 나뉨
  8. 이 Packet은 Data Link Layer에서 Frame으로 또 한번 나뉨
  9. Data Link Layer는 이 Frame을 Physical Layer로 전달
  10. Physical Layer에서 이 Frame을 0, 1의 Bit Stream로 변환한 후 통신 Cable 등의 Communication Media를 통해 교수의 컴퓨터에 전송

 

2) 수신 측

  1. 친구의 컴퓨터가 Communication Media를 통해 Bit Stream을 WiFi 등의 Communication Media를 통해 수신
  2. Physical Layer에서 이 Bit Stream을 Frame으로 재조립하여 Data Link Layer로 전달
  3. Data Link Layer에서 이 Frame을 Packet으로 재조립하여 Network Layer로 전달
  4. Network Layer에서 이 Packet으로 Segment를 만들어 Transport Layer로 전달
  5. Transport Layer에서 이 Segment를 조립하여 하나의 Data를 생성 후 Session Layer로 전달
  6. Session Layer에서 통신 Session 시작 후 이 Data를 Presentation Layer로 전달하고 통신 Session 종료
  7. Presentation Layer에서 압축 제거 후 원본 Data를 Application Layer로 전달
  8. Application Layer에서 사람이 읽을 수 있는 Data를 E-Mail Application(Application Software)에 제공
  9. 친구는 본인의 컴퓨터에서 E-Mail Application을 통해 학생의 Message를 읽을 수 있음

 

3. Summary

 

 

 

 

 

 


참고 자료 : https://lxxyeon.tistory.com/155

 

[N/W] OSI 7계층이란? - OSI 계층별 특징, TCP/IP 4계층

OSI 7 계층이란? OSI 7 계층은 네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델 아래 그림에서 아래부터 1계층(물리 계층) ~ 7계층(응용 계층)으

lxxyeon.tistory.com

 

https://velog.io/@poiuyy0420/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-OSI-7-%EA%B3%84%EC%B8%B5-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC

 

[네트워크] OSI 7 계층 개념 정리

✨ 네트워크를 공부하면서 꼭 나오는 OSI 7계층 개념을 정리해보자.OSI(Open System Interconnection) 7계층은 국제 표준화 기구인 ISO(International Standardization Organization)에서 개발한 컴퓨터 네트워크

velog.io

 

 

https://www.cloudflare.com/ko-kr/learning/ddos/glossary/open-systems-interconnection-model-osi/

 

https://shlee0882.tistory.com/110

 

OSI 7 계층이란?, OSI 7 계층을 나눈 이유

1. OSI 7 계층이란? OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 1.1 OSI 7 계층을 나눈이유는? 계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있

shlee0882.tistory.com

 

https://huimang2.github.io/etc/iso-standard-7498

 

OSI 7계층(ISO Standard 7498)

OSI 7계층 데이터를 주고 받는 과정에는 많은 단계가 있습니다. 국제표준화기구(ISO)에서는 이를 역할에 따라 7개의 계층으로 나누었습니다. 이것을 OSI 7계층(Open Systems Interconnection 7 Layer)이라고 합

huimang2.github.io

 

https://m.post.naver.com/viewer/postView.naver?volumeNo=26957131&memberNo=2521903

 

이메일 프로토콜 이해하기: SMTP, POP3, IMAP의 의미

[BY 가비아] 다양한 협업툴과 실시간 통신 기술의 발달에도 불구하고 이메일은 여전히 업무의 대부분을 ...

m.post.naver.com

 

'Study_Communication' 카테고리의 다른 글

CAN 통신이란  (0) 2024.08.19
Windows에서 Putty, VNC 사용법  (2) 2023.09.04