코딩성장스토리

컴퓨터 네트워크 개념 정리(CH.06 The Link Layer and LANs) 본문

CS

컴퓨터 네트워크 개념 정리(CH.06 The Link Layer and LANs)

까르르꿍꿍 2022. 12. 3. 18:56

Link Layer and LANS- 즉 이제는 2계층에 대해서 알아볼 것이다.

 

link layer는 한 노드에서 링크를 통해 물리적으로 인접한 노드에 데이터 그램을 보내줄 책임이 있다.

통신 경로를 따라 인접 노드들을 연결 하는 통신 채널들을 link라고 함 (유선 링크,무선 링크 ,LANs)

 

 

  • 대부분의 경우 링크 계층은 네트워크 인터페이스 카드(Network Interface Card, NIC)로 알려진 네트워크 어뎁터(network adapter)에 구현
  • 링크, 물리계층 구현
  • 호스트의 시스템 버스에 연결
  • 하드웨어, 소프트웨어, 펌웨어의 조합

link 계층에서 추상화된 소통 

  • sending side : 프레임에 데이터그램 캡슐화 + 오류 검사 비트, rdt, flow control 등을 추가
  • receiver side : 오류, rdt, flow control 등을 확인, 데이터그램 추출, 수신 측 상위 계층 통과

 

 

error detection, correction

  • EDC = Error Detection and Correction bits(redundancy) - 오류 감지 및 수정 비트(중복성)
  • D = 오류 검사로 보호되는 데이터, 헤더 필드가 포함될 수 있음

 

Parity checking

  • single bit parity : 한 비트의 에러를 검출
  • two-dimensional bit parity : 2차원 패리티 기법

Cyclic Redundancy Check (CRC)

 

*더 정확한 오류 검증

<D,R> 을 G 로 나눌때 나머지가 0이 아니면 에러임

나머지는 생성자보다 1bit 적게 적어야함 - (실제 전송할 데이터에서 생성자 나누면 나머지가 0이 아니면 오류임)

                    1100 1010

11010/10110110 0000   --그럼 이렇게 0으로 나오게 됨

           11010

             11001

             11010

                   11110

                   11010

                     0100. — 이 것을 데이터프레임 뒤에 붙이면 됨

 

Multiple access links, protocols

  1. point-to-point(ppp) -
  2. broadcast (shared wire or medium). - 데이터 공유하는데 어떻게 잘 보낼수 있는지

 

three broad classes:

channel partitioning -채널 분할

  • 채널 분할해서 할당한 구간 사용가능
  • 주파수 분할해서 가능

random access. — 충돌이 일어날수 밖에 없음 - 어떻게 충돌회복을 할 것인가가 중요 - 단점 많은 데이터 충돌확률 증가

  • 보낼거 있으면 그냥 보냄 -충돌
  • pure ALOHA(동기화 필요없음 최대 효율성 18퍼) , Slotted ALOHA(충돌 덜 받게 개선된 방식- slot으로 나누어서 확 충돌이 나거나 안나게 만듬, 동기화 필수(시작점과 끝점 맞추면서 보내야함 ) , 장점:높은 분산성,단순함, 단점: 충돌나면 버려짐 최대 효율성 37퍼)
  • CSMA(carrier sense multiple access) - 보낼려 할 때 다른 사람이 보내고 있는지 확인 (채널이 비었는지, 사용 중인지 체크)
  • CSMA/CD - 충돌이 일어나면. 멈춰버림 (충돌 하는지 검사) (무선에서는 못씀) - NIC chooses K at random from {0,1,2, …, 2m-1} 점차 2의 제곱승으로 기다리게 함

multiple access 3가지 - csma,csma/cd coma/ca(짧은 패킷으로 무선도 가능하게함)

taking turns. — 차례로 보내게함

  • polling : 마스터가 통신의 주도권을 가지고 누구 데이터 보낼지 결정함. -단점 폴링 오버헤드 , 마스터 의존성 높음 (마스터 죽으면 망함) , 지연시간 기다려야함
  • token passing : 연속적으로 돌아가며 토큰을 돌리고 사용할거면 토큰에 데이터 넣음 단점 - 토큰 오버헤드 ,의존성 높움, 지연시간

LANs(Local Area Network)

MAC address

컴퓨터 만들 때 생성 - 주민번호 느낌 (portability)

 

ARP: address resolution protocol

보내고자 하는 수신자 mac address 알아내기 위한 프로토콜

ARP table:< IP address; MAC address; TTL>. : TTL 은 시간 별 갱신해줘야함 (ip가 달라질수 있기 때문)

동작

  1. 맥주소는 모르고 ip는 알고 있으니 broadcast로 일단 쿼리로 맥주소 알기 위한 요청
  2. 그럼 맥주소 응답을 받게 됨

Ethernet

사무실이나 가정에서 사용되는 LAN 중 가장 많이 활용되는 기술 규격이다.

- unreliable, connectionless 하다. (CSMA/CD방식을 사용한다)

physical topology

  • bus방식 - 충돌이 자주 일어남(옛날 방식)
  • switched. - 현재 쓰는 방식 충돌 없음

 

Ethernet switch

link 계층의 디바이스

- mac address에서 기반해서 이더넷 프레임을 store하고 forward한다.

- buffer가 있어 frame을 먼저 저장을 하고 해당 link로 전달한다.

- switch는 point - to - point 통신을 하기 때문에 충돌이 생기지 않지만 CSMA/CD를 그대로 사용

- link switch는 host는 switch의 존재를 모른다.

self-learning - 스위치는 호스트가 인터페이스를 통해 도달될수있는지 스스로 학습한다.

정방향이 아니면 끝내주고 정방향이면(목적지 알고있으면) forwarding 해주고 flooding 모든 포트에 데이터를 뿌린다.

 

라우터 vs 스위치

라우터는 3, 스위치는 2계층

둘다 포워딩 테이블

라우터는 알고리즘 으로 테이블 채움 switch는 self-learing으로 채움