[정보보안기사 PART 05] 네트워크 보안 - TCP/IP


Section 21 네트워크 개요

 

1. 물리 계층

 

(1) 물리 계층 개요

1) 데이터와 신호

 응용, 전송, 네트워크, 데이터 링크에서의 통신은 논리적이고 물리 계층 통신은 물리적이다.

 간단하게 호스트-대-라우터, 라우터-대-라우터, 라우터-대-호스트만을 보는데, 교환기도 물리적 통신에 포함된다.

 

 아날로그 : 연속된 정보

 디지털 데이터 : 이산 값

 

 

2. 데이터링크 계층

 

(1) 데이터링크 계층의 소개

1) 소개

- 노드와 링크

 데이터링크 계층에서의 통신은 노드-대-노드이다. 인터넷에서 하나의 지점으로부터의 데이터 유닛은 다른 지점에 도달하기 위해 LAN과 WAN고 같은 많은 네트워크를 통해 전달될 필요가 있다.

 이러한 LAN과 WAN은 라우터를 통해 연결된다. 이것은 2개의 종단 호스트와 노드로써 라우터 그리고 링크로써 두 노드 사이의 네트워크로 나타내는 것이 일반적이다.

- 서비스

프레임 짜기

흐름 제어(Flow Control)

오류 제어(Error Control)

혼잡 제어(Congestion Control) : 사용하지 않음

 

 

3. 네트워크 계층

 

(1) 네트워크 계층 개요

1) 네트워크 계층 서비스

- 라우팅

 네트워크(LAN과 WAN)와 네트워크를 연결하는 라우터의 조합

 

- 포워딩

 라우터상의 하나의 인터페이스에 패킷이 도차했을 때 라우터가 취하는 행동

 

2) IPv4 주소

- 클래스 기반의 주소 지정

전체 주소 공간은 5개의 클래스(클래스 A, B, C, D, E)로 구분된다. 이 기술은 클래스 기반 주소지정이라 한다.

주소가 적절히 분배되지 않았기 때문에 인터넷에 연결하려는 기관이나 개인이 사용할 주소가 더 이상 남지 않았다.

서브네팅과 슈퍼네팅의 두가지 기술로 주소 고갈을 완화

 

- 클래스가 없는 주소 지정

 클래스 기반 주소 지정에서 서브네팅과 슈퍼네팅은 실제로 주소 고갈문제를 해결하지 못하였다. 인터넷의 성장에 따라 장기적인 관점에서 해결책으로 더 큰 주소 공간이 필요했다. 그러나 더 큰 주소 공간 확보를 위해서는 IP 패킷 형식의 변화가 필요한 IP 주소 길이의 증가가 필요하다.

단기적인 관점의 해결책에서는 클래스 없는 주소지정 방식의 IPv4 주소가 사용된다. 즉, 주소 고갈을 해결하기 위해 클래스 권한이 제거되었다.

 

- VLSM(Variable Length Subnet Mask, 가변 길이 서브넷 마스킹)

 서브네팅을 여러 번 반복하여 네트워크를 크기가 다른 여러 서브네트워크 계층으로 구분하는 기법이다. 이를 통해 기관은 네트워크의 실제 요구사항에 맞게 서브넷의 크기를 조정할 수 있다.

 

- 특수 주소

 디스-호스트 주소

 제한된 브로드캐스트 주소

 루프백 주소

 사설 주소

 

(2) 네트워크 계층 프로토콜

1) 인터넷 프로토콜(IP)

 IPv4는 비신뢰적이고 비연결형인 데이터그램 프로토콜로 최선형 전송 서비스이다.

 IPv4 패킷이 훼손되거나 손실, 순서에 맞지 않게 도착, 지연되어 도착 그리고 네트워크에 혼잡을 발생시킬 수 있는 것을 뜻한다.

 만약 신뢰성이 중요하다면 IPv4는 TCP처럼 신뢰성 있는 전송 계층 프로토콜과 함께 사용되어야 한다.

 

2) 논리주소와 물리주소의 변환

ARP(Address Resolution Protocol)

 호스트는 ARP 요청 메시지를 보낼 때 자신의 IP 주소, 자신자측 IP 주소는 알고 있지만, 수신자측 물리주소는 모르기 때문에 물리 계층 브로드캐스트를 통해 모든 호스트에게 패킷을 전송

 

RARP(Reversr ARP)

 물리주소에 해당하는 IP주소를 얻고자 할 때 사용한다.

 

GARP(Gratuitous ARP)

 Sender IP와 Target IP가 동일한 ARP 요청

목적 : IP 충돌 감지, 상대방의 ARP Cache 정보 갱신

 

3) ICMPv4(Internet Control Message Protocol version 4)

 다른 호스트가 동작하는 여부를 확인하기 위해 사용

 

- 오류 보고 메시지

 목적지 도달 불가 (Destination Unreachable, Type 3)

: 왜 데이터그램이 최종 목적지에 도착하지 못하였는지에 대한 오류 메시지

 

 근원지 억제 (Source Quench, Type 4)

: 송신자에게 네트워크에 충돌이 발생하여 데이터그램이 폐기되었음을 알리는 메시지

 

 재지정 메시지 (Redirection, Type 5)

: 잘못된 라우터를 사용할 떄 사용되는 메시지

 

 시간 경과 메시지 (Time Exceeded, Type 11)

: IP 패킷이 폐기되었음을 알리는 메시지

 

 매개변수 문제 (Parameter Problem, Type 12)

: 데이터그램의 헤더에 문제가 있거나 어떤 옵션이 없거나 옵션의 의미를 알 수 없는 경우에 전송

 

- 질의 메시지

 호스트나 라우터가 활성화되었는지를 알아보거나, 두 장치 사이의 IP 데이터그램이 단방향 시간인지 아니면 왕복 시간인지를 찾는다.

 

 

(3) IPv6

1) IPv4의 한계

 전세계적으로 인터넷의 급격한 보급과 무선 인터넷, 인터넷 정보 가전기기 등의 IP주소에 대한 수요가 증가하면서 IPv4의 주소 체계로는 처리가 업렵다는 문제가 대두

 

2) IPv6의 등장

 기존 IPv4의 32비트 주소길이를 4배 확장한 128비트 주소 길이 사용

 보안문제, 라우팅 효율성 문제, QoS 보장, 무선 인터넷 지원과 같은 다양한 기능 제고

 

3) 특징

- 확장된 주소 공간

- 새로운 헤더 포맷

- 향상된 서비스의 지원

- 보안 기능

 

4) IPv6 주소

- 유니캐스느 주소

 단일 인터페이스(컴퓨터, 라우터)를 정의한다.

 특정한 컴퓨터에게만 전달한다.

 

- 애니캐스트 주소

 단일 주소를 공유하는 컴퓨터의 집합으로 정의된다.

 가장 가까이 있는 애니캐스트 그룹의 구성원에게만 전송

 

- 멀티캐스트 주소

 컴퓨터의 그룹을 정의한다.

 그룹의 각 컴퓨터가 복사본을 수신한다.

 애니캐스트는 그룹 중 하나의 컴퓨터에만 전송된다.

 

5) IPv4에서 IPv6로 변환

- 이중 스택

- 터널링(tunneling)

- 헤더 변환(header translation)

 

4. 전송 계층

 

(1) UDP(User Datagram Protocol)

1) 개요

 사용자 데이터그램 프로토콜(UDP)은 비연결형이고 신뢰성이 없는 전송 프로토콜이다.

 호스트 간 통신 대신에 프로세스 간 통신을 제공하는 것을 제외하고는 IP 서비스에 어떠한 것도 추가하지 않는다.

 최소한의 오버헤드르 가진 매우 간단한 프로토콜

 UDP 패킷은 각각 2바이트(16비트)인 4개의 필드로 만들어진 고정된 크기의 8바이트 헤더를 가지고 있다.

 

2) UDP 서비스

- 프로세스-대-프로세스 통신

- 비연결형 서비스

- 다중화와 역다중화

 

3) UDP의 일반적인 응용

 흐름 및 오류 제어를 하지 않는 간단한 요청-응답 통신을 요구하는 프로세스에 적당

 멀티캐스팅을 위한 전송 프로토콜이다.

 SNMP와 같은 관리 프로세스을 위하여 사용된다.

 라우팅 정보 프로토콜(RIP)과 같은 경로 갱신 프로토콜을 위하여 사용된다.

 보통 수신 메시지의 영역 사이에서 불평등한 지연을 인내할 수 없는 상호작용적 실시간 응용에 사용된다.

 

(2) TCP(Transmission Control Protocol)

1) TCP 서비스

- 프로세스-대-프로세스 통신

- 스트림 전송 서비스

- 송신 및 수신 버퍼

- 전이중 통신

- 다중화와 역다중화

- 연결-지향 서비스

- 신뢰성 있는 서비스

 

2) 세그먼트

 TCP에서는 패킷을 세그먼트라고 한다.

 

3) TCP 연결

 TCP 연결-지향 전송은 연결 설정, 데이터 전송 및 연결 종료의 3단계를 필요로 하낟.

 

- 연결 설정

 세-방향 핸드셰이크(three-way handshaking)

 

- SYN 플러딩 공격

 공격자가 많은 서비스 요청을 가진 시스템을 독점하여 시스템을 붕괴하고 모든 요청에 대하여 서비스를 거부하는 서비스 거부 공격으로 알려진 보안 공격 형태에 속한다.

 

- 데이터 전송

 양방향으로 데이터 전송 발생

 클라이언트에 의해 보내진 데이터 세그먼트에는 서버 tcp가 데이터가 수신되자마자 서버 프로세스에게 데이터를 전달하는 것을 알도록 PSH(push) 플래그가 설정되어 있다.

 

 

 

5. 응용 계층

 

(1) 주요 응용 계층 프로토콜

1) HTTP

 하이퍼텍스트 전송 프로토콜은 웹으로부터 웹페이지를 가져오기 위해 어떻게 클라이언트-서버 프로그램을 작성할지를 정의하는데 사용된다.

 HTTP클라이언트는 요청을 하고 HTTP 서버는 응답을 한다. 서버는 포트 80번을 사용하고 클라이언트는 임시 포트 번호를 사용한다.

 

2) FTP

 하나의 호스트에서 다른 호스트로 파일을 복사하기 위해 TCP/IP가 제공하는 표준 프로토콜이다.

 

3) TELNET

 최초의 원격 로그인 프로토콜 중 하나이다.

 로그인 이름과 암호를 요구함에도 불구하고 암호를 비롯한 모든 데이터를 암호화되지 않은 평문을 전송하기 때문에 해킹에 취약하다.

 

4) DNS

 오늘날의 인터넷은 매우 거대하기 때문에 중앙 디렉터리 시스템은 모든 매핑을 보유할 수 없다. 또한 중앙 컴퓨터가 고장나는 경우 전체 통신망을 붕괴된다.

 더 좋은 해결책으로 현재는 이 엄청난 양의 정보를 작게 나누어서 전세계의 서로 다른 컴퓨터에 저장하는 방법을 사용한다.

 이때 각 호스트는 매핑이 필요할 경우 이 정보를 가지고 있는 가장 가까운 컴퓨터와 통신하게 된다. 도메인 네임 시스템이 이 방법을 사용한다.

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

+ Recent posts