본문 바로가기

별걸다하는 IT/네트워크_소켓_통신

[네트워크 OSI ] 2계층 데이터링크 계층 Data Link Layer가 뭔지 궁금해?! 쉽게 설명해줄게~!

안녕하세요 양햄찌 블로그 주인장입니다.

다들 설날은 잘 보내셨나요?!

저번 포스팅에서 OSI 7계층을 한 번 훑어보고 그 다음에 1계층 물리계층에 다뤘었는데요~!

이번에는 2계층 데이터링크 계층에 대한 포스팅을 진행해보려고 합니다

 

기존에 살펴봤던 OSI 7계층 관련 포스팅을 보지 못하신 분들은 아래 링크를 참고해주세요~!

▼ OSI 7계층 모델 완벽 이해 전체를 보기! : jhnyang.tistory.com/194

 

[네트워크 network] OSI 7계층 모델 완벽 이해- 이유를 알고 개념을 이해하고 전체 보기(7 layer)

안녕하세요~~! 맨날 운영체제 리눅스 관련 글만 쓰다가 처음쓰는 네트워크 글이네요! 원래 네트워크도 굉장히 좋아했는데,,, 포스팅 쓰는게 아무래도 쉽게 되는게 아니다보니 미루고 미뤄지다

jhnyang.tistory.com

 1계층 물리계층 살펴보기 : jhnyang.tistory.com/373

 

[네트워크 OSI 7계층] 1계층 물리계층에 대해 살펴보자. Physical Layer 피지컬계층!

안녕하세요 양햄찌 블로그 주인장입니다. 정~~말 오랜만에 돌아온 네트워크 포스팅이죠!! 저번시간에는 OSI 7계층이 뭔지! 이게 대체 왜 필요한건지!! 여러개로 대체 왜 쪼개놓은건지! 전체적인

jhnyang.tistory.com

 

제 2계층 데이터링크 계층에 대한 서론 - Data Link Layer

1 LAYER인 물리계층에서 우리는, 통신 매체와 신호에 대해 이해했어요.

이제부터 제 2계층 Layer인 데이터링크 계층에 대해 얘기를 해볼건데, 요 페이지 방문하신 분들은 이미 전 게시글인 OSI 7계층에 대한 개념과 물리 계층에 대한 포스팅을 보고 오셨다는 전제하에 진행하도록 할게요~

 

자자, 네트워크라는 건 결국 통신을 위한거고, 어찌보면 내가 다른 사람과 소통하는 편지를 전달하는 우체국시스템이죠? ㅎㅎ 우리는 다른 컴퓨터에게 편지를 전달하기 위해서 IP주소를 사용하고 있다는걸 알고 있어요.

 

그런데!! 생각해봅시다. 내 컴퓨터가 전세계 수~~~많은 컴퓨터의 IP를 다 기억하고 있는걸까요..? 흠.

그동안 막연하게 서로의 IP주소를 알면 네트워크를 통해 통신이 되는거구나! 왜냐면 IP는 우리 주소와 같은거니까! 이렇게 가볍게 생각하고 넘어간 분들 분명 있을거라 생각합니다. ㅎㅎ 한 번 생각을 좀 더 깊게 해보자는거죠~~! 모든 컴터의 IP주소를 다 알지 못할텐데 컴퓨터는 어떻게 통신을 하는걸까

이미지 출처: https://www.cspsprotocol.com/data-link-layer-osi-model/

미리 말하자면, IP는 네트워크 계층입니다! 즉, 데이터링크보다 윗 단계예요.

OSI 7계층은 독립적이지만 상하구조 체계를 띄고 있어서 윗 계층이 동작하려면 아래 계층들이 문제 없이 다 동작하고 있어야 한다고 했었죠? 네트워크 계층 이전에 아래 계층(데이터링크 계층)에서 먼가 작업을 요러케 저러케 해주고 있으니까 IP주소를 가지고 통신을 할 수 있는거예요. ㅎㅎ

 

데이터링크 계층은 무엇을 할까요 들어가보도록 합시다~!

 

제 2계층 데이터링크는 뭐하는 통신모듈일까! 크게 이해하기

[물리계층과 데이터링크 계층의 관계]

물리계층은 하드웨어적인 특성을 가지고 있죠~?

근데 네트워크 계층부터 쭉 그 위 계층들은 소프트웨어적인 특성을 가지고 있어요.

데이터링크는 요 사이에 껴서, 하드웨어 소프트웨어 둘다 가지고 있습니다. 어찌보면 소프트웨어로부터 정보를 전달받으면 하드웨어로 연결해주는 연결다리인거죠, 또는 회선(하드웨어)로부터 데이터를 받아서 우리가 받아볼 수 있게 소프트웨어 특징을 갖는 LAYER로 전달해준다던가~

 

데이터출처: https://www.includehelp.com/computer-networks/functions-of-physical-layer-in-the-osi-model.aspx

사진을 보면, 데이터링크 계층으로부터 물리적 계층이 데이터를 전달받아 전달매체(랜선같은거~)를 통해 상대방 컴의 물리적계층으로 시그마를 보내는 것을 알 수 있어요. 

 

쉽게 생각해보면 당연한거예요. 당연히 물리 매체를 통해 데이터를 보내야 하니까, 데이터링크 계층에서 뭔가를 받았다는 얘기가 되겠죠? 데이터를 보내기 위해선 당연히 회선이나 이런게 연결이 되어있어야 하니까 데이터링크 계층 아래에는 물리계층이 있는거고, 데이터를 우리가 전달 받아야하니까 물리계층 위에는 데이터링크 계층이 있는거죠~!! 

상하관계를 쉽게 이해할 수 있어요 ㅎㅎ

 

[데이터링크 계층의 네트워크 계층의 관계]

그럼 이제 데이터링크 계층과 네트워크 계층의 상하관계를 살펴볼게요.

네트워크 계층에서 미국에 있는 어떤 A컴퓨터의 IP주소를 딱 지정해주면서, 여기에 메세지 전달해줘! 라고 하면~~

 

한국과 미국은 너무 멀잖아요..? 순간이동이 가능할일이 없으니 각 노드들을 타고 타고 데이터가 전달되겠죠?

데이터링크 계층에선 일단 연결된 바로 이웃 컴퓨터와의 통신만을 생각합니다.

 

이미지 출처: https://www.net.t-labs.tu-berlin.de/teaching/computer_networking/05.01.htm

좋은 그림이 있어서 가져와봤어요 ㅎㅎ 자 초록색깔로 칠해져있는 출발지IP와 목적지IP를 봅시다. 우리가 통신을 할 때, 어디 어디를 들려서 메세지를 전달해달라고 요청하지 않아요. ㅎㅎ 목적지 IP만 줘서 통신을 요구하죠!! (네트워크 계층)

 

그런데 사실, 이웃간의 데이터 전송이 보장되어야 이렇게 멀리까지 데이터도 전송이 될 수 있는거겠죠?

데이터링크 계층은 '직접 연결된' 서로 다른 2개의 네트워크 장치간 데이터 전송을 담당합니다.

이게 보장되어야 IP로 데이터를 보낼 수 있기 때문에 데이터링크 계층이 네트워크 계층의 하위 계층인거예요.

 

데이터링크 계층 좀 더 자세히 보기 

첫 번째 말이 가장 중요합니다. 

'데이터링크 계층은 직접 연결된 서로 다른 2개의 네트워크 장치 간의 데이터 전송을 담당하는 계층이다'

위에서 빨간색 글자로 강조 표시를 했었든, 여기서 핵심은 '직접 연결된'이예요. 

즉 직접 연결되지 않은 장치에는 데이터를 보낼 수 없다는거죠. 직접 연결되지 않은 장치에게 그럼 데이터 어케 보내지?? 직접 연결된 장치를 통해서 가는겁니다 ㅎㅎ (위의 데이터링크와 네트워크 계층 관계의 사진 다시 보고 오기~)

 

초반에 의문을 가졌던 길찾기에 대해서 다시 생각해봅시다.

근데 여러분 우리 컴퓨터가 하나하고만 연결되어있나요?

우리 서울역에 내려서도 왼쪽으로 갈 수도 있고 오른쪽으로 갈 수도 뒤로 갈수도 앞으로 갈수도.. 있잖아요?

어디로 가야 A의 IP로 도달 할 수 있는걸까요? 어디로 가야 옳은 방향일까요?

 

자자, 데이터링크 계층은, 이웃간의 전송만 신경쓴다고 강조했었죠!!

오른쪽으로 갈까 왼쪽으로 갈까 이렇게 길아 갈라지는 곳에 있는 장치들이 인터넷에서는 네트워크 장치인데,

그 장치들이 오른쪽으로가! 이렇게 알려주면 그냥 오른쪽 이웃으로 가는게 데이터링크 계층이지, 

이게 맞는지 틀린지는 데이터링크 계층에서 판단하지 않습니다. 그건 IP라는 프로토콜이 네트워크 계층에서 하는거예요

* 데이터링크는 정말 말그대로 직접 연결된 장치하고만 통신하는 그 생각만 합니다. 이웃장치를 넘어서 통신 문제는 생각하지 않아요!

 

좀더 이해가 수월하게 실 생활에서 예를 들어볼게요

아파트 정문에 아파트 경비원이 서있다고 합시다.

그럼 경비원은 목적지가 어디인 사람이 오면 이쪽으로 가라 저쪽으로 가라 얘기를 해줘요. 그게 네트워크 계층의 IP 프로토콜이 하는일입니다. 데이터링크는 그런걸 신경쓰지 않아요. 갈래길이 있는 경비원까지만 안내를 하는게 데이터링크입니다. ㅎㅎ 이게 메인 역할이고, 거기다 이 사람이 가다가 쓰러지지 않고 사고나지 않고 '안전하게 도착할 수 있도록' 안내해주는 여러 역할들을 해요.

 

처음 정리한 사진에 보면 MAC이 있고 맥어드레스가 있는데 이는 데이터링크 계층에서 이웃노드와 통신하는대 사용되는 프로토콜과 주소입니다. 맥어드레스는 하드웨어 주소라고 하는데, 왜 하드웨어주소냐면, NIC(랜카드)를 만드는 제조사가 이 카드를 만들 때 카드 내에 있는 ROM이 있어서 아주 기본적인 OS 이런게 들어가 있기도 하고 다른 정보가 들어가 있기도 한데 여기에 MAC ADDRESS가 들어가있어요 ㅎㅎ

즉 그 랜카드의 주소가 되는거니까 하드웨어의 주소인거죠 ㅎㅎ

 

여기 자세하게 쓰면 포스팅이 너무 길어지니 자세한 내용은 아래 링크를 참고바라요~!

▼맥 어드레스란 무엇인가 : jhnyang.tistory.com/404

 

맥 어드레스란 무엇인가? IP주소와 맥주소(MAC address). 맥 주소 확인하는 법 - 네트워크 기초

안녕하세요. 양햄찌 블로그 주인장입니다. ㅎㅎ 오늘은 맥 주소(=맥 어드레스 = Mac Address)를 살펴보려고 해요. [목차] 1. 맥 어드레스란 무엇인가 2. 맥 어드레스와 IP주소 왜 주소가 두개나 필요할

jhnyang.tistory.com

 

★중요하니까 다시 정리! ★

한 구간내에서 통신만 담당하는 계층이 데이터링크 계층이다. 데이터링크 계층은 오류 없는 통신을 위해 여러 역할들을 수행한다.

 

데이터링크 계층의 역할

데이터를 보내는 거 뿐만 아니라 안전하게 도착할 수 있도록 여러 역할들을 같이 수행한다고 했죠?

바로 옆 노드로 데이터를 보내는데, 생각해보세요. 

그냥 마구잡이로 보내도 되나요? 내가 이웃컴퓨터에 데이터를 보냈는데, 동시에 이웃컴퓨터도 나한테 데이터를 보낼 수도 있잖아!! 그럼 신호가 충돌이 되면서 문제가 생길 수 있어요 ㅎㅎ

 

아 이웃 노드로 데이터 보내는게 데이터링크야~? 이렇게 간단하게 생각했는데, 

사실 이 작업을 하기 위해서는 위 예시처럼 신경써줘야 할 작업들이 매우 많습니다!!

서로 송신하려면 데이터 규격도 맞춰야하고,, 같이 쓰는 회선이면 사고 안나게 누가 먼저 보낼지 눈치싸움도 정해야하고,, (요거 해주는게 전문용어로 매체접근제어라고 해서 MAC이라고 합니다. 즉 MAC은 2계층 데이터링크와 관련된 프로토콜인거죠~)

 

요런 것들을 데이터링크 계층 모듈이 독립적으로 맡아서 해주기 때문에, 또 그에 관련된 통신간 규격이 다 정해져 있기 때문에 우리가 통신을 할 수 있는거예요 ㅎㅎ

자세히 들어가면 써야할게 밑도 끝도 없는데..!! 오늘은 데이터링크 녀석에 대한 숲을 보는 포스팅이니까 여기서 이만 줄이도록 할게요 ㅎㅎ

 

포스팅 기다려주시고 관심가져주셔서 감사합니다. 이번에도 여러분들께 모쪼록 유익한 내용이 되었으면 좋겠네요 :) 

좋아요, 댓글, 광고 클릭들은 지식공유에 힘쓰는 작성자에게 큰 힘이 됩니다 ♥