목차
- 링크 계층 서비스
- NIC : Network Interface Controller
- Multiple Access Protocols(Channel Partitiong, Random Access Protocols, Taking Turns)
- LAN(MAC, ARP, Ethernet, Switch)
- 현실 시나리오
링크 계층
응용 계층 | (message) DNS, HTTP 등 응용 프로그램 |
응용 계층 : Application |
표현 계층 | ||
세션 계층 | ||
전송 계층 | (segment) TCP, UDP |
전송 계층 : Transport |
네트워크 계층 | (Packet, datagram) IP |
네트워크(인터넷) 계층 |
데이터 링크 계층 | (Frame) MAC Address |
네트워크 접속(링크) 계층 |
물리 계층 | Ethernet, cable, wire | 물리 계층 |
링크 계층(Layer 2)에서는 네트워크 계층의 패킷을 encapsulation해서 frame이라는 단위의 패킷을 물리적으로 인접한 노드로 전달하는 역할을 수행합니다.
1. wired
2. wireless
3. LANs
총 3가지를 다루며 Ethernet, Frame relay, 802.11(wifi) 등 프로토콜을 사용합니다.
링크 계층 서비스
- framing : Network Layer에서 온 datagram에 앞에 header, 뒤에 trailer를 붙여서 Frame으로 캡슐화합니다.
- link access : source와 destination을 확인하기 위해 frame header에서 MAC address를 사용합니다
- flow control
- error detection
- error correction
- half / full - duplex
인접한 노드에 신뢰성 있는 전송을 하는데, 유선의 경우 거의 에러가 없지만 무선은 에러가 비교적 많습니다.
NIC : Network Interface Controller
모든 host는 Link Layer가 있고 어댑터 형식으로 구성되며 NIC나 Chip이 있으며 모두 NIC라고 합니다.
Multiple Access Links, Protocols
Link에 다수의 단말들이 물려있을 때 동시에 같은 리소스를 써서 둘 이상 접속하게 되면 충돌이 발생하며, 이를 어떻게 할지에 대한 내용입니다.
1. Point-to-point : between Ethernet switch, host
2. broadcast : old-fashioned Ethernet, wifi, wireless LAN
MAC Protocols : taxonomy
1. Channel Partitioning
channel을 작은조각(time slots, frequency, code)으로 나누어 충돌을 막습니다.
각 노드에 slot을 할당해 배타적 사용을 하게 합니다.
사용하는 노드가 많을수록 효율적입니다.
TDMA : Time Division Multiple Access
time으로 channel을 나눕니다. 각 노드는 전송할 패킷이 있으면 자신에게 할당된 time slot 동안 패킷 bit를 전송합니다. 사용되지 않는 슬롯들이 생길수록 효율성이 떨어집니다.
FDMA : Frequency Division Multiple Access
frequency 대역으로 channel을 나눕니다.
각 station은 fixed frequency band가 할당하며 각 노드들은 해당 대역으로 통신합니다.
사용되지 않는 대역이 생기면 효율성이 떨어집니다.
2. Random Access Protocols
Channel을 나누지 않고 노드가 패킷 bit을 전송할 때 충돌을 허용합니다. 충돌을 허용했기에 이를 어떻게 감지하고 복구할지에 관심을 두는 방법입니다.
사용하는 노드가 적을수록 효율이 좋고 낭비없이 전체 full channel을 사용할 수 있다는 장점이 있습니다.
CSMA : Carrier Sense Multiple Access
Listen Before Transmit 방식으로 전송 이전에 상태 확인을 요구합니다.
만약 채널이 idle 상태임을 감지하면 전체 프레임을 전송하고, busy 상태이면 dusrlgkau wjsthdgkqslek.
CSMA/CD : CSMA + Collision Detection
CSMA방식에 Collision 발생 시 짧은 시간 안에 패킷 bit을 전송해 양쪽을 모두 멈춥니다. 유선링크의 경우 충돌을 확인할 수 있어서 쓸 수 있는 방식이라는데 짧은 시간 안에 Collision을 감지하여 Channel의 시간낭비를 줄일 수 있습니다.
[Ethernet CSMA/CD 알고리즘]
1. NIC는 데이터그램을 받고 frame을 만듭니다.
2. NIC는 채널이 idle할 때 전송, busy면 채널의 idle까지 대기 후 전송합니다.
3. NIC가 또 다른 전송 감지 없이 전체 frame을 다 보냈다면 성공입니다.
4. 만약 NIC가 다른 전송 감지 시 전송을 중단하고 jam signal을 보내 중지합니다.
5. 중지 이후 NIC는 Binary back off 알고리즘을 사용하여 대기합니다.
*Binary back off(이진 백 오프)알고리즘 : n번 충돌이 발생했다면 0~2^(n-1) 슬롯들 중 하나를 선택해(k) k에 비례하게 휴식 후 재전송을 시도합니다.
CSMA/CA (CSMA + Collision Avoidance)
3. Taking Turns
차례가 되면 보내고 보낸 후 다음 차례에게 턴을 넘겨준다는데, Channel Partitioning + Random Access 장점을 조합한 방식입니다.
Polling : Master 노드가 나머지(Slave) 노드들에게 보낼 데이터가 있는지 물어보는 과정으로 Master가 나머지의 전송을 도맡아 합니다. Master가 죽으면 Slave들도 아무것도 못할 수 있고 반복해서 물어볼 수도 있습니다.
Token passing : 토큰이 있는 노드만 데이터 전송이 가능하고, 데이터를 다 보낸 노드는 다음 노드에게 토큰을 넘겨줍니다. 토큰을 가지고 있는 노드가 죽으면 토큰이 사라져 노드 전체가 기다릴 수도 있습니다.
LAN : Local Area Network
링크 레이어에서는 LAN, Physical, Ethernet 등의 방법으로 통신하며 이때 MAC주소를 사용합니다.
MAC 주소는 같은 서브넷 내에서 Physical-Connected한 인터페이스(NIC)에서 frame을 얻을 때 사용하는 물리/이더넷/LAN 주소입니다. 48bit크기의 네트워크 장비의 고유번호로써 사용되며 IEEE에 의해 관리, 할당됩니다.
*과거에 품질 낮은 NIC에 경우 MAC주소가 중복되어 통신이 안되는 경우도 있었다고 합니다.
ARP( Address Resolution Protocol )는 상대방의 IP주소를 알지만 MAC주소를 모르는 경우 사용합니다.
IP주소를 실제 LAN에서 MAC주소로 변환해주는 Protocol로 Network Layer Protocol입니다.
각 host는 ARP Table을 갖고있습니다. (IP주소 - MAC 주소 - TTL)
그러면 frame에 Data에 ARP Query를 추가하여 사용합니다.
Ethernet
사무실, 가정에서 사용하는 LAN중 가장 많이 활용되는 규격으로 실질적으로 유선 랜으로 봐도 무방할것 같습니다.
현재 흔히 말하는 랜선은 모두 이더넷 케이블입니다.
과거에는 모든 노드가 동일한 Collision domain 내에 있었으나 현재는 Switched구조로 Switch기기로 분리된 링크 구조를 가지며 star구조라고도 합니다.
이더넷 케이블(UTP)는 8개의 구리선으로 흰주-주-흰초-파-흰파-초-흰갈-갈 구조를 가지고 있으며 이 구조를 T568B라고 하며 랜 케이블에서 가장 많이 사용되는 종단 배열이라고 합니다.
특징으로 conectionless(ACK, NAK X), unreliable(핸드 쉐이킹 X)합니다.
Ethernet Switch
스위치는 링크레이어 디바이스로 MAC Address 기반으로 이더넷 프레임을 store하고 forward합니다.
버퍼가 있어서 frame을 저장하고 내보낼 수 있습니다.
스위치는 point to point 통신이라 실질적으로 충돌이 없지만 CSMA/CD를 그대로 사용한다고 합니다.
host는 Switch의 존재를 모르고 스위치는 MAC주소가 없습니다.(IP주소는 있습니다) 스위치는 그저 한 host에서 다른 host로 frame을 전달하는 역할을 합니다.
스위치가 가지고 있는 스위치 포워딩 테이블은 self-learning하며 frame을 기록하여 테이블을 채웁니다.
라우터 : Network Layer
스위치 : Link Layer
현실 시나리오
'강의 > 컴퓨터네트워크' 카테고리의 다른 글
Network Layer (0) | 2023.12.28 |
---|---|
컴퓨터 네트워크 - Transport Layer (2) | 2023.08.29 |
컴퓨터네트워크 - Application Layer (0) | 2023.06.28 |
Transport Layer - 요약 (0) | 2023.05.03 |
Application Layer - 시험 요약 정리 (0) | 2023.04.20 |