본문 바로가기
네트워크

[네트워크] Chap 1.4 - Internet Protocol stack, Security, Internet History

by 개발 고양이 2024. 11. 10.

Why layering?

이점

1. explicit structure - 복잡한 시스템 구성들을 계층 별로 식별하고 관계 파악 가능

       => reference model  :  계층화된 참조 모델. 각 layer에서 해야 하는 일들의 정의

       => cross-layer protocol: 두 계층의 기능이 다 포함

2.modularization - 시스템의 유지보수를 쉽게 함

      => change of implementation of layer's service transparent to rest of system : invisible, 즉 몰라도 된다는 의미

각각의 계층마다 그 사이사이의 interface에 해당하는 api만 잘 정의해놓으면 됨.

 

문제점

1. One layer may duplicate lower-layer functionality: 기능이 중복될 수 있음 (ex. error recovery는 어느 계층 하나에서 딱 하게 만들기 어려움 → 중복)

2. functionality of one layer may require information avilable in another : 다른 계층의 정보를 이용하는 경우도 있음

=> NAT : 다른 layer의 헤더 정보를 본다. / TCP | UDP : IP 주소도 사용함

 

 


5-layer Internet protocol stack

Application Layer

네트워크 응용 프로그램 지원 (사용자와 직접 상호작용하는 애플리케이션이 이 계층에서 작동)

프로토콜 : IMAP, STMP, HTTP, FTP

 

Transport Layer

프로세스 간 데이터 전송을 담당 (process - process)

프로토콜 : TCP, UDP

(TCP는 dst의 TCP와 연결되어 통신하기 위해 header 사용)

 

Network Layer

datagram(패킷)을 source에서 destination까지 라우팅

(tcp의 host를 찾기 위한 경로를 찾는다)

프로토콜 : IP, Routig Protocols

 

인접 네트워크 요소 간 데이터 전송 (하나의 L3에서 다음 L3까지, 1-hop을 이동하도록)

프로토콜 : Ethernet, 802.11(WiFi), PPP

 

Physical Layer

데이터의 물리적인 전송 담당

전기적, 광학적 신호를 사용 → 0과 1의 bit stream 전송

 


Encapsulation

각 층에서 헤더를 붙여 데이터를 아래 계층으로 보냄. (프로토콜에 따라 다른 header를 붙임)

각 layer의 protocol들, software module이 뭔가를 붙이면서 위에서 내려온 걸 넣음 (ID같은것. port number, IP address, MAC address 등등) → 내 윗계층을 식별하려고 넣어준다.

n계층의 header에 넣는 식별자 정보는 n+1 계층의 것을 구별하기 위해 넣어주는 것!

아래 계층은 윗계층을 support하기 위해 존재한다!

 


Network security

90년대 초반 internet이 boosting 되면서 security에 대한 이야기가 나오기 시작했다.

 

 

Malware의 종류

virus (ex. Spyware, Adware)

다른 프로그램에 기생해서 실행됨 / 사용자 개입이 필요 / 컴퓨터(인터넷 단말)을 공격

 

worm (ex. DDos)

독자적으로 실행됨 / 사용자 개입이 필요 없음 / 네트워크(링크 or 서버)를 공격

 

 

DoS (Denial of Service)

한 대가 공격하면 Dos, 여러대가 공격하면 DDos (Distributed Denial of Service)라고 함.

쓸데없는 패킷을 계속 보내서 처리하도록 함 → 실제 데이터를 받지 못하도록 함

 

 

packet Sniffing

케이블이 붙어있기만 하면 share할 수 있는 Ethernet과 wireless 등에서 정보를 빼낸다.

C는 같은 네트워크를 사용하는 모든 패킷의 정보를 훔쳐본다.

Wireshark : (free) packet-sniffer → 일부로 다 읽게 한다

 

 

IP Spoofing

중간에서 C가 B인척 해서 보내거나 내용을 바꿈 => Man-in-the middle attack 이라고 함!

실제 B가 묻지 않은 정보를 A가 대답을 해주면 C가 가로챔. (이 서버가 진짜 B가 맞는지 점검하지 않아 생긴다.)

=> solution : end-point authentication ex) TLS (Transport Layer Security)

 

 

Zero-day attack

소프트웨어 출시 후에 보안취약점을 개선한 patch가 나오기전에 취약점을 공격하는 malware


Internet history

ARPAnet  →  ALOHAnet  →  NSFnet  →  Internet

(60년대)           (70년대)            (80년대)        (90년대)

 

 

4 Internet principles   (Cerf and Kahn internetworking principles)

  1. minimalism between ISPs, autonomy within ISP
    서로 다른 네트워크 관리는 각자 알아서 그들 사이의 연결은 최소의 요구사항으로 완성한다.
  2. No guaranteed service (best-effort service)
    라우터는 어떤(loss/delay) 서비스도 보장하지 않으며, fast delivery에만 집중한다.
  3. No record in routers (stateless routing)
    라우터는 처리한 패킷에 관한 어떤 정보도 기록 or 사용하지 않는다.
  4. No centralized control (distributed control)
    각 라우터들이 독자적으로 라우팅을 결정한다.