OSI 7 Layer vs TCP/IP 5 Layer

Seongkeun·2021년 7월 16일
6

Network

목록 보기
2/3
post-thumbnail

목차

OSI 7 Layer 란 ?

네트워크에서 통신에서 일어나는 7단계의 과정 을 말한다.

왜 7 Layer 로 나뉘어져 있을까?

  • 계층을 분리함으로서 각 계층은 독립적인 역할을 할 수 있다.
  • 역할이 분리되면서 문제 발생시 문제의 현상을 보았을 때 어떤 계층에 문제가 생겼는지도 파악이 가능 하다.
  • 각 계층은 하위계층을 사용하고 현계층의 기능을 포함하여 상위 계층에 제공한다.
    (그래서 계층구조는 위에서 바라보았을 때 아래층이 안보이는 구조라 볼 수 있다)
  • 따라서 최상위 계층만 보면 그 아래계층을 모두 포함하고 있다.

But !

실제로는 OSI 7 Layer model 이 아닌
TCP/IP가 산업계의 표준이다 !!

How? 어떻게 TCP/IP가 표준이 될 수 있었을까?

Network 설계 기반은 OSI 7 Layer참조 한다. 이는 OSI 7 Layer개념적으로 TCP/IP model 보다 우수하기 때문이다. 그럼에도 불구하고 TCP/IP가 산업계의 표준이 될 수 있던 결정적 이유는 TCP/IP Model 이 OSI 7 Layer보다 빨리 발표 되었기 때문이다. 이기종간 통신 프로토콜이 최대한 빨리 필요했던 미국방성에서 TCP/IP를 공식적으로 사용했고 이를 근간으로 네트워크가 발전되어왔다.

목차로 돌아가기



OSI 7 Layer vs TCP/IP 5 Layer

우선, TCP/IP 모델은 4 Layer 버전도 있지만 현재는 Updated 된 5 Layer 가 널리 사용 된다.

공통점

  • 두 모델 모두 계층형 이다.

차이점

  • TCP/IP Model 은 OSI Model 보다 먼저 개발되었다.
  • SessionPresentation 2개의 계층은 TCP/IP ModelApplication에 속해있다

  • TCP/IP는 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수하다.
  • OSI Model는 표준이 되기는 하지만 실질적으로 구현되는 예가 거의 없어 신뢰성이 저하 되어있다.

  • OSI Model 은 Reference 의 가치가 있다.
  • OSI Model은 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용된다.
  • 실질적인 통신 자체는 TCP/IP Model 을 사용한다.

목차로 돌아가기


TCP/IP Updated Model

이 글에서는 실질적인 통신을 다루는 TCP/IP Updated Model 을 다루겠습니다.

  • OSI 상위 계층(Application, Presentaion, Session)
    -> Application 통일

필요시 참조

네트워크 계층별 프로토콜 - Steele Spiegel

목차로 돌아가기


1. Physical Layer

  • 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송하게 됩니다. 데이터는 0과 1의 비트열, 즉 On, Off의 전기적 신호 상태 로 이루어져있습니다.
  • 이 계층은 단지 데이터를 전달하기만 합니다. 어떤 에러가 있는지 등 그런 기능에는 전혀 관여하지 않습니다.

-> 케이블, 리피터, 허브를 통해 데이터를 전송합니다.

  • Physical Layer 기술은 어디에 구현 되어 있을까?

PHY 칩

1계층 모듈은 하드웨어적으로 구현되어 있다.

목차로 돌아가기


2. Data Link Layer

  • 물리 주소MAC주소 가 이 계층에 해당한다.
  • 전송 단위Frame 이다.
  • 네트워크계층에서 정보를 받아 주소와 제어정보헤더와 트레일러에 추가 한다.
    • 데이터의 앞뒤특정한 비트열을 붙인다 (framing)


      -> 속한 장비로는 브릿지와 스위치가 있습니다(공유기 는 이 곳에 속하기도 또 L3 에 속하기도 한다)

LAN 카드

2계층 모듈 또한 하드웨어적으로 구현되어 있다.

필요시 참조

목차로 돌아가기



2.0.2. 계층에 따른 스위치

사실 스위치는 2계층 말고도 계층에 따른 스위치가 존재한다.

Network Switch

Network switch 는 네트워크 단위들을 연결하는 통신 장비로서 허브보다 전송 속도가 개선된 것이다.
간단히 스위치라고 불리며 , 스위칭 허브 , 포트 스위치 허브 라고도 한다.

Network Switch 장비 분류

  • L 2 스위치
    • MAC address 를 참조하여 스위치
  • L 3 스위치
    • IP 주소를 참조하여 스위치
  • L 4 스위치
    • 3~4 Layer 에 속하는 장비로 IP 주소, TCP/UDP 포트 정보를 참조하여 스위치
  • L 5 스위치 (혹은 L7스위치)
    • 3~5 Layer 에 속하는 장비로 IP 주소 , TCP/UDP 포트 정보, 패킷 내용까지 참조하여 스위치

Network switch 의 역할

L2 스위치

  • L2 스위치는 허브에서 한 단계 진화한것
  • L2 스위치는 이더넷 레벨에서 동작 ( 같은 네트워크 에서 통신 )
  • 도착한 패킷의 제일 앞에 있는 목적지 (MAC Address) 를 보고 어떤 포트로 보낼 것인가를 판단

L3 스위치

  • IP 스위칭이 가능하다.
  • 자신에게 온 패킷의 목적지가 외부에 존재하는 IP 일 경우 그 패킷을 외부에 연결된 라우터로 보낼 수 있다.
  • L3 스위치는 라우터 기능도 갖고 있기 때문에 라우터와의 경계가 모호해진다.

L4 스위치

  • L4 단계의 프로토콜인 TCP/UDP 등에서 스위칭을 수행
  • TCP 와 UDP 등의 헤더를 보고 그것이 FTP 인지 HTTP 인지 아니면 SMTP 인지를 구분
  • 어떤것을 우선시 해서 스위치할지 판단

L5 스위치(L7 스위치 라고도 한다)

  • 가장 상위의 Layer 인 Application Layer 에서 동작하는 스위치
  • L2 스위치 : 동일 네트워크 간의 연결 만 가능
  • L3 스위치 : 서로 다른 네트워크간의 연결이 가능
  • L4 스위치 : 서버나 네트워크 간의 로드밸런싱 용도
  • L5 스위치(L7스위치) : 데이터 안의 실제 내용을 기반으로 한 로드밸런싱

목차로 돌아가기



3. Network Layer

많은 네트워크들의 연결로 이루어지는 inter_network 속에서 IP주소( 논리적 주소 )를 이용해 길을 찾고( routing ), 자신 다음의 라우터에게 패킷을 넘겨주며( forawrding ) 인터넷이 가능하게 만드는 계층이다. 이 계층에서 가장 중요한 기능데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능( routing )이다.

  • 전송 단위는 Packet이다.
  • 이 계층의 대표적인 장비는 라우터, L3 Switch, IP 공유기 등이다.

노드란?

노드는 대형 네트워크에서는 장치나 데이터 지점(data point)을 의미한다. 
개인용 컴퓨터, 휴대전화, 프린터와 같은 정보처리 장치들이 노드이다. 
인터넷에서 노드를 정의할 때 노드는 IP 주소를 보유한 어떠한 것도 될 수 있다. 
노드는 더 커다란 자료 구조의 일부분 하나 하나를 의미할 수 있는데 
이를테면 연결 리스트라든지 트리 자료 구조를 들 수 있다.

공유기&라우터

Router and Routing ?

라우터는 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 효율적인지 파악한다. 또한 경로를 결정하기 앞서, 원하는 네트워크를 식별하기 위한 목적지의 주소 정보인 IP 주소를 확인하는데, 목적지 IP 주소까지 어떤 경로를 거쳐 데이터를 보낼지 결정하는 것을 라우팅이라고 한다.

공유기와 NAT

실제 우리 실생활에서 가장 쉽게 볼 수 있는 라우팅 장비가 공유기이다. 공유기가 라우터라는 말은 아니지만 라우터의 NAT 라는 기능을 활성화 시킨 것이다. 공유기는 하나의 외부 통신선에서 들어오는 요청을 사설망에 연결되어있는 컴퓨터에게 전달해주는 역할을 한다.

NAT( Network Address Translation : 네트워크 주소 변환 )의 과정은,

[공유기2의 IP→공유기2의 게이트웨이 →공유기1의 IP]→[공유기1의 게이트웨이 →공인IP]

  • Network Layer 는 어디에 구현 되어 있을까?

    운영체제(OS)의 커널에 소프트웨어적으로 구현되어있다.

필요시 참조

목차로 돌아가기


4. Transport Layer

종단간(end-to-end) 통신 을 활성화하기 위한 계층이다. 송신자와 수신자 간(end-to-end)의 신뢰성있고 효율적인 데이터를 전송하기 위해 오류검출 및 복구, 흐름제어와 중복검사 등을 관리한다. 데이터 전송을 위해서 Port 번호가 사용되며 보통 TCP 를 이용한다. 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져 준다.

TCP연결시 3-way hanshaking 방식으로 목적지와 상호 패킷을 교환하여 연결하며 연결을 종료할 때4-way hanshaking 방식을 사용한다. ( TCP 와 UDP는 나중에 더 알아보자 )

요약

  • 패킷 생성 및 전송 계층

  • 대표적 프로토콜 TCP, UDP

  • 전송 단위는 Segment 를 사용하며 주소는 Port 를 사용

  • 전체 메시지를 발신지 대 목적지 ( end-to-end )간 제어와 에러를 관리 한다.

  • end-to-end 전송은 단순히 한 컴퓨터에서 다음 컴퓨터로의 전달이 아니라, 송신 컴퓨터 의 응용프로그램(프로세스)에서 최종 수신 컴퓨터 의 응용프로그램(프로세스) 으로의 전달 을 의미

  • Transport Layer 는 어디에 구현 되어 있을까?

    운영체제(OS)의 커널에 소프트웨어적으로 구현되어있다.

목차로 돌아가기


5. Application Layer

OSI 7 Layer 에서 Session, Presentation, Application Layer 에 해당한다. 사용자(Client) 와 가장 가까운 계층 으로 사용자가 소프트웨어 application과 소통할 수 있게 해준다

클라이언트가 데이터를 요청할 때는 GET, POST, PATCH, DELETE 등 HTTP 메서드, 네트워크 상 자원의 위치를 나타내는 정보인 URL 그리고 사용하는 HTTP 버젼 정보와 함께 정보를 요청한다. 그 외에도 클라이언트가 서버에 요청하는 정보가 메일, 파일 등이면 각각 SMTP 프로토콜, FTP 프로토콜이 사용된다.

  • TCP / UDP 기반의 응용 프로그램을 구현할 때 사용 ( 소켓프로그래밍 )
  • 사용자 응용프로그램 인터페이스를 담당
  • 프로토콜의 종류
    • 파일전송
      • FTP ( 파일을 받거나 올릴 때 사용. 데이터 전송 포트번호 : 20, 제어용 : 21 )
      • TFTP
    • 원격 로그인
      • Telnet(원격 터미널을 접속할 때 사용. 포트번호 : 23)
    • 전자메일 범주
      • SMTP(메일 전송 플호토콜, TCP 포트번호 : 25)
      • POP3(메일 수신용 프로토콜. TCP 포트번호:110)
    • 지원 서비스 범주
      • DNS
      • SNMP
    • 기타 프로토콜
      • HTTP (TCP기반의 프로토콜. 포트번호:80)
      • SSH(보안이 약한 텔넷을 보완한 프로토콜. 포트번호:22)

목차로 돌아가기


캡슐화-역캡슐화(데이터전송과정)

(Encapsulation / De-Encapsulation)

계층 간 데이터를 주고 받는 과정에서 캡슐화역캡슐화 가 발생한다.
ApplicationTransportNetworkData Link 순으로 전달 된다. 이 때 계층 별로 헤더의 형태로 추가적 정보가 생성 된다. 헤더, 트레일러 같은 데이터를 추가해 나가는 과정캡슐화 라고 하며 헤더, 트레일러 부분을 차례대로 제거하며 데이터를 전달 받는 과정역캡슐화 라고 한다.

데이터 전송과정

목차로 돌아가기


Reference

profile
지혜는 지식에서 비롯된다

0개의 댓글