Link Layer는 홉에서 홉까지 사이에서 발생하는 전송 층이라고 생각하면 된다.
[MAC(multiple access protocol)]
홉 사이, subnet 안에서는 기본적으로 broadcast medium을 통해 신호가 퍼지기 때문에 충돌이 나지 않게 전송해주는 프로토콜이 필요하다. 그것이 MAC이다.
1. channel partitioning (절대 충돌은 발생하지 않음)
TDMA(time division multiple access) : 시간을 나누어 본인의 시간에만 전송하는 방법(한 사람만 전송하는 경우 비효율)
FDMA(frequency division multiple access) : 주파수를 나누어 본인의 주파수로 전송한는 방법(안 쓰이는 주파수 낭비)
2. random access(전송하고 싶을 때 바로 전송하기)
CSMA(carrier sense multiple access) : 전송 전에 먼저 들어보기 (그래도 충돌남->propagation delay때문)
**CSMA/CD(collision detection) : 전송하는데 충돌이 발생함을 감지하면 중지한 후 random 시간 이후 다시 전송.
(이더넷 에서 사용)
3. taking turns
polling : master node에서 말할 차례를 정해줌
token passing : token을 가지고 있는 host만 전송 가능
ethernet : LAN안에서 사용되는 CSMA/CD방식의 기술규격 (유선)
MAC address : network interface card가 처음 만들어질 때 부여되는 번호
(위치에 따라 변할 수 있는 ip address와는 다르게 변하지 않는 고유한 번호)
<ARP>
상대방의 MAC주소를 물어보는 protocol이다.
(자신의 ARP table에 이미 상대방 MAC 주소가 있으면 바로 보낼 수 있지만 없으면 ARP를 이용해
MAC 주소를 얻어와야 한다.)
과정 : 1. 해당 ip가 누구인지 브로드캐스트로 MAC주소를 물어본다.
2. 해당 ip의 device는 자신의 MAC주소를 적어서 답해준다.
<Switch>
subnet안에서 전송방향을 정할 수 있는 device다.(목적지 mac address기기가 있는 방향으로 보내줌)
또한 broadcast domain을 여러개로 쪼갤 수 있다.(flooding범위를 제어할 수 있다.)
- switch 에는 switch table이 존재한다. 특정 MAC address의 기기는 어느 방향으로 나가야되는지 적혀있다.
switch로 데이터가 들어오면 source MAC address기기가 어디인지 파악하고 table에 기록한다. destination MAC
address의 위치를 모른다면 그냥 flooding하여 사방으로 보낸다.
-무선랜 -> 근거리 (와이파이)
-이동통신 -> 장거리(3g, lte) -> 이동통신은 tcp/ip 기반이 아닌 전혀 다른 프로토콜 사용(internet네트워크 전까지)
-BSS-> 하나의 AP영역
<무선랜>
AP와의 연결 과정 : 1. AP는 주기적으로 브로드캐스트를 함
2. 나의 노트북은 어떤 AP에 연결할지 선택을 함
CSMA/CA사용 -> ack 피드백을 받아서 충돌인지 파악
RTS-CTS -> RTS로 먼저 보내보고 충돌나면 random시간 후 다시 보냄, 충돌안나면
AP가 CTS로 내가 전송차례라고 전체에 알림.
'CS(Computer Science) > 네트워크' 카테고리의 다른 글
3. Network Layer(네트워크 계층) (0) | 2020.08.28 |
---|---|
2. Transport Layer(전송 계층) (0) | 2020.08.26 |
1. Application Layer(어플리케이션 계층) (0) | 2020.08.25 |
(시작 전에) 네트워크 기본 (0) | 2020.08.23 |