본문 바로가기
Programing/Network

[Network] OSI 7 layer(계층)

by 꾸압 2022. 7. 25.

 

<설명>

  - 정보통신업체 사이의 정보 호환성을 위해 제정된 표준 프로토콜

  - 아래로 갈수록 하드웨어(1~4계층)에, 위로 갈수록 소프트웨어(5~7계층)에 가까워진다

 


 

<전체 구성>

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

 


 

<각 계층 설명>

[1계층 : Physical (물리 계층)]

이미지 출처 : Cloudflare

  - 프로토콜 없음. 랜선, 허브, 리피터(repeater) 등 장치만 있음

  - system의 물리&전기적 표현체

  - 케이블 종류, 무선 주파수 링크, 핀, 전압 등 data전송과 관련된 물리적 장치로 구성

  - data가 1,0 으로 구성된 문자열인 비트 스트림으로 변환. 수신&송신 기기에서 1과 0을 구분하기 위해 두 기기의 물리적 계층이 신호 규칙에 의해 합의해야함.

@@ 물리적 신호의 신호 규칙 관련 논문 : https://patents.google.com/patent/KR101495624B1/ko

 


 

[2계층 : Data Link (데이터 링크 계층)]

이미지 출처 : Cloudflare

  - 해당 프로토콜 : Ethernet, Token Ring, FDDI

  - Network Layer 와 유사하나, 직접 연결된(동일한 네트워크 상의)  2개 node 사이의 data 전송을 촉진하는게 차별성

  - Network Layer에서 packet을 가져와, frame 이란 더 작은 형태로 쪼갬

  - Network 내 통신 흐름 제어 및 Network Layer나 Physical layer에서 발생한 오류를 제어

  - 대부분의 스위치가 이 계층에서 작동

 

    @@ frame 추가 설명

이미지 출처 : https://www.techtarget.com/searchnetworking/definition/frame

 

 


 

[3계층 : Network (네트워크 계층)]

이미지 출처 : Cloudflare

  - 해당 프로토콜 : IP, ICMP, ARP, RARP

  - (직접 연결되어 있지 않은) 두 개의 상이한 Network 간의 data 전송을 촉진

  - routing의 대부분이 여기서 작동

  - Network Layer는 여러 개의 라우터를 통해 발신자의 기기에서 Transport Layer의 segment를 packet 단위로 쪼개고 수신 장치에서 packet을 재조립한다.

  - routing 기능을 가짐 : data가 대상에 도달할 수 있는 가장 효율적인 방법(최상의 물리적 경로)을 찾음

 

  @@ Segment :

    - Network Segment는 두 computer 사이의 특정 연결 혹은 각각의 2개 하드웨어 간 bridge나 router를 의미

    - Network Topologies의 특정 부분

 


 

[4계층 : Transport (전송 계층)]

이미지 출처 : Cloudflare

  - TCP, UDP

  - 전송할 data 용량, 속도, 목적지 등을 처리

  - 두 기기 간의 종단 간 통신을 담당

  - Session Layer에서 data를 가져와 Network Layer에 보내기 전, data를 Segment로 분할하는 작업을 함. 수신 기기의 Transport Layer는 Segment를 Session Layer에 이용할 수 있는 data 로 재조립

  - 흐름 제어 및 오류 제어 담당.

  ==> 흐름 제어 : 최적 전송 속도 결정하며, 연결 속도가 빠른 발신자가 연결 속도가 느린 수신자를 압도하지 않도록 보장

  ==> 오류 제어 : 수신된 data가 완전한지 확인 & 완전하지 않으면 재전송을 요청하여 수신 측의 오류 제어 수행

 


 

[5계층 : Session (세션 계층)]

이미지 출처 : Cloudflare

  - NetBIOS, SAP, SDP, NWLink

  - 두 기기 사이의 통신을 시작하고 종료하는 역할. 실제 네트워크 연결이 일어남

  - 이 계층에선 process간 통신 제어, 통신 과정의 진행 상황 동기화 유지 등이 이뤄짐

  - 서로 다른 기기가 '소통'하려면 하나의 'Session'이 열려야 함. 통신 시작~종료 까지의 시간을 Session이라 함

  - Session Layer는 교환되는 모든 data를 전송할 수 있도록 충분히 오랫동안 Session을 개방 후, 다음 resource를 낭비하지 않고자 Session을 즉시 닫을 수 있도록 보장

  - data 전송을 checkpoint 와 동기화 함.

    ==> ex) 100MB 파일을 전송하면 Session Layer가 5MB 마다 checkpoint 설정 가능

    ==> ex) 52MB가 전송된 후 연결이 끊어지거나 충돌이 발생하면 마지막 checkpoint에서 Session 재개 가능

    ====> 즉, 마지막 checkpoint에 따라 50MB data만 더 전송하면 되는 것. checkpoint가 없다면 전체 전송을 다시 시작해야함

 


 

[6계층 : Presentation (표현 계층)]

이미지 출처 : Cloudflare

  - ASCII, MPEG, JPEF, MIDI

  - 주로 data를 준비하는 역할. Application Layer가 이 준비된 data를 사용할 수 있게 함(data presentation)

  - 응용프로그램 형식(data)을 network 형식으로 변환하거나 암호화, 복호화, 압축 등을 함

  - 서로 통신하는 각 2개의 통신 장치는 서로 다른 인코딩 방법을 쓸 수 있기에, Presentaion Layer는 수신 장치의 Application Layer가 이해 가능한 구문으로 수신 data를 변환시킴

  - 장치가 암호화된 연결을 통해 통신하는 경우, Presentation Layer는 최종 송신자에게 암호화를 추가할 뿐 아니라 최종 수신자에게 암호화를 디코딩하여 암호화되지 않은 읽기 쉬운 data로 Application Layer을 제시할 수 있도록 하는 역할

  - Application Layer(7층)에서 수신한 data를 Session Layer(5층)로 전송하기 전에 압축하는 역할도 함

    ==> 전송할 data 양을 최소화하여 통신 속도 및 효율을 증대

 


 

[7계층 : Application (응용 계층)]

이미지 출처 : Clouldflare

  - HTTP, SMTP, FTP

  - 사용자가 network에 접근 가능하도록 interface 제공

  - 사용자의 dat와 직접 상호 작용하는 유일한 Layer

  - 소프트웨어가 사용자에게 의미있는 data를 제공하기 위해 의존하는 protocol이나 data를 조작하는 역할

  - 웹 브라우저 및 이메일 클라이언트 등의 소프트웨어 application은 통신 개시를 위해 이 계층에 의존

    ==> but Client application은 application Layer의 일부가 아님

 


 

<출처 1> https://m.post.naver.com/viewer/postView.naver?volumeNo=27612269&memberNo=2521903

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

<출처 3> https://www.techtarget.com/searchnetworking/definition/frame

<출처 4> https://www.techopedia.com/definition/20977/network-segment

 

 

'Programing > Network' 카테고리의 다른 글

[Network] Segmentation (세그멘테이션)  (0) 2022.07.29
[Network] HTTP 와 HTTPS 차이  (0) 2022.07.28
[Network] 255.255.255.255 란?  (0) 2022.07.20
[Network] 127.0.0.1 이란?  (0) 2022.07.19

댓글