네트워크

그림으로 공부하는 TCP IP 구조 2장, 3장 요약

Joon0464 2024. 1. 15. 14:49

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 동작 과정

  1. 송신자는 같은 네트워크에 있는 단말 모두에게 브로드캐스트로 패킷을 송신하여 특정 MAC주소를 가진 단말이 어디 있는지 찾는 과정 실행(ARP Request)
  2. 특정 MAC주소를 가진 단말(수신자)은 ARP Reply를 유니캐스트 통신으로 송신
  3. 송신자는 ARP 테이블에 해당 수신자의 MAC주소와 IPv4 주소를 등록
  4. 송신자와 수신자간의 데이터 통신 시작
  • ARP는 캐싱기능을 통해 한 번 기록한 주소 정보는 일정 시간동안 테이블에서 지우지 않고 보관한다.(Windows 10분, Cisco 4시간)

GARP


  • IP 주소 중복 감지, 인접 기기의 테이블 업데이트 등에 사용

GARP 동작 과정(IP 주소 중복 감지)

  1. OS는 IPv4 주소가 설정되면 해당 IPv4 주소를 목표 IPv4 주소로 설정한 GARP(ARP Request)를 송신해서 해당 IP 주소를 사용해도 되는지 해당 네트워크의 모든 대상에게 묻는다.(브로드캐스트 사용)
  2. 만약 해당 IPv4를 사용하는 단말이 존재하면 해당 단말이 ARP Reply를 송신한다.(유니캐스트 사용)
  3. ARP Reply를 받으면 OS는 같은 IPv4주소의 단말이 존재한다고 판단하고 에러메시지를 표시
  4. ARP Reply를 수신하지 않으면 해당 IP 주소로 설정

GARP 동작 과정(인접 기기의 테이블 업데이트)

  1. 10.1.1.1 의 IP 주소를 사용하는 기기가 해당 네트워크에서 제외(고장 등의 이유로)
  2. 새로운 기기가 해당 네트워크에 접속되어 10.1.1.1 을 할당받음
  3. 해당 기기는 GARP를 송출하여 자신의 MAC 주소가 변경되었음을 알림
  4. 같은 네트워크에 존재하는 다른 기기들은 ARP 테이블의 10.1.1.1에 해당하는 MAC주소를 새로운 기기의 MAC주소로 수정

 

'네트워크' 카테고리의 다른 글

그림으로 공부하는 TCP IP 구조 1장 요약  (1) 2024.01.15