목차
Data link Layer
두 장비 사이에서 직접 통신할 수있도록 도움 LAN. 물리적링크를 통해 연결된 두 장치간의 효율적인 데이터 전송을 담당
물리계층에서 받은 비트를 묶어서 프레임으로 형성하고
동기화, 흐름제어, 에러검출을 제공
- 프레임 Frame : 일련의 비트로 구성
- 프로토콜 : MAC address, Local Area Network, Ethernet(근거리 통신), Error Detection
- MAC address : NIC 카드에 장착됨. 통신장치간 중복 X . 물리적 주소체계와 유사 =/= IP 중복될수있음
Encapsulation 캡슐화
- 상위계층에서 하위계층으로 전달될때 발생
- 데이터에 Header 헤더, Trailer 트레일러로 감싸는 과정
- 데이터 기본단위PDU Protocol Data Unit에 따른 계층 캡슐화 과정계층 데이터기본단위 최종
계층 데이터기본단위 최종 애플리케이션 응용 메시지 전송 H/메시지 세그먼트(TCP) 유저데이터그램(UDP) 네트워크 H/세그먼트 데이터그램(패킷) IP 데이터링크 H/데이터그램 프레임 물리 - 헤더에는 source와 destination 주소 등 정보가 들어감
Decapsulation 반캡슐화
- 반대방향. 하위계층에서 상위계측으로 헤더를 떼어내는 과정
- sw에서 wender에게 온 메시지를 확인하기 위해(원본 데이터) 레이어 데이터를 변환한다.
- 각 계층에서 데이터는 해당 계층에 필요한 제어 정보, 헤더, 주소 등이 추가되고, 수신자에서는 이러한 정보가 하나씩 제거되어 원본 데이터를 얻을 수 있게 됩니다.층역할
데이터링크계층역할
- 한 노드(장치)에서 물리적으로 인접한 노드로 프레임을 전송, 통신제어
- LAN통신
- 더 상위네트워크계층 ISP로 전달하기 위해서는 network 계층을 통과해야 하는데, Local 상황에서의 통신은 데이터링크에서 통신을 할 수 있다.
노드, 링크, 프레임
노드 : 통신 기능이 있는 각각의 장치. 호스트, 라우터
링크 : 통신 경로를 따라 인접한 노드를 연결선.
- 유선(물리적), 무선
프레임 : 데이터링크 기본통신단위 PDU
프레이밍 Framing
- 데이터가 패킷(데이터그램)상태인 것 프레임이라는 논리적인 블록 단위로 나누고, 각 프레임에 header, Trailer(캡슐화) 정보를 추가하는 과정
- 공유매체인 경우 채널 액세스를 수행
- 이더넷 케이블 등 여러 노드가 공유를 하는 경우(LAN 환경)
- 채널 액세스로 어떤 노드가 언제 데이터를 전송할지를 조정
- CSMA/CD, CSMA/CA
- 헤더의 MAC 물리주소 = 출발지sender 목적지(dest)reciever 정보
flow control 송수신 속도차이컨트롤
인접한 송수신 노드 간의 간격 조절, 데이터 과다 전송 방지
Error detection 오류감지(트레일러)
- 신호약화, 노이즈로인한 오류 감지
- sender가 오류감지코드를 receiver에게 제공한다
- receiver은 데이터와 오류감지코드를 비교하여 오류를 감지하고, 프레임을 버리고거나 재전송 신호를 보냄
- ex. sender은 1101을 전송했는데 reciver에서 1001을 받으면, 이를 감지하고(error detection) 오류위치 파악, 오류난 프레임 버림 or 재전송요청신호 보냄
- EDC : 오류 감지 및 수정하는데 필요한 추가비트 or 리소스 양
- 값이 높을수록, 추가비트 or 리소스 양 적음
- 해밍코드 비교적 효율적 → EDC값 높음
- D : 오류를 실제로 감지할 수 있는 능력, 정밀도
- 값이 높을수록, 오류를 정확하게 감지할 확율 높아짐
- CRC 높은 정밀도 → D값 높음
- ex. sender의 D(데이터그램에 헤더)와 트레일러(EDC)를 보냄. 비트에러가 자주 발생하는 링크를 지나가면, 나오는 프레임은 D’ EDC’이다. D’비트는 괜찮은지 EDC’으로 분석함. 같으면 no error receiver, 안맞는게 있으면 error
- single bit parity : 1의 개수가 홀수인지 짝수인지.
- 홀수일 경우 parity bit는 1<error>,짝수일 경우 parity bit는 0
- 데이터링크 비트수 8bits + 패리티비트 1bit = 9비트
- count # of 1 → 짝수ok 홀수 error
- 컴퓨터가 1의 개수를 파악하는 방법 : XOR 연산
- Two dimensional bit parity : 이차원 패리티 에러 디텍터
- 홀수일 경우 parity bit는 1<error>,짝수일 경우 parity bit는 0
- 행열로 xor 연산. 행열패리티연산 0일경우 성공
- CRC : Cyclic Redundancy Check 순환중복검사 강력한 감지 코드. EDC + 패턴 방식
- D(보내고자 하는 데이터비트) + R비트 <D,R>
- sender가 receiver 공유하는 비트패턴(G)을 보낸다.
- D비트를 온쪽으로 r칸만큼 이동시킨다 XOR R 연산으로 R비트정보를 추가한다
Error correction 오류수정
- sender 도움 없이(오류감지코드X) 에러감지
- 오류수정코드 ex. 해밍코드 crc
- 재전송 요청 없이도 데이터 복구 가능 → 더많이 사용됨
데이터링크 위치
모든 host(장치)에 존재한다 + 네트워크장비(라우터 스위치)
NIC or 칩에 구현 → 이더넷, wifi card, 칩 → 링크 물리계층 구현
sender측
패킷(데이터그램)을 캡슐화 해서 프레임으로 만듬
프레임에 오류확인비트(CRC) , 순서정보, 프레임번호, 흐름제어 정보 등 추가
이더넷 or 무선 물리매체를 통해 프레임을 전송. receiver 호스트로 전송
receiver측
프레임 해석
오류확인비트(CRC) , 순서정보, 프레임번호, 흐름제어 정보 확인
encapsulation 으로 헤더를 때서 패킷(데이터그램)을 추출해서receiver의 상위계층 (네트워크 계층)으로 전송
multiple Access Protocols 다중접속프로콜
Point to point
이더넷, 스위치, 호스트
Broadcast
공유된 와이어, 예전의 이더넷
와이파이, 폰, 노트북, 유선통신(GPS)등
왜?
단일 공유 broadcast channel → 간섭 발생
노드들이 동시에 두개 이상의 전송을 하는 경우 → 간섭 발생
……….신호를 수신하는경우 → 충돌발생
분산알고리즘 → when how 결정
유형
Random Access 랜덤엑세스
노드들이 무작위로 통신 매체에 접근하는 방식
충돌을 감지하고, 발생할 경우 재전송 수행
- CSMA/CD, ALOHA
Taking Turns 차례 대기
노드들이 번갈아가며 통신매체에 접근
순서, 우선순위에 따라
- TDMA
Channel Partitioning 채널분할
통신매체를 논리적으로 분할하고, 노드나 장치에 할당하는 방식
- FDMA, CDMA, TDMA
채널분할 - TDMA : Time division
시간 구역 나눠서 역할마다 에이터 송신할 수 있음 length slot
고정된 frag 길이를 사용, 가변길이를 사용하면, slot 사이에 간섭 발생
할당된 시간 슬롯이 경과하면, 스위칭! 다른 사용자에게 할당되고, 정확한 타이밍에 동기화 되어야 한다. 사용 안하는 slot 상태 idle
무선통신시스템, 대역폭 효율적 사용. 휴대폰 통화
FDMA : Frequency division
주파수 대역폭 슬롯을 사용해 분할. 라디오
랜덤접근제어 프로토콜
Random Access Protocols > 유선 네트워크에 사용
랜덤하게 접근제어함. 노드사이에 우선순위 없음. 사용여부 확인
동시에 보내지면 → 충돌발생. 복구방법? 다시 전송하라는 response 보냄
재전송을 위한 백오프 타임을 대기한다.
종류 : slotted ALOHA, CSMA,/CD/CA
slotted ALOHA
랜덤한 데이터송신 방식, 데이터링크레이어에서 같은 시간(슬롯)크기를 가진다.
노드들은 슬롯에 정확하게 동기화되어 있고, 동시에 보내지면 충돌발생
슬롯시작부분에서만 전송가능. 슬롯내에서 충돌이 발생하면 데이터는 손실
시간분할다중접속환경에 효과적
확률방식 사용
CSMA
Carrier Sense Multiple Access. 다중 접속 프로토콜. 채널 감지
데이터 전송 중에 채널 사용중인지 확인.
비었다고 생각하고 전송하는 동안, 채널이 사용되는 충돌 발생. 공간적거리로 인한 시간 delay발생. 만나는 time에 충돌발생
idle, busy, 보류, 계속체킹
CSMA/CD +충돌감지
운반여부, 충돌감지, 처리 → 즉시 전송중지, 충돌처리 VS 기존은 충돌을 감지한 후에도 전송시도할 수 있고, 재전송을 기다린다.
충돌감지를 time을 하면, 데이터 회복을 수행한다.
공유기 여러개 multiple 접속하는 유선 네트워크 이더넷
CSMA/CA +충돌회피
Polling 폴링 : 다른 device가 데이터를 전송하는 것을 감지한 경우 노드는 대기상태에 머물며, 다시 감지하고전송시도한다. master. 1:n
수신노드로부터 ACK를 받아야하고, 못받았다면 다시시도or 충돌회피를 위한 시간조절한다.
단점 : 폴링 시간 오버헤드, 불필요한 딜레이타임, master에게 control 권한이 있고, 1:n연결로 고장시 전체먹통
Token passing 토큰패싱 : 토큰이 순환하는 방식. 노드간에 토큰 전파. 순서 공정. 토큰 오버해드, 대기시간, 토큰손실 또는 토큰소유한(할)pc가 고장나면 충돌 발생 ⇒ 마스터 없음
MAC media accdss contrl 주소
물리적 주소, LAN, 이더넷주소. 16진수. 네트워크인터페이스카드 NIC 등 네트워크 장치에 할당됨, 데이터 프레임에 맥주소를 저장해 송신자와 수신자를 식별하는데 사용됨
6바이트, 12개의 16진수 숫자
IEEE 공학단체에 의해 관리됨. 생산자들이 구매해야 사용가능. 이동성이 있다.
MAC : 48bit ⇒ 2^48 ~~ 10^12*256조
IP : 32bit ⇒ 2/621~~ 10^9*4십억
가지의 경우수를 가지기 때문에 MAC 주소는 유니크를 가짐
LAN → 컴퓨터를 식별하기 위한 주소. 그룹안에서는 유니크한 IP, MAC 주소를 가짐
ARP
IP→ARP→MAC
ARP테이블에 IP주소; MAC주소;TTL 쿼리를 매핑함
TTL : time to live 시간이 지나면 테이블을 없앤다.
데이터프레임을 전송하며, ip주소일치하는지 브로드캐스트 메시지 전송
- 과정
- ARP 요청 전송:
- 컴퓨터 A가 컴퓨터 B의 MAC 주소를 알고자 할 때, 컴퓨터 A는 ARP 요청 패킷을 브로드캐스트합니다.
- ARP 요청 패킷에는 목표 IP 주소 (컴퓨터 B의 IP 주소)와 송신 컴퓨터 A의 IP 주소가 포함됩니다.
- 네트워크 상의 모든 장치에 ARP 요청 수신:
- ARP 요청 패킷은 브로드캐스트로 전송되므로 네트워크 내의 모든 장치가 이 패킷을 수신합니다.
- 목표 장치 응답:
- 컴퓨터 B는 ARP 요청 패킷을 수신하고, 자신의 IP 주소와 일치하는 IP 주소가 있는지 확인합니다.
- IP 주소가 일치하면 컴퓨터 B는 자신의 MAC 주소를 ARP 응답 패킷에 담아 컴퓨터 A로 다시 브로드캐스트합니다.
- ARP 응답 수신:
- ARP 응답 패킷을 수신한 컴퓨터 A는 컴퓨터 B의 MAC 주소를 알게 됩니다.
- ARP 테이블 업데이트:
- 컴퓨터 A는 이제 얻은 MAC 주소를 ARP 테이블에 저장합니다. ARP 테이블은 IP 주소와 해당 MAC 주소를 매핑하는 엔트리들로 이루어져 있습니다.
- ARP 테이블은 이후 통신에서 목적지 장치의 MAC 주소를 빠르게 찾을 수 있도록 사용됩니다.
- ARP 요청 전송:
LAN Addressing
source 출발지 주소는 프레임은 LAN 안에서 존재하고,
destination 도착지 주소는 데이터그램 안 라우터로 이동한다.
이더넷:Wired LAN
유선랜 많이사용하는 프로토콜, 구현간단, 저렴, 형태진화, 초기속도 10~ 현대속도 400
3handshake 안함. ACK, NAK 안함.
이더넷 맥 프로토콜 : CSMA/CD 상위레이어의 프로토콜을 사용한다면, 채널상태, idle 사용, 충돌체크
물리적 토폴로지 연결방식 과거 bus
현재 switch 데이터링크레이어. 알아서 길 선택하도록. switcing deviece가 알아서 노드들을 라우팅함
스위치는 데이터링크계칭 장치라서.. 프레임을 전송하고, 포트 원활통신한다. 멀티플액세스 세그먼트 사용함. 호스트 식별안됨 투명함
동시여러대전송, 서위치를 사용하면, 동시통신시 회선이 안겹치면 충돌 안일어
- 과정
- MAC 주소 할당:
- 각 LAN 장치는 고유한 물리적 MAC 주소(데이터 링크 계층 주소)를 가지고 있습니다. 이 MAC 주소는 네트워크 인터페이스 카드(NIC)에 할당되며, 장치가 제조될 때 고정적으로 설정됩니다.
- IP 주소 할당:
- 각 LAN 장치는 네트워크 레이어에서 사용되는 IP 주소를 할당받습니다. IP 주소는 논리적인 주소이며, 네트워크에서 라우팅 및 통신을 위해 사용됩니다.
- 주소 관리 및 설정:
- LAN 관리자 또는 DHCP(Dynamic Host Configuration Protocol) 서버를 통해 IP 주소 및 기타 네트워크 설정이 관리됩니다. DHCP를 사용하면 장치가 자동으로 IP 주소를 할당받을 수 있으므로 수동 설정이 필요하지 않습니다.
- 데이터 송수신:
- LAN에서 데이터를 보낼 때, 송신 장치는 목적지 장치의 IP 주소를 통해 목적지를 식별합니다. 그러면 이더넷 프레임의 목적지 MAC 주소로 변환됩니다.
- 송신 장치는 목적지 MAC 주소를 ARP(Address Resolution Protocol)를 사용하여 파악할 수 있습니다. ARP를 통해 IP 주소에서 목적지 MAC 주소로의 매핑이 이루어집니다.
- 프레임 전송:
- 송신 장치는 데이터를 목적지 MAC 주소를 가진 이더넷 프레임으로 패키징하고 네트워크 미디어(유선 또는 무선)로 전송합니다.
- 프레임 수신:
- 수신 장치는 받은 이더넷 프레임을 열고 목적지 MAC 주소를 확인하여 데이터를 처리합니다. 이후 데이터는 네트워크 레이어로 전달되어 해당 IP 주소를 사용하여 데이터를 처리하거나 다른 네트워크에서 라우팅됩니다.
- MAC 주소 할당:
플러딩 Flooding
도착 MAC 주소포트 모르니 브로드캐스트함
A와 MAc add 같은 A’ → resaponse→switch table에 업데이트
데이터 송수신 과정에서 정보를 업데이트
- 과정
- 데이터 프레임 도착:
- 네트워크 스위치에 연결된 모든 장치는 데이터 프레임(패킷)을 동시에 수신합니다.
- 목적지 MAC 주소 확인:
- 데이터 프레임은 목적지 MAC 주소를 가지고 있으며, 스위치는 이 주소를 확인합니다.
- 스위치 테이블 확인:
- 스위치는 목적지 MAC 주소를 스위치 테이블과 비교하여 목적지 장치가 이미 스위치의 포트에 등록되어 있는지 확인합니다.
- 목적지 주소가 스위치 테이블에 없는 경우:
- 목적지 주소가 스위치 테이블에 없거나 목적지를 식별할 수 없는 경우, 스위치는 모든 포트로 데이터 프레임을 전송합니다. 이것이 플러딩의 핵심입니다.
- 데이터 프레임 전송:
- 스위치는 목적지를 모르는 상태에서 모든 포트로 데이터 프레임을 전송합니다.
- 목적지 장치의 식별:
- 목적지 장치가 데이터 프레임을 받으면, 목적지 MAC 주소와 프레임 내의 MAC 주소를 비교하여 자신이 목적지인지 확인합니다.
- 데이터 처리:
- 목적지 장치는 데이터 프레임을 받아 상위 계층 프로토콜에 따라 처리합니다.
- 데이터 프레임 도착:
모든 스위치는 각각의 테이블 정보를 가짐
기업이 여러스위치를 다루는 대규모 네트워크를 가짐
스위치(데이터링크) VS 라우터(네트워크)
데이터링크계층 네트워크 계층
데이터링크계층 | 네트워크 계층 |
MAC(forwarding) | IP |
VLAN 가상의 랜
브로드캐스트가 많아지면, 과부화와 트래픽으 높아짐. 해결책으로 랜을 여러개로 가상으로 나눔.
보안 이슈 안정적
다른 LAN에 있는 노드를 잠시 이동할 수 있음. 공간적 제약을 컨트롤함
또는 랜을 분리해 놓은 것처럼 동작함. 각각의 라우터와 연결
스위치가 중접될 경우, 마지막 포트와 연결리스트 됨