[제6장] 링크 계층과 근거리 네트워크

Jnary·2022년 11월 23일
0

Computer Network

목록 보기
6/9
post-thumbnail

6.1 링크 계층 소개

[링크 계층 채널]

  • 브로드캐스트 채널
    - 무선 랜, 위성 네트워크, HFC 접속 네트워크
    - 다수의 호스트가 연결
    - 매체 접속 프로토콜 : 프레임 전송 조정
    - 중앙 컨트롤러 : 전송 조정
  • 점대점 통신 링크
    - 원거리 링크에 의해 연결된 두 라우터 등에 사용
    - 접근제어 간편
    - PPP : 전화선을 이용한 다이얼업 서비스부터 광 링크상에서의 고속 점대점 프레임 전송에 모두 사용
  • 노드 : 링크 계층(2계층) 프로토콜을 실행하는 장치
    - ex. 호스트, 라우터, 스위치, 와이파이 AP
  • 링크 : 통신 경로상의 인접한 노드들을 연결하는 통신 채널
    - 한 링크에서 전송 노드는 데이터그램을 링크 계층 프레임으로 캡슐화해서 링크로 전송
    - 서로 다른 링크는 서로 다른 프로토콜 사용 가능
    - 무선, 유선
  • 프레임 : 2계층 패킷
    - 5계층 패킷 : 메시지
    - 4계층 패킷 : 세그먼트
    - 3계층 패킷 : 데이터그램
  • 3계층의 IP, 라우터 : 2계층의 링크 레이어, 스위치 라인
    - 3계층이 논리적 주소와 더불어 2계층의 물리적 주소도 알아야 함 - IP 주소 + MAC 주소

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

  • 프레임화
    - 네트워크 계층 데이터그램을 링크상으로 전송하기 전에 링크 계층 프레임에 캡슐화
    - 프레임 : 네트워크 계층 데이터그램이 들어있는 데이터 필드와 여러 개의 헤더 필드로 구성
  • 링크 접속
    - 매체접속제어(MAC) 프로토콜은 링크상으로 프레임을 전송하는 규칙을 명시
    - 점대점과 달리 브로드캐스트 링크는 다중 접속 문제 때문에 MAC 프로초콜이 여러 노드로부터의 프레임 전송을 조정
  • 신뢰적 전달
    - 일부 트랜스포트 계층 프로토콜(ex. TCP)의 신뢰적 전달 서비스와 마찬가지로 확인응답과 재전송을 통해 가능
    - 무선 링크처럼 오류율이 높은 링크에서 주로 사용
    - 재전송하는 방식이 아닌 오류가 발생한 링크에서 오류를 정정
    - 대다수 유선 링크 계층 프로토콜에서는 제공X : 낮은 비트 오류율을 가진 링크(ex. 광섬유, 동축케이블, 꼬임쌍 선)에서는 불필요한 오버헤드가 될 수 있다.
  • 오류 검출과 정정
    - 대부분의 링크 계층 프로토콜에서 제공
    - 3,4계층보다 더 복잡
    - 하드웨어로 구현
    - 오류 정정 : 오류 검출 + 어느 곳에서 오류 발생했는지 정확히 탐색 가능
  • half-duplex와 full-duplex
    - half-duplex : 송수신 가능. 동시X
    - full-duplex : 송수신 동시 가능.

6.1.2 링크 계층이 구현하는 위치

  • NIC(Network Interface Card)에 링크 계층 구현
  • 주로 하드웨어 중심
  • 부착하게 되면 호스트의 시스템 버스 이용 가능

[인터페이스 커뮤니케이팅]

  • 송신 측
    - 데이터그램 프레임화
    - 에러 체크 비트, 신뢰적 데이터 전송, 프로우 컨트롤 등 추가 가능
  • 수신 측
    - 에러, 신뢰적 데이터 전송, 프로우 컨트롤 등 확인 가능
    - 데이터그램 추출, 윗계층으로 전송

6.2 오류 검출 및 정정 기술

  • EDC : 오류 검출 및 정정 비트
    - 데이터에 EDC 추가해서 비트 오류 방지
    - 항상은 아니지만 거의 모든 비트 오류 검출 가능

6.2.1 패리티 검사

  • 단일 패리티 비트
    - 짝/홀 : 1의 개수가 짝/홀이어야함
    - d+1번째에 패리티 비트
  • 2차원 패리티 비트

6.2.2 체크섬 방법

  • 인터넷 체크섬 : 더한 값의 1의 보수
  • 모두 1인 비트로 구성되어있는지 계산
    - 한 비트라도 0이면 오류 발생
  • 특징
    - 상대적으로 패킷 오버헤드가 적다.
    - CRC와 비교했을 때 오류에 취약

6.2.3 순환 중복 검사(CRC)

  • G : 생성자로 알려진 r+1비트 패턴
    - 미리 정의되어있음.
    - 최상위비트 = 1
  • Example - 실제 전송할 데이터 = D + R
    - (실제 전송된 데이터 xor 생성다항식) 나머지가 모두 0 : 오류X
    - (실제 전송된 데이터 xor 생성다항식) 나머지가 하나라도 1이 있으면 오류가 있음

6.3 다중 접속 링크와 프로토콜

  • 다중 접속 프로토콜
    - 컴퓨터 네트워크에서 공유되는 브로드캐스트 채널로 보내는 노드들의 전송을 조정
    - 유선 및 무선 접속 네트워크과 위성 네트워크를 포함하는 다양한 네트워크 설정에서 필요
    - 여러 개 동시 전송 가능 : 간섭 발생
    - 채널을 어떻게 공유할 것인지 결정하는 분산된 알고리즘
  • 이상적인 다중 접속 프로토콜
    - 한 노드가 원하면 R의 속도로 전송 가능
    - M개의 노드가 원하면 R/M의 속도로 전송 가능
    - 분산된 프로토콜. 고장으로 인해 전체 시스템을 정지시킬 수 있는 마스터 노드 부재
    - 간단 -> 구현 비용 감소

[MAC 프로토콜 분류]

  • 채널 분할 프로토콜
    - 시간, 주파수 등의 더 작은 조각으로 분할
    - 높은 부하 : 효율적, 공정하게 채널 공유
    - 낮은 부하 : 비효율적, 채널 엑세스 지연, 활성 노드가 하나만 있어서 1/N 대역폭 할당
  • 랜덤 접속 프로토콜
    - 분할X, 충돌 허용
    - 충돌로부터 회복
    - 높은 부하 : 비효율적, 충돌 오버헤드
    - 낮은 부하 : 효율적, 단일 노드가 채널을 최대한으로 활용 가능
  • 순번 프로토콜
    - 높은 부하, 낮은 부하 둘 다 효율적

6.3.1 채널 분할 프로토콜

  • TDMA : 시분할 다중 접속
  • FDMA : 주파수 분할 다중화

6.3.2 랜덤 접속 프로토콜

  • 주요기능
    - 충돌을 감지하는 방법
    - 충돌로부터 회복시키는 방법
  • ex.
    - ALOHA, slotted ALOHA
    - CSMA, CSMA/CD, CSMA/CA

[Pure ALOHA]

  • 최초의 무선 패킷 통신망
  • unslotted Aloha : 더 간단,
  • 회선 이용률 비효율적

[Slotted ALOHA]

  • 가정
    - 모든 프레임은 동일한 사이즈
    - 동일한 사이즈의 slot으로 시간 분할
    - 슬롯이 시작하는 곳에서만 노드 전송 시작
    - 노드 동기화
  • 충돌
    - 충돌 발생X : 다음 슬롯에 보낼 새로운 프레임 전송
    - 충돌 발생O : 재전송
  • 분산된 형태 : 자율적으로 전송 가능, 슬롯의 시작만 맞춤
  • 단점
    - 충돌 발생시 슬롯 낭비
    - 비어있는 슬롯 존재
    - sync가 없는게 좋은데 sync 있음.
    - 비효율적!

[CSMA : Carrier Sense Multiple Access]

  • 전송하기 전에 확인
    - 누가 먼저 쓰고 있으면 holding
  • Propagation delay 문제
    - 확인해서 없어서 보내기 시작했는데 그 사이에 충돌이 남
    - 전체 패킷 전송 시간 낭비
    - 비효율적

[CSMA/CD : Collsion Detection]

  • 충돌이 발생했 때 전송을 멈춤
    - 회선 빠르게 정리
    - 충돌 시 낭비되는 채널 줄어듬.
  • 충돌 감지 문제
    - 무선에서는 사용X, 충돌 감지해도 못 들음
    - 유선에서는 쉽게 사용
  • binary backoff?
  • 성능
  • ALOHA보다 성능 good
  • CSMA/CA
    - CSMA/CD : 이더넷에서 사용
    - CSMA/CA : 802.11 무선 랜에서 사용

6.3.3 순번 프로토콜

[폴링 polling 프로토콜]

  • 노드 중 하나를 마스터 노드로 지정
    - 마스터 노드는 각 노드를 라운드 로빈 방식으로 폴링
    - 각 노드가 최대로 보낼 수 있는 프레임 수에 대한 정보를 지닌 메시지를 전송
  • 빈 슬롯 제거
    - 랜덤 접속 프로토콜의 단점 극복
    - 높은 효율
  • 단점
    - 폴링 지연 (노드가 전송할 수 있음을 알리는 데 걸리는 시간)
    - 마스터 노드 고장 시 전체 채널 동작 불가

[토큰 전달 token passing 프로토콜]

  • 토큰 : 작은 특수목적 프레임이 정해진 순서대로 노드 간 전달
    - 노드가 전송할 프레임이 있을 경우 토큰을 붙잡음.
    - 그렇지 않으면 즉시 다음 노드로 토큰 전달
  • 분산 방식 -> 효율적
  • 단점
    - 노드 하나가 실패하면 전체 채널이 동작X
    - 노드가 잘못해서 토큰을 놓아주지 않으면 토큰이 다시 돌 수 있도록 회복 절차 필요

6.3.4 DOCSIS : 케이블 인터넷 접속을 위한 링크 계층 프로토콜

  • 케이블 접속 네트워크 - 세 종류의 다중 접속 프로토콜 각각에 대한 것을 보여주는 사례
    - 수천 개의 댁내 케이블 모뎀을 케이블 네트워크 헤드엔드에 있는 케이블 모뎀 종단 시스템(CMTS)에 연결
  • DOCSIS- Data-Over-Cable Service Interface Specifications
    - 케이블 데이터 네트워크의 구조와 프로토콜들을 정의
    - 주파수 채널을 통한 FDM
    - 하향 채널 : CMTS -> 모뎀, 다중 접속 문제X
    - 상향 채널 : CMTS <- 모뎀, 모든 사용자가 특정 업스트림 채널 시간 슬롯에 대해 경쟁(랜덤 액세스) TDM
    - 상향 채널의 TDM : 케이블 모뎀이 CMTS로 전송할 수 있는 일련의 미니슬롯들로 구성
    - CMTS : 하향 채널상으로 MAP 메시지(제어 메시지)를 보냄으로써 명시한 시간 간격 동안 어떤 미니슬롯으로 전송할 수 있는 지 알려줌.
    - 미니슬롯 동안은 충돌 발생X

6.4 스위치 근거리 네트워크

6.4.1 링크 계층 주소체계와 ARP

  • ARP
    - Address Resolution Protocol
    - 4계층 IP주소를 링크 계층 주소로 변환

[MAC 주소]

  • 다른 말로 LAN 주소, 물리 주소라고도 함
  • 한 인터페이스에서 물리적으로 연결된 다른 인터페이스로 프레임을 가져오기 위해 '로컬'로 사용됨.
    - 동일한 서브넷, IP 주소 지정 방식
  • NIC ROM에 기록된 48비트 MAC주소
    - 때때로 소프트웨어 설정 가능
    - ex. 1A-2F-BB-76-09-AD
  • LAN의 모든 인터페이스에 MAC주소 + IP주소 할당 필요
    - MAC 주소 : 주민등록번호
    - IP 주소 : 집 주소
  • IEEE가 MAC 주소 공간을 관리
    - 어떤 어댑터도 동일한 주소를 갖지 않는다.
  • 플랫한 주소 : 휴대성
    - 한 LAN에서 다른 LAN으로 인터페이스 이동 가능
    - IP주소는 휴대성X : 노드가 연결된 IP 서브넷에 따라 상이

[ARP]

  • ARP 테이블
    - 모든 호스트, 라우터가 각각 가지고 있음
    - IP/MAC 주소를 LAN 노드에 매핑
    - TTL : MAC 주소 사용 가능한 시간
  • 랜 내에서의 라우팅 과정 : A에서 B로 데이터그램 전송 - B의 IP주소를 포함한 ARP 쿼리 전송
    - MAC 주소는 1로 채워넣음
    - 모든 노드가 ARP 쿼리 수신
    - B가 MAC 주소에 자신의 맥주소를 담아서 ARP 응답을 전송
    - 응답을 받은 A는 자신의 ARP 테이블에 정보를 저장
  • 랜 밖 다른 서브넷으로의 라우팅 과정 - A는 DHCP 할 때 first-hop 라우터 받아서 라우터 IP주소 알고 있음
    - 데이터그램을 라우터 인터페이스 111.111.111.110으로 전달
    - 라우터의 어댑터는 링크 계층 프레임이 자신을 목적지로 하는지 검사한 후, 프레임을 라우터의 네트워크 계층으로 전달
    - 데이터그램이 전달될 정확한 인터페이스 결정 (포워딩 테이블)
    - 라우터는 222.222.222.220 라우터 인터페이스를 거쳐 전달하도록 지시
    - 인터페이스는 데이터그램을 자신의 어댑터로 전달
    - 어댑터는 데이터그램을 새 프레임에 캡슐화하여 서브넷2로 전송
    - 프레임의 목적지 MAC 주소는 실제 최종 목적지의 MAC 주소가 된다.

6.4.2 이더넷

  • 인터넷과 이더넷
    - 인터넷 : 글로벌 네트워킹에 관한 것
    - 이더넷 : 근거리 네트워킹에 관한 것
  • 이더넷 : 가장 우세한 유선 랜 기술

[물리적 topology]

  • bus
    - 90년대 중반 많이 사용
    - 모든 노드가 같은 충돌 도메인 내에 있음
    - 서로서로 충돌 가능성
    - 동축 케이블
  • switched
    - 오늘날 사용
    - 2계층 스위치를 센터에
    - 이더넷 프로토콜 기반으로 동작
    - 서로 충돌 X

[이더넷 프레임 구조]

  • 프리앰블
    - 수신자와 송신자 간의 동기화
    - 8byte
    - 첫 7바이트 = 10101010 : 수신 어댑터 깨우고 수신자의 클록을 송신자의 클록과 동기화
    - 마지막 바이트 = 10101011 : 마지막 두 비트는 어댑터로 하여금 중요한 것이 오고 있음을 알려줌.
  • 목적지 주소
    - 6byte
    - 목적지 어댑터의 MAC 주소
  • 출발지 주소
    - 6byte
    - 프레임을 랜으로 전송하는 어댑터의 MAC 주소
  • 타입
    - 2byte
    - 네트워크 계층 프로토콜 다중화 허용
    - 상위 계층 프로토콜 표시 (대부분은 IP)
    - 수신기에서 역다중화하는 데에 사용
  • 데이터
    - IP 데이터그램 운반
    - 최대 1500byte, 최소 46byte
  • CRC
    - 4byte
    - 순환 중복 검사
    - 수신 어댑터로 하여금 프레임에 오류가 생겼는지 검출
    - 에러 감지 -> 버리기

[이더넷 특징]

  • 비연결형 서비스 : handshaking(X)
  • 비신뢰적인 서비스 : 오류 검출은 하지만 정정은X
  • 이더넷의 MAC 프로토콜 : unslotted CSMA/CD

[802.3 이더넷 표준 : 링크와 물리 계층]

  • 많은 다양한 속도의 이더넷 표준이 존재
  • MAC 프로토콜과 프레임 형식은 동일
  • 다양한 물리적 계층 매체 : 구리선, 케이블

6.4.3 링크 계층 스위치

  • 스위치
    - 2계층 장비
    - 들어오는 링크 계층 프레임을 수신해서 출력 링크로 전달하는 것
    - transparent : 서브넷의 호스트와 라우터들이 스위치의 존재를 인식하지 못함.
    - CSMA/CD MAC 프로토콜 사용
    - plug-and-play, 자가 학습 : 따로 설정 필요X
  • 스위치의 다중 동시 전송 - 충돌X : full duplex 가능
    - 각각의 링크는 자신 만의 충돌 도메인을 가짐
    - 하지만 서로 다른 목적지가 아닌 경우 충돌 발생
    : 스위치가 각각 시간 차를 두고 조정함.

[스위치 테이블]

  • 스위치 테이블 엔트리
    - 호스트의 MAC 주소
    - 그 MAC 주소로 가게 하는 스위치 인터페이스
    - 해당 엔트리가 테이블에 만들어진 시점
  • 라우터의 포워딩 테이블과 비슷

[스위치의 자가학습]

  • 호스트가 어떤 인터페이스를 통해 도달할 수 있는지 학습
  • 인터페이스로 수신한 각 프레임에 대해 다음의 정보를 저장
    - 프레임의 출발지 주소 필드에 있는 MAC 주소
    - 프레임이 도착한 인터페이스
    - 현재 시간
  • TTL : 일정 시간이 지난 후에도 스위치가 해당 주소를 출발지 주소로 하는 프레임을 수신하지 못하면 테이블에서 이 주소를 삭제
  • 목적지 주소가 테이블에 없으면 들어온 인터페이스를 제외한 인터페이스에 flooding
  • 프레임이 도착한 세그먼트의 목적지이면 프레임 버림.

[상호연결된 스위치]

  • s1, s2, s3, s4 스위치 테이블이 채워지는 과정

[스위치와 라우터]

  • 둘 다 저장하고 포워드하는 기능
  • 라우터
    - 네트워크 계층 장치
    - 포워딩 테이블 계산 : 설정된 알고리즘 이용
    - IP주소
  • 스위치
    - 링크 계층 장치
    - 스위칭 테이블 계산 : 자가학습
    - MAC 주소

6.4.4 가상 근거리 네트워크(VLAN)

[스위치 계층구조의 단점]

  • 트래픽 격리의 부족
    - 그룹 트래픽을 단일 스위치 내로 격리해주지만, 브로드캐스트 트래픽은 여전히 전체 네트워크로 전달되어야만 한다.
    - 랜 브로드캐스트 트래픽 제한 필요
  • 스위치의 비효율적인 사용
    - 스위치 하나로는 트래픽 격리 불가
  • 사용자 관리
    - 한 노드가 다른 그룹으로 이동하는 경우 다른 스위치에 연결하기 위해 물리적 케이블 연결을 변경해야함.
    - 복잡

-> 이러한 단점을 VLAN을 지원하는 스위치를 사용해 해결 가능

[포트 기반 VLAN]

  • 논리적인 망 분리
    - 하나의 물리적 근거리 네트워크 인프라스트럭처상에서 여러 개의 가상 근거 네트워크 정의 가능
    - 소프트웨어적 설정
    - 한 VLAN의 포트들은 하나의 브로드캐스트 도메인 형성
  • 트래픽 격리
  • 동적 구성원
    - 포트들은 VLAN 사이에서 동적으로 할당 가능
  • VLAN 간 포워딩
    - 라우팅을 통해 포워딩
    - 별도의 스위치와 마찬가지로
    - 서로 다른 서브넷으로 간주
    - 내에 라우터 기능이 존재

[VLAN 트렁킹]

  • 빨간영역, 파란영역 각각을 하나의 논리적인 영역으로 간주
  • 트렁크 포트
    - 여러 물리적 스위치에 대해 정의된 VLAN 간에 프레임을 전달
    - 일반적인 프레임 사용 불가 (802.1 프레임X)
    - 자신의 VLAN을 식별할 수 있는 format이 필요
  • 802.1Q VLAn 프레임 형식

6.5 링크 가상화 : 링크 계층으로서의 네트워크

6.5.1 다중 프로토콜 레이블 스위칭(MPLS)

6.6 데이터 센터 네트워킹

6.6.1 데이터 센터 구조

6.6.2 데이터 센터 네트워킹 동향

6.7 총정리 : 웹 페이지 요청에 대한 처리

6.7.1 시작하기 : DHCP, UDP, IP, 그리고 이더넷

6.7.2 여전히 시작하기 : DNS와 ARP

6.7.3 여전히 시작하기 : DNS 서버로의 인트라 도메인 라우팅

6.7.4 웹 클라이언트-서버 상호작용 : TCP와 HTTP

profile
숭실대학교 컴퓨터학부 21

0개의 댓글