Chapter 10. 링크계층 & LANs

MoonLight·2021년 12월 13일
0

컴퓨터 네트워크

목록 보기
9/10

0x01. 링크계층 소개 및 서비스

중요! 오류검출 및 수정, 다중접속, 링크계층 주소지정방식, Ethernet, VLANs

1.1 도입부

(1) 용어 설명

① 노드(node) : 호스트와 라우터

② 링크(link) : 통신 경로 상의 인접한 노드들을 연결하는 통신 채널

  • 유선 링크
  • 무선 링크
  • LANs

③ 프레임(frame) : 링크 계층 패킷으로, 네트워크 계층 데이터 그램을 캡슐화한 것

데이터링크 계층은 한개의 노드로부터 물리적으로 인접한 노드로의 데이터그램 전송을 담당한다.

(2) 설명

① 경로 상의 각 링크에서 서로 다른 링크 계층 프로토콜로 데이터그램 전송

  • ex) 첫 링크는 이더넷, 중간 링크는 프레임 릴레이, 마지막 링크는 802.11 무선 랜(WiFi)

② 각 링크 프로토콜은 서로 다른 서비스 제공

  • ex) 링크 상에서 신뢰적인 데이터 전달을 제공 할 수도 있고 안 할 수도 있음

(3) 링크 계층 서비스

① 프레임화(framing), 링크 접속(link access)

  • 헤더 및 트레일러 필드를 추가하여 데이터그램을 프레임으로 캡슐화

  • 공유 매체인 경우 채널 접속 기술(shared인경우 충돌회피를 위해 전송타이밍, wait 등 결정)

  • 출발지, 목적지 구분을 위해 프레임 헤더에 MAC(medium access control) 주소 포함

인접한 노드간 신뢰적 전달(reliable delivery)

  • 비트 오류가 낮은 링크에서는 적용 안 함(광섬유, UTP)

  • 무선 링크와 같이 높은 오류율(error rate)을 갖는 링크에 적용

③ 흐름 제어(flow control)

  • 서로 인접한 송신 노드와 수신 노드간에 수신하는 속도에 맞추는 흐름 제어 제공
    • bandwidth를 초과하는 일이 발생하지 않도록

④ 오류 검출(error detection)

  • 신호 약화나 전자기 잡음에 기인한 오류
  • 수신 노드에서 오류 검사를 하여 검출
    • 송신자에게 재전송 신호를 보내거나, 프레임을 버림

⑤ 오류 회복(error correction)

  • 수신 노드는 오류를 검출하고, 재전송 신호를 보내지 않고 비트 오류를 정정

⑥ 반이중(half-duplex)과 전이중(full-duplex)

  • 전이중 전송은 링크 양단의 노드들이 동시에 패킷을 전송

    • 전송 매체를 송신과 수신, 두개의 채널로 분할하기 때문에 가능
  • 반이중 전송은 한 노드가 동시에 송수신을 처리할 수 없음(한놈만 ㄱㄴ)

(4) 링크 계층이 구현되는 위치

링크 계층은 호스트의 네트워크 인터페이스 카드(NIC, Network Interface Card) 또는 네트워크 어댑터(Network Adaptor)에 구현

  • 이더넷 카드, 802.11 카드, 이더넷 칩셋

  • 링크, 물리계층 구현

② 호스트 시스템의 버스에 연결

③ 하드웨어, 소프트웨어, 펌웨어의 결합으로 구성

④ 링크 상위 게층은 전부 CPU에서 처리한다.

(5) 네트워크 어댑터 통신

① 송신 측

  • 데이터그램을 프레임으로 캡슐화
    • 부가적인 오류 검출 비트, 흐름 제어에 대한 정보를 붙여야 됨

② 수신 측

  • 송신측에서 받은 정보를 이용하여 오류, 흐름제어 등 조사

  • 데이터그램을 추출하여 상위 계층으로 전달

0x02. 오류 검출 및 정정 기술

2.1 오류 검출(Error Detection)

① EDC = 오류 검출 및 정정 비트(부가된 비트, redundancy)

② D = 오류로부터 보호되는 데이터, 헤더 필드를 포함할 수도 있음

③ 100% 오류 검출은 아니지만 신뢰할만한 수준

  • 프로토콜이 일부 오류는 검출 못할 수 있지만, 대부분 검출
  • EDC 필드가 크면 클수록 검출 및 정정이 더 우수해짐
    • 하지만 EDC가 너무 커치면 오버헤드가 넘 커지므로 적당한게 좋음

2.2 패리티 검사(Parity Checking)

EDC의 가장 간단한 방법이다.

① 단일 비트 패리티

  • 단일 비트 오류 검출
  • 1의 갯수가 홀수개가 되도록 조정한다. 1의 갯수가 이미 홀수면 0을 붙이고, 짝수면 1을 더 붙여준다.
  • 하지만, 1개의 비트 오류만 검출할 수 있어 한계가 있다.

② 2차원 비트 패리티

  • 단일 비트 오류를 검출하고 정정
  • 1의 갯수가 짝수개가 되도록 조정한다. 1의 갯수가 이미 짝수면 0을 붙이고, 홀수면 1을 더 붙여짝수를 만들어준다.
  • 하지만, 2개의 비트 오류만 검출할 수 있어 한계가 있다.

※ 복습: 인터넷 체크섬(Internet Checksum)

① 체크섬은 전송된 세그먼트의 오류를 검출(트랜스포트 계층에 사용)

② 송신 측

  • 세그먼트의 값을 16비트 정수의 열로 간주

  • 세그먼트 값들을 더함(1의 보수 합)

  • 송신자는 UDP의 체크섬 필드에 삽입

③ 수신 측

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

  • 계산된 체크섬 값과 체크섬 필드 값이 같은가를 비교. 다르면 오류 검출, 같으면 오류 없음

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

가장 널리 쓰이는 에러감지

① 좀 더 강력한 에러 검출 코딩

② 데이터 D 송신

③ 송신자와 수신자는 r+1 비트 패턴인 생성자(generator) G를 합의

  • 국제 표준으로 8, 12, 16, 32 비트의 생성자 정의

④ 다음을 만족하는 r비트 크기인 CRC 비트 R을 선택

  • <D, R>은 G로 정확히 나누어짐(모듈로-2 연산)

  • 수신자가 <D, R>을 G로 나누어서 나머지가 0이 아니면 오류 발생

  • r+1 비트보다 적은 수의 버스트 오류(burst error) 검출

⑤ 널리 사용됨(이더넷, 802.11 WiFi, ATM)

⑥ CRC 연산은 덧셈의 올림이나 뺄셈의 빌림이 없는 모듈로-2 연산을 사용

  • XOR(exclusive OR) 연산과 동일
  • D2r=nG  XOR  RD*2^r = n*G \ \ XOR\ \ R
  • D2rD*2^r은 전체 데이터를 의미한다. 당연하다. r비트만큼 띄워졌으니.

⑦ 다음 식을 만족하는 R을 구함

  • D2r  XOR  R=nGD*2^r\ \ XOR\ \ R = n*G

  • D2r=nG  XOR  RD*2^r = n*G\ \ XOR\ \ R (두 번 XOR은 원래 값 복원)

  • G로 나누어 나머지 R 구함

img

0x03. 다중 접속 프로토콜

(1) 개념

① 점대점 링크(point-to-point)

  • 다이얼업 접속의 PPP

  • 이더넷 스위치와 호스트 사이의 점대점 링크

회선에 따른 분류

점대점 전송: 컴퓨터에서 일대일방식으로 직접 연결하는 전송 방식.(전용회선사용)

다지점 전송: 두개 이상의 통신 장치가 하나의 회선을 공유하는 전송 방식.

② 브로드캐스트(broadcast)

  • 공유 매체

  • 이전의 이더넷(old-fashioned Ethernet)

  • 802.11, 무선 LAN

③ 단일 공유 브로드캐스트 채널을 통해 노드에 전송

④ 둘 이상의 노드가 동시에 전송 : 간섭

  • 노드가 동시에 둘 이상의 신호를 수신하면 충돌(collision) 발생

⑤ 다중 접속 프로토콜(multiple access protocol)

  • 노드가 채널을 공유하는 방법을 결정하는 분배 알고리즘

  • 채널 공유를 위한 통신에도 채널을 사용(조정을 위한 별도의 채널(out of band)은 없음)

(2) 이상적인 다중 접속 프로토콜(Ideal Multiple Access Protocol)

① 단 하나의 노드가 전송을 할 때는 R bps의 처리율로 전송

② M개의 노드가 전송 시에는 평균 R/M bps 전송률의 처리율로 전송

③ 프로토콜은 분산(decentralized) 되어 있음

  • 전송을 조절하는 특별한 노드 없음

  • 클럭, 슬롯 등의 동기화 없음

④ 프로토콜은 단순

3.2 Mac protocols: taxonomy

MAC 프로토콜 3가지 분류:

  • 채널 분할 프로토콜(channel partition protocol)
  • 랜덤 접속(random access)
  • 교대(taking turns)

(1) 채널분할 MAC 프로토콜: TDMA, FDMA

⁜ TDMA: Time Division Multiple Access

① 각 노드는 차례대로 고정된 길이의 시간 슬롯(time slot)을 획득하여 채널 접속

  • 시간 슬롯의 길이는 패킷 전송 시간

② 사용되지 않는 슬롯은 쉬게 됨(idle)

⁜ FDMA(Frequency Division Multiple Access)

① 채널 스펙트럼이 주파수 밴드(frequency band)로 분할

② 각 노드에 고정된 주파수 밴드 할당

③ 주파수 밴드를 사용하지 않는 시간은 쉬게 됨(idle)

(2) 랜덤 접속 MAC 프로토콜

Random access MAC protocol: slotted ALOHA

⁜ 랜덤 접속 프로토콜

① 전송 노드는 항상 최대 전송률 R bps로 전송

② 사전에 노드 간 조정 없음

③ 둘 이상의 노드들이 전송 => 충돌(collision)

④ 랜덤 접속 프로토콜에는 충돌을 감지하는 방법과 충돌 시 복구하는 방법을 기술

  • ex) 지연 전송 등

⑤ 랜덤 접속 프로토콜 구현

  • 슬롯 알로하(slotted ALOHA)

  • 알로하(ALOHA)

  • CSMA, CSMA/CD, CSMA/CA

I. 슬롯 알로하(Slotted ALOHA)

① 가정

  • 모든 프레임은 같은 크기를 가짐 (L 비트)

  • 시간은 같은 크기의 슬롯으로 분할 (L/R 초)

  • 노드는 슬롯의 시작점에서만 프레임을 전송

  • 각 노드는 슬롯의 시작을 알 수 있도록 동기화

  • 한 슬롯에서 둘 이상의 노드들이 충돌하면 모든 노드들이 충돌을 감지

② 동작

  • 노드는 전송할 새 프레임이 있으면 다음 슬롯에서 전송

  • 충돌이 없으면 노드는 다음 슬롯에서 새로운 프레임을 전송

  • 충돌이 발생하면 확률 p로 해당 프레임을 다음 슬롯에서 재전송

③ 장점

  • 하나의 활성 노드가 채널의 최대 속도인 R로 계속 전송

  • 충돌 감지 및 재전송을 노드 각자가 결정하여 분산. 노드들은 슬롯으로 동기화 필요

  • 간단함

④ 단점

  • 활성 노드가 많으면 충돌로 인해 슬롯 낭비

  • 확률적인 전송으로 전송을 억제하는 경우 빈 슬롯 발생

  • 클럭 동기화

img

⑤ 각 슬롯의 상태

  • S : Success, 전송 성공

  • C : Collision, 충돌 발생

  • E : Empty, 비어 있음

⑥ 슬롯 알로하 효율

  • N개 노드가 각 슬롯마다 확률 p로 많은 프레임을 전송한다고 가정

  • 주어진 노드가 한 슬롯에서 전송에 성공할 확률 p(1-p)N-1, N-1개의 노드가 전송하지 않을 확률 (1-p)N-1

  • 임의의 한 노드가 전송에 성공할 확률 Np(1-p)N-1

  • 최대 효율은 Np(1-p)N-1 을 최대화 시키는 p*를 구하는 문제

  • 활성 노드가 많은 경우 N이 무한대로 갈 때 Np(1-p)N-1 의 극한값을 취하면 최대효율은 다음과 같이 구해짐

  1. 최대 효율 = 1/e = .37

  2. 많은 노드를 전송할 때 37%의 슬롯 만이 낭비되지 않음

  3. 채널의 실제 전송률은 0.37·R bps

II. 알로하(ALOHA)

① 슬롯이 없이 완전히 분산된 프로토콜

  • 더 간단하고, 동기화 없음

② 프레임이 상위 계층에서 도착하면 바로 전송

③ 충돌 확률 증가

  • t0 에 전송된 프레임은 [t0-1, t0+1]에서 다른 프레임과 충돌

img

④ 알로하 효율

p(주어진 노드의 전송 성공 확률) = p(노드 전송).

p([t0-1, t0]에서 다른 노드 전송 않음).

p([t0, t0+1]에서 다른 노드 전송 않음).

= p(1p)N1(1p)N1p·(1-p)N-1·(1-p)N-1

= p(1p)2(N1)p·(1-p)2(N-1)

최적의 p를 위해 N의 극한값을 취하면

= 1/(2e)=.181/(2e) = .18

  • 슬롯 알로하보다도 더 낮은 효율

III. CSMA(Carrier Sense Multiple Access)

① 전송 전에 채널 사용 여부 조사(캐리어 감지, carrier sensing)

② 채널이 쉬고 있으면 프레임 전송

③ 채널이 사용 중이면 전송을 연기

IV. CSMA/CD(Collision Detection)

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

  • 캐리어 센싱되면 백오프

  • 짧은 시간 내에 충돌 검출

  • 충돌 시 전송을 중단하여 채널 낭비 줄임

② 충돌 검출(collision detection)

  • 유선 LAN에서는 신호 세기를 측정하고, 전송된 신호와 수신된 신호를 비교하여 쉽게 검출

③ 충돌 발생

  • 채널의 전파 지연으로 두 노드가 다른 노드의 전송을 감지하지 못하는 경우 발생

④ 이더넷 CDMA/CD 알고리즘

  1. 어댑터(NIC)는 네트워크 계층으로부터 데이터그램을 받아서 이더넷 프레임을 생성

  2. 채널이 유휴(idle)하면 프레임 전송을 시작, 채널이 바쁘면(busy) 채널이 유휴할 때까지 기다림

  3. 어댑터가 전체 프레임을 전송하는 동안 다른 어댑터의 전송 신호가 감지되지 않았으면 프레임 전송 완료

  4. 전송 중 다른 어댑터의 전송 신호가 감지되면 프레임 전송을 중단하고 잼 신호(jam signal)를 전송

  5. 중단 후 어댑터는 이진 지수적 백오프(binary exponential backoff) 단계 진입

    • m번 충돌 후 어댑터는 {0, 1, 2, ..., 2m-1} 중에서 임의의 K 값을 선택. m = min(m, 10)

    • 어댑터는 K·512 비트 시간을 기다렸다가 단계로 돌아감

⑤ 잼 신호(jam signal)

  • 다른 어댑터에게 충돌 발생을 알림, 48 비트

⑥ 비트 시간(bit time)

  • 1 비트를 전송하는데 걸리는 시간

  • 10 Mbps 이더넷에서는 0.1usec, K=1023 이면 50msec

⑦ 이진 지수적 백오프(binary exponential backoff)

  • 예측된 현재 부하에 적응하여 재전송 시도. 과부하(heavy load) : 랜덤 대기 시간이 길어짐

  • 지연은 K·512 비트 시간

  • 첫 충돌이면 K는 {0, 1}에서 선택

  • 두 번째 충돌이면 K는 {0, 1, 2, 3}에서 선택

  • ...

  • 열 번째 이상 충돌이면 K는 {0, 1, 2, 3, 4, ..., 1023}에서 선택

(3) 순번 MAC 프로토콜(Taking-Turns Protocol)

I. 폴링 프로토콜(Polling Protocol)

① 노드들 중 마스터 노드 지정

② 마스터 노드는 차례대로(라운드 로빈 방식) 노드(슬레이브)들에게 전송하도록 폴링

- 충돌과 빈 슬롯 없음

③ 단점

- 폴링 오버헤드(overhead)

- 지연(latency) : 다음 차례까지 기다림

- 마스터 노드 고장 시 전체 채널 동작 멈춤

II. 토큰 전달 프로토콜(Token-Passing Protocol)

① 토큰(token)이 순서대로 노드들 간에 전달

  • 토큰은 작은 특수 목적 프레임

② 전송할 프레임이 있을 때 노드는 토큰을 잡고, 아니면 다음 노드로 전달

③ 단점

  • 토큰 오버헤드

  • 지연

  • 노드 하나가 실패하면 전체 채널 동작 못함

(4) 다중 접속 프로토콜 요약

I. 채널 분할 프로토콜

① 시간, 주파수 코드로 분할
② TDMA(Time Division Multiple Access), FDMA(Frequency Division Multiple Access), CDMA(Code Division Multiple Access)

II. 랜덤 접속 프로토콜

① ALOHA, S-ALOHA, CSMA, CSMA/CD
② 캐리어 센싱

  • 유선에서는 감지하기 쉽지만, 무선에서는 어려움

③ 이더넷에서 적용된 CSMA/CD
④ 802.11에서 적용된 CSMA/CA

III. 순번 프로토콜

① 폴링, 토큰 전달
② 블루투스, FDDI(Fiber Distributed Data Interface)


0x04. LANs

4.1 MAC 주소 체계, ARP

1) MAC(Media Access Control) 주소

① IP 주소(32bit)

  • 네트워크 계층 주소

  • 계층 3(네트워크 계층)에서 패킷을 전달하는데 사용

MAC(LAN, 물리, 이더넷) 주소

  • LAN 주소, 물리 주소, 이더넷 주소 로도 불림

  • 프레임을 한 인터페이스에서 물리적으로 연결된 다른 인터페이스로 전달하는데 사용(같은 네트워크상에 존재)

  • 48비트 MAC주소(대부분의 LAN)

    1. NIC ROM에 저장

    2. 일부는 소프트웨어적으로 세팅

    3. ex) 1A-2F-BB-76-09-AD

③ LAN 상의 각 어댑터는 고유의 LAN 주소를 가짐

④ MAC 주소 할당은 IEEE가 관리

  • 제조사는 MAC 주소 영역을 구매
    • 따라서, 어댑터마다 고유의 주소 할당
  • MAC 주소의 첫 24비트는 제조사 코드, 나머지 24비트는 제조사에서 부여

⑤ MAC 주소는 평면 주소 구조(flat address)

  • 어댑터의 위치에 관계 없이 고정

⑥ IP 계층 주소

  • 주소는 노드가 부착된 IP 서브넷에 종속

  • 이동할 수 없음

(2) ARP(Address Resolution Protocol)

IP주소를 아는상태에서 MAC주소는 어떻게 알 수 있을까?? -> ARP테이블

네트워크 계층 주소(IP 주소)와 링크 계층 주소(MAC 주소) 사이 변환 필요

LAN 상의 각 IP 노드(호스트, 라우터)는 ARP 테이블을 가짐

  • IP/MAC 주소 매핑

  • ex) <IP 주소 : MAC 주소 : TTL>

    • TTL(Time to Live) : 테이블에서 각 매핑의 엔트리가 삭제되는 시간(보통 20분)

같은 LAN상에서???

  • 노드 A가 B로 데이터그램을 전송하는 경우
    (이 시점엔 A의 ARP 테이블에 B의 MAC주소 엔트리 없음)

    1. A는 ARP 질의 패킷(query packet)브로드캐스트

      • 질의 패킷에는 B의 IP 주소 포함

      • 목적지 MAC 주소 = FF-FF-FF-FF-FF-FF

      • LAN 상의 모든 호스트가 ARP 질의를 수신

    2. B는 ARP 질의 패킷을 수신하고, 응답 패킷(response packet)으로 A에게 응답

      • 응답 패킷에는 B의 MAC 주소 포함

      • A의 MAC 주소로 유니캐스트 응답

    3. 캐싱: A는 B의 IP/MAC 주소를 시간 종료 시까지 ARP 테이블에 저장

ARP는 플러그 앤 플레이(plug-and-play)

  • 노드의 ARP 테이블은 시스템 관리자 개입 없이 자동으로 생성

다른 LAN으로는???

  • A의 데이터그램을 라우터 R을 거쳐 B로 전송하는 경우
    • A는 B의 IP 주소를 알고 있다고 가정
    • A는 첫번째 홉 라우터의 IP 주소를 알고 있다고 가정
    • A는 R의 MAC 주소를 알고 있다고 가정

  • 아래그림에서 A는 출발지 A, 목적지 B의 IP 데이터그램을 생성
  • A는 R의 MAC 주소가 목적지가 되는 링크계층 프레임을 생성. 프레임에는 A에서 B로 전달되는 IP 데이터그램이 포함

  • 아래그림에서 A는 R로 프레임을 송신
  • R의 NIC가 프레임을 수신
  • R은 프레임을 수신후 IP 데이터그램을 추출하여 IP 계층으로 전달
  • R은 A에서 B로 전달되는 IP데이터그램을 링크계층에 전달
  • 아래그림에서 R은 A에서 B로 가는 IP 데이터그램이 포함되고, B의 MAC 주소를 갖는 링크 계층 프레임을 만듬
  • R은 프레임을 B로 송신

4.2 이더넷(Ethernet)

(1) 이더넷(Ethernet)

① 오늘날 가장 많이 사용되는 LAN 기술

② 가격 저렴, 어댑터 20$

③ 토큰 LAN이나 ATM보다 더 싸고 간단

④ 빠른 속도 : 10Mbps ~ 10Gbps

(2) 물리 토폴로지(Physical Topology)

① 1990년대 중반까지 버스 토폴로지 사용

  • 모든 노드가 같은 충돌 영역(노드가 서로 충돌할 수 있음)

② 오늘날은 스타 토폴로지 사용

  • 중앙에 스위치(switch)
  • 노드는 서로 충돌하지 않음

버스형: 버스라고 불리는 하나의 중앙통신회선에 여러 대의 장치들이 결합된 형태. 한 장치가 데이터를 송신하면 버스를 통해 연결된 모든장치에 전송됨. 수신자는 전송된 데이터에 쓰이 수신자 측 주소를 확인해 자신에게 보내진 데이터가 맞는지 확인하고 이를 받아들임. LAN에서 사용, 설치비용이 적고, 신뢰성이 우수하여 중앙통신회선에 노드를 추가,삭제하기 간편함 but, 스푸핑이 가능..

스타형: 중앙에 있는 중개 호스트(허브or스위치) 주위로 여러 장치를 연결한 형태. 중앙의 허브에 다른 장치를 점대점 방식으로 연결. 중앙집중적 구조이므로 노드를 추가, 에러탐지 등 유지보수가 쉽고 전송 제어가 간단하며 패킷충돌가능성 적음. but, 중앙노드에 장애발생시, 전체네트워크 사용불가, 설치비용 고가.

트리형: 계층형 토폴로지. 트리형태로 배치한 네트워크 구성으로 노드의 추가, 삭제가 쉽고 특정노드에 트래픽이 집중되면 하위노드에 영향을 끼칠 수 있음.

링형: 각각의 노드가 양 옆의 두 노드와 연결하여 전체적으로 고리처럼 하나의 연속된 길을 통해 통신을 하는 망 구성. 데이터는 노드->노드로 이동하고, 각 노드는 고리모양 길을통해 패킷을 처리. 노드수가 증가되어도 네트워크상 손실이 거의없고, 충돌발생도 적으며 에러탐지 쉬움. but, 네트워크 구성변경이 어렵고 회선에 장애발생시, 전체네트워크에 영향.

메시형: 망형 토폴로지. 그물망처럼 연결되어있는 구조. 특정노드에 장애가 발생해도 여러개의 경로가 존재하므로 네트워크를 계속 사용가능하고 트래픽도 분산처리가능. but, 노드의 추가가 어렵고, 구축/운용 비용이 고가.

(3) 이더넷 프레임 구조

img

① 송신 어댑터는 IP 데이터그램을 이더넷 프레임으로 캡슐화

  • 데이터 필드의 크기는 46 ~ 1500바이트

② 프리앰블(preamble)

  • 8바이트의 프리앰블

  • 첫 7바이트는 10101010, 마지막 바이트는 10101011

  • 송신자, 수신자의 클록을 동기화하기 위해 사용

③ 주소

  • 목적지, 출발지 주소 각각 6바이트

  • 어댑터의 주소가 목적지 주소와 같으면 프레임 수신하여 데이터를 네트워크 계층 프로토콜에 전달

  • 목적지 주소가 같지 않으면 프레임을 버림

④ 타입

  • 상위 계층 프로토콜을 표시

  • 대부분 IP이지만 Novell IPX, AppleTalk 등도 가능

⑤ CRC

  • 수신 어댑터에서 프레임 오류 검출

  • 오류 발생 시 프레임 버림

(4) 비신뢰적인 비연결형 서비스(Unreliable, Connectionless Service)

① 비연결형 서비스(connectionless service)

  • 송신과 수신 어댑터 사이에 핸드셰이킹이 없음

② 비신뢰적인 서비스(unreliable service)

  • 수신 NIC는 ACK, NACK를 송신 NIC에 보내지 않음

  • 네트워크 계층에 전달되는 데이터그램들 중 일부가 누락될 수 있음

  • 애플리케이션이 TCP를 사용한다면 누락된 데이터그램은 채워짐

  • TCP를 사용하지 않는 경우 애플리케이션은 데이터를 손실

③ 이더넷 다중 접속 프로토콜은 슬롯이 없고 이진 백오프를 갖는 CSMA/CD

(5) 이더넷 표준(Ethernet Standards)

① IEEE 802.3 표준

② 상이한 이더넷 표준들

  • 공통의 다중 접속(MAC) 프로토콜과 프레임 형식

  • 다른 속도 : 2Mbps, 10Mbps, 100Mbps, 1Gbps, 10Gbps

  • 다른 물리 계층 매체 : 광섬유, 케이블

4.3 이더넷 스위치

(1) 허브(Hub) : 물리 계층("dumb") 리피터(repeater)

유선으로 연결된 여러 대의 컴퓨터에서 데이터를 공유할 때 사용하는 장치로, 여러 곳에서 전송된 데이터들을 모아서 다시 여러 곳으로 전송하는 중앙 연결점.

① 한 링크에 들어오는 비트들이 같은 속도로 모든 다른 링크로 나감

② 허브에 연결된 모든 노드들은 서로 충돌 가능

③ 프레임의 버퍼링 기능 없음

④ 허브에서 CSMA/CD 기능 없음

  • 호스트 어댑터가 충돌 감지

(2) 이더넷 스위치(Ethernet Switch)

① 링크 계층 장치로 허브보다 더 똑똑하고 많은 기능

  • 이더넷 프레임을 저장하고 전달(forward)

  • 입력되는 프레임의 MAC 주소를 조사하여 하나 이상의 링크에 선택적으로 전달

  • CSMA/CD 다중 접속 프로토콜 사용

② 투명(transparent)

  • 호스트는 스위치의 존재를 인지하지 못함

③ 자가 학습(self-learning), 플러그 앤 플레이

  • 스위치를 설정할 필요 없음

④ 호스트는 스위치에 직접 연결

⑤ 스위치는 패킷을 버퍼링

⑥ 각 입력 링크에서 이더넷 프로토콜을 사용하지만 충돌은 없음

  • 전 이중 방식(full duplex)

(3) 스위치 테이블(Switch Table)

① 스위치 테이블 엔트리(호스트의 MAC 주소, 인터페이스, 시간)

  • 시간은 TTL로 일정시간이 지난 후 해당 주소의 프레임을 수신하지 못하면 삭제됨

② 스위치 테이블 엔트리의 생성 및 관리 - 자가 학습(Self-Learning)

  • 프레임이 스위치에 도착했을 때 송신자의 위치를 학습

  • 스위치 테이블에 송신자/위치 쌍을 기록

③ 프레임 필터링/포워드(Frame Filtering/Forwarding)

  1. 입력 링크의 송신 호스트와 MAC 주소를 기록

  2. MAC 목적지 주소를 사용하여 스위치 테이블 검색

  3. if 목적지의 엔트리가 있으면

​ then {

​ if 세그먼트의 목적지가 도착한 프레임이면

​ then 프레임을 버림

​ else 엔트리에 의해 지정된 인터페이스로 프레임을 포워드

​ }

​ else 브로드캐스트(broadcast, flood)

④ 스위치 상호 연결(Interconnecting Switches)

  • 스위치들을 서로 연결했을 때, 단일 스위치의 경우와 동일하게 자가학습

(4) 스위치 대 라우터(Switch vs. Router)

① 둘 다 저장 후 전달(store-and-forward) 패킷 스위치

  • 라우터 : 네트워크 계층 장치(네트워크 계층 헤더 조사)

  • 스위치 : 링크 계층 장치(링크 계층 헤더 조사)

② 둘 다 테이블 관리

  • 라우터는 라우팅 알고리즘, IP 주소를 사용하여 테이블을 계산

  • 스위치는 브로드캐스트, MAC 주소를 사용하여 테이블이 학습

4.4 VLANs

BLAH BLAH


0x05. link virtualization: MPLS

5.1 다중프로토콜 레이블 스위칭(MPLS, Multiprotocol Label Switching)

① 초기 목표

  • (IP 주소 대신) 고정 길이 레이블을 사용한 고속 IP 데이터그램 전달

  • IP 주소의 최장 프리픽스 대응 규칙 대신 고정된 길이의 식별자를 사용하여 빠른 참조

  • 가상회선(VC)의 아이디어를 사용했으나, 데이터그램에 여전히 IP 주소를 포함

② 레이블 스위치 라우터(label-switched router)라고도 함

③ IP 주소를 참조하지 않고 레이블 값만을 참조하여 출력 인터페이스로 패킷을 전달

  • MPLS 포워딩 테이블(IP 포워딩 테이블과는 다름)

④ 유연성(flexibility)

  • MPLS의 패킷 전달 결정은 IP와 다름

  • 같은 주소의 목적지에 대해 다르게 라우팅하여 표준 IP 라우팅 프로토콜에서는 불가능한 경로를 이용해 패킷 전달하는 능력(트래픽 엔지니어링)

  • 링크 결함시 다시 빠르게 라우팅을 복구할 수 있음

  1. 미리 계산된 백업 경로 사용

  2. VoIP 등에 유용

5.2 MPLS와 IP 경로 비교

img

① IP 라우팅

  • 목적지 주소만을 가지고 경로 설정

② MPLS 라우팅

  • 출발지와 목적지 주소를 모두 고려하여 경로 결정

  • 링크 고장 시 미리 계산된 백업 경로를 사용하여 다시 라우팅

5.3 MPLS 시그널링(MPLS Signaling)

① 기존의 링크 상태 라우팅 알고리즘(OSPF) 확장

  • 링크 상태 정보를 MPLS 가능 라우터들 간에 플러딩(flooding)

② 엔트리 MPLS 라우터는 RSVP-TE(Resource Reservation Protocol - Traffic Engineering) 시그널링 프로토콜을 사용하여 다른 라우터의 MPLS 포워딩을 설정

profile
hello world :)

0개의 댓글