Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

be programmer

6: 네트워크 계층과 LANs 본문

cs/네트워크

6: 네트워크 계층과 LANs

mm______m 2024. 6. 14. 23:01

링크 계층과 관련한 용어들

노드 - 호스트, 스위치, 라우터, 와이파이 ..

링크 : 통신 경로 상의 인접한 노드를 직접 연결하는 통신 채널

 - 유선 링크

 - 무선 링크

링크 계층 패킷 - 프레임

 - 데이터그램을 캡슐화

 

 -> 링크 계층은 링크를 통해 하나의 노드에서 물리적으로 인접한 노드로 데이터그램 전송을 담당한다.

링크 계층이 제공하는 서비스

 - 프레임화

 - 링크 접속

 - 인접한 노드 간 신뢰성 있는 전달

 - 흐름 제어

 - 오류 검출

 - 오류 정정

 - 반이중 및 전이중

CRC

D 데이터 비트, G 해당 비트를 갖는 비트 패턴, R 나머지

계산법 : D가 주어지고 G가 주어진다면

D + (G비트수 - 1) 만큼 뒷자리수 0으로 채움
D / G 나눗셈은 자릿수끼리 XOR

다중 접속 프로토콜

점대점 링크

브로드캐스트 링크

다중 접속 문제 : 여러명이 공유하는 단말 브로드캐스트 채널 접속을 조정하는 문제

두개 이상의 노드가 동시에 전송되면 서로에게 간섭 발생

 - 충돌 : 수신노드가 두개 이상의 노드를 동시 수신하는 경우 발생

 - 충돌 프레임은 신호 해석이 불가하므로 채널 시간이 낭비됨

MAC 프로토콜의 분류

채널 분할

채널을 더 작은 조각으로 분할

노드는 자신에게 할당된 조각을 독점적으로 사용

시간 분할, 주파수 대역 분할, 코드 분할이 대표적

랜덤 접속

채널이 분할되지 않음

충돌 발생을 허용하고, 충돌 발생하면 랜덤 지연시간후 재전송됨.

ALOHA, Slotted-ALOHA, CSMA, CSMA/CD, CSMA/CA가 대표적

순번

노드는 순번대로 전송 기회를 획득하며, 보낼 데이터가 많은 노드는 자신 순번에서 오랫동안 전송할수 있음

장단점

채널 분할 MAC 프로토콜:

▪ 부하가 많은 네트워크에서 효율적이며, 공정하게 채널을 공유

▪ 부하가 낮은 네트워크에서 비효율적: 채널 접속 지연 발생, 활성 노드가 1개만 있으면 1/N 대역폭만 활용 가능

랜덤 접속 MAC 프로토콜:

▪ 부하가 낮은 네트워크에서 효율적: 단일 노드가 채널의 대역폭을 완전히 활용할 수 있음

▪ 네트워크의 부하가 많아지면, 활성 노드가 많아지면서 충돌 오버헤드가 증가

순번 MAC 프로토콜:

▪ 부하가 많든 적든 어느 정도 효율적으로 동작 가능

▪ 제어 오버헤드 및 단일 장애점 (single point of failure) 발생: 특정 노드의 오류가 전체 시스템을 정지시킬 수 있음

 

CSMA : 전송하기전 채널 상태 확인

만약 채널이 유휴하면 전체 프레임 전송

반대로 채널에 신호가 감지되면 전송을 지연함

 

CSMA/CD : CSMA with Collision Detection

▪ 송신 노드는 프레임을 전송하면서 동시에 채널을 들음

• 충돌 검출 (collision detection)이 빠름

▪ 충돌이 검출되면, 충돌이 발생한 프레임 전송을 즉시 중단시켜 낭비되는 채널 시간을 감소

▪ 반송파 감지 (carrier sensing): 유선에서는 쉽지만, 무선에서는 어려움

 

Ethernet CSMA/CD 알고리즘 

1. NIC는 네트워크 계층에서 데이터그램을 받아 프레임 생성

2. NIC는 반송파가 감지되는지 확인

 - 유휴 상태이면 프레임 전송 시작

 - 유휴 상태가 아니면 대기 후 전송 시작(지연)

3. 프레임을 전송하는 동안 NIC는 다른 신호의 에너지가 검출되는지 감시

충돌 X

충돌없이 전체 프레임이 전송되면 전송 완료됨

충돌 O

충돌이 발생하면 전송 중단 후 JAM 신호 전송

중단 후 이진 지수적 백오프 알고리즘 이용하여 대기시간 임의로 결정 후 대기하고 2로 복귀

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

인터페이스에서 물리적으로 연결된 다른 인터페이스로 프레임을 전달하기 위해 로컬에서 사용하는 주소

 

주소 결정 프로토콜

Q. IP주소를 알지만 MAC 주소를 모를때?

A. LAN에 각 노드(호스트, 라우터)에 ARP 테이블이 존재함. 이것으로 알수 있음

1. A는 B의 IP주소를 포함한 ARP질의를 함

2. B는 ARP 응답을 통해 본인의 MAC 주소 전달

3. A는 응답을 받고 로컬 ARP 테이블에 B 항목 추가

 

이더넷

비 연결형 서비스 : 송 수신 NIC간 핸드셰이킹 과정이 없음

비 신뢰적 서비스 : 수신 NIC는 송신 NIC에 ACK, NAK를 보내지 않음

라우터에서 프레임 처리 과정

처리 과정

1. 프레임이 라우터 입력 포트에 도착

2. 라우터는 L2의 목적지 MAC 주소 확인

 - 주소가 다르면 프레임 폐기

3. 목적지 MAC 주소와 라우터의 MAC 주소가 같으면 CRC 검사 진행

 - 오류가 검출되면 프레임 폐기

4. L2를 제거하고 네트워크 계층으로 데이터그램 전달

5. L3 checksum에서 오류 확인

 - 오류가 검출되면 프레임 폐기

6. 목적지 IP 주소 확인

 - 목적지 IP 주소가 다르면 TTL 1 감소, TTL = 0이면 폐기 후 ICMP 메시지를 출발지 호스트로 전송

7. 포워딩 테이블에서 목적지 ip 주소와 매칭되는 항목을 찾아 출력포트 선택

8. 새로운 TTL 값과 체크섬 값으로 L3 갱신

9. 링크 계층으로 데이터그램값 전달

10. 새로운 출발지 및 목적지 MAC 주소로 L2 다시 만들음

11. L3에서 체크섬과 TTL이 갱신, L2에서 출발지 목적지 주소 변경되었다면, CRC 다시 계산

12. L2랑 CRC를 프레임으로 캡슐화시키고, 선택된 출력 포트를 통해 인접 노드로 전송

 

이더넷 스위치

스위치 : 링크 계층의 장치

이더넷 프레임을 저장 후 전달, 수신되는 프레임의 MAC 주소를 검사, 프레임을 하나 이상의 링크로 선택적 전달

 

라우터 vs 스위치

라우터 : 네트워크 계층 장치

스위치 : 링크 계층의 장치

 

포워딩 테이블

라우터 : 라우팅 알고리즘, IP 사용하여 테이블 계산

스위치 : 플러딩(모든 노드(호스트)에 하나씩 전송하여 맞는지 확인), 자가학습, MAC 주소 사용

가상 근거리 네트워크(VLAN):동기

 랜 크기 확장, 사용자 연결지점 변경되면?

 확장성 문제 : 모든 링크 계층 브로드캐스트 트래픽은 전체 LAN에 전달되는 문제

 보안 문제

 스위치의 비효율적 사용 : 모든 그룹마다 스위치 필요

 논리적으로 연결된 CE스위치를 원했지만, 물리적으로 연결된 CE 스위치

포트 기반 VLAN

스위치 관리 소프트웨어에 의해 그룹화된 스위치 포트 단일 물리적 스위치를 여러개의 가상 스위치로 동작하게끔 할수 있다.

트래픽 격리(트래픽 1-8을 오가는 프레임은 트래픽 1-8만 오갈수 있음), 동적 멤버십(VLAN간 포트 동적 할당 가능), VLAN간 포워딩 - 별도의 스위치처럼 라우팅을 통해 수행

 

VLAN 트렁킹

여러 스위치에서 정의된 VLAN간에 프레임을 전달하는 특수 포트

여러 VLAN의 트래픽을 하나의 물리적 링크를 통해 전송할 수 있도록 하는 기술

 

데이터센터 네트워크 요소

네트워크 요소

로드 밸런서

외부 클라이언트 요청 수신하여 호스트간 부하를 균등 분배

공용 외부 IP 주소를 내부 IP 주소로 변환

요청 결과를 외부 클라이언트에 반환

다중 경로 : 스위치와 RACK간 다양한 상호 연결

RACK간 처리량 증가

신뢰성 증가