[KDT_AISEC] 4주차 - 네트워크 기초 개념

Gloomy·2024년 1월 20일
0

KDT_AISEC

목록 보기
9/25

네트워크 개요


네트워크란 무엇인가?

네트워크는 분야에 따라 여러가지로 정의할 수 있다. 하지만 그 정의들의 공통점은 어떠한 일이나 문제를 처리하는 데에 긴밀하게 연결되어 조직적이고 효율적으로 움직일 수 있도록 만든 체계라는것이다.
그 중에서도 컴퓨터 네트워크는 분산되어 있는 노드(컴퓨터, 서버, 네트워크 장비 등)들이 서로 자원(데이터)을 공유할 수 있도록 하는 통신망을 의미한다.

네트워크 구성단위의 이해


  • PAN(Personal Area Network)
    PAN은 개인의 작업공간을 중심으로 이루어진 컴퓨터 네트워크를 의미한다. 연결 범위가 매우 짧은게 특징이고, Bluetooth등이 있다.

  • LAN(Local Area Network)
    LAN은 집이나 학교, 회사 등 가까운 지역을 묶는 컴퓨터 네트워크이다. Ethernet, WI-FI등이 있다.

  • MAN(Metropolitan Area Network)
    MAN은 LAN과 WAN의 중간 크기로, 큰 도시나 캠퍼스에 퍼져있는 컴퓨터 네트워크이다. 케이블 TV 네트워크를 통한 인터넷 서비스 등이 이에 해당한다.

  • WAN(Wide Area Network)
    매우 넓은 거리와 장소를 넘나드는 컴퓨터 네트워크이다. 인터넷을 WAN으로 간주할 수 있다.

네트워크 계층과 프로토콜, 네트워크 장비의 이해


네트워크 모델의 종류

  • OSI 7 Layer
    국제 표준화 기구 ISO가 제시한 표준 네트워크 모델이다.
  • TCP/IP
    OSI 7 Layer는 현실과는 조금 거리가 있는 네트워크 모델이다.
    실제 애플리케이션 프로토콜들은 TCP/IP모델을 기반으로 동작한다.
  • 네트워크 모델이 필요한 이유
    네트워크 모델이 있으면 전체 시스템을 이해하기 쉽고 각 계층이 상하위 계층의 구동방식에 상관없이 독립적으로 동작하기 때문에 계층별로 처리하기가 편리하다. 또한 계층의 독립성이 향상됨에 따라서 시스템 구조도 단순화됐다.

캡슐화 & 역캡슐화

  • 캡슐화(Encapsulation)
    데이터를 보낼 때 다음 하위 계층에 해석할 수 있는 헤더를 붙여 나가는 것을 의미한다.
  • 역캡슐화(Decapsulation)
    데이터를 받을 때 상위 계층이 하위 계층에서 올라온 데이터에 붙어있는 헤더를 해석 후 제거하는 과정을 의미한다.
  • 캡슐화의 목적
    다른 모듈에 미치는 영향이 최소화되고 각 계층에 맞는 헤더만 해석하기 때문에 목적에 부합하는 기능만 수행된다. 또한 네트워크 동일 계층간 호환성이 유지된다.

1계층 Physical Layer

1계층은 물리 계층이라는 말 그대로 케이블을 이용한 시스템 간의 물리적 연결 계층이다. 1계층에서는 데이터를 Bit단위로 전송한다(01010001⋯). 1계층의 장비는 대표적으로 리피터와 허브가 있는데 리피터는 신호를 증폭시키는 장비이고 허브는 통신량을 분배해주는 장비이다. 리피터는 요즘 거의 찾기 힘든 반면 허브는 아직도 종종 쓰는 곳이 남아있다고 한다.

2계층은 MAC주소를 이용하는 계층이다. MAC주소는 NIC(Network Interface Card)에 부여되어 있는 물리적 주소를 의미한다. MAC주소는 16진수 12자리로 구성되어 있는데, 앞 6자리는 제조업체 식별코드이고 뒤 6자리는 업체 랜카드 정보이다. 실제로 WireShark에서 패킷 정보를 보면 Ethernet Frame Header에 MAC주소 정보가 있는데 앞 6자리를 WireShark자체적으로 해석하여 제조 업체 정보를 나타내준다.

MAC주소는 기본적으로 물리적주소이기 때문에 물리적 변조가 불가능하지만 논리적 변조는 가능하다. 네트워크 공격 파트에서 다룰 ARP Spoofing이 논리적 변조에 해당한다. MAC주소와 IP주소는 각각 사람의 주민등록번호와 이름이라고 생각하면 된다.

  • Ethernet
    이더넷은 Host끼리 상호간 데이터를 주고 받기 위해 MAC주소를 이용하는 유선 네트워크 구성 방식 중 하나이다.
  • ARP
    ARP는 Address Resolution Protocol의 약어로, 네트워크 상에서 IP주소와 MAC주소를 대응시키는 프로토콜이다. Ethernet의 경우, 아래와 같이 구성된다.

위의 Ethernet Frame Header + ARP구조의 데이터는 ARP Request를 보낼 때 Ethernet Frame Header의 Sender MAC주소에는 ff:ff:ff:ff:ff:ff를 기입하고 ARP Header의 Sender MAC주소에는 00:00:00:00:00:00을 기입한다.

2계층의 대표적인 장비는 스위치가 있는데, 스위치는 데이터 프레임에서 상대방의 MAC주소를 읽은 후 해당 단말에만 데이터 프레임을 전송하는 장비이다.

3계층 Network Layer

Internet Protocol이 동작하는 계층이다. 흔히 말하는 IP주소에서의 IP가 바로 인터넷 프로토콜이다. 3계층의 주목적은 '어떤 라우터를 찾아갈 것인가?'이다. 2계층을 지나 3계층으로 넘어온 데이터가 외부를 거쳐 알맞은 라우터로 찾아갈 수 있게끔 하는것이 바로 IP이다.

IP는 IP주소를 사용하는데, 보통 IP주소는 네트워크 주소와 호스트 주소로 구성되어 있다. 서브넷 마스크를 이용하여 구분하고 Prefix표기법을 이용해 서브넷 마스크를 표기할 수 있다.

서브넷 마스크 표기법에서 24, 혹은 32의 의미는 해당 IP주소를 모두 이진수로 변환했을 때 1의 개수를 의미한다.

  • 라우팅(Routing)
    라우팅은 네트워크에서 데이터를 전송할 때 최적의 경로를 찾는 과정을 의미한다. 보통 3계층의 대표적인 장비인 라우터가 이를 수행한다. 라우터는 서로 다른 네트워크를 연결하고 특정 인터페이스를 통해 수신한 패킷의 Destination IP에 따라 연결된 인터페이스를 통해 전송할 것을 결정하는 장비이다. 최근에는 라우터가 2계층 장비인 스위치의 역할까지 하기도 한다.

4계층 Transport Layer

Port주소를 사용하여 패킷을 알맞은 애플리케이션 서비스로 보내는 역할을 하는 계층이다. 대표적으로 TCPUDP, 두 가지의 프로토콜이 존재한다.

TCP는 신뢰성 있는 전송으로서, 패킷의 손실을 체크하고 3-way handshake를 사용하는 연결 지향형 프로토콜이다.

3-way handshakeTCP 데이터의 신뢰성을 위해 사전에 논리적인 연결을 맺는 과정을 의미한다. SYN. SYN+ACK, ACK의 과정으로 진행되고, 성공적으로 연결이 맺어지면 세션을 형성한다.

TCP Flags

  • SYN: 통신 시작 시 세션을 연결하기 위한 플래그
  • ACK: 송신측에게 패킷을 잘 받았다는 것을 알려주기 위한 플래그
  • FIN: 세션 연결을 종료한다는 플래그
  • RST: 비정상적인 연결을 끊기 위해 연결을 재설정하기 위한 플래그
  • PSH: 버퍼가 채워지기를 기다리지 않고, 받는 즉시 전달하기 위한 플래그, 버퍼링 없이 Application Layer에 바로 전달한다.
  • URG: 긴급한 데이터의 우선순위를 다른 데이터의 우선순위를 높여 긴급하게 전달하는 플래그

UDP는 패킷의 손실을 체크하지 않고 단순 오류 검출 기능만을 가지고 있는 프로토콜이다. 이미 전송된 패킷에 대한 확인과 응답 등의 절차가 없기 때문에 처리속도가 빠르다. 보통 동영상 스트리밍등의 서비스에 사용되는 프로토콜이다.

출처: 위키피디아

5, 6, 7계층(Session, Presentation, Application)

애플리케이션이 종합적으로 동작하는 계층이다.

OSI 7 Layer 참조 모델 & TCP/IP 모델

OSI 7 Layer 별 주요 프로토콜 및 장비

profile
𝙋𝙤𝙨𝙨𝙤 𝙁𝙖𝙧𝙚!

0개의 댓글