본문 바로가기

AWS Cloud School

[03.26] OSI 7계층, TCP/IP, IPv4, 클래스, 서브넷

OSI 7계층

OSI 7계층이란 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다.

 

전송 계층

  • 종단장비에서 동작중인 응용 계층 사이에 세그먼트라는 데이터 묶음을 전달하는 역할
  • ex) PC에서 웹 서버를 접속하면 HTTP라는 응용 계층 프로토콜이 동작한다. 네트워크 계층 프로토콜인 IP가 PC에서 웹 서버까지 패킷을 전달하면, IP 패킷 내부에 있던 전송 계층 프로토콜인 TCP가 내부의 데이터를 HTTP라는 응용 계층 프로토콜에게 전달한다.

 

세션 계층

  • 종단장비 사이 세션의 시작, 종료 및 관리 절차 등을 정의
  • NetBIOS, TCP 세션 관리절차 등이 있다.
  • 세션 계층 이상에서 송수신하는 데이터의 단위를 메세지라고 함

 

표현 계층

  • 상위 계층 프로토콜인 응용 계층에 대해 데이터 표현 방식의 변환, 암호화 등의 서비스를 제공
  • ex) ASCII형식의 데이터를 EBCDIC 형식으로 변환

 

응용 계층

  • 응용 프로그램과 통신 프로그램 사이의 인터페이스를 제공
  • ex) HTTP라는 응용 계층 브로토콜은 응용 프로그램인 웹 브라우저에게 필요한 데이터를 송수신할 때 사용한다.
  • 텔넷, FTP, DNS, SMTP 등이 있다.

물리계층

  • 인접한 두 장비 사이에 통신 신호를 전송하는 역할
  • 이를 위해 필요한 구성품들의 기계적, 기능적, 전기적 사양을 정의

 

데이터 링크 계층 (=링크 계층)

  • 라우터라는 장비로 구분된 구간에서 프레임이라는 데이터의 묶음을 전달하는 역할을 담당
  • 링크 계층 프로토콜들은 용도에 따른 프레임의 종류를 정의하고, 프레임내 각 필드의 길이, 의미 등을 지정
  • 링크 계층에서 사용하는 주소를 정의하고, 에러 발생 확인 및 에러 복구 절차 등도 지정
  • 물리 계층을 통하여 수신한 0과 1로 이루어진 신호를 조합하여 프레임 단위의 묶음으로 신호를 해석

 

네트워크 계층

  • 통신의 최종 당사자들인 종단장비 사이에 패킷이라는 데이터의 묶음을 전달하는 역할
  • 각 장비를 구분하기 위한 주소를 정의해서 사용(논리적 주소)
  • 네트워크 계층 프로토콜이 사용하는 주소 = IP 주소
  • IPv6 프로토콜에서 사용하는 주소 = IPv6 주소

 

브로드캐스트

  • 1대 전체
  • 로컬 랜 상에 붙어있는(브로드캐스트 도메인 안에 있는) 모든 네트워크 장비들에게 보내는 통신
  • 예를 들어 동네 이장님이 마이크로 "동네 사람들! 반상회가 있으니 모이세요!" 라고 동네에 방송하는 방식과 동일
  • 여기서 동네(방송을 듣는 영역)는 브로드캐스트 도메인과 같다.
  • 브로드캐스트의 주소는 FFFF.FFFFF.FFFF(맥 어드레스일 경우)이다.
  • 이 주소로 패킷을 CPU가 받으면 무조건 읽어들인다. (원래 자신의 맥 어드레스와 목적지 어드레스가 다르면 버린다.)
  • 브로드캐스트는 네트워크 상의 전체 노드로 전송되기 때문에 전체 트래픽이 증가
  • 이 패킷을 받은 CPU는 이 패킷을 처리하게 되고 PC의 성능도 떨어진다.
  • 즉, 과도한 브로드캐스트는 전체 네트워크 성능 뿐만 아니라 PC의 성능도 떨어지게 한다.

 

Classful

  • 개수가 제한되어 있는 IP를 효율적으로 할당하고 관리하기 위해 도입된 IP 관리 체계
  • 전체 IP를 지정된 크기대로 Class 라는 그룹으로 분리하여 관리
  • Default Mask 를 사용하여 IP에 해당하는 Class 를 구분
  • 클래스별로 무조건 고정된 개수만큼의 IP만 할당 가능하여 비효율적인 IP 할당 (낭비가 많음)
  •  약 42억 개의 IP를 할당할 수 있었지만, IT 산업의 발전으로 이마저도 부족한 IP 개수가 되어 버림

 

Classless

  • Class 개념을 없애버리고, 전체 IP를 통합하여 필요한 개수만큼만 나눠서 할당하는 방법
  • Netmask(넷마스크)를 가변적으로 이용하여 IP 주소에서 Net ID 와 Host ID 를 구분함

 

넷마스크

  • 네트워크 주소 부분의 비트를 1로 치환한 것
  • IP 주소와 넷마스크를 AND 연산을 하면 네트워크 주소를 얻을 수 있다.

 

서브넷

    • IP 주소에서 네트워크 영역을 부분적으로 나눈 부분망, 부분 네트워크
    • 서브넷을 만들 때 쓰이는 것이 바로 서브넷 마스크
    • 서브넷 마스크를 이용하여 IP주소 체계의  Network ID와 Host ID를 서브넷 마스크를 통해 분리할 수 있음
    •  
    • 클래스 A를 예로 들어보면 클래스 A의 IP가 116.81.97.8 일 경우 클래스 A의 서브넷 마스크는 255.0.0.0 이므로 이것을 이진수로 변환하고 AND 조건을 수행했을 시 나오는 것은 116.0.0.0.이다. 이것이 바로 클래스 A의 Network ID고, 나머지는 Host를 식별하는 Host ID 부분

116.81.97.8 => 01110100.01010001.01100001.00001000

255. 0. 0. 0 => 11111111.00000000.00000000.00000000

---------------------------------------------------------------