1. IEEE802.3 Ethernet과 IEEE802.11 WLAN에서 사용되는 다중접근제어방식




                 BUS topology로 구성된 shared ethernet 환경에서 일어남


 가. CSMA(Carrier Sense Multiple Access)
   각 지국이 통신 전에 상대방의 상태를 감지하는 매체접근 방법 -> 충돌을 줄일 수 있음
 But, 완전히 충돌을 피할 수 없다.
 * 지속 방식(persistent mechanism)
     채널이 사용 중이거나 휴지 상태일때 어떻게 행동하느냐에 관한 방식
   1. persistent : 회선 상태 지속적으로 확인
   2. non-persistent : random시간 기다렸다 다시 시도


 나. CSMA/CD (with Collision Detection)
 CSMA + CD -> 충돌처리 절차 추가한 것
 유선 Ethernet에서 사용하는 프로토콜
 * 동작순서
   1. 전송준비 : 프레임 준비
   2. 회선 사용가능?
     YES : 전송
     No : 사용가능할 때 까지 대기
   3. 충돌 발생?
     YES : 전송 중단 -> 충돌신호(jamming signal)전송 -> 충돌탐지로 이동
     NO : 전송 성공 -> 끝
   4. 재전송 계수기를 초기화 -> 프레임 전송 끝


 * Exponential Backoff (Random Backoff)
   랜덤시간동안 기다림 -> 전송시도
 * 충돌탐지 동작순서
   1. 정체 신호가 전체 송신자에게 전달되도록 하기 위해 최소 패킷전송시간 까지 전송을 계속한다.
   2. 재전송 계수기의 재전송 시도횟수를 증가시킨다.
   3. 임의의 시간동안 대기한다.
   4. 첫 번째 단계부터 반복한다.




 다. CSMA/CA
 충돌 감지가 무선 네트워크에선 힘듦
 충돌 감지가 아닌 회피 이용
* PCF(Point Coordination Function) - 우선순위 기반 경쟁
 * DCF(Distributed Coordination Function) - 동등한 우선순위 기반 경쟁 CSMA/CA DCF이용


Continuously sense                                       Time-slot
                      Found idle                              ▼
  ↓↓↓↓↓↓↓↓↓▼                     | | | | | | | | | | | | | | | |
--■■■■■■■■■---------□□□□□□□□□□□□□□--■■■■■■■■--■■■■■■■--> Time
         Busy        |← IFS →|        Contention window               Send Frame          Time-out



 * IFS(Inter Frame Space) - 프레임간 공간 : 1차 충돌 회피방법
 idle상태 확인함 -> 지연 전송
 이유 : idle상태여도 동시에 멀리서 신호가 오고 있는 중일 경우 idle로 생각 할 수 있음
 * Contention window – 다툼구간 : 2차 충돌 회피방법
 time-slot마다 감지




2. Ethernet 프레임을 통한 ARP 메시지 전송 메카니즘


                                                                          Message
                        application                                                           L5     application
                                                                          (HTTP, SIP)
                                                                   Datagram/Segment
                         transport                                                            L4
                                                                          (TCP/UDP)
                                                                                                         OS
                                                                   ICMP
                          internet                                        IP Packet           L3
                                                                                        ARP
                                                                           Frame
                     Network interface                                                        L2
                                                                          (CSMA/CD)
                                                                                                        H/W
                          physical                                        physical            L1
Ethernet Frame Format

 HEADER                     46-1500 bytes of payload                 4-byte CRC



                         HEADER
    6-byte(48-bit)          6-byte(48-bit)   4-byte
  dstination address       source address     type
0800 : IP
0806 : ARP


    ICMP                                     HEADER               ICMP
     IP                             HEADER              IP payload
   Frame                  HEADER                  Frame payload


ARP 작동 과정 (H/W 주소요청)
1. 송신자는 목적지 IP Address를 지정해 패킷 송신
2. 목적지 시스템의 MAC주소를 모름 -> IP프로토콜은 ARP Request
3. 메세지는 2계층으로 전달되고 Ethernet 프레임으로 Encapsulation 됨
4. 모든 호스트와 라우터는 프레임을 수신 후 자신의 ARP 프로토콜에게 전달
    (Broadcast)
5. 목적지 IP Address가 일치하는 시스템은 자신의 MAC Address를 적어 송신측에
    ARP Reply패킷을 전송
6. 송신 시스템은 지정한 IP Address에 대응하는 MAC Address 획득


                       tip) ARP Request는 Broadcast, ARP Reply는 unicast 방식
3. ARP 캐쉬 테이블과 스푸핑 메카니즘
     ARP Cache
     송신시스템이 수신시스템에게 데이터를 보내기 전 먼저 Cache내용을 참조해 효율적인 통신을 하기
     위해 사용, ARP Cache에 저장된 정보는 일정시간이 지날 때 까지 사용되지 않으면 지워짐




     ARP 공격방법
     1. 호스트가 통신을 위해 ARP request
     2. 공격자는 자신이 게이트웨이인 것처럼 MAC주소를 변조하여 ARP respond를 한다.
     3. 호스트는 공격자가 게이트웨이인줄 알고 정보를 보낸다.


4. IP 데이타그램 헤더에서 TTL 필드가 사용되는 메카니즘
     TTL(Time To Live)
     Ÿ   흔히 TTL 이라고 불리 우는 값으로 Packet의 생존시간을 지정한다.
     Ÿ   몇 개의 Router를 이동 할 수 있는지를 명시함으로써 Datagram의 생존기간을 명시한다.
     Ÿ   IP Datagram이 Router를 경유하게 되면 Router는 TTL Field를 조사해서 TTL의값에 1을 빼준
         다.
     Ÿ   만약 TTL 에 16의 값이 Setting되어 있다면 16번째 Router를 지날 때 TTL 값은 0이 될 것이
         며, Router는 이 Packet을 전달하지 않고 Drop 시켜버린다.
     Ÿ   TTL 값을 명시하는 이유는 Datagram이 Router 상에서 무한 Loop되는 사태가 발생 할 수 있기
         때문이다.
     Ÿ   TTL값이 달라지면 check sum 값도 달라지므로 다시 check sum값을 라우터에서 계산한다.


5.   Ethernet MTU와 IP 데이타그램 fragmentation 메카니즘
* Fragmentation -> header’s flags -> IDENTIFICATION -> OFFSET -> TCP/UDP 전송




    IDENTIFICATION(식별번호)
    본래의 데이터그램을 절단하여 여러 개의 조각으로 메시지가 분류되는데, 이 조각들이 모두 하나
    의 데이터그램에서 절단된 것임을 알려주는 것
    식별 번호는 하나의 수이며, 송신자가 생성
    FLAGS(플래그)
    두 비트 DF(Don't Fragment)와 MF(More Fragment)는 데이터그램의 절단된 조각을 제어하기
    위한 것
    DF 비트가 1로 되어 있다면, IP는 어떤 상황에서도 절단하지 않고는 전송이 불가능하다 하더라도
    데이터그램을 절단하지 않음
    MF 비트는 데이터그램이 여러 조각으로 절단된 경우에 사용되며, 후속 조각이 있는지 없는지를
    나타냄
    필드의 첫 번째 비트는 사용하지 않음
    FRAGMENT OFFSET(세분화 오프셋)
    MF 비트를 사용하는 경우 조각 오프셋은 본래 데이터그램으로부터 현재 조각이 갖는 위치를 나
    타냄
    목적지 호스트는 이 필드를 사용해서 본래의데이터그램을 정확하게 조합할 수 있음
Fragmentation Identifier(16bit)
Ÿ   보내고자 하는 Packet에 단편화(fragmentation)가 일어 났을 경우 단편화된 각 Packet을 구분
    할 수 있는 일련의 순서 번호이다.
Ÿ   이 값을 이용해서 이 Packet이 어떤 Packet에서 단편화 된 것인지를 알 수 있다.


Fragmentation Flags(3bit)
Ÿ   Packet의 Fragment에 대한 Information를 알려주기 위해서 사용된다.
Ÿ   첫 번째 bit는 예비로 사용되며, 0으로 setting된다.
 Ÿ   두 번째 bit와 세 번째 bit는Fragment된 Packet의 Information를 setting하기 위해서 사용된다.
 Ÿ   두 번째 bit가 0으로 setting 되었을 경우 Fragmentation Packet를 의미하며, 1일 경우
     Fragment되지 않은 Packet를 의미한다.
 Ÿ   3번째 비트가 0일 경우 Last Fragmentation Packet를 나타내며, 1일 경우에는 Fragmentation
     Packet가 더 있다는 것을 나타낸다.


 Fragment Offset(13bit)
 Ÿ   Packet에 대한 Fragment가 일어 났을 경우 현재 Packet이 원래 Packet의 몇 번째 위치부터 단
     편화가 이루어 졌는지를 나타낸다. .


6. ICMP의 전송 메카니즘 및 역할
 ICMP(internet control message protocol)
 IP는 best effort로 신뢰성을 보장하지 않는 프로토콜이다.




 라우터는 과도한 패킷의 유입 시 패킷을 폐기하게 되므로, 사전에 송신 단말에게 송신을 감소시키거나
 송신을 중지하도록 하는 흐름제어, 상대방 시스템의 IP 계층까지는 동작하더라도 TCP 연결이 가능하
 지 않거나 해당 응용 계층 프로세스가 설치되어 있지 않아 연결되지 않는 경우에 대한 원인을 찾는
 기능 등은 IP에서 구현되지 않음
 ICMP(Internet Control Message Protocol)은 접속 불가에 대한 이유나 여러 가지 진단 기능을 수행
 할 제어 프로토콜
 ICMP는 IP 계층의 일부이며,이 메시지는 IP 데이터그램의 데이터 부분에 포함되어 전송



 PING/ICMP Echo
 Ÿ   PING은 ICMP Echo Request 메시지를 특정 호스트나 라우터에 보내어 이에 대한 ICMP Echo
     Replay를 수신함으로써 도달가능성(Reachability)을 검사해 보고 요청과 응답에 대한 경과 시간
     인 Round-Trip-Time(RTT)을 알아볼 수 있음
 Ÿ   요청과 응답 모두 IP 데이터그램에 수납되어 전송되기 때문에 응답의 성공적 수신은 경로상의 라
     우터와 목적지 시스템의 망 계층 부분이 동작한다는 것을 증명하는 것
 Ÿ   PING은 도달 가능성을 검사해서 망의 상태를 알아보는 프로토콜로, PING 자체는 응용 계층에 해
     당되고, PING이 사용하는 ICMP는 인터넷 계층 프로토콜 임


 ICMP/TRACERT
Ÿ     TRACERT(Trace Route) 명령은 경로상에 있는 라우터마다 ICMP Echo 메시지를 보내어 이에
      대한 응답을 확인함으로써 경로상의 라우터 존재 및 지연 시간을 검사해 보는 것
Ÿ     모든 IP 라우터들은 수신된 IP 패킷을 다음 라우터(또는 단말)로 전달하기 전에 먼저 IP헤더의
      TTL(Time To Live)값을 1 감소시키고, 만약 감소된 TTL 값이 0인 경우에는 이 패킷을 다른 라
      우터로 전달하지 않고 버린 후 , 이 IP 패킷의 송신측에게 time exceeded error ICMP 패킷으로
      이 사실을 알려줌



Query(질의 메시지) (type)
    echo request(8)               are you alive?
    echo reply(0)                  yes, i am alive
    timestamp request(13)        same as Echo, but with timestamp
    timestamp reply(14)
    address mask request(17) 부팅시 32bit subnet mask요청
    address mask reply(18)                    응답
    router soliciation(10)       단말이 라우터를 찾을때
    router advertisement(9)      자신이 라우터임을 알릴때


Error-reporting(오류보고 메시지)
    destination unreachable(3)   목적지 도착 불가능
    source Quench(4)                발신지 억제
    time exceeded(11)               시간초과
    parameter problem(12)           무효한 헤더영역이 있음
    redirection(5)                     라우터에게 경로 재지정

퀴즈요약

  • 1.
    1. IEEE802.3 Ethernet과IEEE802.11 WLAN에서 사용되는 다중접근제어방식 BUS topology로 구성된 shared ethernet 환경에서 일어남 가. CSMA(Carrier Sense Multiple Access) 각 지국이 통신 전에 상대방의 상태를 감지하는 매체접근 방법 -> 충돌을 줄일 수 있음 But, 완전히 충돌을 피할 수 없다. * 지속 방식(persistent mechanism) 채널이 사용 중이거나 휴지 상태일때 어떻게 행동하느냐에 관한 방식 1. persistent : 회선 상태 지속적으로 확인 2. non-persistent : random시간 기다렸다 다시 시도 나. CSMA/CD (with Collision Detection) CSMA + CD -> 충돌처리 절차 추가한 것 유선 Ethernet에서 사용하는 프로토콜 * 동작순서 1. 전송준비 : 프레임 준비 2. 회선 사용가능? YES : 전송 No : 사용가능할 때 까지 대기 3. 충돌 발생? YES : 전송 중단 -> 충돌신호(jamming signal)전송 -> 충돌탐지로 이동 NO : 전송 성공 -> 끝 4. 재전송 계수기를 초기화 -> 프레임 전송 끝 * Exponential Backoff (Random Backoff) 랜덤시간동안 기다림 -> 전송시도 * 충돌탐지 동작순서 1. 정체 신호가 전체 송신자에게 전달되도록 하기 위해 최소 패킷전송시간 까지 전송을 계속한다. 2. 재전송 계수기의 재전송 시도횟수를 증가시킨다. 3. 임의의 시간동안 대기한다. 4. 첫 번째 단계부터 반복한다. 다. CSMA/CA 충돌 감지가 무선 네트워크에선 힘듦 충돌 감지가 아닌 회피 이용
  • 2.
    * PCF(Point CoordinationFunction) - 우선순위 기반 경쟁 * DCF(Distributed Coordination Function) - 동등한 우선순위 기반 경쟁 CSMA/CA DCF이용 Continuously sense Time-slot Found idle ▼ ↓↓↓↓↓↓↓↓↓▼ | | | | | | | | | | | | | | | | --■■■■■■■■■---------□□□□□□□□□□□□□□--■■■■■■■■--■■■■■■■--> Time Busy |← IFS →| Contention window Send Frame Time-out * IFS(Inter Frame Space) - 프레임간 공간 : 1차 충돌 회피방법 idle상태 확인함 -> 지연 전송 이유 : idle상태여도 동시에 멀리서 신호가 오고 있는 중일 경우 idle로 생각 할 수 있음 * Contention window – 다툼구간 : 2차 충돌 회피방법 time-slot마다 감지 2. Ethernet 프레임을 통한 ARP 메시지 전송 메카니즘 Message application L5 application (HTTP, SIP) Datagram/Segment transport L4 (TCP/UDP) OS ICMP internet IP Packet L3 ARP Frame Network interface L2 (CSMA/CD) H/W physical physical L1
  • 3.
    Ethernet Frame Format HEADER 46-1500 bytes of payload 4-byte CRC HEADER 6-byte(48-bit) 6-byte(48-bit) 4-byte dstination address source address type 0800 : IP 0806 : ARP ICMP HEADER ICMP IP HEADER IP payload Frame HEADER Frame payload ARP 작동 과정 (H/W 주소요청) 1. 송신자는 목적지 IP Address를 지정해 패킷 송신 2. 목적지 시스템의 MAC주소를 모름 -> IP프로토콜은 ARP Request 3. 메세지는 2계층으로 전달되고 Ethernet 프레임으로 Encapsulation 됨 4. 모든 호스트와 라우터는 프레임을 수신 후 자신의 ARP 프로토콜에게 전달 (Broadcast) 5. 목적지 IP Address가 일치하는 시스템은 자신의 MAC Address를 적어 송신측에 ARP Reply패킷을 전송 6. 송신 시스템은 지정한 IP Address에 대응하는 MAC Address 획득 tip) ARP Request는 Broadcast, ARP Reply는 unicast 방식
  • 4.
    3. ARP 캐쉬테이블과 스푸핑 메카니즘 ARP Cache 송신시스템이 수신시스템에게 데이터를 보내기 전 먼저 Cache내용을 참조해 효율적인 통신을 하기 위해 사용, ARP Cache에 저장된 정보는 일정시간이 지날 때 까지 사용되지 않으면 지워짐 ARP 공격방법 1. 호스트가 통신을 위해 ARP request 2. 공격자는 자신이 게이트웨이인 것처럼 MAC주소를 변조하여 ARP respond를 한다. 3. 호스트는 공격자가 게이트웨이인줄 알고 정보를 보낸다. 4. IP 데이타그램 헤더에서 TTL 필드가 사용되는 메카니즘 TTL(Time To Live) Ÿ 흔히 TTL 이라고 불리 우는 값으로 Packet의 생존시간을 지정한다. Ÿ 몇 개의 Router를 이동 할 수 있는지를 명시함으로써 Datagram의 생존기간을 명시한다. Ÿ IP Datagram이 Router를 경유하게 되면 Router는 TTL Field를 조사해서 TTL의값에 1을 빼준 다. Ÿ 만약 TTL 에 16의 값이 Setting되어 있다면 16번째 Router를 지날 때 TTL 값은 0이 될 것이 며, Router는 이 Packet을 전달하지 않고 Drop 시켜버린다. Ÿ TTL 값을 명시하는 이유는 Datagram이 Router 상에서 무한 Loop되는 사태가 발생 할 수 있기 때문이다. Ÿ TTL값이 달라지면 check sum 값도 달라지므로 다시 check sum값을 라우터에서 계산한다. 5. Ethernet MTU와 IP 데이타그램 fragmentation 메카니즘
  • 5.
    * Fragmentation ->header’s flags -> IDENTIFICATION -> OFFSET -> TCP/UDP 전송 IDENTIFICATION(식별번호) 본래의 데이터그램을 절단하여 여러 개의 조각으로 메시지가 분류되는데, 이 조각들이 모두 하나 의 데이터그램에서 절단된 것임을 알려주는 것 식별 번호는 하나의 수이며, 송신자가 생성 FLAGS(플래그) 두 비트 DF(Don't Fragment)와 MF(More Fragment)는 데이터그램의 절단된 조각을 제어하기 위한 것 DF 비트가 1로 되어 있다면, IP는 어떤 상황에서도 절단하지 않고는 전송이 불가능하다 하더라도 데이터그램을 절단하지 않음 MF 비트는 데이터그램이 여러 조각으로 절단된 경우에 사용되며, 후속 조각이 있는지 없는지를 나타냄 필드의 첫 번째 비트는 사용하지 않음 FRAGMENT OFFSET(세분화 오프셋) MF 비트를 사용하는 경우 조각 오프셋은 본래 데이터그램으로부터 현재 조각이 갖는 위치를 나 타냄 목적지 호스트는 이 필드를 사용해서 본래의데이터그램을 정확하게 조합할 수 있음 Fragmentation Identifier(16bit) Ÿ 보내고자 하는 Packet에 단편화(fragmentation)가 일어 났을 경우 단편화된 각 Packet을 구분 할 수 있는 일련의 순서 번호이다. Ÿ 이 값을 이용해서 이 Packet이 어떤 Packet에서 단편화 된 것인지를 알 수 있다. Fragmentation Flags(3bit) Ÿ Packet의 Fragment에 대한 Information를 알려주기 위해서 사용된다.
  • 6.
    Ÿ 첫 번째 bit는 예비로 사용되며, 0으로 setting된다. Ÿ 두 번째 bit와 세 번째 bit는Fragment된 Packet의 Information를 setting하기 위해서 사용된다. Ÿ 두 번째 bit가 0으로 setting 되었을 경우 Fragmentation Packet를 의미하며, 1일 경우 Fragment되지 않은 Packet를 의미한다. Ÿ 3번째 비트가 0일 경우 Last Fragmentation Packet를 나타내며, 1일 경우에는 Fragmentation Packet가 더 있다는 것을 나타낸다. Fragment Offset(13bit) Ÿ Packet에 대한 Fragment가 일어 났을 경우 현재 Packet이 원래 Packet의 몇 번째 위치부터 단 편화가 이루어 졌는지를 나타낸다. . 6. ICMP의 전송 메카니즘 및 역할 ICMP(internet control message protocol) IP는 best effort로 신뢰성을 보장하지 않는 프로토콜이다. 라우터는 과도한 패킷의 유입 시 패킷을 폐기하게 되므로, 사전에 송신 단말에게 송신을 감소시키거나 송신을 중지하도록 하는 흐름제어, 상대방 시스템의 IP 계층까지는 동작하더라도 TCP 연결이 가능하 지 않거나 해당 응용 계층 프로세스가 설치되어 있지 않아 연결되지 않는 경우에 대한 원인을 찾는 기능 등은 IP에서 구현되지 않음 ICMP(Internet Control Message Protocol)은 접속 불가에 대한 이유나 여러 가지 진단 기능을 수행 할 제어 프로토콜 ICMP는 IP 계층의 일부이며,이 메시지는 IP 데이터그램의 데이터 부분에 포함되어 전송 PING/ICMP Echo Ÿ PING은 ICMP Echo Request 메시지를 특정 호스트나 라우터에 보내어 이에 대한 ICMP Echo Replay를 수신함으로써 도달가능성(Reachability)을 검사해 보고 요청과 응답에 대한 경과 시간 인 Round-Trip-Time(RTT)을 알아볼 수 있음 Ÿ 요청과 응답 모두 IP 데이터그램에 수납되어 전송되기 때문에 응답의 성공적 수신은 경로상의 라 우터와 목적지 시스템의 망 계층 부분이 동작한다는 것을 증명하는 것 Ÿ PING은 도달 가능성을 검사해서 망의 상태를 알아보는 프로토콜로, PING 자체는 응용 계층에 해 당되고, PING이 사용하는 ICMP는 인터넷 계층 프로토콜 임 ICMP/TRACERT
  • 7.
    Ÿ TRACERT(Trace Route) 명령은 경로상에 있는 라우터마다 ICMP Echo 메시지를 보내어 이에 대한 응답을 확인함으로써 경로상의 라우터 존재 및 지연 시간을 검사해 보는 것 Ÿ 모든 IP 라우터들은 수신된 IP 패킷을 다음 라우터(또는 단말)로 전달하기 전에 먼저 IP헤더의 TTL(Time To Live)값을 1 감소시키고, 만약 감소된 TTL 값이 0인 경우에는 이 패킷을 다른 라 우터로 전달하지 않고 버린 후 , 이 IP 패킷의 송신측에게 time exceeded error ICMP 패킷으로 이 사실을 알려줌 Query(질의 메시지) (type) echo request(8) are you alive? echo reply(0) yes, i am alive timestamp request(13) same as Echo, but with timestamp timestamp reply(14) address mask request(17) 부팅시 32bit subnet mask요청 address mask reply(18) 응답 router soliciation(10) 단말이 라우터를 찾을때 router advertisement(9) 자신이 라우터임을 알릴때 Error-reporting(오류보고 메시지) destination unreachable(3) 목적지 도착 불가능 source Quench(4) 발신지 억제 time exceeded(11) 시간초과 parameter problem(12) 무효한 헤더영역이 있음 redirection(5) 라우터에게 경로 재지정