본문 바로가기
SK shieldus Rookies 16기

[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(16일차)

by Challenge programmers 2023. 11. 13.

오늘 학습 주제

1. 네트워크 주소

2. 전송 모드

3. 계층별 장비

4. 트래픽 흐름

5. OSI 참조모델

 

 

 

 

네트워크 주소


- 논리적 주소 -

  IP
정의 네트워크에서 각 장치를 식별하는 데 사용되는 고유한 숫자
구성 Network ID + Host ID
특징 데이터 패킷은 출발지 IP 주소와 목적지 IP 주소를 포함하여 전송
각각의 컴퓨터와 네트워크 장치에는 고유한 IP 주소가 할당

 

  서브넷 마스크
정의 IP 주소를 서브넷(Subnet)으로 나누는 데 사용되는 32비트 숫자
기능 IP 주소는 네트워크 부분과 호스트 부분으로 나뉘며, 서브넷 마스크는 어느 부분이 네트워크인지,
어느 부분이 호스트인지를 확인
특징 옥텟(32비트)으로 표현되며, 각 옥텟은 이진수로 표현

 

 

- 내부망과 외부망 -

  내부망 외부망
정의 조직이나 기업 내부에서 사용되는 네트워크 조직이나 기업과 외부 세계, 인터넷 등의 네트워크
사용 주로 내부 직원들끼리의 효율적인 의사소통,
정보 교환, 파일 공유 등을 위해 사용
인터넷을 통해 외부 리소스에 접근하고,
외부에서는 기업이나 조직의 서비스에 접근
특징 송수신자가 동일한 네트워크 ID를 사용 송수신지가 서로 다른 네트워크 ID를 사용

 

 

- 물리적 주소(2계층) -

  물리적 주소
정의 네트워크에서 디바이스를 식별하는 데 사용되는 주소
구성 데이터링크계층의 MAC 계층에 의해 사용되는 48비트의 하드웨어 주소
특징 하드웨어의 고유 식별자로 사용되며, 네트워크 카드에 할당
MAC 앞 3칸 OUI 뒤 3칸 제조번호

 

 

- FQDN(Fully Qualified Domain Name) -

www.test.com의  FQDN

FQDN
정의 인터넷에서 호스트나 리소스를 식별하기 위해 사용되는 도메인 이름의 전체 경로
구성 Host Name + Domain Name
사용 인터넷에서 리소스를 고유하게 식별하는 데 사용

DNS(Domain Name System)에서 도메인 이름을 IP 주소로 해석하는 데 도움

트워크에서 특정 호스트를 정확하게 지정하는 데 사용

사용자가 웹 브라우저에서 특정 웹사이트에 액세스하거나
다른 네트워크 서비스에 연결할 때 이용

 

 

- MAC / IP / FQDN Address -

• MAC 주소 구성=제조회사+일련번호

• IP 주소 구성=네트워크ID+호스트ID

• FQDN 주소 구성=호스트명+도메인명

 

- DNS & ARP -

DNS & ARP
DNS 문자 주소를 기반으로 IP 주소를 조회
ARP IP를 기반으로 맥 주소를 조회
RARP  MAC주소로 IP 조회

 

 

- 포트 번호(4계층) -

포트 번호
정의 컴퓨터 네트워크에서 특정 프로세스나 서비스를 식별하는 데 사용되는 16비트의 숫자
기능 TCP/IP 프로토콜 스택에서 포트 번호는 송신자와 수신자 간의 통신을 지원
포트 번호를 사용하여 특정 응용 프로그램이나 서비스에 데이터를 전달 가능
종류 - Well-Known Port(server program) : 1-1023
HTTP = 80 / HTTPS = 443

- Registered Port : 1024-49151
IANA(인터넷 할당 번호 관리 기관)에 의해 관리

- Dynamic Port(client program) : 49152-65535

 

 

- 포트 주소 -

 

포트주소(수신)
포트주소(송신)

 

 

 

 

전송 모드


 

Unicast 1 : 1

Broadcast 1 : m (불특정다수)

Multicast 1 : n (특정다수)

 

- Unicast - 

 

 

 

Unicast
정의 하나의 송신자가 하나의 수신자에게 직접적으로 데이터를 전송하는
송수신자가 구분되어 있는 통신 모드
특징 • 주소를 기입할 때에는 L2,3,4를 반드시 기입(누락되면 전송 불가)

L2부터 전송

전송데이터에 따라 포트가 결정됨(HTTP = 80번)

수신지 IP는 DNS로 확인

수신지 MAC는 ARP로 확인

 

 

- Broadcast - 

Broadcast
정의 하나의 송신자가 네트워크 상의 모든 수신자에게 데이터를 전송하는 통신 모드
특징 • 가상 주소

시스템 운영/ 프로토콜 운영/ 특정 애플리케이션 운영을 위해 사용

운영체제 설치시 OS에 상관없이 할당

망 밖으로 나갈 수 없다 (Directed Broadcast는 예외)

포트번호가 결정되면 IP가 자동으로 결정되고 MAC도 자동으로 결정
 (MAC을 보고 결정하는 것이 좋음)

 Limited Broadcast(local broadcast) : 255.255.255.255
  Directed Broadcast : 192.168.1.255/24
  BIP: 255.255.255.255 (all)
  BMAC: FFFF.FFFF.FFFF

 

 

- Multicast - 

Multicast
정의 하나의 송신자가 그룹 내의 여러 수신자에게 데이터를 전송하는 통신 모드
특징 시스템 운영/ 프로토콜 운영/ 특정 애플리케이션 운영을 위해 사용

멀티미디어 스트리밍, 온라인 게임, 소프트웨어 업데이트 등 다수의 수신자에게
  동일한 데이터를 전송해야 하는 상황에서 효율적으로 사용


운영체제 설치시 OS에 상관없이 할당


w.x.y.z에서 w가 224-239로 시작되어야 한다

 16진수를 10진수로 바꾸어야 함

MIP: 224~239
  MMAC: 0100.5E(제조사 번호)

0100.5E 이더라도 Multicast가 아닐 수도 있음
  25비트가 정확하게 일치해야 판단 가능 (수신자IP를 보고 판단하는게 좋음)

 

 

- ARP - 

ARP
정의 IP 주소에 대응 되는 MAC 주소를 조회 변환해 주는 서비스
특징 ARP Cache Table: IP주소와 MAC 주소의 대응 관계를 저장한 테이블(arp -a 명령어로 확인)

한번 연결된 곳의 정보를 기록해 효율적으로 운용

운영체제가 수동으로 설정

종류  ARP request 패킷: 브로드캐스트 방식으로 운영
   송신지가 수신지의 MAC 주소를 조회하기 위해 보내는 질의 패킷

ARP reply 패킷 : 유니캐스트 방식으로 운영
   ARP request에 대해 응답하는 패킷

 

 

 

 

계층별 장비


- Forwarding과 Flooding

 
 Forwarding 하나의 송신지 포트에서 하나의 수신지 포트로 트래픽 전송
Flooding  송신지 포트를 제외한 나머지 포트들로 트래픽 전송

 

장비에서 사용할 때는 유니케스트, 브로드캐스트가 아닌 Forwarding과 Flooding이라고 함

 

 

- Switch 

Switch
정의 각각의 포트를 사용하여 다양한 장치들을 연결하고
스위치 내부에서 프레임 수준에서의 스위칭을 통해 데이터를 전달
여러 디바이스 간의 효율적인 통신을 지원
계층 2계층(데이터 링크)
경로 DB MAC address table
전송방법 MAT에 목적지 정보가 있는 경우 포워딩으로 전송

MAT에 목적지 정보가 없는 경우 플러딩으로 전송
특징
경로DB에는 브로트캐스트,멀티캐스트 주소를 등록X

브로드캐스트/멀티캐스트 패킷을 받으면 플러딩

스위치를 통과하는 데이터의 송신지 MAC 주소를 기반으로 MAT에 등록

 

 

- Router 

Router
정의 여러 네트워크 간에 데이터를 전송하고 경로를 결정하는 역할
IP 주소를 이용하여 데이터 패킷을 목적지로 전달 
계층 3계층
경로 DB Routing Table
전송방법 RT에 목적지 정보가 있는 경우 포워딩으로 전송

RT에 목적지 정보가 없는 경우 폐기(drop)
특징
2계층 장비와는 다르게 목적지 정보를 모르면 폐기

경로DB에는 브로트캐스트,멀티캐스트 주소를 등록X

브로드캐스트/멀티캐스트 패킷을 받으면 폐기

 

 

- Hub 

Hub
정의 데이터를 여러 디바이스에 브로드캐스트하는 네트워크 장비
계층 1계층
경로 DB 없음
전송방법 플러딩

 

 

- Gateway - 

Gateway
정의 망과 망을 연결시켜주는 중계장비
기능 둘 이상의 네트워크 간 통신을 중계하거나, 서로 다른 프로토콜을 변환하여 상호 운용성을 제공

 

 

- media translation 

Media Translation
계층 계층 이상의 장비에서 처리
특징 패킷이 출발지에서 목적지까지 가는 동안 3계층 장비를 거칠 때마다 L2 헤더 (프레임 헤더) 변경

3계층 주소(IP주소) 변환 없음

2 계층주소는 스위칭 환경에 따라 변환

목적지가 외부망이면 DMAC에 GMAC가 온다

 

 

 

 

트래픽 흐름


- 내부망 -

내부망
1 단계 DNS를 이용하여 수신지 IP 주소 조회

- DNS 캐시 조회 (c:\> ipconfig /displaydns)

- Hosts.txt 파일 조회 (\windows\system32\drivers\etc\hosts)

- DNS 서버 이용
2 단계 송신자 서브넷 마스크를 이용하여 수신지가 (내부망/외부망)에 존재하는지 확인
3 단계 수신지 MAC 주소 조회

- ARP 캐쉬 조회

- ARP Request/Reply 를 이용
4 단계 수신지로 트래픽 전송

 

 

- 외부망 -

외부망
1 단계 DNS를 이용하여 수신지 IP 주소 조회

- DNS 캐시 조회 (c:\> ipconfig /displaydns)

- Hosts.txt 파일 조회 (windows\system32\drivers\etc\hosts)

- DNS 서버 이용
2 단계 송신자 서브넷 마스크를 이용하여 수신지가 (내부망/외부망)에 존재하는지 확인
3 단계 GateWay의 MAC 주소 조회

- ARP 캐쉬 조회

- ARP Request/Reply 전송
4 단계 Media Translation 방법으로 수신지로 트래픽 전송

 

 

 

 

OSI 7 참조모델


 

ISO(국제 표준 기구)가 서로 다른 시스템간의 통신을 허용하기 위해 개발한 모델

 

- OSI (Open System Interconnection) -

 

- Application Layer(7계층) -

Application Layer
기능 사용자나 응용 프로그램이 네트워크와 상호 작용하는 데 사용
특정한 응용 프로그램에 대한 서비스를 제공
특징
  1. 응용 프로토콜 지원: 여러 응용 프로토콜을 지원
    ex) HTTP(Hypertext Transfer Protocol), FTP(File Transfer Protocol), SMTP(Simple Mail Transfer Protocol) 

  2. 사용자 인터페이스 제공: 사용자와의 직접적인 상호 작용을 지원하기 때문에 사용자 인터페이스를 제공
    ex) 웹 브라우저, 이메일 클라이언트, 파일 전송 클라이언트

  3. 애플리케이션 간 통신: 다른 장치나 시스템 간에 애플리케이션 간 통신 가능
    ex) 웹 브라우저가 웹 서버와 통신, 이메일 클라이언트가 이메일 서버와 통신

  4. 프로토콜 스택 사용: 특정한 응용 프로토콜 스택을 사용하여 데이터의 송수신을 관리
    ex) HTTP 프로토콜은 웹 브라우징을 위해 사용, SMTP는 이메일 전송을 위해 사용

  5. 네트워크 서비스 제공: 사용자에게 다양한 네트워크 서비스를 제공
    ex) 파일 전송, 웹 브라우징, 이메일 송수신

 

 

- Presentation Layer(6계층) -

Presentation Layer
기능 데이터의 형식을 응용 계층에서 네트워크로 전송할 수 있는 표준 형식으로 변환하는 역할
데이터 압축, 암호화, 문자 인코딩과 같은 기능을 수행하여 응용 계층 간의 상호 운용성을 증가시키고
데이터를 표현 및 교환할 수 있도록 도움
특징
  1. 데이터 형식 변환: 데이터를 네트워크에서 전송 가능한 표준 형식으로 변환하여
    서로 다른 시스템이나 응용 프로그램 간에 데이터를 교환하는 데 필요

  2. 암호화 및 복호화: 데이터의 보안을 강화하기 위해 암호화 및 복호화를 수행하여
    기밀성을 유지하고 외부에서의 불법적인 액세스를 방지하는 데 도움

  3. 압축: 데이터의 용량을 줄이기 위해 압축을 수행하여 전송 대역폭을 절약하고, 효율적인 데이터 전송 가능

  4. 문자 인코딩: 다양한 문자 집합과 문자 인코딩 체계를 관리하여 다국어 지원을 제공
    압축과 암호화는 생략 가능하나 부호화는 필수
    ex) UTF-8과 같은 문자 인코딩을 사용하여 유니코드를 처리

  5. 데이터 형식 처리: 데이터의 구조화 및 표현을 처리하여 데이터 필드의 순서, 크기, 포맷 등을 규정하고
    상호 호환성을 유지

 

 

- Session Layer(5계층) -

Session Layer
기능 양 끝단 간의 통신을 관리하고, 데이터 교환의 세션을 설정, 유지, 종료하는 역할
데이터의 신뢰성 있는 전송을 보장하고, 통신의 효율성을 높임
특징
  1. 세션 설정, 유지, 종료: 통신을 위한 세션을 설정하고 유지하며, 통신이 완료되면 세션을 종료
    데이터의 신뢰성 있는 전송을 지원하고, 세션 간의 관리를 담당
    (개시=인증 / 유지 = 지속적 인증과정을 통해 서비스 유지 / 해지=세션값(인증값) 만료 후 서비스 종료)

  2. 다중 세션 관리: 여러 개의 세션을 동시에 관리하고, 각 세션 간의 충돌을 방지하며 효율적으로 운용

  3. 대화 제어: 양 끝단 간의 대화를 제어하며, 어떤 쪽이 데이터를 송신하고, 어떤 쪽이 수신하는지를 조절하여
    양방향 통신 가능

  4. 동기화: 세션 간의 데이터 흐름을 동기화하여 일관성을 유지하고, 데이터 송수신 간의 시간적인 문제를 해결

  5. 체크 포인팅 및 복구: 데이터 송신 중에 발생하는 오류에 대비하여 세션의 체크 포인트를 설정하고,
    오류 발생 시 해당 지점부터 재전송이 가능

  6. 세션 통제: 세션의 열림과 닫힘을 관리하며, 세션 계층에서의 작업이 완료되면 하위 계층에 데이터를 전달

 

 

- Transport Layer(4계층) -

Transport Layer
기능 데이터를 신뢰성 있게 전송하고, 흐름 제어 및 오류 복구 기능을 담당
송신자와 수신자 간의 통신을 관리하여 데이터의 정확한 전송을 보장하며
여러 응용 프로그램 간의 다중화 및 역다중화를 제공
특징
  1. 신뢰성 있는 전송 (Reliable Data Transmission): 데이터를 신뢰성 있게 전송하기 위해
    오류 검출 및 복구 기능을 포함한 메커니즘을 제공 
    End-to-End 사이에 가상회선 (virtual Circuit) 설정, 유지, 해지
    3way handshake > 가상회선 설정, 세션 수립 > 서버와 서비스 정상

  2. 흐름 제어 (Flow Control): 수신자가 송신자의 속도로 데이터를 처리할 수 있도록 흐름을 제어하여
    네트워크 혼잡을 방지하고 데이터 손실을 감소

  3. 다중화 및 역다중화 (Multiplexing and Demultiplexing): 여러 응용 프로그램 간에 데이터를 구분하고,
    각 응용 프로그램에 해당하는 데이터를 다중화 및 역다중화

  4. 연결 지향성 (Connection-Oriented): TCP(Transmission Control Protocol)와 같은 전송 계층 프로토콜은
    연결을 설정하고, 데이터 전송 후에는 연결을 종료하는 연결 지향성을 가지고 있음

  5. 비연결 지향성 (Connectionless): UDP(User Datagram Protocol)와 같은 전송 계층 프로토콜은
    연결 설정 없이데이터를 전송하는 비연결 지향성을 가지고 있음

  6. 세그멘테이션 및 재조립 (Segmentation and Reassembly): 상위 계층에서 받은 데이터를 세그먼트로
    분할하고, 수신자에서는 이를 재조립하여 전달

 

 

- Network Layer(3계층) -

Network Layer
기능 패킷을 목적지까지 전달하는 역할
송신자와 수신자 간의 통신을 관리하여 데이터의 정확한 전송을 보장하며
여러 응용 프로그램 간의 다중화 및 역다중화를 제공
특징
  1. 라우팅 (Routing): 목적지까지의 최적 경로를 선택하고, 데이터를 해당 경로에 따라 전달
    라우터 등의 장비가 이를 수행하여 다양한 경로 중에서 최적의 경로를 선택

  2. 패킷 전달 (Packet Forwarding): 데이터를 패킷으로 분할하고, 이를 다음 라우터나 목적지로 전달하는 역할
    각 패킷은 목적지 IP 주소와 함께 라우팅 정보를 보유

  3. 서브넷 구성 및 관리: IP 주소를 사용하여 서브넷을 구분하고 관리
    IP 주소는 네트워크에 연결된 각 장치에 할당되며, 서브넷은 관련된 장치들의 논리적인 그룹을 나타냄

  4. 서비스 품질(QoS) 관리: 데이터 전송에 대한 서비스 품질을 관리
    ex) 대역폭, 지연 시간, 패킷 손실률 등을 고려하여 최적의 서비스 품질을 제공

  5. IP 주소 할당과 라우팅 테이블: IP 주소를 할당하고 라우팅 테이블을 구성
    IP 주소는 각 장치에 고유한 식별자를 부여하며, 라우팅 테이블은 네트워크 간의 경로를 결정

  6. ICMP (Internet Control Message Protocol): 네트워크에서 발생한 문제에 대한 메시지를 전송하는데
    사용되는 ICMP와 같은 프로토콜을 포함

 

 

- Data Link Layer(2계층) -

 

Date Link Layer
기능 물리 계층에서 전송된 비트를 프레임으로 그룹화하고,
에러 검출 및 수정, 흐름 제어, 매체 접근 제어 등의 기능을 담당
같은 물리적 매체를 공유하는 장치들 간의 통신을 관리
특징
  1. 프레이밍 (Framing): 물리 계층에서 전송된 비트를 프레임으로 그룹화
    프레임은 시작과 끝을 나타내는 프레임 헤더와 트레일러로 구성

  2. 에러 검출 및 수정 (Error Detection and Correction): 전송된 프레임에 포함된 비트의 에러를 검출하고,
    필요한 경우에는 일부 에러를 수정하는 기능을 제공하여 데이터의 신뢰성을 높임
     (송신지: 원본데이터 + 오류검출코드) (수신지: 수신된 오류검출코드로 원본데이터의 무결성 검사)

  3. 흐름 제어 (Flow Control): 데이터의 전송 속도를 조절하여 수신자가 송신자의 속도에 맞춰 데이터를
    처리할 수 있도록 하는 흐름 제어 기능을 수행

  4. 매체 접근 제어 (Media Access Control, MAC): 네트워크에서 여러 장치가 공유하는 물리적 매체에 대한
    접근을 제어하여 충돌을 방지하고 효율적인 매체 공유 가능( CSMA/CD )

  5. 주소 지정 (Addressing): 각 데이터 링크 계층 장치에는 고유한 주소인 MAC 주소가 할당되어 있으며
    이를 사용하여 특정 장치를 식별

  6. 프레임 동기화: 송신자와 수신자 간의 데이터 전송의 동기화를 담당
    프레임 헤더와 트레일러의 시작과 끝을 인식하여 정확한 프레임을 추출

 

 

- Physical Layer(1계층) -

Physical Layer
기능 데이터의 비트를 전기적, 광학적, 무선 등의 물리적 신호로 변환하여
전송 매체를 통해 실제로 전송하는 역할을 수행
특징
  1. 신호 변환: 디지털 비트를 전기적인 신호로 변환하거나, 광학적 신호로 변환하여
    전송 매체를 통해 실제로 전송

  2. 비트 송수신: 전기적 신호, 광섬유, 무선 등의 매체를 사용하여 데이터 비트를 송신자에서 수신자로
    안정적으로 전송

  3. 물리적 매체 관리: 물리적 매체를 선택하고, 매체의 특성에 맞게 신호를 조절하는 등 물리적인 연결에 관한
    세부적인 사항을 처리

  4. 신호 강도 및 주파수 조절: 전송되는 신호의 강도나 주파수를 조절하여 품질을 최적화

  5. 케이블 및 커넥터의 정의: 어떤 종류의 케이블과 커넥터를 사용할지 결정하고,
    두 장치 간의 물리적 연결을 관리

  6. 비트 시간 및 전송률 관리: 비트가 전송되는 시간과 전송률을 관리하여 안정적인 통신을 지원

  7. 모뎀과 조절기 관리: 모뎀과 같은 장치를 사용하여 디지털 신호를 아날로그 신호로 변환하거나,
    그 반대의 작업을 수행하여 통신 가능

 

 

- Payload -

 

통신 중에 전송되는 유용한 데이터

 

 

 

- Encapsulation(캡슐화) -

상위 계층에서 전송되는 데이터가 하위 계층에서 전송될 때,

데이터에 헤더(Header)와 트레일러(Trailer)를 추가하여 전송되는 과정

 

 

- De-Encapsulation(역캡슐화) -

데이터가 전송되는 동안 각 계층에서 추가된 헤더와 트레일러를 제거하여

데이터를 추출하는 프로세스