컴퓨터(Computer Science)/네트워크, Network

데이터링크(Data Link Layer) 계층에 관한 필수 지식

게임이 더 좋아 2020. 12. 11. 01:08
반응형
728x170

 

 

데이터 링크에 배웠다면 대답할 수 있는 지식에 대해서 알아보자

 

 

Data Link Layer

 

게임 서버 프로그래밍이란 책에 좋은 비유가 있길래 가져왔다.

각 단말기는 고유한 주소를 갖습니다.

단말기는 데이터를 프레임(frame)이라는 단위로 주고받는다.

**여기서 단말기는 집이 되겠다.

**마을은 LAN를 형성한 것으로 보면 되겠다.

**편지는 Data가 되겠다.

 

여러 집으로 구성된 작은 마을이 있다고 가정하자. 각 집에는 주소가 있다.

어떤 집에서 편지를 보내고 싶으면, 편지를 봉투에 넣고 수신자 주소를 기재해야한다.

그냥 편지를 봉투 없이 우체통에 넣으면 그 편지는 쓸모도 없고 전달되지도 못한다.

주소를 적은 편지 봉투를 우체통에 넣었더라도 주소가 같은 집이 두 곳 있다거나 하는 오류가 있으면 당연히 편지는 정확하게 전달될 수 없다.

 

편지지 내용에 해당하는 것은 단말기가 보내고자 하는 데이터이다.

이를 페이로드(payload)라고 한다.

편지지가 들어 있는 봉투에는 수신자를 적는다.

물론 송신자도 적는다.

이 봉투를 우리는 헤더(header)라고 합니다.

봉투에 편지지가 들어 있으면, 즉 헤더와 페이로드를 합친 결과물을 프레임(frame)이라고 한다.

 

 

(물론 위 상황은 LAN에서의 통신이다. LAN을 확장한 WAN에서는 다르게 통신한다)

 

 

 

  • 데이터 링크에서 하는 주요 역할들은?

-이웃 계층에 대한 서비스와 인터페이스 제공 (to Network, Physical)

-Framing, 프레이밍 , Flow control, Error control오류 제어와 흐름 제어

(오류 제어에는 오류 발견과 오류 정정이 있음)

-물리적으로 연결된 호스트 사이의 통신수단을 제공함.

(송신 호스트가 정보를 꾸려서 물리 계층을 통해 정보를 보내고 수신 호스트가 해당 정보를 수신하여 사용할 수 있는 수단)

 

 

  • Frame이란?(링크 계층의 송수신 단위)

-장거리 통신을 하는 경우 Frame은 상위 계층의 Packet 그대로를 사용하고 데이터 헤더(header)를 붙인다.

하지만 Local Area Netwrok의 경우에는 bits 를 쪼갠다.

 

-데이터 링크에서 교환이 이루어지는 단위다.

-네트워크 계층에 서비스를 제공하기 위해서 데이터 링크 계층은 물리계층에서 제공된 서비스를 이용해야 한다. 물리 계층은 원시 비트 스트림을 받아서 목적지로 분배하는 일을 담당한다.

-그 비트 스트림에 오류가 없다는 것을 보증하지는 않는다. 수신된 비트들은 송신된 비트들에 비해 작거나, 같거나, 클 수도 있다.

따라서 오류를 검사하고 교정하는 일은 데이터 링크 계층의 몫이다.

-데이터 링크 계층에서는 비트 스트림을 프레임들로 나눈다.(물리적 계층에서 받아온 비트 스트림)

 

  • 왜 Farming이 필요한지 설명하시오

프레임을 송신 비트에 대해서 수신비트의 오류를 검사하고 교정하기위해 필요하다.

 

 

  • 그림의 (a)에서의 Framing 메커니즘을 설명하시오.

-위 기법은 프레임 속의 바이트 수를 나타내기 위해 헤더의 한 필드를 사용한다. (b)의 그림과 같이 카운트하는 부분이 왜곡이 된다면 수신측이 프레임에 오류가 존재하는 것을 알았다 해도 다음 프레임의 시작위치를 알 수 없다. 에러를 정정할 수 없는 것이다.

 

  • 그림의 (b)에서의 Framing 메커니즘을 설명하시오

Frame의 크기를 나타내는 Header가 잘못되면 아예 전부다 엉망이 된다.

그래서  거의  byte count방법을 쓰지 않는다.

 

 

 

 

  • 그림에보여진 "protocol using go back n"의 메커니즘을 설명하시오.

-송신측에서 다른 프레임을 전송하기 전에 확인응답(acknowledge)을 받아야 한다.

즉, 송신측이 차단되기 전에 많은 프레임을 보내는 것으로 극복할 수 있다. 이를 파이프라이닝(pipelining)이라고 한다. 여기서 생기는 오류를 극복하는 방법으로 go back n 방법을 쓴다.

수신측에서는 단순히 이어져 들어온 모든 프레임을 폐기하고 폐기된 프레임에 대해는 응답을 보내지 않는다. 오류가 발생한 프레임뿐만 아니라, 정상적으로 수신한 프레임까지 재전송하는 문제점이 있다.

 

 

  • one persistent CSMA/CD는 Ethernet(이더넷)이라고 불린다. 이더넷의 원리와 개념에 대해서 설명하시오.

캐리어 인지 프로토콜 중에 하나다. CSMA는 Carrier Sense Multiple Access 라는 뜻이다.

보내야 할 데이터가 있을 때 스테이션은 우선 그 때 다른 스테이션이 전송 중인지 알기 위해 채널을 체크한다. 채널이 사용 중이면 전송하기 위해서 그 스테이션을 기다린다. 스테이션이 빈 채널을 체크하면 프레임을 전송한다. 만약 충돌이 발생하면 스테이션은 임의의 시간 동안 기다린 후 다시 작업을 시작한다.

스테이션이 빈 채널을 발견할 때마다 1의 확률로 전송을 하기 때문에 1 persistent protocol이라고 부른다.

-Persistent란 충돌이 일어났을 때의 행동패턴을 말한다. 1의 뜻은 스테이션이 비어있고 자기가 전송을 하고 싶다면 100% 보낸다는 뜻이다.

 

-CS, 캐리어 센스란

채널의 사용 중 여부를 알아내는 것을 말한다. CS를 하는 이유는 채널이 사용 중이면 그 채널을 사용하지 않게 하기 위함이다. 캐리어 센스가 없다면 스테이션은 사용하려고 하기 전에 사용 중 여부를 알 수 없고 전송 시도하고 나중에 전송이 성공했는지 여부만 알 수 있다.

 

-이더넷은 Unreliable로 받았다는 (non)acknowledge를 보내지 않는다.

(다른 메커니즘을 써야 Reliable하게 통신 가능)

 

 

  • Token Ring의 메커니즘과 개념에 대해서 설명하시오

토큰링은 충돌을 일어나지 않게 하는 프로토콜 중 하나이다. 모든 스테이션들이 프레임을 미리 정해진 순서대로 돌아가면서 제어권한을 준다. 토큰을 받게 되면 프레임을 전송하고 토큰을 다음으로 넘겨준다. 전송할 프레임이 없으면 토큰을 그냥 넘긴다.

 

  • 데이터링크 레이어에서 flow control이란 무엇인지 설명하시오

 데이터 링크 계층에서는 수신측 처리량보다 전송측 송신량이 더 많을 때 문제가 발생한다. 그 문제를 막기 위해서 흐름 제어를 해야 한다. 그 흐름 제어에는 2가지 방법이 있다. 피드백 기반 흐름제어와 전송률 기반 흐름제어이다.

 

  • MAC address란?

Media Access Control의 약자이다. IP주소를 통해 게이트웨이 라우터를 통과하고 그 이후에서 LAN용으로 MAC address의 지정된 테이블을 통해 변환을 한다. LAN에서 쓰는 독자적인 주소 쳬게라고 볼 수 있다. 48bit sequence이다.

(쉽게 말하면 내부망에서 쓴다고 보면 되겠다. LAN카드에 적혀있다. 중복되지 않게 만든다.)

 

  • 이더넷의 문제점은 무엇인가?

Ethernet’s peak utilization is pretty low.-> 이더넷의 효율이 낮다.

Peak throughput worst with

More hosts, smaller packet sizes, longer links -> 왜냐하면 호스트가 많아지고 패킷 사이즈가 작아질수록  링크를 오래할수록 충돌이 많아지고 대기시간이 늘어나서 효율이 떨어진다.

efficiency is improved by avoiding these condition

 

  • 이더넷의 장점은 무엇인가?

가장 큰 이유로는 가격대비성능이다.

728x90
반응형
그리드형