<TIL> 109. OSI 7계층

YUJIN LEE·2023년 5월 9일
0

NETicket

목록 보기
2/3

OSI 7계층?

네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델.
네트워크 통신의 각 과정을 계층별로 개념화한 모델이라,
OSI 7계층의 경우 각 계층의 구간벼로 데이터의 움직임을 알 수 있고, 장치간의 데이터 통신을 설명하는데 유용하게 활용
더 나아가 통신 과정에서 발생한 문제를 추적해 해결할 수 있는 것도 개념화된 네트워크 계층 덕분임.

하위계층으로 갈수록 하드웨어에 가까워지고,
상위계층으로 갈수록 소프트웨어에 더 가까워짐.

1~4 - 하위 / 5~7 - 상위

각 계층을 지날 때 마다 각 계층에서 Header가 붙게되고, / 7-> 1로 헤더붙임(캡슐화)
수신측은 역순으로 헤더를 분석/1계층에서 7계층으로 헤더 뗌(디캡슐화)
-> 각각의 층마다 인식을 할 수 있어야하기 때문

출발지에서 데이터가 전송될 때 헤더가 추가되는데,
2계층만 오류제어를 위해 꼬리부분에 추가.

물리계층에서 1,0의 신호가 되어 전송매체(동축케이블, 광섬유 등)을 통해 전송

1계층 - 물리계층(Physical Layer)

  • 주로 전기적, 기계적, 기능적인 특성을 이용해 통신 케이블로 데이터를 전송하는 물리적인 장비
  • 단지 데이터 전기적인 신호(0, 1)로 변환해서 주고받는 기능만 함 -> 알고리즘, 오류제어 기능 XXX
  • 이 계층에서 사용되는 통신 단위: 비트(Bit) -> 1과 0으로 나타냄, 즉 전기적으로 On, Off 상태
  • 장비: 통신 케이블, 리피터, 허브 등..

시스템의 물리적 전기적 표현을 나타내는 층.
케이블 종류, 무선 주파수 링크, 핀, 전압 등 물리적인 요건 의미
라우터나 스위치의 전원이 켜져있는지, 케이블이 제대로 연결되어 있는지 여부 등

  • 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리해 안전한 통신의 흐름을 관리
    (Point-To-Point 전송)
  • 프레임에 물리적 주소(MAC address)를 부여하고 에러검출, 재전송, 흐름제어 수행
  • 이 계층에서 전송되는 단위: 프레임(Frame) - 데이터 단위
  • 장비: 브리지, 스위치, 이더넷 등(여기서 MAC주소 사용)

-> 브릿지나 스위치를 통해 맥주소를 가지고 물리계층에서 받은 정보 전달

직접적으로 연결된 두 개의 노드 사이에 데이터 전송을 가능하게 하고,
물리계층에서 발생한 오류를 수정하기도 함.
대부분의 스위치는 2계층에서 작동

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

  • 중계 노드를 통해 전송하는 경우 어떻게 중계할 것인가 규정
  • 라우팅 기능을 맡고 있는 계층, 목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능을 가짐(최적의 경로 설정 가능)
  • 데이터를 목적지까지 가장 안전하고 빠르게 전달
  • 라우터(Router)를 통해 경로를 선택하고 주소를 정하고(IP) 경로(Route)에 따라 패킷 전달 -> IP 헤더 붙음
  • 이 계층에서 전송되는 단위: 패킷(Packet) - 데이터 단위
  • 장비: 라우터, L3 스위치

네트워크 핵심인 라우팅(데이터가 가야할 길을 찾는 기능)의 대부분이 3계층에서 작동.
여러 대의 라우터들을 바탕으로 데이터를 패킷 단위로 잘게 쪼개어 전송
데이터가 전송될 수 있는 수 많은 경우의 수중 가장 효율적인 라우팅 방법을 찾는 것 또한 이 단계에서 가능

4계층 - 전송 계층(Transport Layer)

  • 송신자와 수신자 간의 신뢰성있고 효율적인 데이터를 전송하기 위해 오류검출 및 복구, 흐름 제어와 중복검사 등 수행
  • 데이터 전송을 위해 Port 번호 사용(대표 프로토콜: TCP, UDP)
  • port 번호, 전송방식(TCP/UDP) 결정 -> TCP 헤더 붙음
    * TCP: 신뢰성, 연결지향적
    • UDP: 비신뢰성, 비연결성, 실시간
  • 두 지점간의 신뢰성 있는 데이터를 주고 받게 해주는 역할
  • 신호를 분산하고 다시 합치는 과정을 통해 에러와 경로 제어
  • 전송 계층에서 데이터 단위 - 세그먼트(Segment)

보내고자 하는 데이터 용량, 속도, 목적지를 처리.
전송계층의 가장 대표적인 것 - 전송 제어 프로토콜(TCP)

TCP?

인터넷 프로토콜(IP) 위에 구축되어 TCP/IP 로 알려짐

5계층 - 세션 계층(Session Layer)

  • 통신 장치 간 상호작용 및 동기화 제공
  • 연결 세션에서 데이터 교환과 에러 발생 시의 복구 관리
  • 주 지점간의 프로세스 및 통신하는 호스트 간의 연결 유지
  • TCP/IP 세션 체결, 포트번호를 기반으로 통신 세션 구성
  • API, Socket

실제 네트워크 연결이 이루어짐.
두 대의 기기가 '대화'하기 위해서 하나의 '세션'이 열려야함.
세션 계층에서는 프로세스간의 통신을 제어, 통신 과정이 진행될 때 동기화를 유지하는 역할을 함.

6계층 - 표현 계층(Presentation Layer)

  • 세가지 기능
    1. 송신자에서 온 데이터를 해석하기 위한 응용계층 데이터 부호화, 변화
    1. 수신자에서 데이터의 압축을 풀 수 있는 방식으로 된 데이터 압축
    2. 데이터의 암호화와 복호화
      (MIME 인코딩이나 암호화 등의 동작이 표현계층에서 이루어짐.
      EBCDIC로 인코딩된 파일을 ASCII로 인코딩된 파일로 바꿔주는 것이 한가지 예)
  • 전송하는 데이터의 표현방식을 결정(ex. 데이터변환, 압축, 암호화 등)
  • 파일인코딩, 명령얼르 포장, 압축, 암호화
  • JPEF, MPEG, GIF, ASCII 등

응용프로그램 형식을 네트워크 형식으로 변환하거나 그 반대의 경우가 일어남.
응용프로그램 혹은 네트워크를 위해 데이터를 표현하는 계층임.
ex) 데이터를 안전하게 주고 받기위한 암호화/복호화 과정

7계층 - 응용 계층(Application Layer)

  • 사용자와 가장 밀접한 계층, 인터페이스 역할
  • 최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용 서비스 수행(ex. explore, chrome 등)
  • HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.
  • 전자메일, 인터넷, 동영상 플레이어 등

사용자가 네트워크에 접속할 수 있도록 인터페이스 제공
사용자에게 가장 직접적으로 보이는 부분

각 계층 대표 프로토콜

프로토콜?

컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계

TCP/IP 4계층?

OSI 7계층보다 먼저 나온 규격이나 현재 더 많이 사용.

1계층 - 네트워크 액세스 계층(Network Access Layer)

  1. OSI 7계층의 물리계층(1)과 데이터 링크 계층(2)에 해당
  2. TCP/IP 패킷을 네트워크 매체로 전달하는 것과 네트워크 매체에서 TCP/IP 패킷을 받아들이는 과정 담당
  3. 에러 검출 기능(Detecting errors), 패킷의 프레임화(Fraimg packets)
  4. 네트워크 접근 방법, 프레임 포맷, 매체에 대해 독립적으로 동작하도록 설계
  5. 물리적인 주소로 MAC 사용
  6. LAN, 패킷망, 등에 사용

2계층 - 인터넷 계층(Internet Layer)

  1. OSI 7계층의 네트워크 계층(3)에 해당
  2. 어드레싱(addressing), 패키징(Packaging), 라우팅(routing) 기능을 제공
  3. 네트워크상 최종 목적지까지 정확하게 연결되도록 연결성 제공
  4. 프로토콜 종류 - IP, ARP, RARP

3계층 - 전송 계층(Transport Layer)

  1. OSI 7계층의 전송 계층(4)에 해당
  2. IP와 Port를 이용하여 프로세스와 통신
  3. 애플리케이션 계층의 세션과 데이터그램(datagram) 통신서비스 제공
  4. 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당
  5. 프로토콜 종류 - TCP, UDP

4계층 - 응용 계층(Application Layer)

  1. OSI 7계층의 세션 계층(5), 표현 계층(6), 응용 계층(7)에 해당
  2. 프로그램(브라우저)가 직접 상호작용하는 레이어. 데이터를 처음으로 받는 곳
  3. 다른 계층의 서비스에 접근할 수 있게 하는 애플리케이션 제공
  4. 애플리케이션들이 데이터를 교환하기 위해 사용하는 프로토콜 정의
  5. HTTP, SMTP 등의 프로토콜 가짐
  6. TCP/UDP 기반의 응용 프로그램 구현 시 사용
  7. 프로토콜 종류 - FTP, HTTP, SSH
profile
인정받는 개발자가 되고싶습니다.

0개의 댓글