1. 컴퓨터 네트워크와 인터넷
<목차>
- 인터넷, 프로토콜
- Network edge: hosts, access network, physical media
- Network core: loss, delay, throughput
- Protocol layers, service mod2els
- Security
인터넷과 프로토콜
- 인터넷 : 네트워크들의 네트워크: 상호연결된 ISP들
- 프로토콜
- 정보(메시지)의 송수신을 제어
- TCP (Transmission Control Protocol), IP (Internet Protocol), HTTP, SMTP, 이더넷 (Ethernet)
- 인터넷 표준: IETF, RFC
네트워크 요소
-
네트워크 가장자리 (edge)
- 종단 시스템 (end system, host)
- 애플리케이션을 수행 (웹, 전자 메일 등)
- 네트워크의 가장자리에 위치
-
접속 네트워크 (access network), 물리 매체 (phsical media)
-
종단 시스템과 가장자리 라우터 (edge router)에 접속
b. 무선 및 유선 통신 링크
- 네트워크 코어 (core)
- 상호 연결된 라우터들의 연결망(mesh)
- 패킷 스위칭 (packet switching)
- 호스트는 애플리케이션 계층의 메시지를 패킷 (packet)이라 알려진 작은 덩어리로 분할
- 패킷들은 송신 측과 수신 측의 경로 상의 링크와 라우터를 거쳐 전송 (패킷들은 한 라우터에서 다른 라우터로 전달 - forward)
- 각 패킷은 링크의 최대 전송률 (full link capacity) 속도로 전송
- 회선 교환 (circuit switching)
패킷 교환 네트워크
-
호스트의 패킷 전송
- 호스트의 송신 동작
- 애플리케이션의 메시지를 받음
- 메시지를 길이 L비트의 더 작은 덩어리인 패킷으로 분할
- 패킷을 네트워크 전송률/전송속도 R로 전송 (링크 전송 속도: 용량 capacity, 대역폭 bandwidth)
- 패킷 전송 지연 = 링크로 L bit를 전송하는데 걸리는 시간 = L (bits) / R(bits/sec)
-
저장 후 전달 (store-and-forward)
- L bit의 패킷을 Rbps 속도의 링크로 전송하는데 L/R초 걸림
- 저장 후 전달(store-and-forward): 다음 링크로 전송하기 전에 전체 패킷이 라우터에 도착해야 함
-
큐잉 지연과 패킷 손실 (Queuing Delay, Loss)
- 일정 시간동안 라우터의 입력 링크에 비트가 도착하는 속도가 전송률보다 빠른 경우
- 패킷은 큐에 저장되고 출력 링크 상에서 전송되기를 기다림
- 큐의 메모리가 꽉 차 있는 경우 패킷은 손실됨
-
네트워크 코어의 주요 기능
- 라우팅 (routing): 소스에서 목적지까지 패킷 경로를 결정. 라우팅 알고리즘
- 전달 (forwarding): 라우터의 입력에서 적절한 라우터 출력으로 패킷을 이동
-
회선 교환(Circuit Switching)
- 경로 상에 필요한 자원(버퍼, 링크 전송률)이 통신 세션동안 예약
- 자원이 공유되지 않음
- 송신자와 수신자 간의 경로에 있는 스위치들이 연결 상태를 유지
- 송신자와 수신자 간의 전송률 보장
- 기존의 전화망
-
패킷 교환 대 회선 교환
ex) 사용자들이 1Mbps 링크를 공유, 각 사용자는 활동시 100Kbps, 전체 시간패킷
- 회선 교환
- 100Kbps가 각 사용자에게 예약
- 1Mbps / 1000Kbps = 10명의 사용자만 동시에 지원
- 패킷 교환
- 특정 사용자가 활동하고 있을 확률은 0.1 (10%) ← 100K / 1Mc = 0.1
- 35명의 사용자가 있을 경우 11명 이상의 사용자가 동시에 활동할 확률은 0.0004
- 따라서 회선 교환과 대등한 지연 성능을 가지면서 3배 이상의 사용자 수를 허용
패킷 지연 유형, 손실과 처리율
-
라우터에서의 처리 지연 (nodal processing delay)
- 라우터에서의 처리 지연
- 패킷의 헤더를 조사하고 어느 출력 링크로 보낼지 결정하는 시간
- 패킷의 비트 수준 오류를 조사하는데 필요한 시간
- 고속 라우터에서 처리 지연은 수 밀리초
-
큐잉 지연 (queuing delay)
- 패킷이 큐에서 출력 링크로 전송되기를 기다리는 시간
- 라우터 혼잡 수준 (congestion level)에 좌우(이미 큐에 저장된 패킷들 수에 의해 결정)
- 일반적으로 수 밀리초에서 수 마이크로초
-
전송 지연 (transmission delay)
- 패킷의 모든 비트들을 링크로 밀어내는(전송)데 필요한 시간
- 저장 후 전달 지연
- 전송 지연 = L (packet length, bits) / R (link bandwidth, bps)
-
전파 지연 (propagation delay)
- 출력 링크에서 다음 라우터까지 전파하는데 필요한 시간
- 전파 속도는 링크의 물리 매체 (광섬유, 꼬임쌍선 등)에 좌우
- 전파 지연 = d (두 라우터 간의 거리) / s (매체의 전파 속도 (2 10^8 m/sec ~ 3 10^8 m/sec)
-
전체 노드 지연 (nodal delay)
: d nodal = d proc + d queue + d trans + d prop
- d proc: 처리 지연 → 일반적으로 수 마이크로 초 정도
- d queue: 큐잉 지연, 혼잡도(congestion)에 좌우
- d trans: 전송 지연, L/R, 저속 링크에는 상당한 지연
- d prop: 전파 지연, 수 마이크로 초에서 수백 밀리 초 (정지 위성)
-
트래픽 강도(traffic intensity)
- 큐잉 지연의 정도를 측정, 큐가 아주 커서 무한대 비트를 저장한다고 가정
- L (패킷 길이, bits), a (패킷이 큐에 도착하는 평균률, packets/sec), R (링크 전송률로 비트가 큐에서 나가는 비율(bits/sec)일 때 LA/R
- 0에 가까우면 편윤 큐잉 지연 시간은 작음
- 1에 접근하면 큐잉 지연은 아주 커짐
- 1보다 커지면 서비스 용량을 초과하여 평균 지연이 무한대로 커짐
-
패킷 손실 (packet loss)
- 앞에서 큐 (버퍼)가 무한대 패킷을 저장한다고 가정함
- 실제는 라우터 큐 용량이 유한하고, 큐가 차게 되어 도착한 패킷을 저장할 수 없으며 패킷을 버리게 되어 (drop), 패킷을 잃어버림 (loss) → 패킷 손실 발생 원인!!
- 잃어버린 패킷은 이전 노드나 출발지 종단에서 재전송될 수 있음
-
처리율 (throughput)
- 종단 간에 비트가 전송되는 비율(속도, 비트/초)
- 순간적인 처리율
- 주어진 순간에 전송 비율
- 파일 수신 시 파일을 수신하는 비율
- 평균 처리율
- 주어진 시간 동안의 전송 비율
- 파일의 크기가 F이고 모두 수신하는데 T초 걸린다면, F/T bits/sec가 평균 처리율이 됨
- 링크 Rs, Rc가 있을 때, 병목 링크의 처리율은 min (Rs, Rc)
-
계층적 구조를 갖는 이유 및 장점 - layering
- 복잡한 시스템을 설계하고 논의하는 접근 방식
- 명시적 구조는 식별과 시스템 조각의 관계를 허용
- 모듈화 → 유지보수 용이 : 계층 서비스 구현의 변경 (시스템의 나머지 부분에 명확히)
네트워크 보안
: 인터넷이 널리 퍼진 지금은 보안을 고려하는 것이 필수
- 멀웨어 (malicious software)
- keystroke: 보안 카드 번호 등 으로 알아냄
- worm: 자가복제로 많은 트래픽 발생으로 네트워크 마비
- trojan horse: 바이러스 투입시켜 침투 가능
- Dos (Denial of Service): botnet을 이용해 트래픽 발생, 네트워크 마비
- 패킷 스니퍼 (Packeet Sniffer): 트래픽을 캡쳐하고 정보를 빼냄 → wireShark
- IP spoofing: 한 사용자가 다른 사용자 인 것처럼 위장해서 행동
- record-and-playback: 통신하고 있는 누 사용자의 중간에서 메시지를 가로채 무결성 파괴