What is network security?

기밀성(Confidentiality)

  • 정의: 메시지의 내용은 발신자와 수신자만 "이해"할 수 있어야 한다.
  • 방법
    • 발신자가 메시지를 암호화함(Sender Encrypts Message): 발신자는 메시지를 암호화하여 전송한다.
    • 수신자가 메시지를 복호화함(Receiver Decrypts Message): 수신자는 메시지를 복호화하여 내용을 확인한다.

인증(Authentication)

  • 정의: 발신자와 수신자는 서로의 신원을 확인하고자 한다.

  • 목적: 메시지를 주고받은 양쪽이 서로의 신원을 확인하여 신뢰성을 확보한다.

  • 메시지 무결성(Message Integrity)*

  • 정의: 발신자와 수신자는 메시지가 변조되지 않았음을 확인하고자 한다.

  • 목적: 메시지가 전송되는 동안 또는 이후에 변경되지 않았음을 보장하여 데이터의 무결성을 유지한다.

  • 접근성 및 가용성(Access and Availability)*

  • 정의: 서비스는 사용자에게 접근 가능하고 사용 가능해야 한다.

  • 목적: 네트워크 서비스가 항상 접근 가능하고 가용성을 유지하여 사용자들이 필요할 때 사용할 수 있도록 한다.

Friends and enemies: Alice, Bob, Trudy

밥과 앨리스는 아래의 것들이 될 수 있다.

  • 실생활의 밥과 앨리스
  • 웹 브라우저/서버
  • 온라인 뱅킹 클라이언트/서버
  • DNS 서버
  • BGP 라우터
  • 기타 예시

There are bad guys(and girls) out there!

  1. 엿듣기(Eavesdrop)
    • 메시지를 가로채는 행위
  2. 메시지 삽입(Actively Insert Messages into Connection)
    • 연결에 메시지를 적극적으로 삽입하는 행위
  3. 사칭(Impersonation)
    • 패킷의 소스 주소 또는 다른 필드를 속여서(fake) 사칭하는 행위
  4. 하이재킹(Hijacking)
    • 진행 중인 연결을 장악하여 발신자나 수신자를 제거하고 자신을 그 자리에 삽입하는 행위
  5. 서비스 거부(Denial of Service)
    • 자원을 과부하 시켜 다른 사용자가 서비스를 이용하지 못하게 하는 행위

The language of cryptography

  1. 평문(Plaintext)
  2. 암호화 키(Encryption Key) - KA
  3. 암호화 알고리즘(Encryption Alogrithm)
  4. 암호문(Ciphertext)
  5. 복호화 키(Decryption Key) - KB
  6. 복호화 알고리즘(Decryption Algorithm)
  7. 메시지(m)
    • 원본 평문 메시지

Breaking an encryption scheme

  • 암호문만 있는 공격(Ciphertext-Only Attack)

    • 정의: 트루디가 분석할 수 있는 암호문만을 가지고 있는 공격 유형
    • 두 가지 접근법
      • 무차별 대입 공격: 모든 가능한 키를 검색하여 암호를 해독하려는 시도
      • 통계 분석: 암호문에서 나타나는 빈도나 패턴을 분석하여 암호를 해독하려는 시도
  • 알려진 평문 공격

    • 정의: 트루디가 암호문에 대응하는 평문을 알고 있는 공격 유형
    • 예시
      • 단일 알파벳 암호(Monoalphabetic Cipher)에서 트루디는 특정 문자와 암호문의 대응을 파악할 수 있습니다. 예를 들어, a, l, i, c, e, b, o 등의 문자에 대한 대응을 찾아낼 수 있습니다.
  • 선택된 평문 공격

    • 정의: 트루디가 선택한 평문에 대한 암호문을 얻을 수 있는 공격 유형.
    • 설명: 트루디는 특정 평문을 선택하고, 그 평문이 암호화된 결과(암호문)를 분석하여 암호를 해독하려고 시도합니다.

Symmetric key Cryptography

Simple Encryption Scheme

치환 암호(Substitution Cipher)

  • 정의: 하나의 문자를 다른 문자로 대체하여 암호화하는 방식

단일 알파벳 치환 암호(Monoalphabetic Cipher)

  • 정의: 각 문자를 고유한 다른 문자로 대체한다. 예를 들어, 알파벳 a는 항상 특정한 문자로 바뀐다.

Encryption key: 26개의 문자를 다른 26개의 문자로 매핑하는 규칙

A more Sophisticated encryption approach

  1. n개의 치환 암호

    • 다중 치환 암호를 사용한다. 각 치환 암호는 서로 다른 규칙으로 문자를 치환한다.
  2. 순환 패턴(Cycling Pattern)

    • 치환 암호를 순환적으로 사용한다.
    • 예를 들어, n=4 일 때, 치환 암호의 사용 순서는 M₁, M₃, M₄, M₃, M₂와 같이 반복된다.
    • 이 패턴에 따라 각 새로운 평문 문자에 대해 다음 치환 암호를 사용한다.
  3. 평문 문자에 대한 순환적 치환

    • 예를 들어, dog라는 단어를 암호화할 때
      • d, M1에 의해 치환
      • o, M3에 의해 치환
      • g, M4에 의해 치환
  4. 암호화 키

    • 암호화 키는 n개의 치환 암호와 순환 패턴으로 구성된다.
    • 이 키는 단순히 n-bit 패턴만을 포함하는 것이 아니라, 각 치환 암호와 그 순서를 포함한다.

Symmetric key crypto: DES

DES(Data Encrpyion Standard)

  • 56비트 대칭 키를 사용하여 64비트 평문 입력을 암호화
  • 블록 암호화 기법을 사용하며, 암호 블록 체이닝(CBC) 방식을 포함

DES 보안성

  • DES Challenge
    • 56비트 키로 암호화된 문구가 브루탈 포스 공격(모든 키를 대입해 찾는 방법)으로 하루 안에 해독된 사례가 있음
  • 현재까지 알려진 좋은 분석 공격 방법은 없음
    • 아직 DES를 효과적으로 분석하여 해독하는 좋은 공격 방법이 알려져 있지 않음

DES의 보안 강화

  • 3DES(Triple DES)
    • DES의 보안성을 높이기 위해 개발된 방법
    • 데이터를 세 가지 다른 키를 사용하여 세 번 암호화
    • 이 방법으로 DES의 보안성을 크게 강화할 수 있음

AES: Advance Encryption Standard4

  • AES

    • 대칭 키 NIST 표준: DES를 대체하여 2001년 11월에 채택됨
    • 데이터를 128비트 블록 단위로 처리
    • 키 길이는 128.192 또는 256비트가 처리
  • AES의 보안성

    • 브루탈 포스 복호화
      • DES의 경우 각 키를 시도하여 복호화하는 데 1초가 걸리는 반면, AES를 브루트 포스로 복호화하는 데는 149조 년이 걸림
      • 이는 AES가 DES보다 훨씬 더 강력한 보안을 제공한다는 것을 의미함

Public Key Cryptography

대칭 키 암호화

  • 필요한 요소: 송신자와 수신자가 공유된 비밀 키를 알고 있어야 함
  • 문제점: 키를 처음에 어떻게 동의할 것인가? 특히 서로 만난 적이 없을 때

공개 키 암호화

  • 공개 암호화 키: 모든 사람에게 공개됨
  • 개인 복호화 키: 오직 수신자만 알고 있음

Public key encryption algorithms

공개 키 암호화의 요구 사항

  1. 암호화 및 복호화 함수

    • 공개 키 암호화 함수와 개인 키 복호화 함수의 쌍이 필요하다. 이 함수들은 다음과 같은 관계를 가져야 한다.
  2. 보안 조건

    • 공개 키가 주어졌을 때, 이를 통해 개인 키를 계산하는 것이 매우 어려워야 한다. 이는 누군가가 공개 키에 접근할 수 있더라도 개인 키 없이는 메시지를 복호화할 수 없음을 보장한다.

RSA 알고리즘

  • RSA 알고리즘은 그 발명가인 Rivest, Shamir, Adleman의 이름을 따서 명명된 공개 키 암호화 알고리즘이다.

RSA: getting ready

  • 메시지: 단순히 비트 패턴
  • 비트 패턴: 고유하게 정수로 표현 가능
  • 따라서 메시지를 암호화하는 것은 정수를 암호화하는 것과 동일
  • 예제
    • 예시 메시지 m: m = 10010001
    • 이 메시지는 10진수로 145로 고유하게 표현 가능
    • m을 암호화하기 위해, 해당 숫자를 암호화하면 새로운 숫자 (암호문)를 얻게 됨

RSA: Creating public/private key pair

  1. 두 개의 큰 소수 p, q 선택
  • e.g. 각각 1024 비트 길이의 소수 p와 q를 선택
  1. n과 z 계산
  • n = pq
  • z = (p-1)(q-1)
  1. e 선택
  • e를 n보다 작으면서 z와 서로 소인 값을 선택한다.
  • e와 z는 공통 인수가 없어야 한다.
  1. d 선택
  • d는 ed-1이 z로 정확히 나누어 떨어지도록 선택한다.
  • 즉, ed mod z = 1이 성립해야 한다.
  1. 공개 키와 비밀 키 설정
  • 공개 키: (n, e)
  • 비밀 키: (n, d)

RSA: encryption, decryption

  1. 키 생성:

    • n, e: 공개 키
    • n, d: 비밀 키
  2. 메시지 암호화

    • m이 n 보다 작은 메시지라고 가정하자
    • 메시지 m을 암호화하려면 다음을 계산한다.
      • c = me mod n
        • 여기서 c는 암호화된 메시지이다.
  3. 메시지 복호화

    • 수신된 암호화된 비트 패턴 c를 복호화하려면 다음을 계산한다..
      • m = cdmod n
    • 여기서 m은 복호화된 원래 메시지이다.

RSA: example

설정 단계

  1. 두 개의 소수 p와 q 선택

    • p = 5
    • q = 7
  2. 두 소수의 곱 n 계산

    • n = pq = 5 * 7 = 35
  3. 오일러의 토션트 z 계산

    • z = (p-1)(q-1) = (5-1)(7-1) = 4 * 6 = 24
  4. 암호화 지수 e 선택

    • e = 5(조건: e와 z는 서로소여야 함)

5. 복호화 지수 d 계산
- d = 29(조건: ed mod z = 1)

Why does RSA work?

RSA 알고리즘의 작동 원리를 이해하려면 cd mod n = m을 증명해야 한다. 여기서 c는 c = me mod n 이다.

기본 사실

  • 임의의 x와 y에 대해, 다음이 성립한다.
    • 여기서 n = pq이고 z = (p-1)(q-1)이다.

RSA: another important property

  • KB+는 Bob의 공개 키이다.
  • KB-는 Bob의 개인 키이다.
  • m은 원문 메시지(평문)이다.
  1. 공개 키로 먼저 암호화하고 개인 키로 복호화
  2. 개인 키로 먼저 암호화하고 공개 키로 복호화

Why is RSA secure?

  1. Bob의 공개 키

    • 공개 키 (n, e)는 모두에게 알려져 있다.
    • n은 두 개의 큰 소수 p와 q의 곱으로 생성된다.
  2. 비밀 키 d의 추정 난이도

    • d는 비밀 키로서, d를 알면 메시지를 복호화할 수 있다.
    • d를 찾으려면 n의 소인수 p와 q를 알아야 한다.
    • 하지만 n만 알고 있을 때 p와 q를 찾는 것은 매우 어렵다.
  3. 소인수 분해의 어려움

    • 큰 수의 소인수분해는 현재의 계산 능력으로는 매우 어렵다.
    • RSA의 보안은 이 수학적 문제의 어려움에 기반한다.

RSA in practice: session keys

  1. RSA의 계산 복잡도

    • RSA에서 지수 연산은 매우 계산 집약적이다.
    • 대칭키 암호화 방식인 DES는 RSA보다 적어도 100배 빠르다.
  2. 세션 키 사용 이유

    • 공개 키 암호화를 사용하여 안전한 연결을 설정한다.
    • 그런 다음 데이터를 암호화하기 위해 두 번째 키인 대칭 세션 키를 설정한다.
  3. 세션 키 Ks

    • Bob의 Alice는 RSA를 사용하여 대칭 세션 키 Ks를 교환한다.
    • 두 사람이 모두 Ks를 갖게 되면, 그 후부터는 대칭키 암호화를 사용하여 데이터를 암호화한다.

RSA는 세션 키를 교환하는 데 사용되고, 이후의 데이터 암호화는 더 빠른 대칭키 암호화 방식(DES)을 사용하여 수행된다. 이를 통해 보안성과 효율성을 동시에 유지할 수 있다.

Authentication

Bob은 Alice가 자신의 신원을 증명하기를 원한다.

프로토콜 ap 1.0

  • alice는 "나는 Alice입니다." 라고 말한다.
  • 문제점: 네트워크 상에는 Bob이 Alice "볼 수" 없기 때문에 Trudy가 단순히 자신을 Alice라고 선언할 수 있습니다.

프로토콜 ap 2.0

  • alice는 자신의 소스 IP 주소를 포함하는 IP 패킷에서 "나는 alice입니다."라고 말한다.
  • 문제점: trudy는 alice의 주소를 스푸핑하여 패킷을 만들 수 있다.

프로토콜 ap 3.0

  • Alice는 "나는 Alice입니다"라고 말하며 자신의 비밀번호를 Bob에게 보낸다.
  • 문제점: Trudy는 Alice의 IP주소와 비밀번호를 도청할 수 있는 경우, Trudy는 Alice인 것처럼 자신을 가장할 수 있다.

프로토콜 ap4.0

  • Alice가 실시간임을 증명하기 위해, Bob은 Alice에게 넌스 R을 보낸다.
    • nonce: 단 한 번만 사용되는 일회성 번호(R)를 사용한다.
  • Alice는 R을 공유 비밀 키로 암호화하여 반환해야 한다.
  • 프로토콜 과정
    1. Alice가 Bob에게 "나는 Alice입니다"라고 말한다.
    2. Bob은 Alice에게 넌스 R을 보낸다.
    3. Alice는 R을 공유 비밀 키 KA-B로 암호화한 후 Bob에게 보낸다.
    4. Bob은 받은 암호화된 R을 공유 비밀 키로 복호화하여 보낸 R과 일치하는지 확인한다.

프로토콜 ap5.0

  • ap4.0 프로토콜에서는 공유 대칭 키를 사용해야 했다.
  • 여기서 공개 키 암호화를 사용하여 인증할 수 있는 지 확인해보자.
  • 프로토콜 과정
    1. alice의 주장: alice가 bob에게 '나는 alice 입니다'라고 말한다.
    2. bob의 넌스 전송: bob은 alice에게 넌스 r을 보낸다.
    3. Alice의 응답:
      • Alice는 Bob이 보낸 넌스 R을 자신의 개인 키로 암호화하여 Bob에게 돌려보낸다.
    4. 공개 키 요청
      • Bob은 Alice에게 공개 키를 보내달라고 요청한다.
    5. Alice의 공개 키 전송
      • Alice는 자신의 공개 키를 Bob에게 보낸다.
    6. Bob의 검증
      • Bob은 Alice의 공개 키로 복호화하여 원래의 넌스 R을 얻는다.

Authentication: ap5.0 - there's still a flaw!

문제

  • 중간자 공격(Man-in-the-Middle Attack): Trudy가 Bob에게는 Alice로, Alice에게는 Bob으로 가장한다.

시나리오

  1. Alice의 주장
    • Alice가 Bob에게 "나는 Alice입니다"라고 말함
  2. Bob의 넌스 전송
    • Bob은 Alice에게 넌스 R을 보낸다.
  3. Trudy의 개입
    • Trudy가 Alice와 Bob의 통신을 가로채어 각각의 통신을 관리한다.
    • Trudy가 Bob에게 "나는 Alice입니다."라고 말한다.
    • Trudy가 Bob의 넌스를 받아서 자신이 가지고 있는 개인 키로 암호화한다.
  4. 공개 키 요청
    • Bob이 Trudy(Alice로 가장한)에게 공개 키를 요청한다.
    • Trudy는 자신의 공개 키를 보낸다.
  5. Bob의 검증
    • Bob은 Trudy의 공개 키를 사용하여 넌스를 검증한다.
    • Bob은 Trudy가 Alice라고 생각하게 된다
  6. Bob의 메시지 전송
    • Bob은 개인 메시지 m을 Trudy(Alice로 가장한)에게 보낸다.
    • Trudy는 이 메시지를 복호화하여 내용 m을 알아낸다.
  7. Trudy의 개입
    • Trudy는 Alice에게 "나는 Bob입니다."라고 말한다.
    • Alice는 Trudy가 Bob이라고 생각하고 메시지를 주고 받는다.
    • Trudy가 Bob의 메시지를 Alice에게 전달한다.

Message Integrity

Digital Signatures

  1. 서명자(Bob)가 문서에 디지털 서명을 한다.
    • 문서의 소유자이자 작성자인 Bob이 디지털 서명을 하게 된다.
  2. 검증 가능하고 위조 불가능
    • 수신자(Alice)는 Bob이 서명했음을 증명할 수 있다.
    • Alice를 포함한 누구도 Bob의 서명을 위조할 수 없다.
  3. 메시지 m에 대한 간단한 디지털 서명
    • Bob은 자신의 개인 키를 사용하여 메시지 m을 암호화함으로써 서명된 메시지를 만든다.
    • 이는 Bob의 서명이 포함된 메시지로서, 누구든지 Bob의 공개 키를 사용하여 서명을 검증할 수있다.예시 상황
  • Alice가 Bob으로부터 서명된 메시지 m과 서명을 받는다.

검증 과정 1. 서명 검증 - Alice는 Bob의 공개 키를 사용하여 서명을 복호화한다. - 복호화 결과가 메시지 m과 일치하는지 확인한다.
2. **확인 내용** - 복호화 했을 때 같이 전달된 m과 일치하면, 서명자는 Bob의 개인 키를 사용했다는 의미이다. - 이를 통해 Alice는 다음을 확인할 수 있다. - 메시지 m은 Bob이 서명했다. - 다른 누구도 아닌 Bob이 서명했다. - Bob이 서명한 메시지는 m이며, 다른 메시지 m'이 아니다.
3. **부인 방지** - Alice는 메시지 m과 서명을 법원에 제출하여 Bob이 서명했음을 증명할 수 있다 - 이는 Bob이 해당 메시지를 서명했다는 사실을 부인할 수 없게 만든다.

Message Digests

메시지 다이제스트는 긴 메시지를 공개 키 암호화로 처리하는 것은 계산 비용이 많이 들기 때문에 고안된 방법이다. 메시지 다이제스트는 고정 길이의 디저털 지문을 생성하는데 사용된다.

목표: 고정 길이이며 계산이 쉬운 디지털 "지문"을 생성하는 것이다.

방법: 해시 함수 H를 메시지 m에 적용하여 고정 길이의 메시지 다이제스트 H(m)를 얻는다.

해시 함수의 속성

  1. Many-to-1: 여러 입력값이 동일한 출력값을 가질 수 있다.
  2. 고정 크기 메시지 다이제스트: 고정 크기의 다이제스트(또는 지문)을 생성한다.
  3. 역산 불가능성: 주어진 메시지 다이제스트 x에 대해, x = H(m)을 만족하는 m을 찾는 것은 계산적으로 불가능하다.

Internet checksum: poor crypto hash function

인터넷 체크섬의 특성

  1. 고정 길이 다이제스트 생성: 메시지의 16비트 합을 사용하여 고정 길이의 다이제스트를 생성한다.
  2. Many-to-One: 여러 개의 다른 메시지가 동일한 체크섬 값을 가질 수 있다.

하지만, 주어진 해시 값(체크섬 값)을 가지고 동일한 해시 값을 가지는 다른 메시지를 쉽게 찾을 수 있다. 이는 인터넷 체크섬이 강력한 암호화
해시 함수로 사용되기에 부적합하다는 것을 의미한다.

Digital signature = signed message digest

  • MD5 해시 함수

    • 특징
      • 128비트 메시지 다이제스트를 생성한다.
      • 4단계 과정을 통해 메시지 다이제스트를 계산한다.
      • 임의의 128비트 문자열 x에 대해, MD5 해시가 x와 동일한 메시지 m을 구성하는 것은 매우 어렵다.
    • 사용 예
      • 파일의 무결성을 확인하기 위해 사용된다.
      • 패스워드 저장 및 검증 등에 사용되었으나, 현재는 보안 취약성 때문에 사용이 권장되지 않는다.
  • SHA-1(Secure Hash Algorithm 1)

    • 특징
      • 미국 표준으로 채택되었다.
      • 160비트 메시지 다이제스트를 생성한다.
    • 사용 예
      • 디지털 서명, 인증서, SSL/TLS 등의 보안 프로토콜에서 사용된다.
      • 현재는 보안 취약성으로 인해 SHA-256 등 더 강력한 해시 알고리즘으로 대체되고 있다.

Authentication: ap5.0 - let's fix it!

중간자 공격 시나리오

  1. Trudy가 Alice로 가장하여 Bob에게 접근

    • Alice가 "I am Alice"라고 선언
    • Bob이 nonce R를 Alice에게 보낸다.
    • Trudy가 이 nonce R을 가로챈다.
    • Trudy는 Alice의 공개 키를 사용하여 nonce R을 암호화하고, 이를 Bob에게 보낸다.
    • Bob는 Trudy가 보낸 것(Alice의 공개 키를 사용하여 nonce R을 암호화)을 확인하고, Alice라고 믿는다.
  2. Trudy가 Bob으로 가장하여 Alice에게 접근

    • Trudy는 nonce R를 Alice에게 보낸다.
    • Alice는 Trudy가 보낸 R를 자신의 비밀 키로 암호화하여 Trudy에게 보낸다.
    • Trudy는 Alice의 비밀 키를 이용해 R를 복호화하여 원래의 메시지를 획득한다.

해결 방법(슬라이드의 설명)

  1. 공개 키의 확인 과정에서 문제가 발생

    • Trudy는 Alice로부터 공개 키를 요청하고, 이를 악용하여 중간자 공격을 수행한다.
    • Bob이 Alice의 공개 키를 확인하는 과정에서 Trudy의 공개 키로 바꿔치기 할 수 있다.
  2. 비밀 키와 공개 키의 올바른 사용

    • Bob은 Alice의 공개 키를 사용할 때 이를 검증해야 한다.
    • Alice와 Bob은 공개 키가 올바른지 확인하는 추가적인 보안 절차를 가져야 한다.

Need for certified public keys

동기: Trudy가 Bob에게 피자 장난을 친다.

  • Trudy가 Bob에게 피자 장난을 치는 시나리오를 통해 인증된 공개 키의 필요성을 설명한다.

시나리오

  1. Trudy가 이메일 주문을 작성
    • trudy는 피자 가게에 보낼 이메일 주문을 작성한다.
    • trudy는 이 주문서를 자신의 비밀 키로 서명한다.
  2. Trudy가 피자 주문서를 피자 가게로 보낸다.
    • trudy는 서명된 주문서를 피자 가게에 보낸다.
  3. Trudy가 피자 가게에 공개 키를 보낸다.
    • trudy는 피자 가게에 자신의 공개 키를 보내지만, 이를 Bob의 공개 키라고 속인다.
  4. 피자 가게가 서명을 검증
    • 피자 가게는 trudy가 보낸 공개 키를 사용해 서명을 검증하고, 서명이 유효하다고 판단하여 Bob에게 페퍼로니 4판을 배달한다.
  5. 결과
    • Bob은 주문하지도 않은 피자를 받는다.

Public key Certification Authorities(CA)

정의

  • 인증 기관(Certification Authority,CA): 특정 엔터티(개인, 웹사이트, 라우터 등)에 공개 키를 연결해주는 기관

과정

  1. 엔터티가 공개 키를 CA에 등록

    • 엔터티(e.g. Bob)가 자신의 공개 키와 식별 정보를 CA에 제공한다.
    • CA는 Bob이 제공한 식별 정보와 공개 키를 검증한다.
  2. CA가 인증서 생성

    • CA는 Bob의 공개 키와 Bob의 식별 정보를 바인딩한 인증서를 생성한다.
    • 인증서는 CA의 비밀키로 디지털 서명된다.
  3. 인증서 발급

    • CA는 서명된 인증서를 Bob에게 발급합니다.
    • 인증서에는 Bob의 공개 키와 CA의 서명이 포함됩니다.
  4. 인증서의 역할

    • 인증서의 주요 역할은 CA가 "이것은 Bob의 공개 키입니다"라고 보증하는 것이다.
    • 다른 엔터티는 CA의 공개 키를 사용하여 인증서의 서명을 검증할 수 있다.
    • 이를 통해 다른 엔터티는 Bob의 공개 키가 진짜임을 신뢰할 수 있다.

Public key Certification Authorities(CA)

목표: Alice가 Bob의 공개 키를 필요로 할 때, 이를 신뢰할 수 있는 방법을 얻는 과정

과정

  1. Bob의 인증서 획득

    • Alice는 Bob이나 다른 출처에는 Bob의 인증서(certification)를 얻는다.
    • 이 인증서에는 Bob의 공개 키가 포함되어 있다.
  2. CA의 공개 키를 사용한 검증

    • Alice는 CA의 공개 키를 사용하여 인증서에 있는 디지털 서명을 검증한다.
    • 인증서를 검증함으로써, 인증서에 포함된 Bob의 공개 키가 실제로 Bob의 것임을 확인 할 수 있다.

Secure e-mail: confidentiality

Alice는 Bob에게 기밀 이메일 m을 보내려 할 때, 다음과 같은 절차를 따른다.

Secure e-mail: integrity, authentication

Securing TCP connections: TLS

Transport-layer security(TLS)

TLS는 전송 계층 위에 배치된 보안 프로토콜로, 거의 모든 브라우저와 웹 서버(port 443)에서 지원된다. 이 프로토콜은 다음과 같은 보안 기능을 제공한다.

  1. 기밀성(Confidentiality)

    • 대칭 암호화(Symmetric Encryption)를 통해 제공된다. 대칭 암호화는 빠르고 효율적이며, 송신자와 수신자가 동일한 키를 사용하여 데이터를 암호화하고 복호화한다.
  2. 무결성(Integrity)

    • 암호화 해시(Cryptographic Hashing)를 통해 제공된다. 암호화 해시는 데이터가 전송되는 동안 변조되지 않았음을 보장하는 역할을한다.
  3. 인증(Authentication)

    • 공개 키 암호화(Public Key Cryptography)를 통해 제공된다. 공개 키 암호화는 송신자와 수신자가 서로의 신원을 확인하고 인증하는데 사용된다.

Transport-layer security: what's needed?

TLS(Transport-Layer Security) 프로토콜을 구성하기 위한 필요한 요소들을 설명한다.

구성요소

  1. Handshake(핸드셰이크)
    • 역할: Alice와 Bob이 서로의 인증서를 사용하여 서로를 인증한다.
    • 과정: 서로의 개인 키를 사용하여 공유 비밀을 교환하거나 생성한다.
  2. Key Derivation(키 유도)
    • 역할: Alice와 Bob이 공유 비밀을 사용하여 여러 개의 키를 도출한다.
    • 과정: 도출된 키는 이후 통신에서 데이터 암호화에 사용된다.
  3. Data Transfer(데이터 전송)
    • 역할: 데이터를 연속적인 레코드의 형태로 스트리밍하여 전송한다.
    • 특징: 단일 거래가 아닌 지속적인 데이터 전송을 지원한다.
  4. Connection Closure(연결 종료)
    • 역할: 연결을 안전하게 종료하기 위해 특별한 메시지를 사용한다.
    • 과정: 안전한 연결 종료를 보장하여 데이터 유출을 방지한다.

t-tls: initial handshake

t-tls 핸드셰이크 단계

  1. TCP 연결 설정
    • 과정: Bob이 Alice와 TCP 연결을 설정한다.
    • 단계: TCP SYN -> SYNACK -> ACK
  2. 인증 과정
    • 과정: Bob이 Alice가 진짜 Alice인지 확인
    • 단계: t-tls hello 메시지를 보낸다.
  3. 공개 키 인증서 교환
    • 과정: Alice는 자신의 공개 키 인증서를 Bob에게 보낸다.
    • 단계: 공개 키 인증서 전송
  4. 마스터 비밀 키 (MS) 전송
    • 과정: Bob이 Alice에게 마스터 비밀 키(MS)를 보낸다. 이 키는 TLS 세션에서 다른 모든 키를 생성하는 데 사용된다.
    • 단계: Bob은 자신의 비밀 키로 MS를 암호화하여 전송한다.
  5. 클라이언트 요청 및 서버 응답
    • 과정: Alice는 클라이언트 요청을 보내고, Bob은 서버 응답을 보낸다.
    • 단계: client request -> server reply

잠재적 문제점

  • 3 RTT(Round Trip TIme)
    • 설명: 클라이언트가 데이터를 받기 시작하기 전까지 3번의 RTT가 필요하다(TCP 핸드셰이크 포함)
    • 영향: 데이터 전송 시작까지의 지연이 발생할 수 있다.

t-tls: cryptographic keys

키 사용 원칙

  • 한 키를 여러 암호화 기능에 사용하는 것은 좋지 않음
    • 각기 다른 암호화 기능에 동일한 키를 사용하는 것은 보안상 위험할 수 있다.
    • 메시지 인증 코드 (MAC)와 암호화에 다른 키를 사용해야 한다.

네 가지 키

  1. Kc:
    • 설명: 클라이언트에서 서버로 전송되는 데이터의 암호화 키
    • 사용 목적: 클라이언트에서 서버로 전송되는 데이터를 암호화
  2. Mc:
    • 설명: 클라이언트에서 서버로 전송되는 데이터의 MAC 키
    • 사용 목적: 클라이언트에서 서버로 전송되는 데이터의 무결성을 확인
  3. Ks:
    • 설명: 서버에서 클라이언트로 전송되는 데이터의 암호화 키
    • 사용 목적: 서버에서 클라이언트로 전송되는 데이터를 암호화
  4. Ms:
    • 설명: 서버에서 클라이언트로 전송되는 데이터의 MAC 키
    • 사용 목적: 서버에서 클라이언트로 전송되는 데이터의 무결성을 확인

키 파생 함수(KDF)에서 키 생성

  • 설명
    • 키는 키 파생 함수(KDF)를 통해 파생된다.
    • 마스터 비밀 키(master secret)와 추가적인 랜덤 데이터를 사용하여 새로운 키를 생성

t-tls: encrypting data

  • TCP는 데이터 바이트 스트림 추상화를 제공한다.
  • 질문: TCP 소켓에 쓰여진 데이터가 실시간으로 암호화될 수 있을까요?
    • 답변: MAC(메시지 인증 코드)을 어디에 두어야 할까요? 만약 MAC이 데이터 끝에 있다면, 모든 데이터가 수신되고 연결이 종료될 때까지 메시지 무결성이 보장되지 않는다.

솔루션

  • 스트림을 여러 "레코드" 시리즈로 분할
    • 각 클라이언트-서버 레코드는 MAC을 포함하고 있으며, 이는 Mc를 사용하여 생성된다.
    • 수신자는 도착하는 각 레코드에 대해 동작을 수행할 수 있다.

t-tls 레코드 암호화

  • t-tls 레코드는 대칭 키 Kc를 사용하여 암호화되며, 이는 TCP에 전달된다.

  • 레코드 형식은 다음과 같다.

    • length: 데이터의 길이
    • data: 실제 데이터
    • MAC: 메시지 인증코드

t-tls: encrypting data(more)

데이터 스트림에 대한 가능한 공격

  1. 재정렬(re-ordering)
    • 공격자가 중간에서 TCP 세그먼트를 가로채고 순서를 재조정한다.
    • 암호화되지 않은 TCP 헤더의 시퀀스 번호를 조작하여 발생한다.
  2. 재전송(replay)
    • 이전에 전송된 메시지를 다시 재전송하는 공격이다.

솔루션

  1. TLS 시퀀스 번호 사용
    • 데이터와 TLS 시퀀스 번호를 포함하여 MAC에 통합한다.
    • 이를 통해 메시지 순서와 무결성을 보장한다.
  2. nonce 사용
    • 각 메시지에 고유한 nonce(임의의 일회성 숫자)를 포함시켜 재전송 공격을 방지한다.
    • nonce는 매번 다른 값을 가지므로, 동일한 메시지가 재전송되더라도 nonce가 달라져 무효화된다.

t-tls 연결 종료(connection close)

  • 잘림 공격(truncation attack)
    • 공격 방식: 공격자가 TCP 연결 종료 세그먼트를 위조한다.
    • 결과: 한쪽 또는 양쪽이 실제보다 적은 데이터가 존재한다고 생각하게 만든다.
  • 해결책(solution)
    • 레코드 유형 도입
      • 유형 0: 데이터 전송을 위한 레코드
      • 유형 1: 연결 종료를 위한 레코드
    • MAC 계산 방법: 이제 데이터, 유형, 시퀀스 번호를 사용하여 MAC을 계산한다.
  • MAC 계산식: Kc(length,type,data,MAC)

Transport-layer security(TLS)

  • TLS의 역할
    • TLS는 애플리케이션이 사용할 수 있는 API를 제공한다.
    • 보안 계층으로 작동하여 어플리케이션 간의 데이터 전송을 보호한다.
  • HTTP 관점에서 본 TLS
    • HTTP 1.0: 전통적인 HTTP 프로토콜, 암호화되지 않은 텍스트 전송
    • HTTP/2: 향상된 성능과 효율성을 제공하는 HTTP 프로토콜
    • HTTP/2 + TLS: HTTP/2를 TLS 위에 구현하여 데이터 전송의 보안성을 강화
    • HTTP/2(슬림버전) + QUIC: UDP를 기반으로 한 QUIC 프로토콜을 사용하여 더 빠르고 효율적인 연결을 제공
      • HTTP/3: HTTP/2의 슬림 버전과 QUIC을 결합한 최신 프로토콜

TLS: 1.3 cipher suite(암호 모음)

암호 모음(Cipher Suite)

  • 암호 모음은 키 생성, 암호화, 메시지 인증 코드(MAC), 디지털 서명에 사용될 수 있는 알고리즘 집합을 의미한다.

TLS 1.3

  • 도입 연도: 2018년
  • 특징: TLS 1.2(2008년)보다 제한된 암호 모음 선택을 제공한다.
    • 선택지: TLS 1.2는 37가지 선택지를 제공하는 반면, TLS 1.3은 5가지 선택지로 제한된다.
    • 키 교환 방식: Diffie-Hellman(DH) 방식만을 요구하며, DH나 RSA 방식을 사용하는 TLS 1.2와는 차이가 있다.
    • 암호화 및 인증 알고리즘: 데이터에 대해 일련의 암호화 및 인증 대신 결합된 암호화 및 인증 알고리즘("인증된 암호화")을 사용한다.
      • 이 중 4가지 알고리즘은 AES 기반이다.
    • HMAC: SHA(256 또는 284) 암호 해시 함수를 사용한다.

TLS 1.3 handshake: 1 RTT

스크린샷 2024-07-16 120450.png
63.5 kB

  1. Client Hello
    • 역할: 클라이언트가 서버와 통신을 시작하며, 자신이 지원하는 암호 모음(Cipher Suites)과 Diffie-Hellman(DH) 키 합의 프로토콜 및 매개변수를 서버에 알린다.
    • 내용
      • 클라이언트가 지원하는 암호 모음(Cipher Suites)
      • DH 키 합의 프로토콜 및 매개변수
  1. Server Hello
    • 역할: 서버는 클라이언트의 요청에 응답하며, 선택된 암호 모음, DH 키 합의 프로토콜 및 매개변수를 클라이언트에게 전달한다. 또한, 서버 서명 인증서를 클라이언트에게 제공한다.
    • 내용:
      • 서버가 선택한 암호 모음(Cipher Suite)
      • DH 키 합의 프로토콜 및 매개변수
      • 서버 서명 인증서
  1. Client Verification
    • 역할: 클라이언트는 서버의 인증서를 확인하고, 이를 바탕으로 키를 생성한다. 이 단계가 완료되면 클라이언트는 어플리케이션 요청을 보낼 준비가 된다.(e.g. HTTPS GET 요청)
    • 내용
      • 서버 인증서 확인
      • 키 생성
      • 어플리케이션 요청 준비 완료

TLS 1.3 handshake: 0 RTT

TLS 1.3의 0 RTT 핸드셰이크는 클라이언트와 서버 간의 보안 연결을 이전보다 더 빠르게 설정할 수 있도록 설계된 절차이다. 이는 초기 핸드셰이크 단계에서 이미 어플리케이션 데이터를 전송할 수 있게 해준다.

  1. 클라이언트 헬로(Client Hello)
    • 역할: 클라이언트는 서버와의 연결을 재개하고, 지원하는 암호 모음(Cipher Suites), Diffie-Hellman(DH) 키 합의 프로토콜 및 매개변수를 서버에 알린다. 또한 초기 헬로 메시지에 암호화된 애플리케이션 데이터를 포함시킨다.
    • 내용
      • 클라이언트가 지원하는 암호 모음(Cipher Suites)
      • DH 키 합의 프로토콜 및 매개변수
      • 어플리케이션 데이터(암호화됨)
  1. 서버 헬로(Server Hello)
    • 역할: 서버는 클라이언트의 요청에 응답하며, 선택된 암호 모음, DH 키 합의 프로토콜 및 매개변수를 클라이언트에게 전달한다. 또한, 초기 헬로 메시지에 암호화된 어플리케이션 데이터에 대한 응답을 포함시킨다.
    • 내용
      • 서버가 선택한 암호 모음(Cipher Suite)
      • DH 키 합의 프로토콜 및 매개변수
      • 어플리케이션 데이터(응답, 암호화됨)

IP Sec

IP Sec는 사용자 트래픽과 제어 트래픽(BGP, DNS 메시지 등) 모두에 대해 데이터그램 수준의 암호화, 인증, 무결성을 제공하는 보안 프로토콜이다. IP Sec는 두 가지 모드로 동작한다. 전송 모드(Transport Mode)터널 모드(Tunnel Mode) 이다.

  1. 전송 모드(Transport Mode)
    • 설명: 전송 모드에서는 데이터그램의 페이로드(Payload)만이 암호화되고 인증된다.
    • 특징
      • 암호화와 인증이 데이터그램의 내용에만 적용된다.
      • IP 헤더는 암호화되지 않는다.
      • 호스트 간 직접 통신에 주로 사용된다.
    • 그림 설명: 전송 모드에서는 데이터그램의 페이로드 부분이 빨간색으로 표시되어 암호화 및 인증됨을 나타내고, 페이로드를 제외한 나머지 부분은 암호화되지 않은 상태로 유지된다.
  1. 터널 모드(tunnel mode)
    • 설명: 터널 모드에서는 데이터그램 전체가 암호화되고 인증된다.
    • 특징
      • 원본 데이터그램이 전체적으로 암호화되고, 새로운 IP 헤더를 추가하여 새로운 데이터그램으로 캡슐화된다.
      • VPN(Virtual Private Network)에서 흔히 사용된다.
      • 데이터그램이 게이트웨이 간에 터널링되어 전송된다.
    • 그림 설명: 터널 모드에서는 전체 데이터그램이 암호화되어 파란색으로 표시되고, 새로운 IP 헤더가 추가되어 목적지까지 터널링됨을 나타낸다.

Two IPsec protocols

IPSec(Internet Protocol Security)에는 두 가지 주요 프로토콜이 있다. Authentication Header(AH) 프로토콜Encapsulation Security Protocol(ESP)

  1. Authentication Header(AH) 프로토콜
    • 기능: AH 프로토콜은 출처 인증과 데이터 무결성을 제공하지만, 기밀성(암호화)은 제공하지 않는다.
    • 특징:
      • 출처 인증: 데이터그램이 인증된 출처에서 온 것임을 보장한다.
      • 데이터 무결성: 데이터그램이 전송 중에 변경되지 않았음을 보장한다.
      • 기밀성 없음: 데이터 자체는 암호화되지 않으므로, 중간에서 데이터를 볼 수 있다.
  1. Encapsulation Security Protocol(ESP)
    • 기능: ESP는 출처 인증, 데이터 무결성 및 기밀성을 제공한다.
    • 특징:
      • 출처 인증: 데이터그램이 인증된 출처에서 온 것임을 보장한다.
      • 데이터 무결성: 데이터그램이 전송 중에 변경되지 않았음을 보장한다.
      • 기밀성: 데이터가 암호화되어 중간에서 데이터를 볼 수 없다.
      • 더 널리 사용됨: AH보다 ESP가 더 널리 사용된다. 이는 ESP가 기밀성까지 제공하기 때문이다.

Security Associatoins(SAs)

Security Association(SA) 는 IPsec 프로토콜에서 데이터 전송 전에 보안 매개변수를 설정하기 위해 사용된다. 이는 보안된 통신을 위해 필요하며, 방향성이 있다. 즉, 송신자에서 수신자로의 데이터 전송에 대해 각각의 SA가 설정된다.

  1. 보안 연결 설정

    • 데이터 전송 전에 송신자와 수신자 간에 Security Association(SA) 가 설정된다.
    • 이는 방향성이 있으므로, 송신에서 수신으로, 수신에서 송신으로 각각 SA가 필요하다.
  2. 상태 정보 유지

    • 송신자와 수신자는 SA에 대한 상태 정보를 유지한다.

    • 이는 TCP 연결에서 상태 정보를 유지하는 것과 유사하다.

    • IP는 비연결성 프로토콜이지만, IPsec은 연결 지향적이다.

IPsec Datagram

  1. 새 IP 헤더(New IP Header)
    • 터널 모드에서는 원래 IP 헤더와 페이로드를 암호화하기 위해 새로운 IP 헤더가 추가된다.
  2. ESP 헤더(ESP Header)
    • SPI(Security Parameters Index): 수신 측에서 수신한 데이터가 어떤 SA에 해당하는 식별합니다.
    • Sequence Number: 재전송 공격을 방지하기 위해 사용된다.
  3. 원래 IP 헤더(Original IP Header) 및 원래 IP 데이터그램 페이로드(Original IP Datagram Payload)
    • 원래의 IP 헤더와 데이터 페이로드는 ESP 헤더 뒤에 위치하며, 터널 모드에서는 암호화된다.
  4. ESP 트레일러(ESP Trailer)
    • 패딩(Padding): 블록 암호화 방식에서 데이터 길이를 블록 크기의 배수로 맞추기 위해 추가한다.
    • 패딩 길이(Pad Length): 패딩의 길이를 나타낸다.
    • 다음 헤더(Next Header): 원래 데이터그램의 다음 포로토콜을 나타낸다.
  5. ESP 인증(ESP Authentication)
    • 인증 필드에는 MAC(Message Authentication Code)이 포함되어 있으며, 공유된 비밀키로 생성된다.
    • 이 필드는 데이터그램의 무결성을 확인하고 인증하는 데 사용된다.

ESP tunnel mode: actions

ESP(Encapsulating Security Payload) 터널 모드에서는 네트워크 트래픽을 암호화하고 인증하고 안전하게 전송한다.

동작 과정

  1. ESP 트레일러 추가

    • 원래 데이터그램에 ESP 트레일러를 추가한다. 이 트레일러는 패딩(padding) 및 패딩 길이(pad length)와 다음 헤더(next header) 정보를 포함합니다.
  2. 암호화

    • SA(Security Association)에서 지정된 알고리즘과 키를 사용하여, ESP 트레일러가 추가된 데이터그램을 암호화한다. 이때 원래 IP 헤더와 페이로드가 포함된 데이터 전체가 암호화된다
  3. ESP 헤더 추가

    • 암호화된 데이터 앞에 ESP 헤더를 추가합니다. 이 헤더에는 SPI(Security Parameters Index)와 시퀀스 번호(sequence number)가 포함됩니다.
  4. MAC 생성

    • SA에서 지정된 알고리즘과 키를 사용하여 인증 MAC(Message Authentication Code)를 생성한다. 이는 데이터의 무결성을 검증하는 데 사용된다.
  5. MAC 추가

    • 생성된 MAC을 페이로드에 추가한다. 이로써 인증된 페이로드가 완성된다.
  6. 새로 IP 헤더 생성

    • 새로운 IP 헤더를 생성하고, 새로운 IP 헤더 필드를 추가하여 터널 끝점(tunnel endpoint)으로 주소를 설정한다. 이 새로운 IP 헤더는 암호화된 데이터를 터널을 통해 전송하는 데 사용됩니다.

IPsec sequence numbers

IPsec(Internet Protocol Security) 시퀀스 번호는 보안 연관(Security Assoication, SA) 내에서 데이터그램의 순서를 관리하는 데 사용된다. 이를 통해 데이터그램의 재생 공격을 방지하고 데이터의 무결성을 유지할 수 있다.

동작 방식

  1. 새 SA에서 시퀀스 번호 초기화

    • 새로운 보안 연관(SA)이 설정될 때 송신자는 시퀀스 번호를 0으로 초기화한다.
  2. 데이터그램 전송 시 시퀀스 번호 증가

    • 송신자는 데이터그램을 보낼 때마다 시퀀스 번호 카운터를 증가시킨다.
    • 증가된 시퀀스 번호는 데이터그램의 시퀀스 번호 필드에 삽입된다.

목표

  • 재생 공격 방지
    • 공격자가 데이터그램을 가로채어 재전송하는 것을 막기 위해 사용된다.
    • 중복된, 인증된 IP 패킷이 수신될 경우 서비스 장애를 유발할 수 있으므로 이를 방지한다.

방법

  • 중복 체크
    • 수신자는 중복된 데이터그램을 검사한다.
    • 수신된 모든 패킷을 추적하지 않고, 대신에 윈도우(window) 방식을 사용하여 시퀀스 번호를 관리한다.

IPsec Security Databases

Security Policy Database(SPD)

  • 목적
    • 특정 데이터그램에 대해 IPsec을 사용할지 여부를 결정하는 정책을 저장한다.
  • 내용
    • 보안 정책이 저장된다.
    • 데이터그램을 처리할 때 어떤 보안 연결(SA)을 사용할지 결정한다.
  • 기능
    • 소스와 목적지 IP 주소 및 프로토콜 번호와 같은 기준을 사용하여 적절한 SA를 선택한다.
  • 역할
    • SPD는 무엇을 해야 하는지를 규정한다.

**Security Assoication Database(SAD)** - 목적 - 보안 연결(SA)의 상태 정보를 저장한다. - 내용 - 보안 연결(SA)의 상태 정보가 저장된다 - 기능 - IPsec 데이터그램을 전송할 때 SAD에 접근하여 데이터그램을 어떻게 처리할지 결정한다. - IPsec 데이터그램이 수신될 때, 수신자는 SPI(Security Parameter Index)를 검사하여 SAD를 참조하고 데이터그램을 처리한다. - 역할 - SAD는 어떻게 해야 하는지를 규정한다.

요약

  • SPD: 어떤 행동을 해야 하는지(what to do)에 대한 정책을 정의한다.
  • SAD: 그 행동을 어떻게 수행할지(How to do it)에 대한 세부 정보를 제공한다.

Summary: IPsec services

IPsec의 보안 서비스를 요약하고 있다. Trudy라는 공격자가 R1과 R2 사이에 의치해 있으며, 암호화 키를 모르는 상황을 가정하자. Trudy가 할 수 있는 몇 가지 공격 시나리오를 설명하고, IPsec이 어떻게 이러한 공격을 방지할 수 있는지에 대해 설명한다.

  1. Will Trudy be able to see original contents of datagram? How about source, dest IP address, transport protocol, application port?
    • IPsec의 역할: IPsec은 데이터그램의 원래 내용을 암호화하여 Trudy가 내용을 읽지 못하게 한다. ESP(Encapsulation Security Payload)를 사용하면 데이터그램의 페이로드 뿐만 아니라 IP 헤더도 암호화할 수 있다.
    • 효과: Trudy는 데이터그램의 내용을 볼 수 없고, 소스 및 목적지 IP 주소, 전송 프로토콜, 어플리케이션 포트도 알 수 없다.
  1. Flip bits without detection?
    • IPsec의 역할: IPsec은 데이터그램의 무결성을 확인하기 위해 MAC(Message Authentication Code)를 사용합니다. ESP와 AH(Authentication Header)는 데이터그램이 전송 중에 수정되지 않았음을 보장한다.
    • 효과: Trudy가 데이터그램의 비트를 변경하면 수신 측에서 무결성 검사가 실패하게 되어, 변경된 데이터그램이 탐지된다.
  1. Masquerade as R1 using R1’s IP address?
    • IPsec의 역할: IPsec은 인증을 통해 발신자의 신원을 확인한다. SA(Security Association)는 신뢰할 수 있는 엔티티 간에만 설정되므로, Trudy는 R1로 가장할 수 없다.
    • 효과: Trudy가 R1의 IP 주소를 사용하여 자신을 R1로 가장할 수 없다
  1. Replay a datagram?
    • IPsec의 역할: IPsec은 재전송 공격을 방지하기 위해 시퀀스 번호를 사용한다. 수신자는 데이터그램의 시퀀스 번호를 확인하여 중복된 데이터그램을 거부한다.
    • 효과: Trudy가 이전에 캡처한 데이터그램을 재전송하려고 해도 수신자는 이를 탐지하고 거부한다.

IKE: Internt Key Exchange

Internet Key Exchange

  • 이 슬라이드는 IPsec의 보안 연관(Security Association, SA)을 수동으로 설정하는 것과 자동화된 방법인 IKE(Internet Key Exchange)를 사용하는 것의 차이점을 설명한다.

문제점: 수동 키 설정의 비효율성

  • 수동 키 설정(manual keying)은 많은 수의 엔드포인트가 있는 VPN에서 비효율적이다. 각 엔드포인트마다 이러한 설정을 수동으로 해야하는데, 이는 시간과 노력이 많이 드는 작업이다.

해결책: IPsec IKE(Internet Key Exchange)

  • IKE(Internet Key Exchange)는 이러한 수동 설정의 문제를 해결하기 위해 사용된다. IKE는 자동으로 IPsec의 SA를 설정하고 관리하는 프로토콜이다.
  • 주요기능
    • 자동으로 키 교환
    • 보안 연관 설정 자동화
    • 키 관리 및 재협상

IKE를 사용하면 수 백개의 엔드포인트가 있는 큰 규모의 VPN에서도 효율적으로 SA를 관리할 수 있다. 이는 보안과 운영 효율성을 동시에 개선할 수 있는 중요한 방법이다.

IKE: PSK and PKI

IPsec에서 인증을 수행하기 위한 두 가지 주요 방법인 PSK(Pre-Shared Key)와 PKI(Public Key Infrastructure)를 설명한다.

Authentication(Prove Who You Are)

  • PSK(Pre-Share Secret): 사전에 공유된 비밀을 사용하여 인증한다.
  • PKI(Public/Private Keys and Certifivates): 공개 키와 개인 키, 그리고 인증서를 사용하여 인증한다.

PSK(Pre-Shared Secret)

  • 초기 상태: 양쪽 모두 사전에 공유된 비밀을 알고 있다.
  • 과정:
    • IKE를 사용하여 서로를 인증한다.
    • IPsec SA를 생성한다. 여기에는 암호화 키와 인증 키가 포함된다
    • 각 방향에 대해 하나의 SA를 생성한다.

PKI(Public/Private Keys and Certificates)

  • 초기 상태: 양쪽 모두 공개/개인 키 쌍과 인증서를 가지고 있다.
  • 과정:
    • IKE를 실행하여 서로를 인증한다.
    • IPsec SA를 얻는다. 각 방향에 대해 하나의 SA를 생성한다.
    • SSL의 핸드셰이크와 유사하다.

요약

  • PSK는 사전에 공유된 비밀을 사용하여 간단하게 설정할 수 있지만, 대규모 네트워크에서는 관리가 어려울 수 있다.
  • PKI는 공개 키와 인증서를 사용하여 더 높은 보안을 제공하며, 대규모 네트워크에서도 효율적으로 관리할 수 있다.

IKE phases

phase 1: Establish Bi-Directional IKE SA

  • 목적: 양방향 IKE SA(Secure Association)를 설정한다.
    • 주의: IKE SA는 IPsec SA와 다르다.
    • 별칭: ISAKMP(Internet Security Association and Key Management Protocol) 보안 연결

phase 2: Use ISAKMP to Securely Negotiate IPsec Pair of SAs

  • 목적: ISAKMP를 사용하여 IPsec SA 쌍을 안전하게 협상한다.

Phase 1 Modes

  • Aggressive Mode

    • 특징: 더 적은 메시지를 사용하여 빠르게 IKE SA를 설정한다.
  • Main Mode

    • 특징: 신원 보호를 제공하고 더 유연하다.
    • 장점: 공격으로부터 더 안전하게 신원 정보를 보호할 수 있다.

IPsec summary

Key Exchange(IKE)

  • 목적: 알고리즘, 비밀 키, SPI(Security Parameter Index) 번호를 교환한다.
  • 작동 방식: IKE 메시지 교환을 통해 필요한 정보를 안정하게 교환한다.

Protocols

  • AH(Authentication Header)
    • 기능: 무결성과 출처 인증을 제공한다.
  • ESP(Encapsulating Security Payload)
    • 기능: AH와 함께 사용할 경우 암호화 기능을 추가로 제공한다
    • 요약: AH는 무결성과 인증을, ESP는 추가로 암호화를 제공한다.
  • IPsec Peers
    • 유형:
      • 두 개의 엔드 시스템
      • 두 개의 라우터 또는 방화벽
      • 라우터/방화벽과 하나의 엔드 시스템
    • 설명: IPsec 피어는 위와 같이 다양한 조합이 가능하다.

802.11: authentication, encryption

Process Overview

  1. Association with Access Point(AP)
    • 목적: 무선 링크를 통해 AP와 통신을 설정하는 것
    • 설명: 이동 장치(모바일 디바이스)는 무선 네트워크에 연결되기 위해 먼저 근처의 AP와 연결을 설정해야 한다.
  1. Authentication to Network
    • 목적: 네트워크에 인증을 받는 것
    • 설명: AP와 연결된 후, 이동 장치는 네트워크에 인증을 받아야 한다. 이는 네트워크 접근을 제어하고 보안을 유지하기 위함이다.
  1. Componenets
    • Mobile: 무선 네트워크에 연결하려는 이동 장치(e.g. 노트북, 스마트폰)
    • AP(Access Point): 무선 네트워크의 중앙 장치로, 이동 장치가 연결될 수 있는 지점이다.
    • AS(Authentication Server): 네트워크의 인증 서버로, 이동 장치의 인증을 처리한다.
    • Wired Network: AP가 연결된 유선 네트워크이다.

802.11 Authentication and Encrpytion - Discover of Security Capabilities

이 슬라이드는 802.11 프로토콜에서 인증 및 암호화 기능을 발견하는 과정을 설명한다.

단계 1: 보안 기능 발견

  1. AP 광고(Advertise)
    • AP(Access Point)는 자신의 존재와 지원하는 인증 및 암호화 형태를 광고한다.
    • 이동 장치(모바일 디바이스)는 이 광고를 수신하고 특정 인증 및 암호화 형태로를 요청한다.
  1. 장치 요청(Request)
    • 이동 장치는 특정한 형태의 인증 및 원하는 암호화를 요청한다.
    • 이 과정은 장치가 아직 인증되고 않았고 암호화 키를 갖고 있지 않지만, 이미 AP와 메시지를 교환하고 있다는 것을 의미한다.

802.11: authentication, encryption

단계 2: 상호 인증 및 공유 대칭 키 파생

  1. AS 및 모바일 장치 간의 공유 비밀
    • AS(Authentication Server)와 모바일 장치는 이미 공유된 공통 비밀(e.g. 비밀번호)을 가지고 있다.
  1. 공유 비밀, 논스 및 암호화 해시를 사용한 인증
    • AS와 모바일 장치는 공유된 비밀과 넌스(Nonces)를 사용하여 인증을 수행한다.
    • 넌스는 릴레이 공격을 방지하기 위해 사용되며, 암호화 해시는 메시지 무결성을 보장한다.
  1. 대칭 세션 키 파생
    • AS와 모바일 장치는 공유된 비밀을 사용하여 대칭 세션 키를 파생한다
    • 이 대칭 키는 이후의 통신에서 사용된다.

802.11: WPA3 handshake

WPA3 프로토콜에서의 핸드 셰이크 과정을 설명한다. WPA3는 Wi-Fi 네트워크의 보안을 강화하기 위한 최신 프로토콜로, 특히 강화된 인증 및 암호화 메커니즘을 사용한다.

주요 개념

  • Nonce: 한 번만 사용되는 임의의 숫자로, 재사용 공격을 방지
  • HMAC(Hash-based Message Authentication Code): 메시지의 무결성과 인증을 확인하는 해시 함수 기반의 코드
  • 대칭 키 암호화: 송신자와 수신자가 동일한 키를 사용하여 데이터를 암호화하고 복호화하는 방식

단계별 설명

  1. Initial Setup(초기 설정)
    • 모바일 장치와 인증 서버(AS)는 초기 공유 비밀을 이미 가지고 있다.
    • 이를 바탕으로 세션 키 KM-AP를 파생한다.
  1. Step a
    • AS 생성 논스 NonceAS를 생성한다.
    • 이 논스를 모바일 장치로 전송한다.
  1. Step b
    • 모바일 장치 수신 NonceAS
      • 모바일 장치는 인증 서버로부터 NonceAS를 수신한다.
      • 모바일 장치 생성 NonceM
        • 모바일 장치는 자체적으로 넌스 NonceM를 생성한다.
      • 대칭 공유 세션 키 KM-AP 생성
        • 모바일 장치는 NonceAS, NonceM 그리고 초기 공유 비밀을 사용하여 대칭 공유 세션 키 KM-AP를 생성한다.
      • 넌스와 HMAC 전송
        • 모바일 장치는 NonceM와 NonceAS 및 초기 공유 비밀을 사용하여 생성한 HMAC 값을 인증 서버로 전송한다.
  1. Step c:
    • AS 파생 대칭 공유 세션 키 KM-AP
      • 인증 서버는 모바일 장치로부터 NonceM와 HMAC 값을 수신한다.
      • NonceAS, NonceM, 그리고 초기 공유 비밀을 사용하여 대칭 공유 세션 키 KM-AP를 파생한다.
  1. Discovery of Security Capabilities (보안 기능 발견):
    • AP가 자신의 존재와 제공하는 인증 및 암호화 형태를 광고한다.
      • AP는 자신이 지원하는 인증 및 암호화 메커니즘을 브로드캐스트한다.
    • 장치가 원하는 인증 및 암호화 형태를 요청한다.
      • 모바일 장치는 네트워크에 연결하기 위해 AP에게 특정 인증 및 암호화 방법을 요청한다.
    • 이 시점에서는 장치와 AP가 이미 메시지를 교환하고 있지만, 아직 인증되지 않았고 암호화 키도 없는 상태이다.
  1. Mutual Authentication, Key Derivation (상호 인증, 키 파생):
    • AS(인정 서버)와 모바일 장치가 초기 공유 비밀(e.g. password)을 이미 가지고 있다.
    • AS와 모바일 장치는 공유 비밀과 넌스(Nonce)를 사용하여 서로를 인증하고 세션 키를 파생한다.
      • AS와 모바일 장치는 공유 비밀, 논스, 그리고 암호화 해싱을 사용하여 서로를 인증합니다.
      • 이 과정에서 재전송 공격을 방지하기 위해 논스를 사용한다.
  1. Shared Symmetric Key Distribution(공유 대칭 키 배포)
    • 모바일 장치와 AS에서 동일한 세션 키가 파생된다.
      • AS와 모바일 장치는 상호 인증 과정에서 파생된 대칭 세션 키를 사용한다.
    • AS는 공유 대칭 세션 키를 AP에게 전달한다.
      • AP는 AS로부터 전달받은 대칭 세션 키를 사용하여 모바일 장치와의 통신을 암호화한다.

802.11: Authentication, Encryption

  1. Discovery of Security Capabilities (보안 기능 발견):

    • AP가 자신의 존재와 제공하는 인증 및 암호화 형태를 광고합니다.
      • AP는 자신이 지원하는 인증 및 암호화 메커니즘을 브로드캐스트합니다.
    • 장치가 원하는 인증 및 암호화 형태를 요청합니다.
      • 모바일 장치는 네트워크에 연결하기 위해 AP에게 특정 인증 및 암호화 방법을 요청합니다.
    • 이 시점에서는 장치와 AP가 이미 메시지를 교환하고 있지만, 아직 인증되지 않았고 암호화 키도 없는 상태입니다.
  2. Mutual Authentication, Key Derivation (상호 인증, 키 파생):

    • AS(인증 서버)와 모바일 장치가 초기 공유 비밀(예: 패스워드)을 이미 가지고 있습니다.
    • AS와 모바일 장치는 공유 비밀과 논스(Nonce)를 사용하여 서로를 인증하고 세션 키를 파생합니다.
      • AS와 모바일 장치는 공유 비밀, 논스, 그리고 암호화 해싱을 사용하여 서로를 인증합니다.
      • 이 과정에서 재전송 공격을 방지하기 위해 논스를 사용합니다.
  3. Shared Symmetric Key Distribution (공유 대칭 키 배포):

    • 모바일 장치와 AS에서 동일한 세션 키가 파생됩니다.
      • AS와 모바일 장치는 상호 인증 과정에서 파생된 대칭 세션 키를 사용합니다.
    • AS는 공유 대칭 세션 키를 AP에게 전달합니다.
      • AP는 AS로부터 전달받은 대칭 세션 키를 사용하여 모바일 장치와의 통신을 암호화합니다.
  4. Encrypted Communication over WiFi (WiFi를 통한 암호화된 통신):

    • 동일한 키가 모바일 장치와 AS에서 파생됩니다.
    • AS는 AP에게 공유 대칭 세션을 알립니다.
    • 모바일 장치와 AP 간의 통신은 암호화된 상태로 이루어집니다.
      • 이를 통해 모바일 장치와 AP, 그리고 네트워크 전체의 통신이 안전하게 보호됩니다.





Authentication, encryption in 4G LTE



주요 요소

  • 모바일 장치: 사용자 장치로, 세션 키 KBS-M과 KHSS-M을 사용하여 통신을 암호화한다.
  • 기지국(Base Station, BS): 모바일 장치와 연결을 관리하며, 파생 세션 키 KBS-M을 사용하여 통신을 암호화한다.
  • 이동성 관리 엔티티(Mobility Management Entity, MME): 네트워크 내에서 모바일 장치의 이동성을 관리한다.
  • 홈 가입자 서비스(Home Subscriber Service, HSS): 홈 네트워크에 위치하며, 인증 및 구독 정보를 관리한다. 궁극적인 인증 기관이다


a단계

  1. Attach 요청
    • 모바일 장치는 "attach" 요청 메시지를 보낸다. 이 메시지에는 다음이 포함된다.
      • IMSI(International Mobile Subscriber Identity): 모바일 장치의 고유 식별자
      • 방문 네트워크 정보: 모바일 장치가 현재 연결하려고 하는 네트워크에 대한 정보
    • 이 attach 메시지는 먼저 기지국(BS)로 전송된다.

  1. 방문 네트워크로의 전송
    • 기지국은 attach 메시지를 방문 네트워크의 MME(Mobility Management Entity)로 전달한다.
    • MME는 이 메시지를 홈 네트워크의 HSS(Home Subscriber Service)로 다시 전달한다.

  1. IMSI 확인
    • HHS IMSI를 사용하여 모바일 장치의 홈 네트워크를 식별한다. 이 정보를 통해 홈 네트워크는 인증을 진행할 수 있다.



b단계: HSS가 인증 토큰(auth_token)과 예상되는 인증 응답 토큰(xres_HSS)을 생성하는 과정을 설명한다.

  1. 사전 공유 비밀 키 사용
    • HSS는 사전에 공유된 비밀 키 KHSS-M을 사용하여 인증 토큰(auth_token)과 예상되는 인증 응답 토큰(xres_HSS)을 생성한다.

  1. 인증 토큰(auth_token) 생성
    • auth_token은 KHSS-M을 사용하여 HSS에 의해 암호화된 정보를 포함한다.
    • 이 토큰을 통해 모바일 장치는 토큰을 생성한 주체가 공유된 비밀 키를 알고 있다는 사실을 확인할 수 있다.

  1. HSS가 auth_token과 xres_HSS 생성
    • auth_token에는 암호화된 정보가 포함되어 있으며, 이 정보는 모바일 장치가 네트워크를 인증했음을 나타낸다.
    • xres_HSS는 HSS가 나중에 사용할 수 있도록 보관한다.

  1. AUTH_RESP 메시지 전송
    • HSS는 auth_token과 xres_HSS 및 기타 필요한 키를 포함한 AUTH_RESP 메시지를 생성하여 MME에 전송한다.
    • 이 메시지는 다시 방문 네트워크를 통해 모바일 장치에 전달된다.

  1. 모바일 장치 인증
    • 모바일 장치는 AUTH_RESP 메시지의 auth_token을 검증하여 네트워크를 인증한다.
    • auth_token을 올바르게 생성한 주체는 KHSS-M를 알고 있어야 하므로, 모바일 장치는 네트워크가 신뢰할 수 있는 네트워크임을 확인할 수 있다.



c단계: 모바일 장치의 인증 응답

  1. 비밀 키를 사용한 계산
    • 모바일 장치는 자신의 비밀 키를 사용하여 HSS와 동일한 암호화 계산을 수행하여 응답 토큰 resM을 생성한다.
    • 이 과정은 HSS가 xres_HSS를 계산한 방법과 동일한 방식으로 수행된다.

  1. 응답 토큰 생성
    • 모바일 장치는 HSS가 생성한 xres_HSS와 동일한 방법으로 응답토큰 resM을 생성한다.
    • 이를 통해 모바일 장치는 자신이 HSS와 동일한 비밀 키를 공유하고 있음을 증명할 수 있다.

  1. MME로 전송
    • 생성된 응답 토큰resM을 MME에 전송한다.
    • 이 응답은 모바일 장치가 네트워크에 인증되었음을 나태난다

  1. 인증 확인
    • MME는 모바일 장치로부터 받은 resM과 HSS로부터 받은 xres_HSS를 비교한다.
    • 두 값이 일치하면, 모바일 장치는 성공적으로 인증된 것으로 간주된다.



d 단계: 4G LTE에서의 인증 및 암호화

  1. MME와 HSS의 응답 비교
    • MME는 모바일 장치로부터 받은 resM값을 HSS에서 계산한 xresHSS값과 비교한다.
    • 두 값이 일치하면, 모바일 장치는 성공적으로 인증된 것으로 간주된다.

  1. 인증의 이유
    • 왜 이 방법으로 인증이 이루어지는가?
      • resM와 xresHSS가 일치하면, 이는 모바일 장치와 HSS가 동일한 비밀 키를 공유하고 있음을 의미한다.
      • 이는 모바일 장치가 네트워크에 올바르게 인증되었음을 보장한다.

  1. BS에게 인증 상태 알림
    • MME는 기지국(BS)에게 모바일 장치가 인증되었음을 알린다.
    • 이를 통해 BS는 모바일 장치와의 통신을 시작할 수 있다.

  1. 암호화 키 생성
    • MME는 BS와 모바일 장치 간의 통신을 위해 필요한 암호화 키를 생성한다.
    • 이러한 키는 모바일 장치와 BS 간의 데이터를 안전하게 암호화하고 보호하는 데 사용된다.



e 단계: 4G LTE에서의 인증 및 암호화
모바일 장치와 기지국이 4G 무선 채널을 통해 데이터를 암호화하고 제어 프레임을 보호하기 위한 키를 결정하는 과정을 설명한다.

  1. 키 결정
    • 모바일 장치와 기지국(BS)은 4G 무선 채널을 통해 데이터를 암호화하기 위한 키를 결정한다.
    • 이 과정을 상호 간의 안전한 통신을 보장한다.
  2. AES 암호화 사용 가능
    • 결정된 키는 AES(Advanced Encryption Standard)와 같은 강력한 암호화 알고리즘을 사용하여 데이터를 암호화하고 사용될 수 있다.

'학교수업 > 컴퓨터망' 카테고리의 다른 글

Chapter7: Wireless and Mobile Networks  (4) 2024.07.14
Chapter6: The Link Layer and LANs  (0) 2024.07.12
Chapter5 Network Layer: Control Plane  (0) 2024.07.09
Chapter4: Network Layer-Data Plane  (0) 2024.07.04
Chapter3: Transport Layer-2  (0) 2024.07.04

Wireless and Mobile Networks: context

  1. 무선 전화 가입자 수 증가
  2. 모바일 브로드밴드 연결 장치 증가
  3. 두 가지 주요 도전 과제
    • 무선(Wireless): 무선 링크를 통한 통신
    • 모빌리티(Mobility): 네트워크 연결 지정을 변경하는 모바일 사용자를 처리하는 문제

Chapter7 outline

  • introduction

Wireless

  • Wireless Links and Network Charateristics(무선 링크 및 네트워크 특성)
  • WiFi: 802.11 Wireless LANs(무선 랜)
  • Cellular Networks: 4G and 5G(셀룰러 네트워크)

Mobility(모빌리리티)

  • Mobility Management: Principles(모빌리티 관리 원칙)
  • Mobility Managemet: Practice(모빌리티 관리 실무)
  • Molbility: Impact on Higher-Layer Protocols(모빌리티가 상위 계층 프로토콜에 미치는 영향)

Elements of a wireless network

base station(기지국)

  • 기능
    • 무선 네트워크에서 중요한 역할을 담당
    • 유선 네트워크에 연결되어 있으며, 유선 네트워크와 무선 호스트(단말기) 간의 패킷 전송을 담당
  • 연결 방식:
    • 유선 네트워크 infrastructor에 연결된다.
    • 무선 호스트(e.g. 스마트폰, 노트북)과 연결되어 데이터를 중계한다.
  • 예시:
    • 셀 타워(기지국)
    • 802.11 access point(wifi AP)

Relay(중계기)

  • 역할
    • 유선 네트워크와 무선 호스트 사이에서 패킷을 전송
    • 기지국의 영역 내에서 무선 호스트와 데이터를 주고받는다.

Wireless Link(무선 링크)

  • 기능
    • 주로 모바일 장치(e.g. 스마트폰, 태블릿)를 기지국에 연결하는 데 사용
    • 또한 백본 링크(중추 네트워크 연결)로 사용될 수 있다.
  • 접근 방식
    • 다중 접근 프로토콜을 사용하여 링크 접근을 조정한다. 이는 여러 장치가 동일한 무선 채널을 공유할 때 충돌을 피하고 효율적으로 통신할 수 있게 한다.
  • 특성
    • 다양한 전송 속도와 거리, 주파수 대역을 가진다.
    • 무선 링크의 전송 속도는 네트워크의 요구 사항과 사용 환경에 따라 다를 수있다.

Characteristics of Selected Wireless

Element of a wireless network

Infrastructure mode(인프라 모드)

  • 기지국 역할

    • 기지국은 모바일 장치(스마트폰, 노트북 등)를 유선 네트워크에 연결한다.
    • 이는 기지국이 모바일 장치와 유선 네트워크 사이의 중개 역할을 수행함을 의미한다.
  • 핸드오프(Handoff)

    • 핸드오프는 모바일 장치가 연결을 유지하면서 한 기지국에서 다른 기지국으로 전환하는 과정
    • 모바일 장치가 이동하면서 기존 기지국과의 연결을 끊고 새로운 기지국과 연결하여 유선 네트워크에 지속적으로 연결되도록 한다.

Ad Hoc Mode(애드혹 모드)

  • 기지국 없음
    • 애드혹 모드에서는 중앙 기지국이 존재하지 않는다. 즉, 각 장치들이 독립적을 통신한다.
  • 노드 간의 직접 통신
    • 노드들을 링크 범위 내에서 다른 노드와 직접 통신할 수 있다. 이는 장치들 간의 직접 연결을 의미한다
  • 네트워크 자율 구성
    • 노드들은 스스로 조직되어 네트워크를 형성하고, 서로 간의 라우팅을 처리한다. 각 노드가 라우터 역할을 하여 데이터를 전달한다.

Wireless network taxonomy

infrastructure

  • Single hop
    • 호스트가 기지국(e.g. WiFi, 셀룰러)에 연결되고, 기지국이 더 큰 인터넷에 연결된다.
    • e.g. WiFi 액세스 포인트(AP) 또는 셀룰러 타워에 연결된 스마트폰
  • Multiple hops
    • 호스트가 더 큰 인터넷에 연결되기 위해 여러 무선 노드를 통해 데이터를 중계해야 할 수 있다.
    • e.g. mesh network, 여러 중간 노드를 통해 인터넷에 연결

no infrastructure

  • Single hop
    • 기지국이 없으며, 더 큰 인터넷에 연결되지 않는다. 대신, 장치들 간의 직접 연결이 이루어진다.
    • e.g. 블루투스, ad hoc 네트워크
  • Multiple hops
    • 기지국 없이 더 큰 인터넷에 연결되지 않으며, 주어진 무선 노드에 도달하기 위해 여러 노드를 통해 데이터를 중계해야 한다.
    • e.g. 이동 애드혹 네트워크(MANET), 차량 애드혹 네트워크(VANET)

Wireless

Wireless link characteristic

무선 링크와 유선 링크의 중요한 차이점

  1. 신호 강도 감소(decreased signal strength)
    • 무선 신호는 물체를 통해 전파될 때 감쇠한다. 이것을 경로 손실(path loss)이라고 한다.
    • 물리적인 장애물이나 거리 증가로 인해 신호 강도가 약해진다.
  2. 다른 소스의 간섭(interference from other sources)
    • 무선 네트워크는 많은 장치들이 동일한 주파수 대역(e.g. 2.4 GHz)을 공유한다.
    • WiFi, 셀룰러 네트워크, 모터 등 여러 장치들이 간섭을 일으킬 수 있다.
  3. 다중 경로 전파(multiple propagation)
    • 무선 신호는 물체나 지면에 반사되어 여러 경로를 통해 수신기에 도달한다.
    • 이러한 반사로 인해 신호가 목적지에 약간 다른 시간에 도착하게 된다.

이러한 요인들은 무선 링크에서의 통신을 유선 링크보다 훨씬 더 어렵게 만든다. 심지어 point-to-point 통신에서도 이러한 문제들이 발생할 수 있다.

SNR: 신호 대 잡음비(Signal-to-Noise Ratio)

  • SNR는 신호 강도와 잡음 강도의 비율이다.
  • SNR이 클수록 잡음 속에서 신호를 추출하기가 더 쉬워진다. 따라서 높은 SNR은 좋은 것이다.

SNR과 BER 간의 상층 관계(SNR vs BER Tradeoffs)

  • BER(Bit Error Rate)는 비트 오류율로, 전송된 비트 중 오류가 발생하는 비율을 나타낸다.
  • SNR과 BER 사이에는 상충 관계가 있다. 즉, SNR이 증가하면 BER이 감소하고, 그 반대도 성립한다.

주어진 물리 계칭(given physical layer)

  • 송신 전력을 증가시키면 SNR이 증가하고, 이에 따라 BER이 감소한다.

주어진 SNR(given SNR)

  • 주어진 SNR에서 BER 요구사항을 충족하는 물리 계층을 선택하여 최대의 처리량을 달성할 수 있다.
  • e.g QAM256(8 Mbps), QAM16(4 Mbps), BPSK(1 Mbps) 등의 변조 기술과 속도 중에서 선택할 수 있다.

SNR과 BER 간의 상충 관계를 다루는 방법

  • 이동성에 따라 SNR이 변할 수 있기에, 물리 계층을 동적으로 조정해야 할 필요가 있다. 이는 변조 기술과 속도를 조정하는 것을 포함한다.

여러 무신 송신자와 수신자가 만드는 추가적인 문제

Hidden Terminal Problem(숨겨진 터미널 문제)

  • e.g.
    • A, B, C 세 노드가 있다.
    • A, B는 서로의 신호를 들을 수 있다.
    • B, C도 서로의 신호를 들을 수 있다
    • A, C는 서로의 신호를 들을 수 있다
  • 문제
    • 만일 A, C가 동시에 B에게 데이터를 전송하려고 하면, B는 두 신호의 충돌로 인해 데이터를 제대로 수신 못할 수 있다.
    • A, C는 서로의 신호를 들을 수 없기에 충돌이 발생하는지 인식하지 못한다. 따라서 A와 C는 자신들이 문제를 일으키고 있다는 사실을 모른다.

Signal Attenuation(신호 감쇠)

  • e.g.
    • A, B, C 노드가 있다.
    • A, B는 서로의 신호를 들을 수 있다.
    • B, C도 서로의 신호를 들을 수 있다.
    • 하지만 A와 C는 서로의 신호를 들을 수 없다.
  • 문제
    • A와 C는 서로의 신호를 들을 수 없기에 B에게 데이터를 전송할 때 B에서 충돌이 발생할 수 있다.
    • B는 두 신호를 모두 들을 수 있기에 충돌을 감지할 수 있다.
    • A와 C는 서로의 신호를 들을 수 없기에 자신들의 신호가 B에서 충돌하는지 알 수 없다.
  • 그래프 설명
    • 그래프에서 A의 신호 세기와 C의 신호 세기가 공간에 따라 다르게 변하는 것을 보여준다.
    • B는 A와 C의 신호를 모두 듣지만, A와 C는 서로의 신호를 듣지 못하는상황을 나타낸다.

Code Division Multiple Access(CDMA)

  • 개념
    • 고유 코드: 각 사용자에게 고유한 "코드"가 할당된다. 이를 코드 세트 분할이라고 한다.
    • 공유 주파수: 모든 사용자가 동일한 주파수를 공유하지만, 각 사용자는 데이터를 인코딩하기 위해 고유의 "chipping" 시퀀스(즉, 코드)를 사용한다.
  • 장점
    • 동시 전송: 여러 사용자가 동시에 존재하고 전송할 수 있으며, 코드가 직교(orthogonal) 인 경우 최소한의 간섭으로 동작할 수 있다
  • 인코딩
    • 내적(inner product): (원본 데이터) x (칩핑 시퀀스)
  • 디코딩
    • 내적 합계(summed inner product): (인코딩된 데이터) x (칩핑 시퀀스)

WiFi: 802.11 wireless LANs

802.11 LAN archiecture

  • 기본 개념

    • 무선 호스트(wireless host): 무선 네트워크에 연결된기기(e.g. 스마트폰, 노트북 등)
    • 기지국(base station): 무선 호스트가 통신하는 장치로, 흔히 AP(Access Point)라고 불림
  • 주요 구성 요소

    • 기본 서비스 세트(BSS, Basic Service Set) aka "cell"
      • 무선 호스트(wireless hosts): 무선 네트워크에 연결된 사용자 기기들
      • 액세스 포인트(AP: Access Point): BSS 내에서 무선 호스트와 유선 네트워크 간의 통신을 중계하는 기지국
      • ad hoc mode: BSS에서 호스트들만 존재하고, AP가 없는 모드, hosts only.
  • 네트워크 구성

    • BSS1, BSS2
      • 여러 개의 BSS가 스위치나 라우터를 통해 서로 연결되어 있음
      • 각 BSS는 독립적으로 동작하며, AP를 통해 유선 네트워크와 연결됨

802.11: Channels, assocation

채널

  • 스펙트럼 분할: 다양한 주파수에서 채널로 나뉨
    • AP 관리자: AP의 주파수를 선택
    • 간섭 가능성: 인근 AP와 같은 채널을 선택할 수 있음

호스트 연결 절차

  • 도착한 호스트: AP와 연동(associate)해야 함
    1. 채널 스캔: 호스트는 채널을 스캔하며, beacon frames을 청취
      • beacon frames에는 AP의 이름(SSID)과 MAC 주소가 포함됨
    2. AP 선택: 연동할 AP를 선택
    3. 인증 수행: 보통 인증 절차를 수행
    4. DHCP 실행: AP의 서브넷에서 IP 주소를 얻기 위해 보통 DHCP를 실행

802.11: passive/active scanning

Passive Scanning(패시브 스캐닝)

  1. beacon frames 전송: AP에서 비컨 프레임을 전송
  2. 연동 요청 프레임 전송: H1에서 선택된 AP로 연동 요청 프레임(Association Request frame)을 전송
  3. 연동 응답 프레임 수신: 선택된 AP에서 H1에게 연동 응답 프레임(Association Response frame)을 전송

Active Scanning(액티브 스캐닝)

  1. 프로브 요청 프레임 전송: H1이 프로브 요청 프레임(Probe Request frame)을 브로드 캐스트
  2. 프로브 응답 프레임 수신: AP들에서 H1에게 프로브 응답 프레임(Probe Response frame)을 전송
  3. 연동 요청 프레임 전송: H1이 선택된 AP로 연동 요청 프레임(Association Request frame)을 전송
  4. 연동 응답 프레임 수신: 선택된 AP에서 H1에게 연동 응답 프레임(Association Response frame)을 전송

IEEE 802.11: multiple access

충돌 방지

  • 충돌 회피: 2개 이상의 노드가 동시에 전송하는 것을 피하기 위해 노력한다.

CSMA(Carrier Sense Multiple Access)

  • 전송 전 감지: 다른 노드가 이미 전송 중인 신호를 감지하고 전송을 시작하지 않는다.

충돌 감지 없음

  • 충돌 감지 어려움: 강한 전송 신호와 약한 수신 신호로 인해 충돌을 감지하기 어렵다
  • 모든 충돌을 감지할 수 없음: 숨겨진 터미널 문제와 페이딩으로 인해 모든 충돌을 감지할 수 없다.

목표

  • 충돌 회피: CSMA/CA(Collision Avoidance)를 통해 충돌을 피하는 것이 목표

IEEE 802.11 MAC Protocol: CSMA/CA

802.11 송신지(Sender)

  1. 채널이 DIFS 동안 비어 있는 경우
    • 프레임 전체를 전송한다.(CD 없음)
  2. 채널이 바쁠 경우
    • 무작위 백오프 타이머를 시작한다.
    • 채널이 비어 있는 타이머가 다운 카운트를 한다.
    • 타이머가 만료되면 전송을 시작한다.
    • ACK을 받지 못하면 무작위 백오프 간격을 증가시키고 2번 단계로 다시 돌아간다.

802.11 수신기(Receiver)

  • 프레임을 제대로 수신한 경우
    • SIFS 후 ACK을 반환한다.(숨겨진 터미널 문제 때문에 ACK이 필요함)

Avoiding collisions

  • 개념 (Idea)

    • 송신기(Sender) 가 데이터 프레임을 전송하기 위해 작은 예약 패킷을 사용하여 채널 사용을 "예약"합니다.
  • 과정(Process)

    1. 송신기는 먼저 작은 전송 요청 (RTS: Request to Send) 패킷을 CSMA를 사용하여 기지국 (BS)으로 전송합니다.
      • RTS 패킷은 여전히 서로 충돌할 수 있지만, 짧은 패킷이기 때문에 그 영향은 작습니다.
    2. 기지국 (BS)는 RTS에 응답하여 전송 허가 (CTS: Clear to Send)를 브로드캐스트합니다.
    3. CTS는 모든 노드에 들립니다.
      • 송신기는 데이터 프레임을 전송합니다.
      • 다른 스테이션들은 전송을 지연합니다.

Collision Avoidance: RTS-CTS exchange

802.11 frame: addressing

802.11 프레임의 주소 체계에 대해 설명
각 프레임에는 여러 개의 주소 필드가 있으며, 각 주소는 서로 다른 용도로 사용된다.

각 주소 필드의 역할

  1. Address 1: 프레임을 수신할 무선 호스트 또는 AP의 MAC 주소입니다. 이 주소는 프레임이 어디로 갈지 지정합니다.
  2. Address 2: 프레임을 송신하는 무선 호스트 또는 AP의 MAC 주소입니다. 이 주소는 프레임이 어디서 왔는지 나타냅니다.
  3. Address 3: AP가 연결된 라우터 인터페이스의 MAC 주소입니다. 이 주소는 프레임이 더 큰 네트워크로 나가기 위한 라우터의 주소를 나타냅니다.
  4. Address 4: 애드 혹 모드에서만 사용됩니다. 애드 혹 네트워크에서는 노드들이 직접 통신하므로 추가적인 주소가 필요합니다.

802.11 WiFi 프레임 주소 체계

  • address 1 (AP MAC addr): 프레임을 수신할 AP의 MAC 주소
  • address 2 (H1 MAC addr): 프레임을 송신하는 호스트 H1의 MAC 주소
  • address 3 (R1 MAC addr): AP가 연결된 라우터 R1의 MAC 주소

802.3 Ethernet 프레임 주소 체계

  • MAC dest addr (R1 MAC addr): 라우터 R1의 MAC 주소
  • MAC source addr (H2 MAC addr): 다음 홉(또는 송신 호스트)의 MAC 주소

프레임 타입(RTS, CTS, ACT, Data)

  • RTS (Request To Send): 작은 예약 패킷으로 채널 사용을 예약합니다.
  • CTS (Clear To Send): RTS에 대한 응답으로 채널 사용을 허가합니다.
  • ACK (Acknowledgement): 데이터 프레임이 성공적으로 수신되었음을 확인합니다.
  • Data: 실제 데이터를 포함한 프레임.

802.11: mobility within same subnet

  • H1이 동일한 IP 서브넷 내에 있을 때:

    • H1이 동일한 IP 서브넷 내에 남아 있으면, IP 주소를 변경할 필요가 없습니다. 이는 네트워크의 주소 체계가 변경되지 않기 때문에 사용자가 지속적으로 연결을 유지할 수 있음을 의미합니다.
  • 스위치의 역할:

    • 스위치는 H1이 어떤 AP (액세스 포인트)와 연결되어 있는지 파악해야 합니다.
    • 스위치는 셀프 러닝 메커니즘을 사용합니다. 즉, 스위치는 H1로부터 프레임을 수신하면 H1을 도달할 수 있는 스위치 포트를 "기억"합니다.

802.11: advanced capabilities

속도 적응(Rate Adaptation)

  • 설명

    • 속도 적응은 무선 호스트가 이동하면서 신호 대 잡음 비율(SNR)이 변할 때 전송 속도(물리 계층 변조 기술)를 동적으로 변경하는 기능입니다.
    • 기지국과 모바일 장치는 이동 중에 SNR에 따라 전송 속도를 조정합니다.
  • 두 가지 주요 과정

    1. SNR 감소 및 BER 증가:

      • 모바일 장치가 기지국에서 멀어지면 SNR이 감소하고, 이로 인해 비트 오류율(BER)이 증가합니다.
    2. BER이 너무 높을 때:

      • BER이 너무 높아지면, 시스템은 더 낮은 전송 속도로 전환하여 BER을 낮춥니다. 이는 낮은 SNR에서 더 신뢰성 있는 통신을 유지하기 위함입니다.

# 802.11: advanced capabilities

전력 관리(Power Management)

  • node-to-AP 메시지:

    • node-to-AP: "나는 다음 비콘 프레임(beacon frame)까지 잠을 잘 거야"
      • 무선 노드가 AP(Access Point)에게 자신이 잠자리에 들 것임을 알립니다.
      • 이 메시지를 받으면 AP는 이 노드에게 프레임을 전송하지 않습니다.
      • 노드는 다음 비콘 프레임 전에 깨어납니다
  • 비콘 프레임 (Beacon Frame):

    • 비콘 프레임:
      • 비콘 프레임은 AP에서 주기적으로 전송되는 프레임으로, 네트워크 상태 정보를 담고 있습니다.
      • 여기에는 AP에서 모바일 장치로 전송 대기 중인 프레임의 목록이 포함됩니다.
      • 만약 AP에서 모바일 장치로 전송할 프레임이 있으면 노드는 깨어있는 상태를 유지합니다. 그렇지 않으면, 노드는 다음 비콘 프레임까지 다시 잠자리에 듭니다.

Personal area networks: Bluetooth

  • 범위: 반경 10m 이내의 거리에서 작동
  • 케이블 대체: 마우스, 키보드, 헤드폰 등의 케이블을 대체
  • Ad hoc 모드: 인프라가 필요 없음
  • 주파수 대역: 2.4~2.5 GHz ISM 주파수 대역에서 작동, 최대 3 Mbps 속도 지원
  • 마스터/클라이언트 장치:
    • 마스터 장치(M): 클라이언트 장치를 폴링하고 클라이언트 전송 요청을 승인
    • 클라이언트 장치(C): 마스터 장치의 제어를 받음
    • Parked 장치(P): 비활성 상태의 장치

  • TDM (Time Division Multiplexing):
    • 625 마이크로초 슬롯: 각 장치는 시간 슬롯을 이용하여 데이터를 전송합니다.
  • FDM (Frequency Division Multiplexing):
    • 송신자는 79개의 주파수 채널을 사용합니다. 각 슬롯마다 알려진, 의사 랜덤 순서로 주파수를 변경하며 스프레드 스펙트럼을 구현합니다.
    • 피코넷에 속하지 않은 다른 장치나 장비는 일부 슬롯에서만 간섭을 일으킵니다.
  • Parked Mode:
    • 클라이언트 장치는 '잠자기(park)' 모드로 전환할 수 있으며 나중에 깨어납니다.(배터리를 절약하기 위함).
  • Bootstrapping:
    • 노드들은 피코넷에 자동으로 자가 조립됩니다(플러그 앤 플레이).

4G/5G celluar networks

  • 4G/5G 셀룰러 네트워크는 넓은 지역에 걸친 모바일 인터넷 솔루션으로 자리잡고 있다.
  • 4G/5G 셀룰러 네트워크는 널리 배포되고 사용되고 있다.
  • 2019년 기준으로 모바일 브로드밴드 연결 장치가 고정 브로드밴드 연결 장치보다 5배 더 많습니다. 이는 모바일 브로드밴드 사용이 고정 브로드밴드 사용을 능가하고 있음을 나타냅니다.
  • 4G 네트워크의 가용성은 한국에서는 97%, 미국에서는 90%입니다. 이는 이 두 나라에서 4G 네트워크가 거의 항상 사용할 수 있음을 의미합니다.
  • 4G/5G 네트워크의 전송 속도는 수백 Mbps에 달할 수 있습니다. 이는 매우 빠른 데이터 전송 속도를 의미합니다.
  • 4G/5G 네트워크의 기술 표준은 3GPP(3rd Generation Partnership Project)에서 정의됩니다.
  • 4G는 LTE(Long-Term Evolution) 표준을 사용합니다. LTE는 4G 네트워크의 기술 표준 중 하나로, 높은 데이터 전송 속도와 효율성을 제공합니다.

4G/5G cellular networks

유사점(similarities to wirted internet)

  1. 유선 인터넷과 마찬가지로, 엣지(edge)와 코어(core) 구분이 존재하지만, 둘 다 동일한 통신 사업자에 속한다.
  2. 글로벌 셀룰러 네트워크는 여러 네트워크가 연결된 네트워크이다.
  3. HTTP,DNS,TCP,UDP,IP,NAT, 데이터/제어 평면의 분리, SDN, 이더넷, 터널링 등 앞서 학습한 프로토콜이 널리 사용된다.
  4. 유선 인터넷과 상호 연결된다.

차이점(differences from wired internet)

  1. 무선 링크 계층이 다르다.
  2. 이동성이 일급 서비스로 제공된다.
  3. 사용자의 정체성이 SIM 카드를 통해 확인된다.
  4. 사용자는 셀룰러 제공자에게 구독을 한다.
    • "홈 네트워크"와 방문 네트워크에서의 로밍 개념이 강하다.
    • 인증 인프라와 통신 사업자 간 정산을 통한 글로벌 액세스가 가능하다.

Elements of 4G LTE architecture

Mobile device(모바일 장치)

  • 스마트폰, 태블릿, 노트북, IoT 장치 등: 4G LTE 라디오를 탑재한 모든 장치
  • 64비트 국제 모바일 가입자 식별자(IMSI): SIM(가입자 신분 모듈) 카드에 저장됨
  • LTE 용어:
    • 사용자 장비(UE, User Equipment): LTE 네트워크에서 사용되는 장치

Base station: eNode-B

  • 기지국은 통신 사업자 네트워크의 엣지(말단)에 위치하여, 무선 신호를 통해 모바일 장치와 직접 통신한다.
  • 기지국은 무선 라디오 자원을 관리하고, 자신의 커버리지 영역(셀)에 있는 모바일 장치들을 관리한다.
  • 기지국은 다른 네트워크 요소들과 협력하여 장치 인증을 조정한다.
  • WiFi 액세스 포인트(AP)와 유사하지만 다음과 같은 차이점이 있다.
  • LTE 용어로 기지국은 eNode-B 라고 불린다.

Home Subscriber Service(HSS)

  • HSS는 자사 네트워크를 "홈 네트워크"로 사용하는 모바일 장치에 대한 정보를 저장
  • 여기에는 사용자 프로필, 인증 정보, 서비스 구독 정보 등이 포함된다.
  • HSS는 MME(Mobility Management Entity)와 협력하여 장치 인증을 수행한다.
  • 이는 사용자가 네트워크에 접속할 때 보안과 인증 절차를 통해 접근 권한을 확인하는 과정이다.

Service Gateway(S-GW)

  • S-GW는 모바일 장치와 인터넷 간의 데이터 경로에 위치한다.
  • 모바일 장치에서 인터넷으로 데이터를 전송하거나, 인터넷에서 모바일 장치로 데이터를 전송할 때 경유하는 중간 지점이다.

PDN Gateway(P-GW)

  • P-GW는 모바일 셀룰러 네트워크로의 게이트웨이 역할을 한다.
  • 외부 인터넷과 셀룰러 네트워크를 연결하는 중요한 지점이다.
  • P-GW는 다른 인터넷 게이트웨이 라우터와 유사한 역할을 한다.
  • 네트워크 트래픽을 라우팅하고 관리한다.
  • P-GW는 네트워크 주소 변환(NAT) 서비스를 제공한다.
  • 이는 내부 네트워크의 사설 IP 주소를 공용 IP 주소로 변환하여 인터넷과 통신할 수 있도록 한다.

other router

  • 다른 라우터들은 터널링을 광범위하게 사용한다.
  • 터널링은 데이터를 캡슐화하여 네트워크를 통해 안전하고 효율적으로 전송하는 기술이다.

Mobility Management Entity(MME)

  • MME는 모바일 홉 네트워크의 HSS(Home Subscriber Service)와 협력하여 장치 인증을 수행한다.
  • 여기에는 장치-네트워크 간 및 네트워크-장치 간의 인증이 포함된다.
  • MME는 모바일 장치 관리를 담당한다.
    • 셀 간의 장치 핸드오버를 관리한다. 이는 사용자가 이동할 때 네트워크 연결이 끊기지 않도록 하는 중요한 과정이다.
    • 장치의 위치를 추적하고 페이징을 통해 위치 정보를 갱신한다.
  • MME는 모바일 장치에서 P-GW(PDN Gateway)로의 경로(터널링)를 설정한다.
  • 이를 통해 데이터가 올바른 경로로 전송될 수 있도록 보장한다.

LTE: data plane control plane separation

제어 평면(Control Plane)

  1. 새로운 프로토콜

    • 이동성 관리, 보안, 인증 등을 위한 새로운 프로토콜을 사용한다.
  2. 구성 요소와 역할

    • MME(Mobility Management Entity): 이동성 관리와 인증을 담당한다.
    • HSS(Home Subscriber Service): 사용자 정보를 저장하고 MME와 협력하여 인증을 수행한다.
    • S-GW(Service GateWay): 데이터 전송 경로를 관리한다.
    • P-GW(PDN Gateway): 외부 네트워크와의 연결을 관리한다.

데이터 평면(Data Plane)

  1. 새로운 프로토콜
    • 링크 계층과 물리 계층에서 새로운 프로토콜을 사용한다.
  2. 터널링의 광범위한 사용
    • 이동성을 지원하기 위해 터널링을 광범위하게 사용한다.
    • 데이터가 모바일 장치에서 인터넷으로 전달될 때 IP 터널을 통해 전송된다.
  3. 구성 요소와 역할
    • 기지국(Base Station): 모바일 장치와 직접 통신하며, 데이터 전송을 시작한다.
    • S-GW(Serving Gateway): 기지국과 P-GW 사이의 데이터 경로를 관리한다.
    • P-GW(PDN Gateway): 외부 네트워크로의 게이트웨이 역할을 한다.

LTE data plane protocol stack: first hop

LTE 링크 계층 프로토콜

  1. packet data convergence
    • 헤더 압축(Header Compression)
      • 데이터 패킷의 헤더 크기를 줄여 전송 효율을 높인다.
    • 암호화(Encryption)
      • 데이터의 보안을 유지하기 위해 암호화를 수행한다.
  1. Radio Link Control(RLC) Protocol:
    • 단편화/재조립(Fragmentation/Reassembly)
      • 큰 데이터 패킷을 작은 조각으로 나누고, 이를 다시 조립하여 원래의 데이터로 복원
    • 신뢰할 수 있는 데이터 전송(Reliable Data Transfer)
      • 데이터 전송 과정에서 발생할 수 있는 오류를 감지하고 수정하여 신뢰할 수 있는 전송을 보장한다.
  1. Medium Access
    • 요청 및 무선 전송 슬롯 사용
      • 데이터 전송을 위해 무선 자원을 요청하고 할당받은 슬롯을 사용하여 데이터를 전송

LTE radio access network

  1. 다운스트림 채널
    • 주파수 채널 내에서 FDM(주파수 분할 다중화)과 TDM(시간 분할 다중화)을 사용하여 데이터를 전송한다.
    • OFDM(직교 주파수 분할 다중화(은 각 채널 간의 간섭을 최소화하기 위해 "직교" 성질을 이용한다.
  2. 업스트림(Upstream)
    • 업스트림 데이터 전송도 OFDM과 유사하게 FDM과 TDM을 사용한다.
  3. 할당된 시간 슬롯
    • 각 활성 모바일 장치는 12개의 주파수에 걸쳐 두 개의 이상의 0.5 밀리초 시간 슬롯을 할당받는다.
  4. 스케줄링 알고리즘
    • 스케줄링 알고리즘은 표준화되어 있지 않으며, 각 통신 사업자가 자체적으로 결정한다.
  5. 데이터 전송 속도
    • 각 장치당 최대 수백 Mbps의 데이터 전송 속도를 달성할 수 있다.

LTE data plane protocol stack: packet core

터널링(Tunneling)

  1. 모바일 데이터그램 캡슐화(Mobile Datagram Encapsulation)

    • GPRS Tunneling Protocol(GTP)을 사용하여 모바일 데이터그램을 캡슐화한다.
    • 캡슐화된 데이터그램은 UDP 데이터그램 안에 넣어 S-GW로 전송된다.
  2. S-GW의 재터널링

    • S_GW는 받은 데이터그램을 다시 캡슐화하여 P-GW로 전송한다.
  3. 이동성 지원

    • 모바일 사용자가 이동할 때 터널링 엔드포인트만 변경된다.
    • 즉, 사용자가 이동하더라도 데이터 전송 경로를 유지할 수 있다.

LTE data plane: associating with a BS

  1. 기지국이 기본 동기화 신호를 모든 주파수에서 매 5ms마다 방송함
    • 여러 통신사들이 기지국이 동기화 신호를 방송할 수 있다.
    • 이는 모바일 장치가 기지국의 신호를 찾고 동기화할 수 있도록 한다.
  2. 모바일 장치가 기본 동기화 신호를 찾고, 같은 주파수에서 두 번째 동기화 신호를 찾음
    • 모바일 장치는 기지국이 방송하는 채널 대역폭, 구성, 기지국의 셀룰러 통신사 정보 등의 추가 정보를 수신한다.
    • 여러 기지국과 여러 셀룰러 네트워크에서 정보를 받을 수 있다.
  3. 모바일 장치가 연결할 기지국을선택함
    • e.g. 홈 통신사를 선호하는 경우 해당 통신사의 기지국을 선택한다.
  4. 추가적인 단계가 필요함
    • e.g. 인증, 상태 설정, 데이터 평면 설정 등을 수행해야 한다.

LTE mobiles: sleep modes

라이트 슬립(light sleep)

  1. 비활성 상태가 100ms 지속된 후에 라이트 슬립 모드로 전환됨
    • 모바일 장치가 100ms 동안 활동이 없으면 라이트 슬립 모드로 전환된다.
    • 주기적으로 깨어나서 다운스트림 전송(서버나 기지국에서 오는 데이터)이 있는지 확인한다. 이 주기는 약 100ms이다.

딥 슬립(deep sleep)

  1. 비활성 상태가 5~10초 지속된 후에 딥 슬립 모드로 전환됨
    • 모바일 장치가 5~10초 동안 활동이 없으면 딥 슬립 모드로 전환된다.
    • 딥 슬립 모드에서는 모바일 장치가 셀을 변경할 수 있으며, 이 경우 연결을 다시 설정해야 한다.

추가 설명

  • WiFi와 BlueTooth와 마찬가지로, LTE 모바일 장치는 배터리 절약을 위해 라디오를 슬립 모드로 전환한다.
    • 슬립 모드를 통해 모바일 장치는 불필요한 전력 소모를 줄이고 배터리 수명을 연장할 수 있다.

Global celluar network: a network of IP networks

홈 네트워크 HSS(Home Network HSS)

  1. 식별 및 서비스 정보 관리(Identity & Services Info)
    • 홈 네트워크와 로밍 중일 때 모두 사용자 식별 및 서비스 정보를 관리
    • HSS(Home Subscriber Server)는 사용자의 프로필 정보, 서비스 구독 정보 등을 저장하고 관리한다.

ALL IP

  1. 통신사 간 상호 연결
    • 통신사들은 서로 연결되며, 공용 인터넷 및 교환 지점에서 상호 연결된다.
    • 이는 모든 IP 기반의 네트워크를 통해 통신이 이루어지도록 한다.
  2. 레거시 2G, 3G
    • 모든 네트워크가 IP 기반인 것은 아니다. 2G와 3G 네트워크는 IP가 아닌 방식으로 처리된다.

What is mobility?

  1. 무 이동성(No Mobility)
    • 기기 간 네트워크 간 이동, 이동 중 전원 꺼짐
      • 장치가 네트워크 간을 이동하지만, 이동 중에는 전원이 꺼져있다. 이 경우 네트워크는 이동성 관리가 필요하지 않는다.
  2. 중간 이동성(Medium Mobility)
    • 동일 제공자 네트워크 내 동일 AP에서 이동
      • 장치가 동일한 AP(Access Point) 내에서 이동한다. 네트워크는 연결을 유지하기 위해 최소한의 이동성 관리를 필요로 한다.
  3. 중간-고 이동성(Medium-High Mobility)
    • 동일 제공자 네트워크 내 여러 AP 간 이동
      • 장치가 동일한 제공자 네트워크 내에서 여러 AP 간을 이동한다. 네트워크는 핸드오버를 관리하여 연결을 유지해야 한다.
      • 슬라이드에서 "우리가 관심 있는 부분" 이라고 강조한 부분이다.
  4. 고 이동성(High Mobility)
    • 여러 제공자 네트워크 간 이동, 연결 유지
      • 장치가 여러 제공자 네트워크 간을 이동하면서 지속적인 연결을 유지한다. 이 경우, 네트워크는 복잡한 이동성 관리와 핸드오버 기술을 필요로 한다.

Mobility Approaches

이동성 접근 방식(Mobility Approaches)
네트워크(라우터)가 처리하게 하기 -> 광범위한 확장성 문제

  1. 라우터가 방문 중인 모바일 노드의 이름, 주소 또는 번호를 광고
    • 라우터는 방문 중인 모바일 노드의 잘 알려진 이름, 주소(영구적인 32bit IP 주소) 또는 번호(e.g. 셀 번호)를 광고한다.
    • 이는 일반적인 라우팅 테이블 교환 과정을 통해 이루어진다.
  1. 인터넷 라우팅은 이미 이 작업을 할 수 있음
    • 인터넷 라우팅은 이미 이러한 작업을 변경 없이 수행할 수 있다.
    • 라우팅 테이블은 가장 긴 접두사 매칭(longest prefix match)을 통해 각 모바일의 위치를 나타낸다.

엔드 시스템이 처리하게 하기

  • "edge"에서의 가능성
    • 이동성 관리를 네트워크의 엣지, 즉 엔드 시스템에서 처리한다.
  1. 간접 라우팅(indirect routing)
    • 통신 방식: 발신자(통신 상대)에서 모바일 장치로의 통신이 홈 네트워크를 거쳐 원격 모바일 장치로 전달된다.
    • 절차
      1. 발신자는 모바일 장치가 있는 홈 네트워크로 데이터를 보낸다.
      2. 홈 네트워크는 데이터를 원격 모바일 장치로 전달된다.
  1. 직접 라우팅(direct routing)
    • 통신 방식: 발신자가 모바일 장치의 외부 주소를 받아서 직접 모바일 장치로 데이터를 보낸다.
    • 절차
      1. 발신자는 모바일 장치의 외부 주소를 획득한다.
      2. 발신자는 획득한 주소를 사용하여 데이터를 직접 모바일 장치로 보낸다.





Home network, visited network: 4G/5G

홈 네트워크(Home Network)

  • 홈 모바일 통신사 네트워크(Home Mobile Carrier Network)
    • 사용자가 가입한 기본 네트워크이다.
    • 사용자는 셀룰러 제공자와 유료 서비스 계획을 가지고 있다.
    • 홈 네트워크의 HSS는 사용자의 식별 정보 및 서비스 정보를 저장한다.

방문 네트워크(Visited Network)

  • 방문 모바일 통신사 네트워크(Visited Mobile Carrier Network)
    • 사용자의 홈 네트워크가 아닌 다른 네트워크이다.
    • 방문 네트워크는 다른 네트워크와의 서비스 계약을 통해 방문하는 모바일 장치에 접근을 제공한다.

주요 요소 및 흐름

  1. 홈 네트워크
    • 사용자의 SIM 카드에는 글로벌 식별 정보가 포함되어 있으며, 홈 네트워크에 대한 정보도 포함되어 있다.
    • 홈 네트워크에서 사용자는 기본적으로 서비스를 이용한다
  2. 방문 네트워크
    • 사용자가 홈 네트워크를 벗어나 다른 네트워크 영역에 들어가면, 방문 네트워크에서 로밍을 통해 서비스를 제공한다.
    • 방문 네트워크는 홈 네트워크와의 협력을 통해 사용자의 인증 및 서비스 접근을 관리한다.
  3. 공용 인터넷 및 교환 지점
    • 홈 네트워크와 방문 네트워크는 공용 인터넷 및 교환 지점을 통해 연결된다.
    • 이는 글로벌 통신을 가능케한다.






Home Network, Visitied Network: ISP/WiFi

ISP/WiFi: 글로벌 "홈"의 개념이 없음
주요 내용

  1. ISP로부터의 자격 증명
    • e.g. 사용자 이름, 비밀번호 등이 장치나 사용자와 함께 저장된다.
  2. ISP의 국가 및 국제적 존재
    • ISP는 국가적, 국제적으로 네트워크를 제공할 수 있다.
  3. 다른 네트워크: 다른 자격 증명
    • 서로 다른 네트워크에서는 다른 자격 증명이 필요하다.
    • 일부 예외가 존재한다(e.g. eduroam)
  4. 4G와 유사한 이동성을 위한 아키텍처 존재
    • 모바일 IP와 같은 아키텍처가 존재하지만, 사용되지 않는다.



네트워크 접속 과정(Access Process)

  • 장치가 네트워크에 접속(Attach)
    • 장치가 네트워크에 접속할 때, 인증 액세스 서버를 통해 인증된다.
    • 공용 인터넷을 통해 다른 네트워크와 연결된다.담





Home network, visited network: generic







Registration: home needs to know where you are!

  1. 모바일 장치가 방문 네트워크의 이동성 관리자와 연결됨

    • 모바일 장치가 방문 네트워크에 접속하여 이동성 관리자와 연결한다.
    • 이 과정에서 방문 네트워크의 이동성 관리자가 모바일 장치의 위치 정보를 획득한다.
    • 방문 네트워크에서 할당된 NAT IP: 10.0.0.99

  2. 방문 네트워크의 이동성 관리자가 홈 네트워크의 HSS에 모바일 위치를 등록함

    • 방문 네트워크의 이동성 관리자는 모바일 장치의 위치 정보를 홈 네트워크의 HSS에 등록한다.
    • 이 과정은 공용 또는 사설 인터넷을 통해 이루어진다.


최종 결과(End Result)

  • 방문 네트워크의 이동성 관리자가 모바일 장치에 대한 정보를 가짐
    • 방문 네트워크의 이동성 관리자는 모바일 장치의 위치와 관련된 정보를 관리한다.

  • 홈 네트워크의 HSS가 모바일 장치의 위치를 알게됨
    • 홈 네트워크의 HSS는 모바일 장치가 어느 방문 네트워크에 있는지에 대한 위치 정보를 가지고 있다.

'학교수업 > 컴퓨터망' 카테고리의 다른 글

Chapter8: Security  (1) 2024.07.16
Chapter6: The Link Layer and LANs  (0) 2024.07.12
Chapter5 Network Layer: Control Plane  (0) 2024.07.09
Chapter4: Network Layer-Data Plane  (0) 2024.07.04
Chapter3: Transport Layer-2  (0) 2024.07.04

Link Layer: Introduction

용어 정의(Terminology)

  1. 호스트와 라우터(Hosts and Routers): 노드(Nodes)
    • 네트워크에서 데이터를 송수신하는 장치들
    • e.g. 컴퓨터, 서버, 라우터 등
  2. 통신 채널(Communication Channels): 링크(Links)
    • 인접한 노드들을 연결하여 통신 경로를 형성하는 채널
    • 유형
      • 유선(Wired) : 물리적인 케이블을 통해 연결되는 링크
      • 무선(Wireless) : 무선 주파수를 통해 연결되는 링크
      • LANs(로컬 에어리어 네트워크) : 근거리 통신망으로 제한된 범위 내에서 노드들을 연결한다.
  3. 계층-2 패킷(Layer-2 Packet): 프레임(Frame)
    • 데이터그램을 캡슐화하는 역할
    • 링크 계층에서 전송되는 데이터 단위

링크 계층의 책임

  • 데이터그램 전송(Transferring Datagram)
    • 한 노드에서 물리적으로 인접한 노드로 데이터그램을 링크를 통해 전송하는 책임이 있다.
    • 이는 네트워크 계층에서의 논리적 경로 설정과는 다르게, 물리적으로 인접한 노드 간의 실제 데이터 전송을 담당한다.

Link layer: context

데이터그램 전송(Datagram Transfer)

  • 다양한 링크 프로토콜을 통한 데이터그램 전송

    • 데이터그램은 통신 경로를 따라 다양한 링크 프로토콜을 통해 전송된다.
    • e.g. 첫 번째 링크에서는 WiFi를 사용하고, 다음 링크에서는 Ethernet을 사용할 수 있다.
  • 각 링크 프로토콜의 서비스

    • 각 링크 프로토콜은 서로 다른 서비스를 제공한다.
    • 예를 들어, 일부 프로토콜은 링크를 통해 신뢰성 있는 데이터 전송을 제공할 수 있고, 다른 프로토콜은 그렇지 않을 수 있다.

교통 비유

  • 여행경로

    • 프린스턴에서 로잔까지의 여행을 예로 들 수 있다.
    • 리무진: 프린스턴에서 JFK공항까지 이동
    • 비행기: JFK 공항에서 제네바까지 이동
    • 기차: 제네바에서 로잔까지 이동
  • 비유의 요소들

    • 관광객 = 데이터그램
      • 전송되는 데이터그램을 여행하는 관광객에 비유할 수 있다.
    • 운송 구간 = 통신 링크
      • 각각의 링크는 관광객이 이동하는 운송 구간과 같다.
    • 운송 수단 = 링크 계층 프로토콜
      • 각 링크에서 사용하는 프로토콜은 관광객이 이용하는 다양한 운송 수단에 비유할 수 있다.
      • WiFi, Ethernet
    • 여행사 = 라우팅 알고리즘
      • 데이터그램이 전송되는 경로를 결정하는 라우팅 알고리즘은 여행사가 여행 경로를 계획하는 것과 유사하다.

Link Layer: Services

프레이밍, 링크 접근(Framing, Link Access)

  • 데이터그램을 프레임에 캡슐화하고 헤더와 트레일러 추가

    • 링크 계층은 데이터 그램을 프레임이라는 단위로 캡슐화하고, 데이터의 시작과 끝을 나타내는 헤더와 트레일러를 추가한다.
  • 공유 매체일 경우 채널 접근

    • 여러 장치가 동일한 통신 매체를 공유하는 경우, 링크 계층은 각 장치가 언제나 통신 할 수 있는지 관리한다.
  • 프레임 헤더의 'MAC" 주소

    • 프레임의 헤더는 출발지와 목적지를 식별하기 위핸 MAC 주소가 포함된다.
    • MAC 주소는 IP 주소와는 다르며, 물리적인 네트워크 인터페이스를 식별한다.

인접 노드 간의 신뢰성 있는 전송

  • 이미 이 방법을 알고 있음
    • 인접 노드 간의 신뢰성 있는 데이터 전송은 잘 알려진 기술이다.
  • 비트 오류율이 낮은 링크에서는 거의 사용되지 않음
    • 비트 오류율이 낮은 유선 링크에서는 신뢰성 있는 전송이 거의 필요하지 않다.
  • 무선 링크: 높은 오류율
    • 무선 링크는 높은 오류율을 가지고 있어, 신뢰성 있는 전송이 중요하다.
  • 질문: 왜 링크 수준과 종단 간의 신뢰성을 모두 사용하는가?
    • 이 질문은 링크 계층과 전송 계층 간의 역할 분담에 대한 이해를 요구한다.
    • 링크 계층은 인접 노드 간의 데이터 전송을 신뢰성 있께 보장하며, 전송 계층은 종단 간의 신뢰성 있는 전송을 보장한다.

흐름제어(Flow Control)

  • 인접 송신 및 수신 노드 간의 페이싱
    • 링크 계층은 데이터 전송 속도를 조절하여 송신 노드와 수신 노드 간의 데이터 전송을 조화롭게 유지한다.
    • 이를 통해 데이터가 너무 빠르게 전송되어 수신 노드가 처리하지 못하는 상황을 방지한다.

오류 검출

  • 신호 감쇠, 잡음에 의해 발생하는 오류
    • 링크 계층은 신호 감쇠나 잡음으로 인해 발생하는 오류를 검출
  • 수신자가 오류를 검출하고, 재전송을 신호하거나 프레임을 폐기함
    • 수신 노드는 데이터 프레임의 오류를 검출하고, 송신 노드에게 재전송을 요청하거나 오류가 있는 프레임을 폐기한다.

오류 수정

  • 수신자가 비트 오류를 식별하고 수정함
    • 링크 계층은 수신 노드가 비트 오류를 식별하고 재전송 없이 오류를 수정할 수 있도록 한다.

반이중 및 전이중

  • 반이중 모드(Half-Duplex)
    • 링크 양쪽 끝의 노드가 데이터를 전송할 수 있지만, 동시에 전송할 수는 없다.
    • 한 번에 하나의 방향으로만 통신이 가능하다.
  • 전이중 모드(Full-Duplex)
    • 링크 양쪽 끝의 노드가 동시에 데이터를 전송할 수 있다.
    • 양방향으로 동시에 통신이 가능

링크 계층은 어디에 구현되는가?

각 호스트에 구현

  • 링크 계층은 네트워크에 연결된 모든 호스트에 구현
  • 네트워크 인터페이스 카드(NIC) 또는 칩에 구현*
  • 이더넷, WIFI 카드 또는 칩
  • 링크 계층 및 물리 계층 구현
  • 호스트 시스템 버스에 연결*
  • NIC는 호스트의 시스템 버스(PCI)를 통해 시스템에 연결
  • 하드웨어, 소프트웨어, 펌웨어의 조합*
  • 링크 계층 기능은 하드웨어, 소프트웨어, 펌웨어의 조합으로 구현

Interfaces communicating

송신 측(Sending Side)

  • 데이터그램을 프레임에 캡슐화
    • 송신 측에서 데이터그램은 프레임이라는 형식으로 캡슐화된다. 이는 링크 계층에서 이루어진다.
  • 오류 검사 비트, 신뢰성 있는 데이터 전송, 흐름 제어 추가
    • 송신 측은 프레임에 오류 검사 비트, 신뢰성 있는 데이터 전송을 위한 정보, 흐름 제어 정보를 추가한다.
    • 이를 통해 데이터 전송의 정확성과 신뢰성을 높인다.
  • 송신 측(Receiving Side)*
  • 오류 검사, 신뢰성 있는 데이터 전송, 흐름 제어 확인
    • 수신 측에서는 프레임을 수신한 후 오류가 있는지 확인하고, 신뢰성있는 데이터 전송과 흐름 제어를 수행한다.
  • 데이터그램을 추출하여 상위 계층으로 전달
    • 프레임에서 데이터그램을 추출하여 수신 측의 상위 계층으로 전달
    • 이는 주로 네트워크 계층으로 전달

Error Detection

EDC(Error Detection and Correction Bits): 오류 검출 및 수정 비트

  • e.g. 중복성(e.g. Redundancy)
    • EDC는 데이터그램에 추가되는 비트로, 주로 데이터의 중복성을 이용해 오류를 검출하고 수정한다.

D: 오류 검사를 통해 보호된 데이터

  • 헤더 필드를 포함할 수 있음
    • D는 오류 검사를 통해 보호되는 데이터로, 데이터그램의 본문뿐만 아니라 헤더 필드를 포함할 수 있다.

오류 검출의 한계

  • 100% 신뢰할 수 없음
    • 프로토콜이 일부 오류를 놓칠 수 있지만. 이는 매우 드물다.
  • 더 큰 EDC 필드는 더 나은 검출 및 수정 제공
    • EDC 필드가 클수록 더 효과적으로 오류를 검출하고 수정할 수 있다.

Parity Checking

단일 비트 패리티(Single Bit Parity)

  • 단일 비트 오류 검출
    • 패리티 비트를 사용하여 데이터 전송 중 발생할 수 있는 단일 비트 오류를 검출한다.
  • 짝수 패리티
    • 데이터 비트에서 1의 개수가 짝수가 되도록 패리티 비트를 설정한다.
    • 예를 들어, 데이터 비트가 '0111 0001 1010 1011' 이라면, 1의 개수가 9개로 홀수이므로 패리티 비트는 1으로 설정된다.
  • e.g.
    • 0111 0001 1010 1011: (데이터 비트) + '1' (패리티 비트)
    • 데이터 비트의 1의 개수가 짝수여야 하므로, 패리티 비트가 1로 설정된다.

2차원 비트 패리티(Two-Dimensional Bit Parity)

  • 단일 비트 오류 검출 및 수정
    • 2차원 패리티는 행과 열 모두에 패리티 비트를 추가하여 단일 비트 오류를 검출하고 수정할 수 있다.
  • 행 패리터와 열 패리티
    • 각 행과 열에 대해 별도의 패리티 비트를 계산한다.
    • e.g. 데이터 비트가 2차원 배열로 표현될 때, 각 행과 열의 1의 개수가 짝수가 되도록 패리티 비트를 설정

Internet Checksum

전송된 세그먼트에서 오류(e.g. 플립된 비트) 검출

송신 측(Sender)

  • UDP 세그먼트의 내용을 16비트 정수 시퀀스로 취급

    • UDP 헤더 필드와 IP 주소를 포함한 UDP 세그먼트의 내용을 16비트 정수 시퀀스로 변환
  • 체크섬: 세그먼트 내용의 합

    • 세그먼트 내용의 1의 보수 합을 계산하여 체크섬을 생성
  • 체크섬 값을 UDP 체크섬 필드에 삽입

    • 계산된 체크섬 값을 UDP 헤더의 체크섬 필드에 삽입

수신 측(Recevier)

  • 수신된 세그먼트의 체크섬 계산

  • 계산된 체크섬이 체크섬 필드 값과 일치하는지 확인

    • 계산된 체크섬이 수신된 세그먼트의 체크섬 필드 값과 일치하는지 확인
    • 일치하지 않으면(Not Equal): 오류가 검출되었음을 의미한다.
    • 일치(Equal): 오류가 검출되지 않았음을 의미하지만, 여전히 오류가 있을 가능성이 있다.

CRC(순환 중복 검사, Cyclic Redundancy Check)

  • CRC는 더 강력한 오류 검출 코딩 방식으로, 데이터 전송 시 발생할 수 있는 오류를 검출하는 데 사용

주요 요소

  • D: 데이터 비트(Data Bits)

    • 주어진 데이터 비트로, 이 비트들은 이진수로 생각
  • G: 비트 패턴(생성기)(Bit Pattern, Generator)

    • r+1 비트로 구성된 주어진 비트 패턴
  • R: CRC 비트

    • r개의 CRC 비트로, 데이터 비트에 추가되는 오류 검출 비트

과정

  1. 데이터 비트와 생성기 비트 패턴

    • 데이터 비트 D에 생성기 G를 사용하여 CRC 비트 R을 계산한다.
    • D의 끝에 r개의 0을 추가한 후, 이를 G로 나눈다. 여기서 나머지가 CRC 비트 R이 된다.
  2. CRC 비트 추가

    • 데이터 비트 D에 CRC 비트 R을 추가하여 <D,R>을 만든다.
    • 이렇게 만들어진 <D,R>은 G로 나누어 떨어져야 한다.
  3. 수신 측

    • 수신 측에서는 <D,R>을 수신하고, 이를 생성기 G로 나눈다.
    • 나머지가 0이 아니면 오류가 검출된다.

목표

  • r개의 CRC 비트 R을 선택하여 <D,R>이 G로 정확히 나누어지도록 한다(mod2)
  • 수신 측에서 G를 사용하여 <D,R>을 나눌 때, 나머지가 0이 아니면 오류가 발생했음을 의미한다.
  • CRC는 r + 1 비트 미만의 모든 버스트 오류를 검출할 수 있다.

CRC: example

multiple access protocols

다중 링크 프로토콜

  1. point-to-point 링크
    • 정의: 단일 송신자와 단일 수신자 사이의 직접 연결
    • 예시:
      • 이더넷 스위치와 호스트 간의 포인트 투 포인트 링크
      • 전화 접속 액세스를 위한 PPP(Point-to-Point Protocol)
  1. broadcast 링크(공유된 와이어 또는 매체)
    • 정의: 여러 장치가 동일한 통신 매체를 공유하여 데이터를 주고받음
    • 예시:
      • 구형 이더넷: 여러 장치가 동일한 케이블을 통해 데이터를 주고받음
      • 케이블 기반 액세스 네트워크의 업스트림 HFC: 여러 사용자가 케이블을 공유하여 인터넷에 액세스
      • 802.11 무선 LAN, 4G/5G, 위성: 여러 장치가 동일한 무선 주파수를 공유하여 데이터를 송수신

Multiple Access Protocols

  1. 단일 공유 브로드캐스트 채널

    • 여러 노드가 하나의 브로드캐스트 채널을 통해 데이터를 송수신한다.
    • 모든 노드가 동일한 채널을 공유하므로 동시에 전송을 시도할 때 충돌이 발생할 수 있다.
  2. 충돌(Collision)

    • 두 개 이상의 노드가 동시에 데이터를 전송하면 충돌이 발생한다.
    • 충돌이 발생하면 수신 노드는 두 개 이상의 신호를 동시에 수신하여 데이터를 제대로 인식할 수 없다.

다중 접속 프로토콜(Multiple Access Protocol)

  • 분산 알고리즘(Distributed Algorithm)

    • 노드가 채널을 어떻게 공유할지 결정하는 알고리즘이다.
    • 각 노드가 언제 데이터를 전송할 수 있는지 결정한다.
  • 채널 공유에 대한 통신

    • 채널 공유에 대한 통신은 채널 자체를 사용해야 한다.
    • 채널 공유를 조정하기 위한 별도의 채널(out-of-band 채널)은 없다.

An ideal multiple access protocol

주어진 조건
다중 접속 채널(Multiple Access Channel, MAC)

  • 전송 속도가 R bps(bits per second)인 채널

요구 조건(Desiderata)

  1. 단일 노드 전송
    • 하나의 노드가 전송을 원할 때, 해당 노드는 R의 속도로 전송할 수 있어야 한다.
  2. 다중 노드 전송
    • M개의 노드가 동시에 전송을 원할 때, 각 노드는 평균적으로 R/M의 속도로 전송할 수 있어야 한다.
  3. 완전 분산화(Fully Decentralized)
    • 특별한 노드가 필요없음
      • 전송을 조정하는 특별한 노드가 없어야 한다.
    • 시계나 슬롯의 동기화가 필요없음
      • 노드 간의 시계 동기화나 시간 슬롯의 동기화가 필요 없어야 한다.
  4. 단순성(Simple)
    • 프로토콜이 단순해야 한다.

MAC protocols: taxonomy

  1. 채널 분할(Channel Partitioning)

    • 채널을 더 작은 "조각"으로 나눔(시간 슬롯, 주파수, 코드)
    • 각 노드에게 고유하게 사용할 수 있도록 조각을 할당
  2. 랜덤 액세스(Random Access)

    • 채널을 나누지 않음, 충돌을 허용
    • 충돌에서 "복구"할 수 있는 메커니즘을 제공
  3. 차례로 전송(Taking Turns)

    • 노드가 차례로 전송을 함, 전송할 데이터가 많은 노드는 더 긴 시간 동안 전송할 수 있음

Channel Partitioning MAC protocols: TDMA

TDMA(Time Division Multiple Access)는 시간 분할 다중 접근 방식을 사용하여 채널에 접근

  1. 라운드 단위 접근

    • 모든 스테이션은 순서대로 라운드별로 채널에 접근
  2. 고정 길이 슬롯

    • 각 스테이션은 라운드 내에서 고정된 길이의 슬롯을 받는다.
    • 슬롯 길이는 패킷 전송 시간과 동일
  3. 미사용 슬롯

    • 사용되지 않은 슬롯은 비활성 상태가 된다.
  4. e.g.

  • 6개의 스테이션으로 구성된 LAN에서 1,3,4번 스테이션이 패킷을 전송하려고 한다.
  • 2,5,6은 비활성 상태로 남아있다.
  • 그림에서는 6개의 슬롯으로 구성된 프레임이 반복되며, 각각의 라운드에서 스테이션 1,3,4가 데이터를 전송하는 모습이 나타나 있다.

채널 분할 MAC 프로토콜: FDMA(Frequency Division Multiple Access)

FDMA는 주파수 분할 다중 접근 방식을 사용하여 채널에 접근

주요 특징

  1. 주파수 대역으로 분할된 채널 스펙트림

    • 채널 스펙트럼을 여러 개의 주파수 대역으로 나눈다.
  2. 고정 주파수 대역 할당

    • 각 스테이션에 구정된 주파수 대역이 할당된다.
  3. 미사용 전송 시간

    • 주파수 대역 내의 미사용 전송 시간은 비활성 상태로 남아 있다.
  4. e.g.

    • 6개의 스테이션으로 구성된 LAN에서 1,3,4번 스테이션이 패킷을 전송하려고 한다.
    • 주파수 대역 2,5,6은 비활성 상태로 남아 있다.

Random access protocols

random access protocol은 네트워크의 각 노드가 데이터를 전송할 때 사전에 조율하지 않고 임의로 채널에 접근할 수 있다.

  1. 전송 시점

    • 노드에 데이터 패킷이 있을 때, 채널 데이터 전송률 R을 최대한 활용하여 전송
    • 노드 간 사전 조율이 없다(no a priori coordination)
  2. 충돌(Collision)

    • 두 개 이상의 노드가 동시에 데이터를 전송할 때 충돌이 발생한다.
  3. 랜덤 접근 MAC 프로토콜이 지정하는 것

    • 충돌을 감지하는 방법
    • 충돌로부터 회복하는 방법(e.g. 지연된 재전송)
  4. 랜덤 접근 MAC 프로토콜의 예

    • ALOHA, slotted ALOHA, CSMA, CSMA/CD, CSMA/CA

Slotted ALOHA

가정 assumptions

  1. 프레임 크기 동일: 모든 데이터 프레임이 같은 크기를 가진다.
  2. 시간 슬롯: 시간이 동일한 크기의 슬롯으로 나뉜다. 각 슬롯의 길이는 한 프레임을 전송하는 데 걸리는 시간과 같다.
  3. 슬롯 시작 시점에 전송: 노드는 슬롯의 시작 시점에서만 전송을 시작할 수 있다.
  4. 노드 동기화: 모든 노드가 동일한 슬롯 타이밍에 동기화되어 있다.
  5. 충돌 감지: 두 개 이상의 노드가 동일한 슬롯에서 전송을 시도하면 모든 노드가 충돌을 감지할 수 있다.

운영 operation

  1. 프레임 전송: 노드가 새로운 프레임을 얻으면, 다음 슬롯에서 전송을 시도한다
  2. 충돌 없음: 충돌이 발생하지 않으면 노드는 다음 슬롯에서 새로운 프레임을 전송할 수 있다.
  3. 충돌 발생: 충돌이 발생하면 노드는 다음 슬롯에서 프레임을 재전송한다. 재전송은 성공할 때까지 각 슬롯마다 확률 p로 이루어진다.

장점

  1. 단일 활성 노드 전송

    • 단일 활성 노드는 채널의 전체 속도로 연속적으로 전송할 수 있다.
  2. 높은 분산화

    • 노드 간의 슬롯만 동기화되면 되므로 분산화되어 있다.
  3. 단순함

    • 구현이 간단하다

단점

  1. 충돌 및 슬롯 낭비

    • 충돌이 발생하여 슬롯이 낭비될 수 있다.
  2. 유휴 슬롯

    • 전송이 없는 유휴 슬롯이 발생할 수 있다.
  3. 충돌 감지 시간 문제

    • 노드가 패킷 전송 시간보다 짧은 시간 내에 충돌을 감지할 수 있다.
  4. 시계 동기화 필요

    • 슬롯 동기화를 위해 노드 간의 시계 동기화가 필요하다.

Slotted ALOHA: efficiency

Slotted ALOHA의 효율성은 많은 노드가 많은 프레임을 보내야 할 때, 성공적인 슬롯의 비율을 나타낸다.

기본 가정

  • N개의 노드가 있으며, 각 노드는 슬롯에서 확률 p로 전송을 시도한다.

성공 확률

  • 주어진 노드가 슬롯에서 성공할 확률: p(1-p)N-1
  • 어떤 노드라도 슬롯에서 성공할 확률: Np(1-p)N-1

최대 효율성

  • 최대 효율성을 찾기 위해, Np(1-p)N-1을 최대화하는 p값을 찾는다.
  • 많은 노드가 있는 경우, Np(1-p)N-1의 극한을 N이 무한대로 갈때마다 구한다.

max efficiency = 1/e ≈ 0.37

최대 효율성(max efficiency): 채널이 유용한 전송에 사용되는 비율이 최대 37프로이다.

Pure ALOHA

기본 개념

  • Unslotted ALOHA
    • 단순하고 동기화가 필요없다.
    • 프레임이 도착하면 즉시 전송한다.
  • 충돌 확률
    • 충돌 확률 증가
      • 동기화가 없기에 충돌 확률이 높아진다.
      • 프레임이 t0 시점에 전송될 때, 다른 프레임들이 [t0-1, t0+1] 구간에 전송되면 충돌이 발생할 수 있다.
      • t0 시점에서 전송된 프레임은 t0-1 시점에 시작된 프레임의 끝부분과 충돌하거나, t0+1 시점에 시작된 프레임의 시작부분과 충돌할 수 있다.
  • 효율성
    • Pure ALOHA 효율성
      • 최대 효율성은 18%이다.
      • 이는 Pure ALOHA에서 채널이 유용한 전송에 사용되는 비율이 최대 18%라는 의미이다.
      • Slotted ALOHA와 비교하여 효율성이 낮다. 이는 동기화가 없기에 충돌이 더 자주 발생하기 때문이다.

CSMA(Carrier Sense Multiple Access)

CSMA 기본 개념

  • 기본 CSMA
    • 전송 전에 채널을 청취한다.
    • 채널이 비어있으면: 전체 프레임을 전송
    • 채널이 사용 중이면: 전송을 연기한다.
    • 사람에 비유: 다른 사람을 방해하지 마세요

CSMA/CD(Collision Detection) 개념

  • CSMA/CD
    • 충돌이 발생했을 때 이를 감지한다.
    • 충돌 감지
      • 충돌이 발생하면 짧은 시간 안에 이를 감지한다.
      • 충돌한 전송은 중단되어 채널 낭비를 줄인다.
      • 유선에서는 충돌 감지가 쉽지만, 무선에서는 어렵다.
    • 사람의 비유: 예의 바른 대화자처럼 행동하세요.

CSMA: collisions

충돌 발생 가능성

  • 충돌 가능성
    • 캐리어 센싱이 있어도 충돌이 발생할 수 있다.
    • 캐리어 센싱: 네트워크 통신에서 노드가 데이터를 전송하기 전에 현재 통신 채널이 사용중인지 아닌지를 감지하는 과정
    • 전파 지연(propagation delay)
      • 두 노드가 동시에 전송을 시작할 때, 서로의 전송을 듣지 못할 수 있다.
      • 이로 인해 두 노드가 동시에 데이터를 전송하여 충돌이 발생할 수 있다.

충돌의 영향

  • 충돌 시
    • 패킷 전송 시간이 모두 낭비된다.
    • 거리 및 전파 지연
      • 충돌 확률을 결정하는 데 중요한 역할을 한다.
        • 노드 간의 거리와 신호가 이동하는 데 걸리는 시간이 충돌 가능성에 영향을 미친다.

예시 그림 설명

  • 공간 레이아웃
    • 여러 노드가 일렬로 배치되어 있다.
    • 각 노드는 t0 시점에 전송을 시작할 수 있으며, 전파 지연으로 인해 서로의 전송을 즉시 감지하지 못할 수 있다.
    • t1 시점에 이르러서야 충돌 여부를 알 수 있다.

CSMA/CD(Carrier Sense Multiple Access with Collision Detection)

  • CSMA/CD는 충돌을 감지하고 회피하여 네트워크에서 데이터를 효율적으로 전송하는 프로토콜

CSMA/CD의 동작 원리

  1. 채널 감지(Carrier Sensing)
    • 데이터를 전송하려는 노드는 먼저 채널이 비어있는지 확인
    • 채널이 비어 있으면 데이터를 전송하고, 사용 중이면 전송을 지연
  2. 충돌 감지(Collision Detection)
    • 데이터를 전송하는 동안 노드는 충돌이 발생했는지 감지
    • 충돌이 발생하면 즉시 전송을 중지한다.
  3. 전송 중단 및 재전송
    • 충돌이 감지되면, 노드는 전송을 중단하고 랜덤한 시간을 기다린 후 다시 전송을 시도한다. 이 랜덤한 대기 시간은 다른 노드와의 충돌 가능성을 줄이는 데 도움이 된다.

Ethernet CSMA/CD Algorithm 설명

Ethernet에서 CSMA/CD 알고리즘은 데이터 충돌을 감지하고 처리하는 방법을 정의한다. 알고리즘은 다음과 같은 단계로 구성된다.

  1. 프레임 생성: NIC는 네트워크 계층에서 데이터그램을 수신하고 프레임을 생성한다.
  2. 채널 감지
    • NIC는 채널이 비어 있는지 확인
      • 채널이 비어 있으면: 프레임 전송을 시작
      • 채널이 사용 중이면: 채널이 비어 있을 때까지 기다린 다음 전송을 시작한다.
  3. 충돌 없는 전송
    • NIC가 충돌 없이 전체 프레임을 전송하면, 해당 프레임 전송을 완료한다.
  4. 충돌 감지
    • NIC가 전송 중 다른 전송을 감지하면 전송을 중단하고, "잼 신호(jam signal)"를 보낸다.
  5. 이진 백오프(Binary Exponential Backoff)
    • 전송을 중단한 후, NIC는 이진 백오프 알고리즘을 적용
      • m번째 충돌 후, NIC는 {0,1,2, ... 2^m - 1} 범위에서 무작위로 K를 선택한다.
      • NIC는 K * 512 bit 시간 동안 대기한 후 다시 2단계로 돌아간다.
      • 충돌이 많을수록 대기 시간(백오프 간격)이 길어진다.

CSMA/CD efficiency

  • Tprop : 두 노드 간 최대 전파 시간(LAN에서의 최대 전파 지연)
  • ttrans: 최대 크기 프레임을 전송하는 데 걸리는 시간

효율성 공식

  • 효율성이 1로 수렴하는 경우
    • Tprop이 0으로 갈 때(즉, 전파 지연이 매우 작을 때)
    • Ttrans이 무한대로 갈 때(즉, 전송 시간이 매우 클 때)

추가 설명

  • 전파 지연이 작을 때: 데이터 전송이 빠르게 이루어지면서 충돌 감지 및 회복이 더 효율적이다.
  • 전송 시간이 클 때: 프레임을 전송하는 데 오랜 시간이 걸리므로 충돌이 발생할 가능성이 줄어들고, 충돌 발생 시 낭비되는 시간의 비율이 줄어든다.

"Taking Turns" MAC Protocols

channel partitioning MAC protocols

  • 효율적이고 공정한 채널 공유: 높은 부하에서 채널을 효율적이고 공정하게 나눈다.
  • 낮은 부하에서 비 효율적: 채널 접근의 지연과 1/N 대역폭 할당으로 인해 비효율적이다.
    e.g. 활성 노드가 하나뿐인 경우에도 모든 노드가 대기해야한다.

random access MAC protocols

  • 낮은 부하에서 효율적: 단일 노드가 채널을 완전히 활용할 수 있다.
  • 높은 부하에서 충돌 오버헤드: 여러 노드가 동시에 전송하려고 하면 충돌이 발생하면 오버헤드가 증가한다.

"taking turns" protocols

  • 두 가지 장점을 결합: 채널 파티셔닝과 랜덤 엑세스의 장점을 결합하여 낮은 부하와 높은 부하 모드에서 최적의 성능을 추구
  • 효율적이고 공정한 채널 공유: 활성 노드가 많을 때도 공정하게 채널을 나누며, 충돌을 최소화한다.
  • 낮은 부하에서 높은 효율성: 한 노드가 효율적을 채널을 사용할 수 있도록 한다.

**polling** - polling은 "taking turns" MAC 프로토콜 중 하나로, 마스터 노드가 다른 노드들에게 전송할 수 있는 기회를 순차적으로 부여하는 방식이다. 주로 단순한 장치와 함께 사용된다. 이 프로토콜의 주요 특징과 우려 사항은 다음과 같다. - 특징 1. 마스터 노드가 다른 노드를 초대 - 마스터 노드는 슬레이브 노드들을 순서대로 초대하여 데이터 전송을 하도록 한다. - 각 노드는 자신의 순서가 되었을 때만 데이터를 전송한다. 2. 주로 '덤프(dumb)' 장치와 함께 사용 - 단순한 장치들이 마스터 노드의 명령에 따라 순서대로 동작하기에 시스템이 복잡하지 않다. - 우려사항 1. Polling 오버헤드 - 마스터 노드는 각 노드를 초대하는 과정을 거쳐야 하므로 오버헤드가 발생 2. 지연(latency) - 각 노드가 자신의 순서를 기다려야 하므로 지연이 발생할 수 있다. 3. 단일 실패 지점(Single Point of Failure) - 마스터 노드가 고장 나면 전체 시스템이 동작하지 않게 된다.

**token passing** - "Taking Turn" MAC 프로토콜의 한 유형으로, 제어 토큰을 사용하여 순차적으로 노드 간에 전송 권한을 부여하는 방식이다. - 특징 1. 제어 토큰(Control Token) 사용 - 네트워크에서 데이터를 전송할 권한을 가진 특별한 메시지인 "토큰"을 사용한다. - 토큰은 노드 간에 순차적으로 전달되며, 전송이 끝나면 토큰을 다음 노드로 전달한다.

2. 토큰 메시지    
    - 토큰은 특별한 메시지로, 노드가 데이터를 전송할 수 있는 권한을 나타낸다.

- 우려사항 1. 토큰 오버헤드 - 토큰 자체가 네트워크를 통해 전달되므로 오버헤드가 발생한다. - 토큰을 전달하는 과정에서 네트워크 자원이 소모된다.

2. 지연(Latency)
    - 토큰이 각 노드를 순차적으로 지나가기에 지연이 발생할 수 있다.
    - 특정 노드가 토큰을 기다리는 동안 전송 지연이 발생할 수 있다.

<br>

3. 단일 실패 지점(Single Point of Failure)
    - 토큰이 손실되거나 고장 나면 네트워크 전체가 동작하지 않게 된다.
    - 토큰이 사라지면 네트워크는 데이터 전송 권한을 재설정해야한다.

Cable access networks: FDM, TDM and random access

  1. 다중 다운스트림 채널
    • FDM(Frequency Division Multiplexing)을 사용하여, 여러 개의 다운스트림(브로드캐스트) 채널을 통해 데이터를 전송
    • CMTS(Cable Modem Termination System)는 각 채널로 데이터를 전송하며, 각 채널은 최대 1.6 Gbps의 속도로 전송될 수 있다.

2. 다중 업스트림 채널 - 업스트림 채널에서는 여러 사용자가 동시에 데이터를 보낼 수 있다. 각 채널은 최대 1Gbps의 속도를 가질 수 있다. - 모든 사용자는 업스트림 채널 시간 슬롯을 위해 경쟁(random access)을 하거나, 특정 시간 슬롯에 할당(TDM)될 수 있다.

Cable access network

DOCSIS(Data Over Cable Service Interface Specification)는 케이블 TV 시스템을 통해 데이터 전송을 가능하게 하는 표준이다.

DOCSIS의 주요 특징

  1. FDM(Frequency Division Multiplexing)
    • 업스트림 및 다운스트림 주파수 채널을 사용하여 데이터를 전송한다. 이는 주파수 대역을 여러 개의 작은 채널로 나누어 각 채널을 통해 동시에 데이터를 전송할 수 있도록 한다.
  2. TDM(Time Division Multiplexing)
    • 업스트림에서는 시간 슬롯을 사용하여 데이터를 전송한다. 일부 슬롯은 곶정적으로 할당되고, 일부 슬롯은 경쟁을 통해 할당된다.
  3. 다운스트림 MAP 프레임
    • MAP 프레임은 특정 시간 구간 동안 업스트림 슬롯을 할당하는 데 사용된다. 예를 들어 t1에서 t2까지의 시간 구간 동안 어떤 슬롯이 할당되었는지에 대한 정보를 제공한다.
  4. 업스트림 슬롯 요청 및 데이터 전송
    • 케이블 모뎀이 업스트림 슬롯을 요청할 때는 미니 슬롯을 사용하여 요청 프레임을 전송한다. 그런 다음, 할당된 미니 슬롯을 사용하여 업스트림 데이터 프레임을 전송한다.
    • 데이터 전송 중 충돌이 발생할 경우, 랜덤 액세스(binary backoff) 방식을 사용하여 다시 전송을 시도한다.

그림 설명

  1. 케이블 헤드엔드(CMTS)
    • 케이블 네트워크의 중심 장치로, 모든 데이터 전송이 이곳을 통해 이루어진다.
  2. 다운스트림 채널
    • CMTS에서 각 가정으로 데이터가 전송되는 경로
  3. 업스트림 채널
    • 각 가정에서 CMTS로 데이터가 전송되는 경로
  4. 미니 슬롯
    • 업스트림 데이터 전송을 위한 작은 시간 단위. 이 시간 단위는 데이터 전송 요청을 포함하며, 이후 데이터 프레임 전송을 위해 할당된다.

Summary of MAC protocols

채널 분할(Channel Partitioning)

  1. 시간 분할(Time Division)
    • 각 장치가 고정된 시간 슬롯을 할당받아 데이터 전송
  2. 주파수 분할(Frequency Division)
    • 각 장치가 고정된 주파수 대역을 할당받아 데이터 전송

랜덤 액세스(Random Access)

  • ALOHA, Slotted ALOHA, CSMA, CSMA/CD, CSMA/CA

교대 방식(Taking Turns)

  1. 폴링(Pollings)
    • 중앙 노드가 다른 노드들에게 순서대로 전송을 초대
  2. 토큰 전달(Token Passing)
    • 토큰이라는 제어 메시지를 순차적으로 전달하여 데이터 전송 권한을 가짐
    • e.g. 블루투스, FDDI, 토큰 링

MAC addresses

IP 주소

  • 32-bit IP 주소: e.g. 128.119.40.136와 같은 형태
  • 네트워크 계층 주소: 네트워크 계층에서 인터페이스의 주소로 사용된다.
  • 레이어 3 포워딩: IP주소는 네트워크 계층(Layer 3)에서 패킷을 전달하는 데 사용됩니다.

MAC 주소

  • MAC(Media Access Control) 주소: LAN 주소, 물리 주소 또는 이더넷 주소로도 불린다.
  • 기능: 같은 서브넷 내에서 물리적으로 연결된 인터페이스 사이에서 프레임을 전달하는 데 "로컬"로 사용된다.
  • 48-bit MAC 주소: 대부분의 LAN에서 사용되며, 네트워크 인터페이스 카드(NIC) ROM에 저장되어 있다. 소프트웨어로도 설정 가능할 때가 있다.
  • 예시: 1A-2F-BB-76-09-AD와 같은 형태이다. 이는 16진수 표기법으로 사용하며, 각 숫자는 4비트를 나타낸다.

MAC addresses

  1. 고유한 48비트 MAC 주소
    • LAN의 각 인터페이스는 고유한 48비트 MAC 주소를 가지고 있다.
    • MAC 주소는 장치 간 데이터 프레임 전달을 위해 사용된다.
    • e.g. 1A-2F-BB-76-09-AD, 71-65-F7-2B-08-53
  2. 로컬 고유 32비트 IP 주소
    • 각 인터페이스는 로컬 네트워크에서 고유한 32비트 IP주소도 가지고 있다.
    • IP주소는 네트워크 계층에서 데이터 패킷을 전달하는 데 사용된다.
    • e.g. 137.196.7.78, 137.196.7.23
  3. LAN 환경
    • 슬라이드에서는 LAN 환경(유선 또는 무선)을 묘사하고 있으며, 여러 장치들이 고유한 MAC 주소와 IP 주소를 가지고 연결되어 있는 못브을 보여준다.

MAC addresses

  1. MAC 주소 할당 및 관리

    • IEEE가 관리: MAC 주소의 할당은 IEEE(Institute of Electrical and Electronics Engineers)에서 관리
    • 제조사가 MAC 주소 공간을 구매: 고유성을 보장하기 위해 제조사가 MAC 주소 공간의 일부를 구매
  2. 유추

    • MAC 주소: 사회 보장 번호(Social Security Number)와 유사하다. 고유한 식별자로서 장치에 할당된다.
    • IP 주소: 우편 주소와 유사하다. 네트워크 내에서 장치의 위치를 나타낸다.
  3. MAC 평탄 주소: 이동성

    • LAN 간 이동 가능: 한 LAN에서 다른 LAN으로 인터페이스를 이동할 수 있다.
    • IP 주소의 비이동성: IP주소는 이동할 수 없으며, 장치가 연결된 IP 서브넷에 의존한다.





ARP: address resolution protocol

Q. IP 주소를 알고 있을 때, 인터페이스의 MAC 주소를 어떻게 확인할 수 있을까?

ARP 테이블

  • 각 IP 노드의 테이블: LAN 내의 모든 IP 노드(호스트, 라우터)는 ARP 테이블을 가지고 있다.
  • IP/MAC 주소 매핑: ARP 테이블에는 일부 LAN 노드의 IP 주소와 MAC 주소 간의 매핑 정보가 저장된다.
    • 형식: <IP address; MAC address; TTL>



TTL(Time To Live)

  • TTL 정의: 주소 매핑이 기억되는 시간
  • 일반적인 TTL 값: 보통 20분 동안 유지된다.



ARP의 동작 방식

  1. IP 주소를 통한 MAC 주소 확인
    • IP 주소를 이용하여 해당 IP 주소에 대한 MAC 주소를 확인하기 위해 ARP 요청을 보낸다.

  1. ARP 요청 패킷
    • 네트워크에 브로드 캐스트 된다.
    • 대상 IP 주소를 가진 노드는 자신의 MAC 주소를 응답으로 보낸다.

  1. ARP 응답
    • 요청을 보낸 노드는 응답을 받고, 해당 IP 주소와 MAC 주소를 ARP 테이블에 저장

  1. TTL 이후
    • TTL 시간이 지나면, 매핑 정보는 삭제되며 다시 ARP 요청을 통해 갱신해야 한다.





ARP protocol in action

시나리오

  • 목적: 호스트 A가 호스트 B로 데이터그램을 보내고자한다.
  • 문제: 호스트 A가 ARP 테이블에 호스트 B의 MAC 주소가 없다

단계

  1. ARP 쿼리 브로드캐스트

    • 호스트 A가 LAN에 ARP 쿼리를 브로드캐스트한다.
    • ARP 쿼리에는 호스트 B의 IP 주소가 포함되어 있다.
    • 목적지 MAC 주소: FF-FF-FF-FF-FF-FF(브로드캐스트 주소로, LAN의 모든 노드가 이 쿼리를 받는다.)
    • 호스트 A의 ARP 테이블: 처음에는 호스트 A의 ARP 테이블에 호스트 B의 항목이 없다.

  2. ARP 쿼리 수신

    • LAN의 모든 노드가 ARP 쿼리를 수신한다.
    • 각 노드는 ARP 쿼리의 IP 주소가 자신의 IP 주소와 일치하는지 확인한다.

  3. 이더넷 프레임 세부 사항

    • 출발지 MAC 주소: 71-65-F7-2B-08-53 (호스트 A의 MAC 주소).
    • 출발지 IP 주소: 137.196.7.23 (호스트 A의 IP 주소).
    • 목적지 IP 주소: 137.196.7.14 (호스트 B의 IP 주소).








Routing to another subnet: addressing

시나리오:

  • 목적: 호스트 A가 호스트 B로 데이터그램을 라우터 R을 통해 보내고자 한다.
  • 포커스: IP(데이터그램)와 MAC(프레임) 계층에서의 주소 지정


가정:

  1. A는 B의 IP 주소를 알고 있다.
  2. A는 첫 번째 홉 라우터 R의 IP 주소를 알고 있다.
  3. A는 R의 MAC 주소를 알고 있다.






과정:

  1. IP 데이터 그램 생성
    • 호스트 A는 IP 소스 주소가 자신의 IP 주소(111.111.111.111)이고, 목적지 IP 주소가 B의 IP 주소(222.222.222.222)인 IP 데이터그램을 생성한다.

  1. 링크 계층 프레임 생성
    • 호스트 A는 A에서 B로 가는 IP 데이터그램을 포함하는 링크 계층 프레임을 생성한다.
    • 이 프레임의 목적지 MAC 주소는 라우터의 R MAC 주소(E6-E9-00-17-BB-4B) 이다.


  1. 프레임이 A에서 R로 전송됨
    • A가 생성한 프레임
      • 소스 MAC 주소: 74-29-9C-E8-F5-55 (A의 MAC 주소)
      • 목적지 MAC 주소: E6-E9-00-17-BB-4B (R의 MAC 주소)
      • IP 데이터그램
        • 소스 IP 주소: 111.111.111.111 (A의 IP 주소)
        • 목적지 IP 주소: 222.222.222.222 (B의 IP 주소)

  1. 프레임이 R에서 수신됨
    • 라우터 R은 프레임을 수신한다.
    • 프레임에서 데이터그램을 추출
      • 라우터 R은 프레임에서 IP 데이터그램을 제거하고, 이를 IP 계층으로 전달한다.


  1. R이 출발 인터페이스를 결정함
    • 라우터 R은 IP 데이터그램을 수신하고, 이 데이터그램의 소스 IP는 A, 목적지 IP는 B이다.
    • R은 이 데이터그램을 어느 인터페이스로 보낼지 결정한다.

  1. 데이터그램을 링크 계층으로 전달
    • 라우터 R은 A에서 B로 가는 IP 데이터그램을 링크 계층으로 전달한다.
    • 이를 위해 새로운 링크 계층 프레임을 생성한다.

  1. 프레임 생성
    • 소스 MAC 주소: 1A-23-F9-CD-06-9B (R의 MAC 주소)
    • 목적지 MAC 주소: 49-BD-D2-C7-56-2A (B의 MAC 주소)
    • IP 데이터그램:
      • 소스 IP 주소: 111.111.111.111 (A의 IP 주소)
      • 목적지 IP 주소: 222.222.222.222 (B의 IP 주소)

  1. 프레임 전송:
    • 라우터 R은 생성한 프레임을 B로 전송
    • 이 프레임은 B의 MAC 주소를 목적지로 하고, IP 데이터그램을 포함한다.


  1. 프레임 수신 및 처리
    • B는 수신된 프레임의 목적지 MAC 주소가 자신의 MAC 주소와 일치하는지 확인한다.
    • 일치할 경우, B는 프레임을 수신하고 IP 데이터그램을 추출하여 상위 계층으로 전달





Ethernet

지배적인 유선 LAN 기술

  • 첫 번째로 널리 사용된 LAN 기술
    • Ethernet은 최초로 널리 사용된 로컬 네트워크(LAN) 기술로, 많은 네트워크 환경에서 표준으로 자리 잡았다

  • 간단하고 저렴
    • Ethernet은 상대적으로 간단한 구조와 저렴한 비용으로 인해 인기를 끌었다.

  • 속도 경쟁에 대응
    • 초기 속도는 10 Mbps였지만, 현재는 최대 400 Gbps까지 지원할 수 있다.

  • 단일 칩, 여러 속도 지원
    • 예를 들어 Broadcom BCM5761과 같은 칩은 여러 속도를 지원할 수 있어 다양한 네트워크 요구를 충족한다.





Ethernet: physical topology

  • 버스(bus)
    • 90대 인기 방식
      • 모든 노드가 동일한 충돌 도메인에 포함되어 있으며, 따라서 서로 충돌할 수 있다.

- **스위치(swtiched)** - 오늘날 널리 사용되는 토폴로지로, 중앙에 활성화된 **2 계층 스위치**를 배치한다. - 특징 - 스위치 중심: 중앙 스위치가 각 노드를 연결한다. - 충돌 도메인 분리: 각 노드는 별도의 Ethernet 프로토콜을 사용하며, 따라서 노드 간 충돌이 발생하지 않는다.






Ethernet frame structure

Ethernet 프레임은 네트워크 통신에서 데이터 전송을 위한 기본 단위. 프레임은 IP 데이터그램을 Ethernet 프레임에 캡슐화한다.


프레임 구성 요소

  1. Preamble
    • 역할: 수신기와 송신기의 클록 레이트를 동기화하는 데 사용
    • 구성: 7 바이트의 '10101010' 시퀀스와 1 바이트의 '10101011'로 구성된다.
    • 기능: 데이터 전송 전에 수신기와 송신기가 동일한 타이밍을 맞추도록 한다.

  1. Destiniation Address
    • Ethernet 프레임이 도달해야 하는 장치의 MAC 주소를 나타낸다.
    • 일반적으로 48비트(6바이트) 주소이다.
    • 어댑터는 프레임을 수신하면, 목적지 주소가 자신의 MAC 주소와 일치하거나 브로드캐스트 주소인 경우(e.g. ARP 패킷) 프레임의 데이터를 네트워크 계층 프로토콜로 전달한다. 그렇지 않으면 프레임을 폐기한다.

  1. Source Address

    • Ethernet 프레임을 보내는 장치의 MAC 주소
    • 일반적으로 48비트(6바이트) 주소이다.
  2. Type

    • 상위 계층 프로토콜(e.g. IP, ARP)을 식별하는 필드. 이는 수신자가 어떤 프로토콜을 사용할지 결정하는 데 도움을 준다.
    • 수신기에서 여러 프로토콜 중에서 올바른 프로토콜을 선택하는 데 사용된다.(디멀티플렉싱)
  3. Data(Payload)

    • 실제 전송되는 데이터(Payload)이다.
    • 최대 1500 바이트의 데이터를 포함할 수 있다.
    • 데이터가 46바이트 미만인 경우, 최소 프레임 크기(64바이트)를 충족하기 위해 패딩이 추가된다

  1. CRC(Cyclic Redundancy Check)
    • 전송된 데이터의 무결설을 확인하기 위한 오류 검출 필드이다.
    • 4바이트로 구성되며, 프레임의 마지막에 위치하여 프레임 전체에 대한 체크섬을 제공





Ethernet: unreliable, connectionless

Connectionless(비연결형)

  • 특징: 데이터 프레임을 전송할 때, 송신 NIC와 수신 NIC 사이에 핸드셰이킹(handshaking)이 없다.
    • 핸드셰이킹 없음: 데이터 전송 전에 송신자와 수신자가 통신을 설정하는 과정이 없다
    • 결과: 데이터가 전송되지만, 수신자가 그것을 받을 준비가 되었는지 확인하지 않는다.


Unreliable(신뢰성 없음)

  • 특징: 수신 NIC는 송신 NIC에게 ACK(인정) 또는 NAK(부인) 신호를 보내지 않는다.
    • ACK/NAK 없음: 수신자가 프레임을 제대로 받았는지 송신자에게 알리지 않는다.
    • 데이터 손실: 프레임이 손실되면, 상위 계층 프로토콜(e.g. TCP)이 재전송 요청을 하지 않은한 데이터가 영구적으로 손실된다.
    • 복구: 상위 계층의 신뢰성 있는 데이터 전송 프로토콜(rdt)이 손실된 데이터를 복구할 수 있다. 그렇지 않으면 손실된 데이터는 복구되지 않는다.


Ethernet의 MAC 프로토콜

  • 프로토콜: 비슬롯(slotted) CSMA/CD와 이진 백오프(binary backoff) 알고리즘을 사용한다.
    • CSMA/CD: 충돌이 감지되면 전송을 중단하고, 이진 백오프 알고리즘을 사용하여 충돌 회피를 시도한다.
    • 이진 백오프: 충돌 후 재전송하기 전에 랜덤한 시간 동안 기다린 후 다시 전송을 시도한다.





802.3 Ethernet Standards: link & physical layers

다양한 Ethernet 표준

  • 공통 MAC 프로토콜 및 프레임 포맷: 모든 Ethernet 표준은 공통의 MAC 프로토콜과 프레임 형식을 사용한다.
  • 다양한 속도: 2, 10, 100 Mbps, 1, 10, 40 Gbps

물리 계층 매체

  • 다양한 물리 계층 매체: Ethernet은 다양한 물리 계층 매체를 사용하여 데이터를 전송한다. 주요 매체는 다음과 같다.
    • 광섬유(fiber)
    • 케이블(copper)





Ethernet switch

  • Ethernet Switch의 역할과 기능
    • Link-Layer Device
      • Ethernet 스위치는 링크 계층 장치이다. 즉, 데이터 링크 계층에서 작동한다.
      • Active Role: 스위치는 능동적인 역할을 한다. 이는 데이터 프레임을 저장하고 전달하는 기능을 수행하는 것을 의미한다.
    • 기능
      • Store and Forward: 들어오는 Ethernet 프레임을 저장한 후 적절한 포트로 전달
      • MAC Address Examination: 들어오는 프레임의 MAC 주소를 검사하여, 프레임을 한 개 이상의 아웃고잉 링크로 선택적으로 전달한다.
      • CSMA/CD: 세그먼트에 접근할 때 CSMA/CD 메커니즘을 사용한다.


  • 특징
    • Transparent
      • 스위치는 네트워크의 호스트들이 스위치의 존재를 인식하지 못하도록 투명하게 작동한다.
      • 즉, 스위치는 네트워크 트래픽을 관리하지만, 호스트 장치들은 스위치의 존재를 알 필요가 없다.
    • Plug-and-Play, Self-learning
      • 설정 불필요: 스위치는 플러그 앤 플레이 방식으로 동작하며, 설치 후 별도의 설정이 필요하지 않다
      • self-learning: 스위치는 자동 학습 기능을 통해 네트워크의 MAC 주소를 학습하고 기억하여, 효율적으로 데이터 프레임을 전달한다.





Switch: multiple simultaneous transmission

  1. Dedicated, Direct Connections
    • 각 호스트는 스위치에 전용, 직접 연결되어 있다.



  1. Buffer Packets
    • 스위치는 패킷을 버퍼링한다. 이는 일시적인 저장소 역할을 하여 데이터 충돌을 방지하고 효율적인 전송을 보장한다.



  1. Ethernet Protocol on Each Incoming Link
    • 각 들어오는 링크에서 이더넷 프로토콜이 사용되므로
      • No Collisions: 충돌이 발생하지 않는다.
      • Full Duplex: 전이중 통신이 가능하다. 즉, 동시에 송신과 수신이 가능하다.
      • Own Collision Domain: 각 링크는 고유한 충돌 도메인을 갖는다. 이는 다른 링크의 충돌로부터 영향을 받지 않음을 의미한다.


4. **Switching** - A-to-A, B-to-B의 데이터 전송은 **동시에** 가능하며, **충돌 없이** 이루어진다. - 하지만 A-to-A', C-to-A'는 **동시에 일어날 수 없다** -> **동일한 목적지로 불가.** - 스위치에는 여섯 개의 인터페이스가 있다.(1,2,3,4,5,6)






Switch: multiple simultaneous transmissions

Q. 스위치는 A'가 인터페이스 4를 통해 도달 가능하고 B'가 인터페이스 5를 통해 도달 가능하다는 것을 어떻게 아는가?
A. 스위치 테이블

  • 스위치 테이블
    • 각 스위치는 스위치 테이블을 유지하며, 이는 라우팅 테이블과 비슷하게 구성된다. 각 항목은 다음을 포함한다.
      • 호스트의 MAC 주소: 네트워크 내 특정 장치를 식별
      • 호스트에 도달하기 위한 인터페이스: 스위치가 해당 호스트에 도달할 수 있는 인터페이스(포트)를 지정
      • 타임스탬프(항목이 추가되거나 마지막으로 업데이트된 시간)


Q. 스위치 테이블의 항목은 어떻게 생성되고 유지되는가? 라우팅 프로토콜 같은 것이 있는가?











Switch: self-learning

스위치는 네트워크에서 어떤 호스트가 어느 인터페이스를 통해 도달 가능한지 자동으로 학습한다 이 과정은 프레임을 수신할 때마다 이루어진다.






작동 방식

  1. 프레임 수신 시 학습
    • 스위치가 프레임을 수신하면, 해당 프레임이 어느 LAN 세그먼트(인터페이스)에서 들어온 것인지를 확인한다.
    • 이로써 스위치는 송신자의 위치를 "학습"한다.



  1. 스위치 테이블에 기록
    • 스위치는 송신자의 MAC 주소와 해당 위치(인터페이스)를 스위치 테이블에 기록한다.
    • e.g. 호스트 A가 인터페이스 1을 통해 스위치에 연결되어 있다고 학습한다.



  1. e.g.
    • 호스트 A가 A'에게 프레임을 보낼 때, 스위치는 프레임을 수신하고 A의 위치 정보를 스위치 테이블에 기록한다.
      • 송신자(MAC 주소):A
      • 인터페이스: 1
      • TTL: 60(테이블에서 항목이 유지되는 시간)
    • 스위치 테이블 초기 상태
      • 초기에는 스위치 테이블이 비어 있다.
      • 프레임이 수신될 때마다 스위치는 테이블을 채워나간다.









Switch: frame filtering/forwarding

스위치가 프레임을 수신하면, 다음과 같은 절차를 통해 프레임을 필터링하고 전달한다.

  1. 송신 호스트의 MAC 주소와 수신 인터페이스 기록
    • 프레임이 스위치에 도착하면, 스위치는 프레임이 들어온 인터페이스의 송신 호스트의 MAC 주소를 기록한다.



  1. 목적지 주소로 스위치 테이블 인덱싱
    • 프레임의 목적지 MAC 주소를 사용하여 스위치 테이블을 참조한다.



  1. 목적지 항목 확인
    • 목적지 항목이 스위치 테이블에 존재하는지 확인한다.
    • 목적지 항목이 존재하는 경우
      • 프레임이 도착한 세그먼트에 목적지가 있는 경우: 프레임을 드롭한다.
      • 프레임이 도착한 세그먼트에 목적지가 없는 경우: 스위치 테이블에 지정된 인터페이스로 프레임을 전달(forward)한다.
    • 목적지 항목이 존재하지 않는 경우
      • 프레임을 모든 인터페이스로 플러딩(flooding)한다. 단, 프레임이 도착한 인터페이스는 제외한다.
      • 플러딩: 네트워크에서 데이터를 전송하는 방식 중 하나로, 특정 목적지로 지정하지 않고 네트워크에 연결된 모든 장치로 데이터를 보내는 것을 의미한다.









Self-learning, forwarding: example


1. 프레임 목적지 'A''의 위치를 모를 때: **Flood** - 플러딩: 스위치는 목적지 'A''의 MAC 주소를 모르면, 플러딩을 수행하여 모든 포트로 프레임을 전송한다. - 이 과정을 통해 스위치는 목적지 A'가 어느 포트에 연결되어 있는지 알게 된다.

  1. 목적지 A의 위치를 알 때: Selectively send on just one link
    • 선택적 전송: 스위치는 목적지 A의 MAC 주소와 연결된 포트를 알고 있으면, 해당 포트로만 프레임을 전송한다.
    • 이렇게 하면 네트워크의 효율성을 높이고, 불필요한 트래픽을 줄일 수 있다.







interconnecting switches





  • 여러 개의 스위치가 연결되어 하나의 큰 네트워크를 형성할 수 있다.
  • self-learning 기능을 갖춘 스위치들은 서로 연결되어도 문제없이 작동한다.

Q. A에서 G로 데이터를 전송할 때, S1은 어떻게 S4와 S3를 통해 G로 프레임을 전달해야 하는지 알 수 있을까요?
A. Self-Learning(단일 스위치의 경우 동일하게 작동한다)







Self-Learning multi-switch example



Q. S1, S2, S3, S4의 스위칭 테이블과 패킷 전달 과정을 보여라
A.

  1. initial frame transmission(C to I)
    • C는 I에게 프레임을 보낸다.
    • S1은 처음에 I의 위치를 모르기에 모든 포트로 프레임을 플러딩한다.
    • 프레임은 S4, S3을 거쳐 I에게 도달한다.

  1. Switch Table Update After Initial Frame
    • S1: C가 연결된 포트를 학습(C의 MAC 주소와 포트 기록)
    • S4: C의 프레임을 받으면서 C의 위치 학습
    • S3: C의 프레임을 받으면서 C의 위치 학습

  1. Response from I to C
    • I는 C에게 응답 프레임을 보냅니다.
    • S3는 C의 위치를 알고 있으므로, S4로 프레임을 전달합니다.
    • S4는 C의 위치를 알고 있으므로, S1로 프레임을 전달합니다.
    • S1은 C의 위치를 알고 있으므로, C에게 프레임을 전달합니다.

  1. Final Switch Table Entries
Switch MAC Address Interface
S1 C 1
S1 I 2
S3 C 2
S3 I 1
S4 C 1
S4 I 2





Small institutional network






Switches vs routers

공통점

  1. Store-and-Forward 방식 사용
    1. 라우터(Routers): 네트워크 계층 장치로, 네트워크 계층 헤더를 검사한다.
    2. 스위치(Switches): 링크 계층 장치로, 링크 계층 헤더를 검사한다.

  1. 포워딩 테이블(Forwarding Tables) 사용
    1. 라우터(Routers): 라우팅 알고리즘과 IP 주소를 사용하여 포워딩 테이블을 계산한다.
    2. 스위치(Switches): 플러딩, 학습, MAC 주소를 사용하여 포워딩 테이블을 학습한다.






Virtual LANs(VLANs): motivation


Q. LAN의 크기가 확장되고 사용자가 접속 지점을 변경하면 어떻 일이 발생할까?



배경 설명

  • Single Broadcast Domains: 현재 네트워크는 단일 브로드캐스트 도메인으로 구성되어 있다.


    - **Scaling 문제** - 모든 계층-2 브로드캐스트 트래픽(e.g. ARP, DHCP, 알 수 없는 MAC 주소 탐색)이 전체 LAN을 가로질러 전파된다.
    • 효율성, 보안, 프라이버시 문제
      • 네트워크의 크기가 커질수록 브로드캐스트 트래픽이 증가하여 네트워크 효율성이 저하된다.
      • 모든 브로드캐스트 트래픽이 전체 네트워크를 가로질러 전파되므로 보안과 프라이버시 문제가 발생할 수 있다.
    • 관리상의 문제
      • e.g. 컴퓨터 과학 사용자가 사무실을 전기 공학 부서로 옮길 때
        • 사용자는 물리적으로 전기 공학 스위치에 연결되지만 논리적으로는 여전히 컴퓨터 과학 네트워크에 속하고 싶어 한다.
        • 이는 네트워크 관리에 있어 복잡성을 증가시킨다.






Port-Based VLANs

Virtual Local Area Network(VLAN)

  • VLAN의 개념: VLAN은 물리적으로 하나의 LAN infreastructure에서 여러 개의 가장 LAN을 정의할 수 있게 하는 기술이다. 이는 네트워크 스위치가 VLAN 기능을 지원할 때 가능하다.


Port-based VLAN(포트 기반 VLAN)

  • 포트 기반 VLAN 정의: 포트 기반 VLAN에서는 스위치 관리 소프트웨어를 통해 스위치 포트를 그룹화하여 단일 물리적 스위치여러 개의 가상 스위치처럼 운영할 수 있게 한다.







Port-based VLANs

  1. 트래픽 격리(Traffic Isolation)
    • 특정 포트 그룹(e.g. 포트 1-8)으로의 프레임은 오직 해당 포트 그룹 내에서만 도달할 수 있다.
    • 예를 들어, 포트 1-8에서 전송된 데이터는 포트 1-8로만 전송되고, 다른 포트(e.g. 9-15)로는 전송되지 않는다.
    • VLAN을 스위치 포트가 아닌 단말기의 MAC 주소를 기반으로 정의할 수도 있다.


  1. 동적 멤버십(Dynamic Membership)
    • 포트는 VLAN 간에 동적으로 할당될 수 있다.
    • 이는 네트워크 관리자가 필요에 따라 포트를 특정 VLAN에 할당하거나 해제할 수 있음을 의미한다.


  1. VLAN 간 포워딩(Forwarding between VLANs)
    • 서로 다른 VLAN 간의 데이터 전송은 라우팅을 통해 이루어진다. 이는 별도의 스위치를 사용하는 경우와 동일한 방식이다.
    • 실제로는 벤더들이 스위치와 라우터가 결합된 장비를 판매하여 이러한 기능을 제공한다.






VLANs spanning multiple switches

  1. 트렁크 포트(Trunk Port)
    • 트렁크 포트는 여러 물리적 스위치에 걸쳐 정의된 VLAN 간의 프레임을 전달하는 역할을 한다.
    • 트렁크 포트를 통해 전달되는 프레임은 단순한 802.1 프레임이 아니라 VLAN ID 정보를 포함해야 한다.
    • 이는 프레임이 정확한 VLAN으로 라우팅될 수 있도록 보장


  1. 802.1q 프로토콜
    • 802.1q 프로토콜은 트렁크 포트를 통해 전달되는 프레임에 추가적인 헤더 필드를 추가/제거한다.
    • 이 헤더 필드는 VLAN ID 정보를 포함하여, 프레임이 어떤 VLAN에 속하는지 식별할 수 있게 한다.





802.1Q VLAN frame format






MultiProtocol label switching(MPLS)

  • 목표: MPLS(Multiprotocol Label Switching)의 주요 목표는 MPLS를 지원하는 라우터 네트워크 내에서 고속 IP 포워딩을 제공하는 것이다. 이를 위해 고정 길이의 라벨(Label)을 사용하며, 이는 전통적인 IP 라우팅에서 사용되는 가장 짧은 접두사 매칭 방식 대신에 사용된다.

  • 주요 포인트
    • 빠른 조회: 고정 길이 식별자를 사용하여 라우팅 테이블 조회 시간을 단축한다.
    • 가상 회로(Virtual Circuit) 접근법 차용: MPLS는 가상 회로 방식에서 아이디어를 가져와 데이터를 전달한다.
    • IP 데이터그램 유지: MPLS로 IP 데이터그램을 전달할 때도 여전히 IP 주소를 유지한다.







MPLS capable routers

  • 별칭: 라벨 스위치 라우터(Label-Switched Router)라고도 한다.
  • 기능: 패킷을 전송할 때 라벨 값만을 기반으로 출력 인터페이스로 전달한다. IP주소를 검색하지 않는다.
    • MPLS 포워딩 테이블: IP 포워딩 테이블과 구별된다.


유연성

  • MPLS 포워딩 결정: IP와 다를 수 있다.
    • 목적지 및 소스 주소 사용: 트래픽 엔지니어링을 위한 동일한 목적지로 흐름을 다르게 라우팅할 수 있다.
    • 빠른 재라우팅: 링크가 실패할 경우 미리 계산된 백업 경로를 사용하여 흐름을 신속하게 재 라우팅한다.





MPLS vs IP path


IP routing

  • 경로결정: 목적지 주소만으로 경로가 결정된다.
  • 동작: 패킷이 목적지로 향하는 경로는 오직 패킷에 포함된 IP 주소를 기반으로 라우터가 결정한다.



MPLS 라우팅

  • 경로 결정: 경로는 소스 주소와 목적지 주소를 기반으로 결정될 수 있다.
  • 동작: MPLS 라우터는 고정 길이 라벨을 사용하여 패킷을 라우팅한다.
    • R4와 같은 IP/MPLS 라우터는 소스 주소 또는 다른 필드를 기반으로 다른 MPLS 경로를 사용할 수 있다.
  • 유연성
    • 일반화된 포워딩: 다양한 경로를 사용할 수 있으며, 트래픽 엔지니어링이 가능하다.
    • 빠른 재라우팅: 링크 장애 시 백업 경로를 미리 계산하여 빠르게 전환할 수 있다.





MPLS signaling

  • 링크 상태 플러딩 프로토콜 수정
    • OSPF,IS-IS 프로토콜 수정: MPLS 라우팅에서 사용되는 정보를 전달하기 위해 링크 상태 플러딩 프로토콜이 수정된다.
      • 전달되는 정보: 링크 대역폭, 예약된 링크 대역폭의 양 등


  • MPLS 라우터의 동작
    • RSVP-TE 신호 프로토콜 사용: MPLS 라우팅을 설정하기 위해 MPLS 엔트리 라우터는 RSVP-TE 신호 프로토콜을 사용한다
      • RSVP-TE (Resource Reservation Protocol - Traffic Engineering): MPLS 포워딩을 설정하고 트래픽 엔지니어링을 지원하는 프로토콜입니다.
    





MPLS forwarding tables

'학교수업 > 컴퓨터망' 카테고리의 다른 글

Chapter8: Security  (1) 2024.07.16
Chapter7: Wireless and Mobile Networks  (4) 2024.07.14
Chapter5 Network Layer: Control Plane  (0) 2024.07.09
Chapter4: Network Layer-Data Plane  (0) 2024.07.04
Chapter3: Transport Layer-2  (0) 2024.07.04

+ Recent posts