본문 바로가기
CS

[Network] OSI 7계층

by Huiyeong 2022. 1. 10.
통신 접속에서 완료까지의 과정을 7단계로 정의한 국제 통신 규약


 7계층으로 나눈 이유?

  • 각 계층이 독립적인 역할 수행 가능
  • 문제 발생 시 어떤 계층에 문제가 발생했는지 쉽게 파악 가능

 

 

 물리 계층

실제 장치들을 연결하기 위해 필요한 전기적, 물리적 세부 사항을 정의하는 계층

  • 전기적, 기계적인 신호를 주고 받는 역할 ( 비트 0, 1 단위로 통신 )
  • 데이터의 종류나 오류를 제어하지 않음
  • 통신 채널을 통해 전송되는 사용자 장치의 디지털 데이터를 이에 상응하는 신호들로 변환
  • 대표적인 장비 : 통신 케이블, 허브, 리피터

 

 데이터링크 계층

Point to Point 간의 신뢰성 있는 전송을 보장하기 위한 계층
  • 프레임에 MAC 주소를 부여하고 에러검출, 재전송, 흐름제어를 진행하는 역할
  • 전송 데이터에 대한 CRC 오류제어가 필요
  • 전송 단위 : 프레임 (Frame)
이더넷 (Ethernet)
- 컴퓨터 네트워크 기술의 하나로 일반적으로 LAN, MAN 및 WAN에서 가장 많이 활용되는 기술 규격
- 네트워크에 연결된 각 기기들이 48비트 길이의 고유의 MAC 주소를 가지고 상호 간에 데이터를 주고받을 수 있도록 만들어짐
  • 대표적인 장비 : 스위치, 브리지

 

 네트워크 계층

데이터를 목적지까지 빠르고 안전하게 전달하는 계층
  • IP 주소를 제공하는 계층으로 대표적으로 노드를 거칠 때마다 라우팅 해주는 역할
  • 패킷을 발신지에서 목적지까지 네트워크를 통해 전달하기 위해 라우팅 프로토콜로 최적의 경로를 선택
  • 전송 단위 : 패킷 (Packet)
패킷 (Packet)
Pack + Bucket, 우체국에서는 화물을 적당한 덩어리로 나눠 행선지를 표시하는 꼬리표를 붙이는데 이를 네트워크 통신에 접목

- 정보기술에서 패킷 방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록으로 컴퓨터 네트워크에서 데이터를 주고 받을 때 정해놓은 규칙
- 정보를 보낼 때 특정 조각을 맞추어 보냄 (컴퓨터 간에 데이터를 주고받을 때 네트워크를 통해서 전송되는 데이터 조각)
- 구성요소 : 헤더 (소스 주소, 대상 주소, 프로토콜 및 패킷 번호), 페이로드 (패킷에 의해 전송되는 실제 데이터), 트레일러 (수신장치에 패킷 끝까지 도달했음을 알리는 몇 비트와 컴퓨터가 모든 패킷이 완전히 수신 되었는지 확인할 수 있는 Cycle Redundancy Check 포함)
  • 대표적인 장비 : 라우터, L3 스위치, IP 공유기

 

프레임 vs 패킷
주요 차이점 : 정보를 포장하는 방법, 이는 어느 정보를 어디에 보내느냐에 따라 달라짐

프레임 < 일련의 비트 집합 (패킷을 캡슐화) >
- 데이터를 담는 컨테이너, 동일 네트워크 상의 두 지점 간에 정보를 전달할 소스(발신지)와 수신지를 가지고 있음
- 프레임 소스와 목적지 주소는 MAC 주소LAN 바깥의 인터넷으로는 보낼 수 없음 (반드시 패킷으로 만들어야함)

패킷 < 조각화 된 데이터 형식 (세그먼트를 캡슐화) >
- 프레임 + 추가정보
- 정보를 서로 다른 LAN 간에 라우터를 통해 주고받을 수 있음 → MAC 주소 대신 IP 주소를 사용해 패킷 전달

 

 전송 계층

양 끝단 (End to End)의 사용자들이 데이터를 주고받을 수 있게 하는 계층
  • TCP와 UDP 프로토콜을 통해 통신을 활성화 하는 역할
  • 대표적인 프로토콜 : TCP / UDP 프로토콜
  • TCP 프로토콜
    • 신뢰성 있는 통신을 보장 (데이터가 전송되는 과정에서 여러 스위치, 라우터 등을 거치면서 데이터가 잘못 전달되는 현상이나 전달이 안될 경우 오류제어, 흐름제어를 통해 신뢰성 있는 데이터가 전달 되도록 함)
    • 3-way handshaking 방식으로 목적지와 상호 패킷을 교환하여 연결, 연결 종료 시 4-way handshaking 사용
  • UDP 프로토콜
    • 비연결형 프로토콜, 데이터를 빠르게 전달하는 데 초점을 두고 있음
    • 데이터를 전달할 때 TCP에 비해 오버헤드가 적음
    • 신뢰성 있는 전송보다 스트리밍 같이 연속적인 특성을 가지고 있는 서비스에 이용
  • 종단 간 통신을 다루는 최하위 계층
  • 전송 단위 : 세그먼트 (Segment) - TCP, 데이터그램 (Datagram) - UDP

 

 세션 계층

응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당하는 계층
  • 데이터가 통신하기 위한 논리적인 연결을 담당하는 역할
  • TCP/IP 세션을 만들고 없애는 책임을 짐
  • 통신하는 사용자들을 동기화 하고 오류복구 명령들을 일괄적으로 다룸
  • 전송 모드 결정 (반이중, 전이중, 단방향, 병렬, 직렬, 동기, 비동기)
  • 대표적인 프로토콜 : RPC, API, Socket

 

 표현 계층

데이터 표현에 대한 독립성을 제공하고 암호화 하는 계층
  • 코드 간의 번역을 담당하여 사용자 시스템에서 데이터 형식상 차이를 다루는 부담을 응용계층으로부터 덜어주는 역할
  • MIME (Multipurpose Internet Mail Extension) 인코딩이나 암호화 ,압축 등의 동작

 

 응용 계층

응용 프로세스와 직접 관계하여 응용 서비스들을 수행하는 계층
  • 응용 프로세스가 개방된 형태로 다양한 범주의 정보처리 기능을 수행할 수 있도록 여러가지 프로토콜을 개체에 대하여 사용자 인터페이스 제공하는 역할
  • 최종 목적지 (사용자 인터페이스, 전자우편, 데이터베이스 관리 등의 서비스 제공)
  • 대표적인 프로토콜 : HTTP, FTP (File Transfer Protocol), SMTP, DNS 등

'CS' 카테고리의 다른 글

[Network] TCP 3-way & 4-way handshake  (0) 2022.01.11