네트워크 _ 네트워크 접속 계층

김태영·2022년 3월 22일
0

TIL

목록 보기
3/6

네트워크 접속 계층

TCP/IP모델을 설명할 때 OSI모델과의 차이점에 계층의 갯수가 있었다.
OSI모델의 물리 계층과 데이터 링크 계층이 TCP/IP모델에서는 네트워크 접속 계층에서 해당 역할을 대신하고 있다. 즉 네트워크 접속 계층은 두 계층을 가지고 있는 것이니 두 가지에 대해서 조금 더 자세히 알아보자.


물리 계층

데이터를 송수신 할 때 0과 1로 이루어진 비트열의 데이터를 전기 신호로 변환해야 한다.
전기 신호의 종류에는 아날로그 신호와 디지털 신호 두가지가 있다.

두 신호에 대한 자세한 설명은 내용이 깊어지기에 잠시 미루고 우리가 데이터를 전송할 때는 디지털 신호를 사용한다.

그렇다면 어떻게 비트열 데이터를 디지털 신호로 변경할까? 컴퓨터를 조금 알고 있다면 들어보았을 랜 카드라는 것이 그 역할을 한다.


데이터 링크 계층

데이터 링크 계층은 물리 계층에서 변환한 데이터를 송수신하는 계층이다.
조금 더 설명하면 네트워크 장비 간의 신호를 주고받는 규칙을 정하는 계층이며, 여러가지 규칙이 있지만 이더넷을 많이 사용한다.

여러개의 네트워크 장비를 랜에 연결하기 위해서 사용하는 허브(또는 스위치)가 있다.
위의 이미지가 허브인데 pc1부터 pc4까지를 랜에 연결하여 서로 데이터를 주고 받을 때 pc1에서 pc3으로 데이터를 주려고 해도 실제로 데이터는 pc2~pc4까지 모두 전달하게 된다. 즉 우리가 원치 않는 장비로 데이터를 전달해주게 된다.

이때 데이터 링크 계층에서 규칙을 정해 데이터를 전달하더라도 목적지의 pc가 아니라면 무시하도록 해준다.


이더넷은 무엇일까?

허브를 사용해서 데이터를 주고 받을 때 만약 pc1과 pc3이 동시에 다른 pc로 데이터를 전달하게 되면 두 데이터가 서로 충돌하게 된다.
이때 이러한 충돌이 일어나지 않도록 규칙을 정한 구조를 이더넷이라고 하고 이 방법을 CSMA/CD라고 한다.

CSMA/CD

  • CS는 데이터를 보내려하는 장비가 케이블에 신호가 잘 연결되어 있는지 확인하는 규칙이다.
  • MA는 케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도록 하는 규칙이다.
  • CD는 충돌이 발생하고 있는지 확인하는 규칙이다.

이 세가지 규칙을 통해서 pc1과 3이 동시에 데이터를 보낼 때 pc1의 데이터를 먼저 보내고 pc3은 그동안 대기하다가 pc1이 데이터를 다 보내면 pc3이 데이터를 보내도록 해서 충돌을 막아준다.


스위치

CSMA/CD는 효율이 별로?

CSMA/CD 방식의 경우 양방향 1차선 도로를 생각해보면 이해가 잘 될거 같다. 시골길에서 차량이 지나가는데 길은 좁은 통로 하나고 서로 차량이 마주한다면 1대의 차량이 비켜주고 다른 차량이 먼저 지나간 후 남은 차량이 지나가는데 그러면 시간이 오래 걸린다.

즉 효율이 매우 떨어진다.

그래서 지금은 CSMA/CD방식을 사용하지 않고 스위치라는 장비를 사용한다.

MAC주소

스위치에 대해서 알기전에 MAC주소를 알아야하는데 비트열 데이터를 전기신호로 변경해주는 랜카드에는 제조할 때 정해진 주소를 할당하고 그 주소가 MAC주소이다. 이는 허브와 스위치 모두에서 사용된다

참고 : MAC주소는 물리주소라고도 불리며 세계에서 유일한 번호로 1개만 존재하는 번호인데 00-00-00-00-00-00 영어와 숫자로 구성되어 있다. 앞의 6자리는 제조사 번호, 뒤 6자리는 일련번호를 의미한다.

이러한 MAC주소는 데이터를 송수신 할때 목적지와 출발지의 주소 역할을 하고 헤더에 이 주소들이 들어간다.
예를들어 pc1의 MAC주소가 11-11-11-11-11-11이고 pc2의 MAC주소가 22-22-22-22-22-22이라면 pc1에서 2로 데이터를 전달할 때 헤더에는 목적지 22-22-22-22-22-22 출발지 11-11-11-11-11-11의 정보가 포함되어 데이터가 어디서 어디로 보내야하는지를 알고 해당 주소에만 데이터를 보내게 해준다.

이는 아래의 이미와 같다.

이미지 출처 : 모두의 네트워크 _ 도서

그런데 이걸 공부하면서 생각이 들었던 궁금증이 있다. 만약 pc1에서 2와 3에 동시에 데이터를 전달할 경우 이미지의 목적지 MAC주소가 두개 붙어서 전달되는 걸까?

정답은 X

내가 이해한 것이 맞다면 그저 목적지 MAC 주소가 다른 데이터를 두번 보내게 된다.

스위치

스위치 또는 스위칭 허브라고 불리는 이 장비는 허브와 겉모습은 동일하게 생긴 장비다.
다만 스위치의 내부에는 MAC주소 테이블이 존재하는데 이는 스위치의 포트 번호와 해당 포트와 연결된 장비의 MAC주소를 등록시킨 데이터 베이스라고 한다.

이미지 출처 : 모두의 네트워크 _ 도서

이미지처럼 MAC주소가 스위치에 저장되고 목적지에 맞게 MAC주소를 가진 포트에만 데이터를 전달해준다.

MAC주소 테이블에 주소가 없다면?

이 경우에는 목적지의 주소를 모르기 때문에 모든 pc에 데이터를 전달해버리는데 이 것을 플러딩이라고 한다.
다만 이러한 문제는 ARP프로토콜에 의해서 해결이 가능하다.

목적지 컴퓨터의 IP주소를 이요하여 MAC주소를 찾기 위한 프로토콜로 목적지 주소를 모를 경우 이 주소를 알아내기 위해서 ARP요청을 하여 목적지의 주소를 알아내어 출발지 컴퓨터에서 해당 IP와 MAC주소의 매핑 정보를 메모리에 보관(ARP 테이블)한다. 그리고 이후 데이터 통신은 이 보관된 정보를 참고하여 전송한다.

profile
즐거운 개발을 위해~

0개의 댓글