코드 훔쳐보는 변태 코더
춤 좋아하는 백엔드 개발자(였으면 좋겠다)
네트워크 일반 03-22 (정리) OSI 7계층과 프로토콜

계층 구조

  • OSI 참조모델은 7개의 계층으로 나누어 정의된다.
  • Divide and Conquer 개념을 통해 각 계층간의 독립성 을 유지한다.
  • 의존성을 낮춘다.
  • IP주소 → 사용자가 변경 할 수 있다. / MAC 주소 → 제작 시에 정해져서 나온다.
  • 맥주소 → 48비트(앞 24비트 : 브랜드 / 뒤 24비트 : 기기별 고유번호) , 아이피주소 → (버전4) 32비트 , 포트 → (프로세스로 구분) 16비트

OSI 7계층과 TCP / IP 계층을 각각 노드라고 할 수 있다. OSI 7 계층의 네트워크 계층 ↔ TCP/IP 계층 네트워크 : 프로토콜

  • 헤더 → 데이터의 정보를 나타내는 부분
  • 레이어 2 ⇒ 프레임 / 레이어 3 ⇒ 데이타그램 (패킷) / 레이어 4 ⇒ 세그먼트 (나누다) , 그 사이에 있는걸 데이터라고 한다.
  • 총 데이터를 3번 포장한다 . (세그먼트 → 패킷 → 프레임 ) (캡슐화)
더보기

OSI 참조모델은 각 계층의 독립성을 위해 7개의 계층으로 나뉘어져 있다.

레이어 2 → 맥주소 / 프레임 : 정해져서 나온다.

레이어 3 → IP / 패킷 : 사용자가 변경 할 수 있다.

레이어 4 → 포트 / 세그먼트

동등 계층간의 통신

  • 피어 투 피어 → 상대편 동일 계층의 모듈과 통신하는 프로세스
  • 각 계층에서 통신을 해야할 일들이 헤더에 들어가 있다. 해당 형식으로 계층에서 필요한 정보를 전달한다.

  • IDU ⇒ 인터페이스 (서로 마주본다는 뜻 : 계층과 계층 사이에 존재한다.) Interface Data Unit : 상위계층 → 하위계층 : 서비스를 요청한다. / 하위계층 → 상위계층 : 응답을 전달한다.
  • 3계층 → 데이터가 상위 계층에서 내려온다. (일의 역할은 헤더에 존재) PCI 와 SDU, ICI 를 합치는 작업을 캡슐화라 한다.
    • SDU : Service Data Unit , PCI : Protocol Control Information
    • PDU : Protocol Data Unit
더보기

계층간의 통신에는 IDU (인터페이스 데이타 유닛) 이 전달되고 이는 헤더,트레일러, 데이터, 등의 정보를 전부 포함하는 단위이다.

해당 계층에서는 데이터 (SDU)와 제어정보(PCI) 를 캡슐화 하여 상위 계층으로 다시 IDU를 전달한다.

물리계층

  • 물리적 링크를 설정, 유지, 해제 하기위한 특성을 규정한다.
  • 데이터를 받아서 전송매체로 전송할 수 있도록 변환한다.
  • 비트의 흐름을 전자기 또는 광신호로 변환과 인코딩
  • 데이터 전송방식에서는 단방향, 반이중 (한번에 한쪽 방향으로만 교대로 이뤄진다.) , 전이중 (동시에 양방향으로 이뤄진다.) 방식을 결정한다.
  • 접속 형태 ** : 연결방식에 따라서 형태를 정한다.
    • 노드 링크 계산식은 n(n-1) / 2 가 된다. : 풀 메쉬
    • 트리형
    • 버스형
    • 스타형
    • 링형
    • 메쉬형
  • 전송 매체 : UTP / 광케이블 / 무선 3개만 기억하면 된다
더보기

상위 계층에서 내려온 데이터는 비트열로 받아온 후 물리 계층에서 전송 방식을 결정 후 신호로 (무선,UTP,광케이블) 로 라우터로 전달 그리고 상대 송신측으로 다시 라우터로부터 받아서 작업 반복

데이터링크 계층

  • 노드간의 데이터 전송을 hop-by-hop 으로 수행한다. (노드와 노드가 서로 옆에 존재하는 것을 hop-by-hop 이라 한다.)
  • 헤더를 앞부분에 , 트레일러를 뒷부분에 덧붙인다.
  • 헤더 → 데이터 시작, 주소 등을 포함한다.
  • 트레일러 → 에러 검출 코드
  • 헤더, 데이터, 트레일러를 통틀어 프레임이라고 한다. (PDU)
  • 비트들의 경계를 구분하기 위한 데이터 동기를 제공한다.

  • 주소지정 → 계층에서 사용하는 주소 : 하드웨어 주소, 헤더에 송신지와 수신지의 물리 주소가 포함되어 전송된다.
  • 접근 방식 → 어느 시스템이 어떤 데이터를 전송할 것인지 결정한다.
  • 흐름 제어 → 오버 플로우가 발생하지 않도록 상태를 전달하는 것을 흐름 제어라고 한다.
  • 에러 제어 → 트레일러에서 에러를 체크하는 것
  • 동기화 → 각각의 전송된 프레임의 타이밍을 맞추는 것

데이터링크 동작

  • 회선을 통해서 전송된 데이터는 수신지의 데이터링크 계층에서 헤더와 트레일러를 떼어낸 후 , 네트워크 계층으로 올려보낸다.

 

더보기

데이터링크 계층은 바로 옆 노드에 해당 데이터에 수신자의 물리 주소를 갖는 헤더와 오류 검출 코드인 트레일러를 추가하여 물리 계층으로 보내고,

수신측에서는 헤더와 트레이러를 떼어낸 후 네트워크 계층으로 올려보낸다.

네트워크 계층 특성

  • 네트워크 연결을 관리하고 유지하며 해제하는 기능을 담당한다.
  • 스위칭과 라우팅이라는 두가지 경로배정에 관한 서비스를 제공한다.
  • Host-to-Host 전송을 담당한다.
    • 전송지와 수신지 : Host to Host : IP 주소 : 라우터
    • 양옆의 노드간의 데이터 전송 : hop by hop : 맥주소 : 스위치
  • 라우팅 : IP주소를 보고 주소를 찾아준다.
    • 패킷을 보내기 위한 가장 좋은 경로
  • 스위칭 : 라우터보다 속도가 일반적으로 빠르다. 전화 네트워크가 스위칭의 대표적인 예이다.

더보기

네트워크 계층은 라우터를 이용하여 통신하고 IP주소를 보고 주소를 찾아준다.

전송계층

  • 하위계층으로 이루어진 네트워크 서비스와 상위 계층으로 이루어진 사용자 서비스로 구별된다.
  • 송수신 프로세스 간의 인터페이스 기능과 데이터에 대한 프로세스 단위 Process to Process 전송을 담당한다.
    • 포트 번호로 구분한다.
    • 해당
  • hop by hop → 맥주소 → 프레임
  • host to host → 아이피 → 패킷
  • Process to Process → 포트 → 세그먼트

세션 계층

  • 둘이 연결되있는 상태

표현 계층

  • 사용자의 데이터를 송수신지가 공통으로 이해할 수 있는 데이터 표현 방식을 바꾸는 기능을 담당한다.
  • 아스키코드 → 7비트 ⇒ 128개의 문자를 표현할 수 있다. (한국어 표기 못함)
  • 유니 코드 → 16비트

응용 계층

  • 응용 프로세스들이 상호 간에 유용한 정보교환을 할 수 있도록 하는 창구 역할을 담당한다.
    • 예 : 웹 브라우저
더보기

전송계층 → Process to Process 방식으로 포트 번호로 구별한다.

세션계층 → 세션이라 불리는 가상연결을 확립하고 유지하며 동기화 기능을 제공.

표현계층 → 송수신지가 공통으로 이해할 수 있는 데이터 표현 방식으로 바꾸는 기능.

응용계층 → 응용 프로세스들이 상호간에 유용한 정보 교환을 할 수 있도록 하는 창구 역할을 담당한다.

프로토콜

  • 통신규약
    • 각 노드간의 약속을 프로토콜이라 한다.
    • 상호간에 통신이나 전달방식, 통신방식, 자료형식 및 효과적인 통신을 위한 오류 검출 방식 및 전송속도 등에 대하여 정하고 이를 지켜나가는 것
    • 프로토콜로 무엇을 어떻게 그리고 언제 통신할 것인가를 규정한다.
  • 프로토콜의 구성 요소
    • 구문 Syntax
      • 약속
    • 의미 Semantics
      • syntax 가 있으면 의미가 존재한다.
    • 타이밍

더보기

프로토콜은 네트워크 사이의 약속이다.

Syntax, Semantics, Timing 으로 구성되어있다.

인터네트워킹

  • 각 제조사들이 개발한 네트워크 장비들을 변경하지 않으면서 여러 제조사들의 네트워크를 공동으로 사용하고자 하는 요구
  • 인터네트워크 상에서 서로 다른 제조사들의 시스템간 데이터 통신을 위한 공통의 프로토콜이 필요하다.
  •  개념
    • 서로 떨어져 있는 각각의 네트워크를 연결하여 하나의 네트워크 처럼 사용할 수 있는 기술로 서로 다른 네트워크들을 상호 접속시킴으로써 네트워크의 집합을 형성하거나 광역화 하는 것
  • 요구 사항
    • 네트워크 사이의 하나의 링크를 제공해야 하며, 최소한의 물리 계층과 데이터링크 계층 제어가 필요하다.
    • 네트워크 구조 자체의 변경 없이 네트워크 연결을 제공해야 한다.

더보기

인터네트워킹은 네트워크 구조의 변경 없이 각각의 네트워크를 하나의 네트워크처럼 사용할 수 있도록 하는 기술이다. 최소한의 1,2계층 제어가 필요하다.

인터네트워크 장비

  • 리피터
    • 물리계층에서 동작
    • 동일 LAN 에서 거리의 연장이나 접속 시스템의 수를 증가시키기 위한 장비이다.
    • 전송 신호를 원래 신호로 재생하여 다시 전송하는 역할을 한다.
    • 주소가 없다.
  • 허브
    • 여러 컴퓨터들을 연결하기 위해서 중앙 연결지점을 제공하는 네트워크 장비이다.
    • 리피터의 모음이라고 할 수 있다. (멀티 리피터)
    • 물리계층 (리피터, 허브)
    • 더미 허브
      • 중계 역할 만을 담당하는 장비
    • 스위칭 허브
      • point to point 로 접속, 전이중 방식 통신
      • 충돌이 발생하지 않는다.
    • 스태커블 허브
      • 허브와 허브 사이를 연결하는 장비
      • 전송 속도의 저하가 발생되지 않는다.
  • 브리지
    • 여러개의 LAN을 연결하기 위한 장비
    • 데이터링크 계층에서 동작한다.
    • 충돌 도메인을 줄임과 동시에 전체 네트워크 확장이 가능하다.
    • 네트워크를 분산적으로 구성함으로써 보안성을 높일 수 있다.

  • 스위치
    • 맥주소를 이용하여 동작한다
    • 네트워크 상에 프레임을 고속으로 전송하기 위해 개발되었다.
    • 맥주소를 가지고 포워드 한다.
      • Cut Through 스위치
        • 에러 검사 없이 목적지 포트로 전달 프레임의 대기시간과 전달 시간을 최소화한다.
      • Interim Cut Through 스위치
        • 에러가 발생한 프레임은 여전히 처리하지 못하는 단점이 있다.
      • Store and Forward 스위치
        • 전체 프레임의 버퍼링 과정에서 대기시간이 길다는 단점이 있다.
  • 라우터
    • IP주소로 경로를 찾는 기능을 수행한다.
    • 네트워크 계층 주소인 논리 주소를 기반으로 네트워크 간의 패킷 전달 기능을 수행한다.
  • 게이트웨이
    • 다른 장비들과 다르게 모든 계층에 대해서 동작한다.
    • 서로 다른 프로토콜을 사용하는 네트워크의 프로토콜을 변환한다. (데이터 형식 변화)
    • 네트워크 병목현상을 일으키는 원인이다.
더보기

인터네트워킹 장비에는 리피터, 허브 , 브릿지, 스위치, 라우터, 게이트웨이가 있다.

리피터 → 주소가 없고 전송 신호를 재생하여 다시 재생하는 역할을 하고, 물리적 거리 확장에는 한계가 있다.

허브 → 리피터의 모음이라 할 수 있다. (4개까지 연결 가능, 다른말로 멀티 리피터) 여러 컴퓨터를 연결하기 위한 중앙 연결 지점을 제공하는 네트워크 장비이다.

브릿지 → 데이터링크 계층에서 동작하는 여러개의 LAN을 연결하는 장비이다.

스위치 → 맥주소를 이용하여 동작한다. 프레임을 고속으로 전송하기 위해 개발되었다.

라우터 → IP주소로 경로를 찾는 동작을 수행한다. 패킷전달 기능을 수행

게이트웨이 → 프로토콜 변환 모든 계층에 동작하는 장비

  Comments,     Trackbacks