네트워크 계층 구조에 대해서

Dmori_2562·2022년 10월 19일
1
post-custom-banner

네트워크 계층 구조

네트워크 계층화에 대한 이해

  • 1980년대 초 ISO(International Organization for Standardization)는 여러 업체가 만든 시스템에 대해 상호연동이 가능한 표준 네트워크 모델을 제정할 필요성을 인식

  • 1984년 OSI(Open System Interconnection) 네트워크 모델을 발표

OSI 7계층 모델

OSI 참조 모델에서의 정보 교환 (캡슐화 및 역캡슐화)

TCP/IP 4계층

OSI 7계층 vs TCP/IP 4계층

  • OSI는 개념적인 모델(실제 구현에서 반드시 지킨다고 볼 수 없음)

  • TCP/IP 프로토콜은 OSI 모델보다 먼저 개발됨

  • TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지 않음

  • 두 계층을 비교할 때, 세션(Session)과 표현(presentation) 2개의 계층이 TCP/IP 프로토콜 그룹에 없다는 것을 알 수 있음

  • OSI 7 Layer는 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면에 실질적인 통신 자체는 주로 TCP/IP 프로토콜을 사용함

  • 최근에는 TCP/IP 모델을 5계층으로 분류하기도 함


1계층: 물리 계층(Physical Layer)

  • 두 시스템 간에 데이터를 전송하려고 링크를 활성화하고 관리하는 전기적, 기계적, 절차적, 기능적 특성을 정의함

  • 또한 물리 계층은 허브, 라우터, 네트워크 카드, 케이블 등 전송매체를 통해 비트(bit)를 전송함

  • OSI 참조 모델 7계층 중 물리 계층은 최하위 계층인 첫 번째 계층으로, 상위 계층에서 전송된 데이터를 물리매체를 통해 다른 시스템에 전기적 신호로 전송함

  • LAN 카드, 케이블, 허브, 라우터 등 물리적인 것과 데이터 전송에 사용하는 전압 등 기본적인 것이 물리계층에 속한다.

  • 송신 측의 물리 계층은 데이터 링크 계층에서 0과 1로 구성된 비트열의 데이터(프레임)을 받아 전기적 신호로 변환한 후 전송매체를 통하여 수신 측에 보냄

  • 수신 측의 물리 계층은 송신 측에서 받은 전기 신호를 0과 1로 구성된 비트열로 복원하여 수신 측의 데이터 링크 계층에 전송함

  • 즉, 실제 장치를 연결하는 데 필요한 전기적, 물리적 세부 사항을 정의
  • 물리 계층의 장치로는 허브나 리피터가 있음

물리 계층 관련 장비

리피터(Repeater)

  • 네트워크를 연장하기 위한 장비

  • 불분명해진 신호 세기를 다시 증가시키는 역할

  • 최근에는 리피터가 모든 네트워크 장비에 공통으로 들어가는 기능이 됨.

허브(Hub)

  • 요즘 쓰이는 스위치의 예전 형태

  • 허브는 스위치와 형태나 사용 방법이 같지만 패킷을 모든 곳에 똑같이 복사해서 보내는 것이 다름(스위치는 목적지에만 데이터를 전송)


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

  • 물리적 링크를 이용하여 신뢰성 있는 데이터를 전송하는 계층으로, 네트워크를 통해 데이터를 전송할 때 전송로 역할을 한다.

  • 데이터 링크 계층에서는 비트를 프레임이라는 논리적 단위로 구성했다.

  • OSI 참조 모델 7계층 중 데이터 링크 계층은 하위 계층인 두 번째 계층으로, 물리 계층의 바로 위에 위치한다.

  • 시스템 간에 오류 없이 데이터를 전송하려고 네트워크 계층에서 받은 데이터 단위(패킷)을 프레임으로 구성하여 물리 계층으로 전송한다.

  • 위의 그림은 물리 주소 14인 노드가 물리 주소 93인 노드로 프레임을 보내고 두 노드는 링크로 연결되어 있다.

  • 이 프레임은 헤더에 물리 주소가 있는데, 여기서는 데이터 링크 계층에서 해당 물리 주소로 통신이 가능함

헤더의 끝에는 필요한 정보가 들어 있음
트레일러에는 오류를 검출하는 특별한 비트들이 있음

MAC 주소

  • 데이터 링크 계층의 물리적인 주소: 랜 카드나 네트워크 장비의 하드웨어 주소(MAC 주소)

MAC 주소

  • 총 12개의 16진수로 구성
  • 앞쪽 6개는 네트워크 카드를 만든 회사(OUI: Organizationally Unique Identifier)를 뜻하고, 뒤쪽 6개는 호스트 식별자(Host Identifier)로 각 회사에서 임의로 붙이는 일종의 시리얼
  • 같은 MAC 주소는 존재하지 않음.

데이터 링크 계층 프로토콜: 이더넷

  • 제록스의 PARC(Palo Alto Research Center)에서 1970년대에 개발한 데이터 링크 계층의 프로토콜

CSMA/CD (Carrier Sense Multipul Access/Collision Detection)

  • 이더넷의 통신 방식

  • 이더넷 환경에서 통신을 하고 싶을 때, Carrier Sense를 수행함

  • 복수개의 디바이스가 동시에 통신을 시작할 때, Collision이 발생하고 이를 Detection할 수 있음

  • Collision Detection이 일어난 후, 랜덤한 시간을 기다린 후 데이터를 다시 보냄


데이터 링크 계층 장비

브리지(Bridge)

  • 랜(LAN)과 랜(LAN)을 연결하는 초기의 네트워크 장치

  • 데이터 링크 계층에서 통신 선로를 따라서 한 네트워크에서 그 다음 네트워크로 데이터 프레임을 복사하는 역할

Bridge는 Collision이 커지는 것을 막고, Collision들을 단절시킴.

스위치(Switch)

  • 기본적으로 데이터 링크 계층에서 작동하는 스위치를 뜻함(L2 스위치)

  • 허브의 단점인 Collision Domain의 확대를 해결

L2 스위치는 연결된 시스템이 늘어날수록 패킷 간 충돌 때문에 매우 낮은 속도로 동작하는 더미 허브의 문제점을 해결하는 획기적인 방안

  • 과거에는 브릿지를 통해서 Collision Domain을 나누었지만, 현재는 스위치가 인기가 많음

스위치의 MAC주소 테이블

시스템 간의 원활한 통신을 위해 주소 테이블을 생성하고 관리하는 역할

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

  • 랜(LAN)을 벗어난 통신을 하기 위해 네트워크 계층에서는 IP 주소를 사용한다.

  • 라우팅 프로토콜을 사용하여 최적의 경로를 선택한다.

  • 네트워크 계층은 데이터를 패킷 단위로 분할하여 전송한 후 재결합한다.

  • OSI 참조 모델 7계층 중 네트워크 계층은 세 번째 계층으로, 패킷을 송신 측에서 수신 측으로 전송한다.


네트워크 계층 프로토콜

  • ARP
  • IP
  • ICMP
  • IGMP

ARP (Address Resolution Protocol)

  • 데이터를 전달하려는 IP 주소의 통신에 필요한 물리적인 주소(MAC)를 알아내는 프로토콜

  • 선택된 매체에 브로드캐스트를 통해 특정 IP 주소를 사용하는 호스트가 응답을 하도록 요구하는 방식을 사용


IP (Internet Protocol)

  • 가장 대표적인 네트워크 계층의 프로토콜

  • 하위 계층의 서비스를 이용하여 두 노드 간의 데이터 전송 경로를 확립해주는 역할 (단말장치 간 패킷 전송 서비스)


IP 주소 체계

  • 32자리 2진수로, 8자리마다 점을 찍어 구분

  • A, B, C, D, E 클래스로 구분하는데 각 클래스는 네트워크 부분과 호스트 부분으로 구성

  • A, B, C 클래스는 맨 앞부분에 시작하는 2진수 숫자에 따라 구분

사설 네트워크: 사설 네트워크는 공인 네트워크 주소 부족 현상을 해결하기 위해 많이 사용


ICMP (Internet Control Message Protocol)

  • ICMP는 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 오류를 알려주는 프로토콜이다.

  • 대표적인 툴은 ping.

  • ICMP Echo Request 메시지: 송신측의 전송 패킷이 목적지 노드나 라우터에 잘 도착했는지를 확인하는데 사용

IGMP (Internet Group Management Protocol)

  • 멀티캐스트에 관여하는 프로토콜

  • 멀티캐스트 그룹을 관리하는 역할


네트워크 계층 관련 장비

라우터(Gateway)

  • 네트워크의 대표적인 장비, 게이트웨이라고도 한다.

  • 논리적으로 분리된 둘 이상의 네트워크를 연결.

  • 로컬 네트워크에서 브로드캐스트를 차단하여 네트워크를 분리.

  • 패킷의 최적 경로를 찾기 위한 라우팅 테이블을 구성.

  • 패킷을 목적지까지 가장 빠르게 보내는 길잡이 역할을 담당.

정적 라우팅

  • 관리자 권환으로 특정 경로를 통해서만 패킷이 지날 수 있도록 설정

  • 네트워크 변경사항이 발생할경우 라우팅 테이블을 수동으로 직접 고쳐야한다.

  • 보안이 중요한 경우 선택된다.

특징

  • 초기에 관리자가 다양한 라우팅 정보를 분석한 최적의 경로 설정 가능
  • 라우팅 알고리즘을 통한 경로 설정이 이루어지지 않아 처리 부하 감소
  • 네트워크 환경 변화에 대한 능동적인 대처가 어려움
  • 네트워크 환경 변화 시 관리자가 경로를 재산출하여 각 라우터에 제공해야 함
  • 비교적 환경 변화가 적은 형태의 네트워크에 적합

동적 라우팅

  • 라우터가 네트워크 연결 상태를 스스로 파악하여 최적의 경로를 선택해 전송

  • 네트워크 변경사항이 발생할경우 자동으로 문제를 해결

특징

  • 경로 설정이 실시간으로 이루어져 네트워크 환경 변화에 능동적으로 대처 가능
  • 라우팅 알고리즘을 통해 자동으로 경로 설정이 이루어져 관리가 쉬움
  • 주기적인 라우팅 정보 송수신으로 인한 대역폭 낭비 초래
  • 네트워크 환경 변화 시 라우터의 처리 부하 증가로 지연이 발생
  • 수시로 환경이 변하는 형태의 네트워크에 적합

4계층: 전송 계층(Transport Layer)

  • 프로토콜(TCP, UDP)과 관련된 계층으로 오류 복구와 흐름 제어 등을 담당, 두 시스템 간에 신뢰성 있는 데이터를 전송함

  • 네트워크 계층에서 전송한 데이터와 실제 운영체제의 프로그램이 연결되는 통신 경로

  • 네트워크 계층에서 온 데이터를 세션 계층의 어느 애플리케이션에 보낼 것인지 판독하고, 전송할 경로(Port, 포트)를 선택함

포트 주소

  • 전송 계층의 대표 프로토콜인 TCP(Transmission Control Protocol)가 가진 주소
  • 0 ~ 65535(2^16-1)번까지 존재
  • 0 ~ 1023(1,024)를 잘 알려진 포트(Well Known Port)라고 부름(보통 0번 포트는 사용하지 않는다)
  • 즉, 포트는 TCP가 상위 계층으로 데이터를 전달하거나 상위 계층에서 TCP로 데이터를 전달할 때 상호 간에 사용하는 데이터의 이동 통로를 말함
  • 파일을 동시에 다운로드할 수 있는 이유는 TCP 프로토콜이 포트를 여러 개 사용해서 상위 계층의 프로그램과 각각 따로 통신하기 때문이다.

전송 계층 프로토콜

TCP(Transmission Control Protocol)

  • 연결 지향형 프로토콜
  • IP와 함께 통신을 하는 데 반드시 필요한 가장 기본적인 프로토콜

특징

  • 높은 신뢰성

  • 가상 회선 연결 방식

  • 연결의 설정과 해제

    Three-Way Handshaking

    연결 해제

  • 데이터 체크섬

  • 시간 초과와 재전송

  • 데이터 흐름 제어


UDP(User Datagram Protocol)

  • 비연결 지향형 프로토콜
  • 상대방이 보낸 응답을 확인하지 않아 네트워크에 부하를 주지 않음.
  • 데이터 자체의 신뢰성이 없어 수신한 데이터의 무결성을 보장받지 못함.

특징

  • 비연결 지향형

  • 네트워크 부하 감소

  • 비신뢰성

  • 전송된 데이터의 일부가 손실됨.


5계층: 세션 계층(Session Layer)

  • 응용 프로그램 계층 간의 통신을 제어하는 구조를 제공하려고 응용 프로그램 계층 사이의 접속을 설정, 유지, 종료시켜주는 역할을 함

  • 세션 계층은 OSI 참조 모델의 상위 계층인 다섯 번째 계층으로, 통신장치 간의 설정을 유지하고 동기화하는 역할을 함


6계층: 표현 계층(Presentation Layer)

  • 데이터 표현 차이를 해결하려고 서로 다른 형식으로 변환하거나 공통 형식을 제공하는 계층

  • 송신 측에서는 수신 측에 맞는 형태로 변환하고, 수신 측에서는 응용 계층에 맞는 형태로 변환함

  • 또한 그래픽 정보는 JPEG 형태로, 동영상은 MPEG 형태로 변환하여 송수신하는 기능과 데이터 압축 및 암호화 기능 등을 제공함

  • 표현 계층은 OSI 참조 모델의 상위 계층인 여섯 번째 계층으로, 송신 측과 수신 측 사이에서 표준화된 데이터 형식을 규정함


7계층: 응용 계층(Application Layer)

  • 관련 응용 프로그램이 별도로 존재하며, 여러 가지 프로토콜에 대하여 사용자 인터페이스를 제공

  • 파일 전송, 데이터베이스, 원격 접속, 이메일 전송 등 응용 서비스를 네트워크에 접속시키는 역할을 하며, 여러 가지 서비스를 제공함

  • 사용자에게 정보를 입력받아 하위 계층으로 전달하고, 하위 계층에서 전송한 데이터를 사용자에게 전달함

  • 응용 계층은 OSI 참조 모델의 최상위 계층인 일곱 번째 계층으로, 실제로 통신의 최종 목적에 해당하는 가장 중요한 계층임

응용 계층(Application Layer) 프로토콜

FTP(File Transfer Protocol, 20, 21)

  • 파일 전송을 위한 가장 기본적인 프로토콜

  • 1972년, 텔넷과 함께 표준으로 제정

  • 클라이언트와 서버가 대화형으로 통신 가능


Telnet(텔넷, 23)

  • 사용자가 원격에 있는 서버에 로그인하도록 TCP 연결을 설정

  • 단말기가 원격 컴퓨터 바로 옆에 있는 것처럼 직접 조작할 수 있게 해줌.


POP3 & IMAP(110, 143)

  • POP3(110): 메일 서버로 전송된 메일을 확인할 때 사용하는 프로토콜

  • IAMP(143): POP3와 기본적으로 같으나, 메일을 읽은 후 메일이 서버에 남음.


SMTP(Simple Mail Transfer Protocol, 25)

  • 메일 서비스

DNS(Domain Name System, 53)

  • 도메인 이름 주소를 통해 IP 주소를 확인할 수 있는 프로토콜

TFTP(Trivial File Transfer Protocol, 69)

  • 파일을 전송하는 프로토콜

  • UDP 패킷을 사용하고, 인증 기능을 제공하지 않음.


HTTP(HyperText Transfer Protocol, 80)

  • 인터넷을 위해 사용하는 가장 기본적인 프로토콜
profile
어제보다 더 나은 오늘의 나를 위해 달려나가는 중입니다!
post-custom-banner

0개의 댓글