컴퓨터 네트워킹 : 계층, 보안

▶ 왜 계층화를 이용하는가?

* 복잡한 시스템을 다루기 위함.

* 명시적 구조는 복잡한 시스템 조각 간 식별과 관계 정의를 도움

* 모듈화는 시스템의 유지보수를 쉽게 함

▶ ISO/OSI reference model

* network edge간 통신을 위해 ISO 회사가 만든 OSI 7계층

* 계층을 거치며 데이터는 Encapsulation(캡슐화)되고, Decapsulation(캡슐화의 역과정)된다.

Encapsulation은 헤더를 붙이는 과정, Decapsulation은 헤더를 해석하는(제거하는) 과정이다.

* 각 계층마다 데이터는 우측의 명칭대로 불린다.

애플리케이션 계층 : 네트워크 애플리케이션의 이용을 돕는다. FTP, SMTP, HTTP 등이 있다.

source data → message

프레젠테이션 계층 : 애플리케이션이 데이터를 해석하도록 돕는다. encryption 등이 있다.

세션 계층 : 데이터 교환의 recovery, checkpointing, synchronization (회복, 검토, 동기화)를 진행한다.

트랜스포트 계층 : 클라이언트와 서버 간 메세지를 전송한다. TCP, UDP 등이 있다.

message → segment(M+Ht)

네트워크 계층 : 출발지에서 목적지로 데이터그램을 라우팅한다(==패킷을 전달한다).

segment → datagram(M+Ht+Hn)

링크 계층 : 이웃하는 네트워크 요소 간의 데이터 전달을 수행한다. 이더넷, PPP 등이 있다.

datagram → frame(M+Ht+Hn+HI)

피지컬(물리) 계층 : 물리적 전송 매체(케이블)을 통해 비트를 전송한다.

frame → bits

▶ Internet protocol stack

* 위의 7계층에서 데이터, 프로세스 동작에 관련된 presentation과 session이 제외된 표준. 5개의 Internet 계층으로 이루어진다.


▶ Network security

* 과거에는 대부분 엔지니어만 네트워크를 사용했으므로 보안 면은 별로 고려하지 않음

* 다양한 유저들이 인터넷을 사용하게 되면서 보안 문제가 대두됨

* 보안은 모든 레이어(all layers)에 대해 고려되어야 함

▶ Bad guys

* Bad guys : 사용자(host)의 Internet에 malware를 심어 이를 통해 이득을 취하는 사람들

* malware는 자동 복제되어 감염되는 특성이 있으며 virusworm으로 나뉨

* virus : 사용자(숙주)의 도움이 있어야 작용 (ex: 이메일 첨부 파일을 열면 바이러스에 걸림)

* worm : 사용자의 도움 없이 self executed가 가능

▶ Bad guys의 공격 방식

* Dos : 특정 target에 대량의 접속을 유발해 마비시키는 공격 방식. botnet(감염된 컴퓨터)가 이용될 수 있다.

* 스니핑(sniffing) : 한 기기가 다른 기기로 데이터를 전송할 때 공격자의 network도 이를 읽음

* 스푸핑(spoofing) : 수신자에게 공격자가 전송하는 잘못된 패킷을 전송