danbibibi
article thumbnail
Published 2023. 2. 8. 00:48
OSI 7 Layer CS/네트워크

OSI 7 계층

  • OSI = Open Systems Interconnection Reference Model
  • 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것
  • 하위 계층 → 상위 계층에 서비스 제공

         왜 ?

       ✔️ 통신이 일어나는 과정을 단계별로 파악하기 위해!

       ✔️ 통신 과정에서 문제가 발생할 경우, 다른 단계를 건드리지 않고, 해당 단계만 고치면 됨!

 

OSI 7Layer and TCP/IP Protocol
OSI 7Layer 캡슐화, 역캡슐화

 

💡 OSI 7Layer : 네트워크 전송 시 데이터 표준을 정리
💡 TCP/IP 4계층 :
정리한 이론을 실제로 사용하는 인터넷 표준

 

1 Layer - Physical Layer ( 물리 계층 )

  • 전기 신호의 전송만을 담당
  • 송수신 데이터가 무엇인지, 어떤 에러가 있는지 등은 신경쓰지 않음
  • 장비 : 통신 케이블, 리피터, 허브 등
  • 전송 단위 : 비트 (Bit)

 

 2 Layer - DataLink Layer ( 데이터 링크 계층 )

  • 물리 계층을 통해 송수신되는 정보의 오류와 흐름을 관리

      1) 에러 검출(Error Control)  재전송 요청 (발생지를 모르므로 수정은 불가)

         

ARQ (오류 제어 기법) 종류

          

      2) 흐름 제어(Flow Control)

          : frame을 몇개 보낼지 (수신자가 수용할 수 있는 데이터 속도를 초과하지 않도록)

          - Stop and Wait (한 번에 한 프레임만 전송)

          - Sliding window (한 번에 여러 프레임을 전송)

 

      3) Framing : 하나의 frame의 크기 결정

 

      ⇒ 안전한 정보의 전달 수행 (네트워크 계층에게 오류없는 물리계층으로 보이도록 함)

 

  • Point to Point (하나의 링크 간의 전송을 책임짐)
  • 장비 : 브리지, 스위치, 이더넷 등
  • 전송 단위 : 프레임 (frame)
  • 주소 : MAC address

 

3 Layer - Network Layer ( 네트워크 계층 )

  • 데이터를 목적지(host)까지 가장 안전하고 빠르게 전달

      1) Forwarding (Data Plane)

          - pkt을 알 맞은 다음 라우터로 전달하는 것

          - 하드웨어 영역에서 발생 (nanosecod 단위 소모)

 

      2) Routing (Control Plane)

          - 출발지에서 목적지까지 경로를 결정하는 것 ( = forwarding table을 채우는 것)

          - 소프트웨어 영역에서 발생 (millisecond 단위 소모)

Traditional Routing Algorithms

 

       * SDN (Software-Defined Networking) 

          : 오버 헤드가 큰 라우팅을 따로 분리하여 원격 서버에서 관리하는 것

SDN(software-defined networking)

 

  • End to End 
  • 장비 : 라우터, 스위치에 라우팅 기능을 장착한 Layer 3 스위치도 존재
  • 전송 단위 : 패킷 (packet)
  • 주소 : IP address

 

💡 DataLink Layer 의 초점 : 지금 내가 보내고자 하는 pkt이 바로 다음 라우터에 잘 도착했는지!
💡 Network Layer 의 초점 : Sender에서 보낸 pkt이 라우터를 잘 거쳐서 목적지에 잘 도착했는지!

 

4 Layer - Transport Layer ( 전송 계층 )

  • host안에 존재하는 많은 프로세스 중 목적지 프로세스로 전달

        * 컴퓨터에는 여러개의 어플리케이션이 돌아가고, 각 어플리케이션들은 하나 이상의 Socket 생성 가능

 

      1) Multiplexing

          - 소켓에 의해 Application layer에서 Transport layer로 pkt이 전달될 때,

            여러 소켓의 pkt을 수집하여 하나의 segment에 캡슐화하여 Network layer로 전달하는 과정

 

      2) Demultiplexing

          - Transport layer 에서 Application layer로 segment가 전달 될 때, 올바른 소켓으로 전달 하는 과정

             = 들어온 segment가 어떤 소켓으로 보내져야 할지

          - 정확한 어플리케이션의 소켓으로 전달해주기 위해 포트넘버를 활용 (in segement의 헤더)

 

  • Application Layer에서 만든 데이터를 일정한 크기로 자름
  • 전송 단위 : 세그먼트 (segment) - TCP / 데이터그램(datagram) - UDP
  • 주소 : Port 번호

 

 

Transport Layer Protocol 종류

 

 TCP (Transmission Control Protocol)   UDP (User Datagram Protocol)
 
 연결형 프로토콜

 * 연결 설정 : 3-way handshaking
 * 연결 해제 : 4-way handshaking
 비 연결형 프로토콜
 신뢰성 있는 데이터 전송 (재전송 지원)  비신뢰성 데이터 전송 (재전송 미지원)
 in-ordered (패킷을 보낸 순서대로 받음) un-ordered (패킷의 순서를 보장하지 않음)
 일대일(unicast) 통신  일대일, 일대다(broadcas), 다대다(multicast) 통신
 연속성보다 신뢰성 있는 전송이 중요할 때에 사용  신뢰성보다는 연속성이 중요한
 실시간 스트리밍과 같은 서비스에 자주 사용
                                                              Error Detection (에러 탐지) 
                                                           Multiplexing / DeMulitplexing

 

3-way handshaking, 4-way handshaking

3-way : 들려?(SYN) → 응 들려!(ACK) 너도 들려?(SYN) → 응 들려!(ACK) (+HTTP request도 보통 함께 전송)

4-way : 종료할게?(FIN) →  응 알겠어!  근데 잠시만! (ACK) 이제 종료해!(FIN)  →  오케이!(ACK)

 

💡 Network Layer : 메세지를 목적지(host)까지 전달!
💡 Transport Layer : 목적지(host)안에 존재하는 많은 프로세스 중 최종 목적지 프로세스(응용 프로그램)까지 전달

 

5 Layer - Session Layer ( 세션 계층 )

  • 주 지점간의 프로세스 및 통신하는 호스트 간의 연결 유지
  • TCP/IP 세션 체결, 포트번호를 기반으로 통신 세션 구성
  • API, Socket
  • 전송 단위 : 메세지 (message)

 

6 Layer - Presentation Layer ( 표현 계층 )

  • 전송하는 데이터의 표현방식을 결정 
  • ex) 데이터 변환, 파일 인코딩, 압축, 암호화 등
  • 전송 단위 : 메세지 (message)

 

7 Layer - Application Layer ( 응용 계층 )

  • 최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행
  • ex ) explore, chrome 등
  • 전송 단위 : 메세지 (message)

 

'CS > 네트워크' 카테고리의 다른 글

Transport Layer (전송 계층)  (0) 2023.02.27
Application Layer ( 응용 계층 )  (0) 2023.02.27
profile

danbibibi

@danbibibi

꿈을 꾸는 시간은 멈춰 있는 것이 아냐 두려워하지 마 멈추지 마 푸른 꿈속으로