2장
반이중화 통신 (Half Duplex)
- 송신할 때와 수신할 때, 그 해당 통신 방향을 전환해서 사용하는 방식
- 패킷을 송신할 때는 패킷을 수신할 수 없으며, 패킷을 수신할 때는 송신할 수 없음
- 만일 같은 타이밍에 패킷이 양쪽 상대에게 송신되면 jam 이라는 특수한 비트 패턴을 송신하게 되며, jam 신호를 받은 단말은 각각 무작위 시간 동안 기다린 뒤 패킷을 전송을 재시도 한다(CSMA/CD, Carrier Sense Multiple Access with Collision Detection)
- 동시에 송수신이 불가능하여 10Gbps 이상의 프로토콜에서는 사용되지 않음
전이중화 통신 (Full Duplex)
- 송신용 전송로와 수신용 전송로를 별도로 준비하고, 송신과 수신을 동시에 수행하는 방식
- CSMA/CD 방식이 필요하지 않음
- 고속 이더넷은 전이중화 통신이 기본 값
무선 LAN의 통신 방식
- 무선 LAN 단말은 송신과 수신에 같은 채널을 사용하므모 반이중화 통신으로 작동
- 송신할 때는 수신할 수 없고, 수신할 때는 송신할 수 없음
- 무선 LAN에는 충돌을 피하면서 통신하는 CSMA/CA(Carrier Sense Multiple Access / Collision Avoidance) 를 사용
- CSMA/CA 동작 방식
- 1. 무선 LAN 단말은 프레임을 전송하기 전 우선 대기한 상태로, 다른 단말이 전파를 사용하고 있지 않은지 확인하며 이 대기 시간을 DIFS(DCF InterFrame Space), 확인 처리를 Carrier Sense 라고 한다.
- 2. 아무도 전파를 사용하지 않는 Idle 상태를 확인하면 각각 무작위 시간(백오프, back-off) 동안 대기한다
- 3. 백오프가 가장 짧은 단말이 우선 프레임을 전송하며, 그 외 단말들은 잠시 전송을 보류(busy, 바쁨 상태)
- 4. 엑세스 포인트는 일단 대기한 상태로 프레임을 받았다는 의미의 확인 응답 프레임을 전송하며 그 외의 단말은 일단 전송을 보류한다. 이 대기 시간을 SIFS(Short InterFrame Space) 라 한다.
- 5. 모든 단말은 확인 응답 프레임 수신을 확인했다면 다시 1~4 단계를 반복한다.
3장
이더넷 프레임 포멧
거의 대부분 이더넷 II 규약을 사용하고 있으며 이더넷 II는 프리앰블, 수신지/송신지 MAC 주소 타입, 이더넷 페이로드, FCS 라는 5개의 필드로 구성되어 있다.
1. 프리엠블(preamble)
- 이제부터 이더넷 프레임을 보낸다라는 합의를 의미하는 8바이트의 특별한 비트 패턴
- 앞에서부터 10101010 을 7개, 가장 마지막에 10101011 을 1개 전송
- 수신 측 단말은 이더넷 프레임 최초에 부여되어 있는, 이러한 패턴을 보고 이제부터 이더넷 프레임이 온다고 판단
2. 수신지/송신지 MAC 주소
- MAC은 이더넷 네트워크에 접속하고 있는 단말을 식별하는 6바이트의 ID
- 이더넷 네트워크에서의 주소와 같은 역할
3. 타입
- 네트워크 계층에서 어떤 프로토콜을 사용하는지 나타내는 2바이트의 ID
- ARP, IPv4, IPv6 등 사용하는 프로토콜이나 그 버전 등에 따라 값이 결정
4. 이더넷 페이로드
- 네트워크 계층의 데이터 자체를 나타냄 (= 네트워크 계층의 패킷)
- 패킷교환방식이기 때문에 데이터를 나누어서 보내고 이 데이터의 크기는 최소 46바이트부터 최대 1500바이트 이하여야한다.
- 만약 46바이트 미만인 경우에는 Padding 이라는 더미 데이터를 추가해 강제로 46바이트로 맞춘다.
- 1500바이트 이상이면 트랜스포트 계층이나 네트워크 계층에서 데이터를 나누어 1500바이트로 맞춤
5. FCS
- FCS(Frame Check Sequence)는 이더넷 프레임이 손상되지 않았는지 확인하기 위한 4바이트(32비트) 필드
- 송신 측 단말은 이더넷 프레임을 송신할 때 '수신지의 MAC 주소', '송신지의 MAC 주소', 타입, 이더넷 페이로드 에 대해 일정한 계산(체크섬 계산, CRC) 를 수행하고, 그 결과를 FCS로 프레임 마지막에 추가
- 대응하는 수신 측 단말은 전달받은 이더넷 프레임에 대해 동일한 게산을 수행하고 그 값이 FCS와 같다면 손상되지 않은 올바른 데이터로 판단하며, 값이 다르면 전송 도중 이더넷 프레임이 손상되었다고 판단하고 파기한다.
MAC 주소
- 네트워크에 접속되어 있는 단말의 식별 ID
- 6바이트로 구성되며 1바이트씩 하이픈이나 콜론으로 구분하여 12자리의 16진수로 표현(e.g. 00-0c-29-43-5e-be)
- 물리 어플라이언스의 경우 물리 NIC가 만들어질 때 ROM에 기록하며 가상 어플라이언스에서는 기본으로 하이퍼바이저에서 가상 NIC를 할당
- 상위 3바이트는 IEEE가 벤더별로 할당한 벤더 코드이며 OUI(Organizationally Unique Identifier)라고 한다.
- 하위 3바이트는 UAA(Universal Administered Address)라 부르며, 출하 시 벤더에서 할당하거나 무작위로 생성한 값이다.
통신 종류에 따른 MAC주소의 차이
1. Unicast
- 1:1 통신으로 송수신하는 각 단말의 MAC주소가 송신지 MAC주소와 수신지 MAC 주소가 됨
- 인터넷 통신의 대부분은 유니캐스트
2. Multicast
- 1:n 통신이며 n은 특정 그룹에 속하는 단말이다
- 특정 단말이 멀티캐스트를 송신하면 그 그룹에 있는 단말들만 그 패킷을 수신한다
- 주로 동여상 전송이나 주식 거래 애플리케이션 등에서 사용
3. Broadcast
- 1:n 통신으로 같은 네트워크에서 자기 자신을 제외한 다른 모든 단말과 통신
- ARP와 같은 네트워크상의 모든 단말에 알림/문의를 하는 프로토콜에서 사용
ARP
- 실제 데이터 통신에 앞서, ARP에서 수신지 IPv4 주소로부터 수신지 MAC주소를 구하는 주소 결정 과정을 거침
ARP 동작 과정
- 송신자는 같은 네트워크에 있는 단말 모두에게 브로드캐스트로 패킷을 송신하여 특정 MAC주소를 가진 단말이 어디 있는지 찾는 과정 실행(ARP Request)
- 특정 MAC주소를 가진 단말(수신자)은 ARP Reply를 유니캐스트 통신으로 송신
- 송신자는 ARP 테이블에 해당 수신자의 MAC주소와 IPv4 주소를 등록
- 송신자와 수신자간의 데이터 통신 시작
- ARP는 캐싱기능을 통해 한 번 기록한 주소 정보는 일정 시간동안 테이블에서 지우지 않고 보관한다.(Windows 10분, Cisco 4시간)
GARP
- IP 주소 중복 감지, 인접 기기의 테이블 업데이트 등에 사용
GARP 동작 과정(IP 주소 중복 감지)
- OS는 IPv4 주소가 설정되면 해당 IPv4 주소를 목표 IPv4 주소로 설정한 GARP(ARP Request)를 송신해서 해당 IP 주소를 사용해도 되는지 해당 네트워크의 모든 대상에게 묻는다.(브로드캐스트 사용)
- 만약 해당 IPv4를 사용하는 단말이 존재하면 해당 단말이 ARP Reply를 송신한다.(유니캐스트 사용)
- ARP Reply를 받으면 OS는 같은 IPv4주소의 단말이 존재한다고 판단하고 에러메시지를 표시
- ARP Reply를 수신하지 않으면 해당 IP 주소로 설정
GARP 동작 과정(인접 기기의 테이블 업데이트)
- 10.1.1.1 의 IP 주소를 사용하는 기기가 해당 네트워크에서 제외(고장 등의 이유로)
- 새로운 기기가 해당 네트워크에 접속되어 10.1.1.1 을 할당받음
- 해당 기기는 GARP를 송출하여 자신의 MAC 주소가 변경되었음을 알림
- 같은 네트워크에 존재하는 다른 기기들은 ARP 테이블의 10.1.1.1에 해당하는 MAC주소를 새로운 기기의 MAC주소로 수정
'네트워크' 카테고리의 다른 글
그림으로 공부하는 TCP IP 구조 1장 요약 (1) | 2024.01.15 |
---|