youngseo's TECH blog

[네트워크] Link Layer, Lans 본문

CS/네트워크

[네트워크] Link Layer, Lans

jeonyoungseo 2023. 6. 20. 11:27

시간이 없는 관계로 문제 풀이로 대체한다..!!!! 😭😭

1. 라우터와 스위치의 유사점과 차이점을 설명하시오.

  라우터 스위치
유사점 포워딩 테이블이 존재한다.
차이점 IP 주소로 포워딩하는 네트워크 계층 MAC 주소로 포워딩하는 링크 계층
IP와 MAC 주소를 가진다. 주소 없이 투명하다.
네트워크 관리자의 관리가 필요하다. self-learning으로 이루어진다.
계층구조 평면 구조

2. 스위치의 4가지 기능을 나열하고 각각에 대해 설명하시오.

  • self-learning 
    1. 스위치 테이블은 초기에 비어있다.
    2. 인터페이스로 수신(A->A')한 각 프레임에 대해 스위치는
    프레임의 출발지 주소 필드에 있는 MAC 주소 / 프레임이 도착한 인터페이스 / 현재 시간 을 저장한다.
    3. 일정시간(aging time)이 지난 후에도 스위치가 해당 주소를 출발지 노드로 하는 프레임을 수신하지 못하면 이 주소를 삭제한다.
  • forwarding
    프레임이 전송될 인터페이스를 결정하고 프레임을 해당 인터페이스로 내보내는 과정
  • filtering
    프레임을 인터페이스로 전달할지 혹은 폐기할지 결정한다.
  • flooding
    A->A'로 프레임을 보낸다.
    A'로의 경로를 모르므로 스위치와 연결된 모든 링크로 브로드캐스트한다.

3. 스위치 연결 방식에 있어 BUS 나 Hub-based-Link에 비해 스위치를 사용할 때의 장점?

충돌을 제거해 주므로 performance 향상, 이기종 링크 구성 가능, Sniffing 등 해킹에 강함

3. 다중 접속 프로토콜의 여러 유형에 대해 설명하고, Ethernet은 이 중 어디에 해당하는지 설명하시오.

  • 채널 분할 프로토콜: TDMA, FDMA, CDMA 시간을 분할하는 방식과 주파수를 분할하여 패킷에게 할당
  • 랜덤 접속 프로토콜 : ALOHA, CSMA/CD 재전송을 즉시하는 것이 아니라 랜덤 시간 동안 기다린 후 재전송
  • 순번 프로토콜: taking-turn protocol 폴링, 토큰 전달 프로토콜로 나뉜다.

Ethernet은 CSMA/CD에 해당한다. CSMA/CD의 특징은 다음과 같다.

  • 어댑터는 언제든지 전송을 시작할 수 있다. 즉 타임슬롯이 사용되지 않는다.
  • 어댑터는 다른 어댑터가 전송하고 있는 것을 감지하면 결코 전송을 하지 않는다. -> 캐리어 감지
  • 송신 어댑터는 다른 어댑터가 전송하는 것을 검출(발견!)하면 자신의 전송을 중단한다. -> 충돌 검출
  • 어댑터는 재전송 시도 전에 임의의 시간을 기다린다.

4. Ethernet에서 사용되는 Binary Exponential Backoff 알고리즘에 대해 설명하라.

프레임을 전송할 때, 이 프레임에 대해 연속적으로 n번째 충돌을 경험한 후 어댑터는 {0, 1, 2, ... 2^m-1} 로부터 임의의 K값을 택한다. 그 뒤 어댑터는 K*512 비트 시간을 기다렸다가 다시 프레임 전송을 시작한다.


 

<통신에 쓰이는 여러 테이블>

스위치 forwarding 테이블

주소 인터페이스 시간
12:34:56:78:90:AB 1 9:38
00-10-fa-c2-bf-d5 2 9:20

ARP 테이블    (IP (집주소로 비유) ---- ARP Table ------ MAC(주민등록번호) )

IP 주소 MAC 주소 시간
222.222.222.221 12:34:56:78:90:AB 13:45:00
     

라우팅 테이블

MPLS ( 패킷의 IP 주소를 고려하지 않고 레이블을 기반으로 스위칭하는 특징이 있다. ) 테이블
IP는 only destination만 고려하는 반면 MPLS는 source 와 destination 모두를 고려한다.

  입력 레이블 출력 레이블 목적지 출력 인터페이스
R3 10 6 A 1
R1 6 - A 0

 


그렇다면 아래의 상황을 보자. 
A~F는 호스트, 중간에는 스위치, R은 라우터를 의미한다.

1. 호스트 A -> 호스트 C로 데이터그램이 Link Layer를 통해 전송될 때, 호스트 A의 ARP 테이블의 변화 과정
※ 같은 서브넷의 다른 IP로 가는 데이터그램
① 먼저 A는 ARP 패킷(송신/수신 IP, MAC 주소 필드) 을 하나 만든다.
② 서브넷의 다른 모든 패킷에 질의하기 위해 어댑터에 전달한다. FF:FF:FF:FF:FF:FF로 패킷을 전송한다. (브로드캐스트)
③ 어댑터는 ARP 패킷을 링크 계층의 프레임에 캡슐화하고, 이 프레임의 목적지 주소로 브로드캐스트 주소를 이용해 프레임을 서브넷으로 전송한다.
④ 각 어댑터는 브로드캐스트 주소로 인해 프레임에 있는 ARP 패킷을 자신의 ARP 모듈로 전달한다.
⑤ 각 노드는 자신의 IP 주소가 ARP 속 목적지 IP 주소와 일치하는지 검사한다.
⑥ 일치하면 요구된 매핑 정보를 포함하는 응답 ARP 패킷을 질의한 노드로 돌려보낸다.
⑦ 질의 노드는 자신의 ARP 테이블을 갱신하고 자신의 IP datagram링크 계층 프레임으로 캡슐화하여 전달한다.

2. 호스트 A(서브넷1) -> 호스트 D(서브넷2) 로 데이터그램이 Link Layer를 통해 전송될 때, 호스트 A의 ARP 테이블의 변화 과정
※ 다른 서브넷의 IP로 가는 데이터그램
① 데이터그램을 라우터(인터페이스)로 전달한다.
송신 어댑터는 프레임을 만들어 서브넷 1로 전송한다. 출발지 호스트에서 IP 데이터그램을 라우터로 전달한다.
③ 라우터에서 목적지(서브넷 2)로 전달될 정확한 인터페이스를 정하기 위해 라우터의 포워딩 테이블을 참조한다.
④ 포워딩 테이블은 라우터에게 데이터그램을 라우터 인터페이스 D를 거치도록 지시한다.
⑤ 인터페이스(라우터)는 데이터를 자신의 어댑터로 전달하고 어댑터는 데이터그램을 새 프레임에 캡슐화하여 그 프레임을 서브넷 2로 전송한다.
⑥ 이후 ARP로 목적지 MAC 주소를 얻어 보낸다.

같은 서브넷인지 다른 서브넷인지는 subnet mask를 통해 알 수 있다.