본문 바로가기

CS/운영체제

OSI 7 Layer와 TCP/IP 4 Layer

OSI 7 계층과 TCP/IP 4 계층은 네트워크의 기본 계층 구조이다. TCP/IP 모델은 인터넷의 개발 이후 표준화되어 실질적인 통신에 쓰이고 있다. 즉, OSI 모델은 이론적으로 많이 활용이 된다.

 

일반적으로 하위계층은 하드웨어를 통해서 구현되었고, 상위 모델은 운영체제의 커널에 소프트웨어적으로 구현되었다.

 

 

OSI 7 Layer

  • 국제 표준기구(ISO)에서 표준화된 네트워크 구조를 제시한 기본 모델
  • 통신 기능 7개의 계층으로 분할하여 각 계층마다 다른 계층과는 무관하게 자신의 독립적인 기능을 지원하도록 함
  • 기술의 동작 원리나 분석할 때 많이 쓰임

 

 

1. Physical Layer (물리 계층)

  • 하드웨어로 구성되어 있음 -> 전자회로
  • 전기적 기계적 특성을 이용해서 통신 케이블로 데이터 전송
  • Bit(0, 1)를 사용하여 데이터 전달(어떤 데이터인지는 관여하지 않는다.)
  • 전기적 신호로 변환 후 데이터 전송
  • 장비 - 통신 케이블, 리피터, 허브 등

 

2. Data Link Layer (데이터 링크 계층)

  • 여러 대의 컴퓨터가 통신을 할 수 있도록 한다.
  • 물리계층을 통해 송수신되는 정보의 오류 검출 및 흐름 관리
  • 안전한 정보의 전달을 수행할 수 있도록 돕는다 -> Framing: 자신의 데이터를 알아볼 수 있게 감싸는 것
  • MAC 주소(네트워크 장비들이 가지고 있는 유일한 하나의 주소)를 이용하여 통신
  • 장비 - NIC(Network Interface Card/ LAN 카드, 브리지, 스위치 등)
  • L2 Switch : 패킷의 MAC 주소를 읽어 스위칭.(Layer가 높아질수록 비싸짐)

 

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

  • 데이터를 목적지까지 전달하는 기능(라우팅)
  • 경로를 선택하고, 경로에 따라 패킷을 전송
    • IP Packet : 출발지 IP, 도착지 IP, 데이터 내용이 포함되어있다.
  • 수많은 네트워크들의 연결 속에서 목적지까지 데이터를 넘기기 위해 IP 주소로 목적지를 찾는다.
  • 장비 - 라우터

 

4. Transport Layer (전송 계층)

  • 흐름 제어, 순서 제어, 연결 제어, 중복검사
  • port 번호를 사용하여 목적지 컴퓨터의 프로세스까지 데이터가 도달할 수 있도록 한다.
  • 데이터의 전송 단위는 Segment
  • 데이터를 여러 번에 나눠서 보내며 전송이 잘 되고 있는지 확인하고 실패할 경우 다시 보낸다.
  • TCP / UDP 프로토콜 사용 
  • QUIC 프로토콜
    • Quick UDP Internet Connections
    • 구글에서 개발한 통신 프로토콜
    • UDP를 기반으로 연결하는 TCP의 성능을 개선하기 위해 개발
    • 연결 설정 시간 단축
    • 혼잡 제어 개선
    • 멀티 플랙싱 가능

 

5. Session Layer (세션 계층)

  • 통신 세션을 구성하는 계층으로 포트 연결
  • 전송 단위는 message
  • 응용프로그램 간의 연결을 지원해줌
  • 연결 세션에서 데이터 교환, 에러 발생 시 복구 관리

 

6. Presentation Layer (표현 계층)

  • 데이터 변환 작업 
  • 응용 계층으로부터 받은 데이터를 세션 계층이 다룰 수 있도록 형태를 변환하고, 반대로 세션 계층의 데이터를 응용 계층에서 이해할 수 있도록 변환하는 작업
  • ASCII
  • 송, 수신자가 공통으로 이해할 수 있도록 정보의 데이터 표현방식을 바꾸는 기능
  • 안전하게 전송하기 위해 변환 -> 데이터 압축 -> 암호화를 진행
  • 전송 단위는 message

 

7. Application Layer (응용 계층)

  • 사용자에게 서비스를 제공
  • 인터페이스 역할
  • 응용 프로세스 간의 정보 교환 담당
  • protocol suite(프로토콜 모음)
    • FTP(File Transfer Protocol) : 장치와 장치 간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜
    • SSH : 보안되지 않은 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜
    • HTTP : World Wide Web을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는 데 쓰는 프로토콜(header, body, request, response, status code)
    • SMTP(Simple Mail Transfer Protocol) : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜
    • DNS : 도메인 이름과 IP 주소를 매핑해주는 서버

TCP/IP 4 Layers

1. L1 Network Access Layer

  • OSI 7 Layer 중 Physical과 Data Link에 해당
  • L2(Internet Layer)에서의 Packet은 L1에서 Frame Header정보(MAC 주소)를 포함하여 캡슐화가 된다.

2. L2 Internet Layer

  • OSI 7 Layer 중 Network에 해당
  • L3의 Segment에서 IP Header정보(IP 주소)를 포함하여 캡슐화가 된다.
  • MTU(Maximum Transmission Unit, 최대 전송 단위)는 해당 계층에서 지원되는 최대 패킷의 크기를 의미하는데,  20바이트의 IP 헤더 정보와 TCP 헤더 정보를 제외한 나머지 부분을 MSS(Minimum Segment Size)로 정해준다. 보통 1500 바이트 중 IP와 TCP 헤더 정보를 제외한 1460바이트를 MSS로 보고 L3에서 해당 크기에 맞춰 Segment화 한다.

3. L3 Transport Layer

  • OSI 7 Layer 중 Transport에 해당
  • Socket 파일에서 스트림 형식의 Data를 MSS 크기로 나누어 Segment에 저장
  • TCP Header 또는 UDP Header 정보에 Port 정보를 가지고 있어 특정 Port 주소를 가진 프로세스로 Switching 하는 계층 

4. L4 Application Layer

  • OSI 7 Layer 중 Application, Presentation, Session에 해당
  • 응용 프로그램들이 올바른 규칙을 사용할 수 있도록 인터페이스 제공

 

데이터 전송 과정

'CS > 운영체제' 카테고리의 다른 글

Dead Lock  (0) 2022.08.11
동기화 문제의 해결  (0) 2022.08.11
Multi-Process VS Multi-Thread  (0) 2022.08.03
Thread란  (0) 2022.08.03
Process란  (0) 2022.07.13