Software Courses/Network

Link layer : wireless

김 정 환 2021. 1. 11. 19:01
반응형
본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다.

 

 

wireless와 mobility의 차이점

wireless : 한 network 영역의 wireless link를 통해서 통신

mobility : 여러 network 영역을 이동하면서 통신

 

Wireless

    - 특징

        * 전자파 신호의 세기는 거리의 제곱의 반비례, 1/(r^2)

        * 다른 신호들에 의한 간섭

        * 장애물에 의한 방해

        * 전자파 신호는 반사되어 여러 방향으로 전파 가능

        * 한 마디로 통신하기 어렵다.

 

 

 

구조

    - AP (Access point) : 호스트들과 통신하기 위한 base station

        * AP에는 Host와 통신하기 위한 MAC address가 있다. 왜냐하면, 전파를 공중에 뿌리기 때문에 AP를 특정 지을 주소인 MAC address가 필요하다. 반대로, switch는 MAC address가 필요없다. 각자 주어진 링크가 있기 때문에 특정 지을 필요가 없다.

        * AP와 router가 연결된 부분에는 MAC address가 없다. 왜냐하면, AP에서 그냥 보내면 router로 가기 때문이다.

    - BBS (Basic Service Set) : wireless 통신 집합

 

 

 

Wireless frame 구조

    - Address 1 : 이 frame을 받는 장치의 MAC 주소

    - Address 2 : 이 frame을 보내는 장치의 MAC 주소

    - Address 3 : AP에 붙어 있는 router의 MAC 주소

 

    - Address가 3개 필요한 이유

        * AP 장치는 link layer의 장치이다. 따라서 frame을 벗겨서 IP PKT를 보고 해석해서 다음 rotuer의 MAC address를 알아낼 기능이 없다. 따라서, 호스트에서 보낼 때, router의 MAC address까지 함께 넣어준다.

        * 3개의 address를 가진 wireless frame은 AP에 도착하고, AP에서 dest와 source address만 넣어서 wire(ethernet) frame을 만들어 router에게 보낸다. 

 

 

 

CSMA/CA (Collision Avoidance)

    - CSMA/CD 사용 어려운 이유

        * Wireless에서는 충돌을 감지하기 어렵다. 이유는 신호의 세기가 약해지기 때문이다. 위에서 오른쪽 그림으로 설명하겠다. C 지점에서 C가 내보내는 전파의 세기는 굉장히 강하다. 그런데 A의 세기는 너무 약하기 때문에 C 입장에서는 channel을 사용할 수 있다고 인식한다. 그래서 frame을 내보내면, A와 B가 모두 frame을 내보내는 상황이 발생한다.

 

    - CSMA/CA : 피드백인 ACK를 통해서 충돌을 피하는 방법

 

    - 동작

        * Sender가 channel이 조용한 것을 감지하면, DIFS(작은 시간) 시간 만큼 기다렸다가 전체 frame을 보낸다.

        * Sender가 channel이 바쁜 것을 감지하면, 일정 시간 동안 기다린다. 일정 시간이 지나도 여전히 보낼 수 없다면 일정 시간을 늘린다.

        * Receiver는 frame을 받았으면, SIFS(더 작은 시간) 시간 만큼 기다렸다가 ACK를 보낸다.

    - ACK가 필요한 이유

        * Ethernet(유선)에서는 충돌만 관리하면 데이터가 거의 100% 도착한다. 따라서 충돌을 관리하는 CSMA/CD가 있으면 굳이 피드백인 ACK를 보낼 필요가 없다. 하지만, wireless는 상황이 복잡하여 충돌을 관리하기 어렵다. 그래서 frame을 다 받았는지 확인하기 위한 feedback이 필요하다.

 

    - 충돌이 발생하면?

        * Ethernet에서 충돌이 발생하면 멈추고 재전송했다. 그러나, Wireless에서는 충돌이 발생해도 그냥 보낸다. 충돌이 일어나는지 모른다고 하는 것이 더 정확할 것 같다. 대신에 피드백 오지 않으면 재전송을 한다.

 

 

 

RTS-CTS exchange

    - RTS : ready to send, 작은 control 메세지

    - CTS : clear to send, 작은 control 메세지

    - RTS와 CTS 메시지를 이용해서 충동을 피하는 방법

 

    - 동작

        1. A와 B가 모두 데이터를 전송하고 싶어서 RTS를 보낸다.

            * 기기들이 데이터를 보내고 싶다는 추파를 던진다.

        2. RTS가 서로 충돌했고 AP는 CTS를 보내지 않는다.

        3. 아무 소식이 없자 A는 임의의 시간이 지난 후에 다시 RTS를 먼저 보낸다.

        4. RTS는 AP에 충돌없이 도착했고, AP는 CTS를 뿌린다.

            * 영역 내의 모든 기기들은 CTS를 받고 AP가 정해준 시간 동안 침묵한다.

        5. A는 데이터 전송을 시작한다.

        6. 데이터 전송이 완료되면 ACK를 뿌린다.

 

    - AP에게 RTS를 보내서, AP가 CTS를 뿌리게 하는 이유

        * 왜 A 또는 B가 CTS를 뿌리면 안될까? 그 이유는 범위에 있다. A에서는 C가 범위에 안 들어 갈 수도 있다. 하지만 AP는 모든 host와 연결되어 있기 때문에 모두 범위에 들어간다. 그래서 AP가 CTS를 뿌린다.

 

 

 

 

문제 상황
: 지하철에서 wifi를 사용할 때, 이동하면서 유튜브를 보아도 끊어지지 않는 경우가 있다. 지하철의 wifi는 같은 서브넷에 있다고 할 수 있다. 같은 서브넷에서 사용자가 움직일 때, 사용자의 IP 주소는 바뀔까?

대답
: 유튜브 영상이 계속 재생된다는 것은 TCP 연결이 유지된다는 것이다. TCP 연결이 유지되기 위해서는 나의 IP address와 port 번호, 반대편의 IP address와 port 번호가 유지되어야 한다. 여기서 TCP 연결이 유지되므로 나의 IP address는 바뀌지 않는다. 그렇다면, BBS1에서 BBS2로 이동할 때, 스위치의 table은 어떻게 되는 것인가? MAC address는 그대로인 상태에서 interface 번호만 바뀐다.

 

반응형

'Software Courses > Network' 카테고리의 다른 글

Network security : cryptography  (0) 2021.01.12
Network security : overview  (0) 2021.01.12
시나리오  (0) 2021.01.11
Link layer : switch  (0) 2021.01.11
Link layer : ARP (Address Resolution Protocol)  (0) 2021.01.11