IT 프로그래밍/컴퓨터네트워크

[컴퓨터네트워크] 링크 레이어

기술1 2024. 12. 7. 16:19
반응형

링크

  • 호스트나 라우터는 노드(node) (브리지나 스위치 역시 노드)
  • 통신 경로를 따라 인접한 노드를 연결하는 통신 채널은 링크(link)
  • 2-PDU는 프레임(frame) 데이터그램을 캡슐화

data-link layer은 링크를 통해 한 노드에서 물리적으로 인접한 노드로 프레임을 전송할 책임이 있다.

 

 

 

데이터그램은 다양한 링크 상으로 다양한 링크 프로토콜에 의해 전송됨: 즉 첫번째 링크는 Ethernet, 중간 링크는 frame relay, 마지막 링크는 802.11

 

각 링크 프로토콜은 다른 서비스를 제공  - 즉 링크에서 rdt를 제공할 수도, 하지 않을 수도 있음

 

Framing, link access

  • 데이터그램을 프레임으로 캡슐화, header와 trailer 추가
  • 링크 엑세스 : 단대단 링크, 공유 브로트캐스트 링크, MAC 프로토콜
  • 소스와 목적지 식별을 위해 프레임에서는 "MAC address"가 사용됨 different from ip address

인접 노드 사이의 신뢰성있는 전달

  • 낮은 비트 오류율을 가지는 링크에서는 거의 사용되지 않음
  • 무선링크 : 높은 오류율 : 트랜스포트 계층 프로토콜에서의 재전송 대신 링크에서 오류 정정

Link layer service

Flow control

인접한 전송 노드와 수신 노드 사이의 속도 조절

 

Error Detection

신호 감쇠, 잡음에 의해 유발된 오류, 수신측이 오류를 검출 : 재전송을 위한 신호를 전송측에 보내거나 프레임을 버림

 

Error Correction

수신측이 재전송에 의지하지 않고 비트 오류를 식별하고 정정

 

Half-duplex and full-duplex

half duplex에서의 링크 양쪽의 노드들이 동시에 전송할 수 없음

 

링크 계층의 구현

링크 계층은 모든 호스트에 구현이 됩니다. 즉 사용자의 호스트, 라우터, 스위치와 같은 노드에서 링크 계층이 구현이 되고 이 링크 계층은 adaptor에 구현됩니다. 

 

어댑터에 링크 계층 그리고 추가적으로 physical layer까지 어댑터에 구현이 되며 host system에 연결이 되어서 호스트의 cpu에서는 상위계층에서 필요한 부분을  software적으로 처리를 하게 됩니다. 

 

Adaptors Communication

전송측

  • 데이터그램을 프레임으로 캡슐화
  • 오류 검사 비트, rdt, 흐름 제어 등 추가

수신측

  • 오류, rdt, 흐름 제어 등을 검사
  • 데이터그램을 추출하여 수신 노드에게 전달

multiple access protocols

일반적으로 통신 링크는 두가지 형태로 분류할 수 있습니다. 

 

point-to-point

 

broadcast

 

하나의 공유된 브로드캐스트 채널, 두 개 이상의 노드들에 의한 동시 전송: 충돌, 간섭

 

한번에 하나의 노드만이 성공적으로 전송 가능

 

다중 엑세스 프로토콜

  • 노드들이 어떻게 채널을 공유하는지를 결정하는 분산 알고리즘, 즉 노드가 언제 전송할 수 있는지를 결정
  • 채널 공유에 관한 통신 자체도 채널을 사용해야 함

Ideal Multiple Access Protocol

Broadcast channel of rate R bps

  1. 한 노드가 전송하기를 원할 때, rate R로 전송 가능
  2. M 노드들이 전송하기 원하면, 각 노드는 평균적으로 rate R/M로 전송
  3. 완전 분산(Fully decentralized): 전송을 조정하기 위한 특수한 노드가 없음, 클럭 슬롯의 동기화가 없음
  4. 단순하고 간단

3가지 분류

  • 채널 분할 - 채널을 더 작은 조각으로 분할, 노드에게 독점적 사용을 위한 조각을 할당
  • 랜덤 엑세스 - 채널은 분할되지 않고, 충돌을 허용, 충돌로부터 복구
  • 순번 - 충돌을 피하기 위해 고유 엑세스를 강하게 조정

채널 분할 : TDMA

 

 

주파수 분할 : FDMA

 

Random Access Protocol

노드가 전송할 패킷이 있을 때

  • full channel data rate R로 전송
  • 노드들간에 사전 조정이 없음

두 개 이상의 노드가 전송 -> 충돌

 

random access MAC protocol은 다음을 명시

  • 충돌은 어떻게 검출하는가
  • 충돌로부터 어떻게 복구하는가 (지연된 재전송을 위해)

랜덤 엑세스 MAC 프로토콜의 예

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

CSMA : listen before transmit

  • 채널이 idle이면, 전체 프레임을 전송
  • 채널이 busy라면, 전송을 연기

Human analogy : don't interrupt others

 

CSMA collisions

충돌은 여전히 발생 가능 : propagation delay는 두 노드가 상대방의 전송을 감지할 수 없는 경우가 발생한다는 것을 의미

 

collision : 전체 패킷 전송 시간이 낭비됨

 

note : 충돌 확률 결정에서 거리와 전파 지연의 역할

 

 

CSMA/CD (Collision Detection)

 

collision detection

충돌을 탐지하는 것은 유선의 랜에서는 쉽게 탐지 가능합니다. 신호 세기를 측정해보면 정상적인 프레임이 발생했을 때 다르기 때문에 유선 랜에서는 충돌을 쉽게 탐지 가능하지만 

 

무선랜에서는 충돌을 감지하는 것이 어렵기 때문에 CSMA/CD에서는 CD기법이 사용되지 않습니다. 

 

CSMA/CD : carrier sensing

  • 짧은 시간내에 충돌이 감지됨
  • 충돌된 전송은 취소되고, 채널 낭비를 줄임

Taking Turns MAC protocols

채널 분할과 랜덤 엑세스의 장점을 섞어놓은 것으로 볼 수 있습니다.

 

폴링(Polling)

마스터 노드(master node)가 슬래이브 노드(slave node)를 차례로 전송하도록 "invite"

 

concerns

  • 폴링 오버헤드와 지연
  • single point of failure

 

토큰 전달(Token passing)

한 노드에서 다음 노드로 순차적으로 토큰을 전달

 

concerns

  • 토큰 오버헤드
  • 토큰 전달 지연
  • single point of failure(token)

 

 

 

반응형