Link Layer 의 개요

갱두·2021년 12월 14일
0

📚 네트워크

목록 보기
14/15
post-thumbnail

여러대의 컴퓨터가 통신하려면?

✔️ 처음에 수경이가 준헌이한테 데이터를 보내고 싶을 때 전선으로 연결되어 있어서 데이터 통신이 가능했다
✔️ 근데 이제 정재에게도 데이터를 보내고 싶어졌다. 그럼 또 전선으로 연결????
✔️ 정재뿐 아니라 다른 사람들은 ??

이런 방식은 전선과 전선 꽂을 곳 등이 많이 필요
= 통신하려는 컴퓨터가 많으면 많아질수록 비용적으로 굉장히 비효율적이다!

전선 하나로만 다른 컴퓨터와 통신하는 방법은 없을까 ?

✔️ 하나의 구리선으로 모두의 컴퓨터를 연결했다
✔️ 수경이가 준헌이에게 떡볶이먹고싶다 를 보내려고 했는데 결국 모두가 떡볶이먹고싶다를 듣긴 했지만 어쨌든 준헌이에게 보내는 것은 성공한 것

✔️ 그래서 가운데의 구리선을 박스에 넣고 모두의 컴퓨터를 연결합니다
✔️ 하지만 수경이는 준헌이에게만 떡볶이먹고싶다 를 보내고 싶은데 상운이와 정재가 들어버리는 심각한 문제가 발생함 !!

✔️ 그렇다면, 이 상자가 데이터의 목적지를 확인해서 올바른 목적지한테만 보내주는 역할은 해줄 수 없을까?

✅ 스위치

즉, 스위치는 일종의 컴퓨터로서 데이터의 목적지를 확인해서 올바른 목적지한테만 데이터를 보내주는 역할을 하게 됩니다.

  • 이렇게 생성된 것을 하나의 네트워크 라고 합니다. (여기서 폐쇄적이게 되면 인트라넷)

근데 이런 상황에서 수경이가 상운이에게 데이터를 보내고 싶으면 어떻게 할까요 ?

  • 정재와 수경이는 하나의 네트워크로 연결이 되어있고, 상운이와 준헌이는 하나의 네트워크로 연결이 되어있지만 수경이와 상운이는 연결이 되어 있지 않습니다.

✅ 라우터

이렇게 스위치와 스위치를 연결하여 서로 다른 네트워크끼리 통신할 수 있도록 해주는 것

  • 엄밀히 말하면 스위치 + 라우터
  • 공유기가 그 예시임

✔️ 통신하기 위해 라우터와 라우터를 연결할 수도 있고 라우터와 라우터가 연결된 것에 라우터를 달아서 라우터와 연결할 수 있음

✅ 인터넷


이렇게 전세계의 컴퓨터들이 계층구조로 연결된 것이 바로 인터넷임

  • 해저 케이블

Link Layer

같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해서 필요한 모듈

✔️ Physical layer와 마찬가지로 하드웨어로 구현되어 있음

✔️ 보내는 쪽 :

  • 데이터그램을 프레임안에 encapsulate
  • 에러 체크할 수 있는 bit 추가

✔️ 받는 쪽 :

  • 에러 체크
  • 데이터그램 추출해내고 위의 layer로 전달

Framing

✔️ 만약 거의 동시에 정재와 상운이, 준헌이가 수경이에게 데이터를 보낸다면?

  • 수경이는 데이터를 위 그림처럼 하나로 받게 됨
  • 그럼 어디서부터 어디까지가 데이터인지 알기 어렵다 + 잘 잘라야 이상한 데이터가 아니라 온전한 데이터를 얻을 수 있음

이를 위해 송신자는 데이터의 앞과 뒤에 특정한 비트열을 붙여서 보냄

그러면 실질적인 데이터를 잘 뽑아낼 수 있게 된다 !

Error detection

✔️ Reliable delivery between adjacent node

  • 무선의 경우 에러가 생길 수 있는 가능성이 유선보다 높으므로 ..
  • 에러를 end-to-end로 체크하지 않고 로컬에서 체크한다

✔️ 예시 !
parity bit

참조 : https://www.youtube.com/watch?v=1pfTxp25MA8

profile
👩🏻‍💻🔥

0개의 댓글