WAN, 프레임/패킷, 라우팅, ARP, PPP

Joohyung Park·2024년 1월 27일
0

네트워크

목록 보기
2/5

WAN(Wide Area Network)

WAN은 라우터끼리 연결이 되어있는 네트워크로 2가지로 구분된다.

  • 인터넷 : 수많은 라우터끼리 연결되어 있는 것
  • 인트라넷 : 특정 단체의 구성원만 접근 가능한 폐쇄적 사설망

라우터끼리는 MAC 주소 대신 IP 주소를 사용한다는 특징이 있다. 이 IP 주소는 사람이 할당할 수도 있고, 자동으로 할당 되기도 한다.

프레임과 패킷

WAN에서 데이터를 보내는데 MAC 주소만으론 부족하기에 데이터 안에 IP 패킷을 넣어 보낸다.

그림 상의 데이터 부분에 IP 패킷을 넣는데 그 패킷의 구성요소는 다음과 같다.

  • Source address : Source ip 주소
  • Destination address : Destination ip 주소
  • Data : 보내고 싶은 정보



위와 같은 과정으로 WAN에서 데이터를 주고 받는다.

글로 설명하면 다음과 같다.

  • LAN에서 프레임을 라우터로 보내고 라우터 간에는 패킷을 보낸다.
  • 최종적으로 도착하려는 컴퓨터의 라우터에서 패킷을 받아 해당 LAN의 컴퓨터에게 프레임을 씌어 전송한다.

이 과정을 라우팅이라고 한다.

라우팅

위의 과정을 조금씩 떼어 보도록 하자.

LAN을 방금 막 라우터에 연결시켰다고 가정을 하면, 컴퓨터는 라우터의 MAC 주소를 모른다. (MAC 주소가 랜덤하게 할당되기 때문)
그렇지만 ip 주소는 알고 있기에(ip 주소는 전략적으로 할당되기에) 이 ip 주소를 이용해 라우터의 MAC 주소를 알 수 있다. 라우터의 MAC 주소를 알게되면 그제서야 프레임을 전달할 수 있다.

MAC 주소, ip 주소

  • MAC 주소 : 하드웨어 고유의 정보
  • ip 주소 : 하드웨어 위치 정보

ARP(Address Resolution Protocol)

ARP 패킷이라는 것을 LAN에 연결되어 있는 모든 디바이스들에 보내서 라우터의 MAC 주소를 알아 낸다. 이 ARP 패킷의 구성요소는 다음과 같다.

여기서 목적지의 MAC 주소는 보내는 패킷일 때 00:00:00:00 이라고 설정한다.

ARP 간단한 과정


여기서 ARP 패킷의 To부분 ip주소는 라우터의 ip주소이다.


위 그림은 모든 디바이스에게 방송을 하여 라우터의 MAC 주소를 아는지 확인하는 모습이다.


ip 주소가 같지 않은 정보들은 버리고 매칭이 되는 부분을 확인한다.


라우터는 ip가 일치함을 확인하고 응답(reply) 패킷을 생성하여 MAC 주소가 담긴 패킷을 전송한다.


이제는 라우터의 모든 정보를 알고 있으니 컴퓨터가 프레임에 라우터의 MAC 주소를 담고 ip패킷을 담아 보낼 수 있게 된다.
이후, 라우터는 ip패킷을 받아 다음 라우터에게 전해주게 된다.

Ethernet 프레임과 ARP 패킷

라우터의 MAC주소를 알기 위한 ARP 요청, 응답을 위한 이더넷 프레임 구성을 알아보자.

ARP Request를 위한 Ethernet 프레임


ip 패킷을 위한 이더넷 프레임과 비슷한 구조를 가진다.

  • PREAMBLE : 1과 0으로된 패턴을 가지고 있다. 프레임이 시작함을 알려주고 데이터를 받는 쪽과 보내는 쪽의 속도를 동기화(sync) 시킨다.
  • SFD(Start of frame delimiter) : SFD이후부터 정보가 시작된다는 뜻이다.
  • DESTINATION ADDRESS : 도착지의 MAC 주소, ARP 요청을 위한 주소는 전부 f로 설정되어 있다.
  • SOURCE ADDRESS : 출발지의 MAC 주소
  • LENGTH : 이더넷 프레임의 총 길이(위의 그림 총 길이)
  • Ethernet Type : ARP 패킷이 시작됨을 알려주는 부분. 0806이면 ARP 패킷이고 0800이면 ip 패킷이다.
  • DATA : 보내고 싶은 데이터(ARP Request 패킷)
  • CRC : 데이터가 잘 전달이 되었는지 마지막으로 체크하는 부분(해시 패턴)

ARP Request 패킷

ARP 요청 패킷은 다음과 같은 구조를 지닌다.

ARP Request 패킷이면 프로토콜 길이까지는 동일한 값이다. 다시 한번 말하지만, ARP Request 패킷은 라우터의 MAC 주소를 알기 위해 보내는 것이다!

ARP Reply를 위한 Ethernet 프레임


ARP 답장 프레임도 Request 때와 비슷하다. 차이점이라고 한다면 목적지 MAC 주소가 요청 프레임을 보냈던 컴퓨터의 것이며, 소스 MAC 주소는 라우터의 MAC 주소라는 것이다. 또한, 데이터에는 ARP Reply 패킷이 들어간다는 것또한 차이점이다.

ARP Reply 패킷


~프로토콜 길이 까지는 Request와 같고 받는쪽(컴퓨터)과 보내는 쪽의 정보가 명확하기에 제대로 기입했다는 것이 차이점이다.

Ethernet 프레임과 IP 패킷


ARP 프레임과 다른 점은 목적지의 MAC주소가 분명하다는 것이고.. 이더넷 타입이 0800으로 IP 패킷임을 암시하고 있다. 또한 데이터로는 IP 패킷이 들어간다는 것이 차이점이다.

IP 패킷

IP 패킷의 전체 구조는 다음과 같다.

처음 3줄을 살펴보자.

여기서 IHL은 IP 패킷의 Header Length인데 앞의 전체 구조 그림에서 Data 줄 전까지가 5줄이라는 얘기이다. 어? Options 까지 6줄 아닌가? 라고 할 수 있는데 Options는 미래를 위해 남겨진 잘 안쓰는 부분이라 5줄이라고 한다. TOS 부분은 넘어가도 될 듯하다.

Flags에서 단편화 얘기가 나오는데 엄청나게 많은 정보를 보내기 위해서는 나눠서 보내야 하는데 이때 쪼개졌는지(단편화) 아닌지 알려주는 부분이다.

TTL부분은 뭔가? 할텐데 이는 IP 패킷이 라우팅되는 과정(인터넷에서 돌아다니는 과정)이 어마어마하게 긴 시간이 걸린다면 계속해서 라우팅 시키는게 성능에 좋지 않을 수 있으므로 어느 정도 시간이 지났는데 라우팅이 제대로 되지 않았다면 이 IP 패킷을 버려라 라는 역할을 한다.

뒤의 3줄을 살펴보자.

Data 줄에는 전달하고자 하는 정보가 들어간다.

라우터 간의 소통

라우팅 과정

  1. 라우터가 LAN으로 부터 받은 이더넷 프레임을 열고 IP 패킷을 확인한다.

  2. IP 패킷의 목적지를 확인한다.

  3. 목적지를 확인하고, 라우팅 테이블을 본다.

이 라우팅 테이블의 목적지 ip를 보고 해당 ip 주소로 보낸다. 이러한 라우팅 테이블은 사람이 직접 설계할 수도 있지만 자기들이 알아서 만들어지는 경우도 있다고 한다.

PPP 프레임

라우터에서 라우터로 패킷을 보낼때도 프레임이 필요한데(이더넷 프레임 아님) 이게 없으면 패킷을 구분하지 못한다. 이때 사용하는 것이 PPP(Point to Point) 프레임이다. 다른 프레임도 있긴 한데 가장 자주 사용하는 것이 이 PPP 프레임이다.

Ethernet Frame과 혼동이 올수도 있으니 잠깐 Ethernet Frame과 PPP Frame의 차이를 살펴보면 다음과 같다.

Ethernet Frame은 Mac 주소를 활용하지만 PPP Frame은 라우터간 직접적으로(다이렉트) 소통하기에 MAC 주소를 활용하지 않는다는 차이점이 있다. WAN에서 주로 쓰이는 Frame은 PPP Frame!

지금까지의 전체 그림은 다음과 같다. 노란 Frame은 PPP Frame이다. 하늘색 Frame은 이더넷 Frame.

WAN -> LAN

Wide Area Network에서 Local Area Network로 진입하는 과정도 앞과 비슷하다.

  1. PPP 프레임을 열고 IP 패킷을 본다.
  2. IP 패킷을 보고 목적지를 확인한다.
  3. 라우팅 테이블을 본다.
  4. 목적지 컴퓨터로 이더넷 프레임을 보낸다.
  5. 이더넷 프레임에 보내는 과정에서 목적지 컴퓨터의 MAC 주소를 라우터가 모를 수도 있는데 그러면 앞쪽에서 설명한 ARP 패킷을 요청하여 알아내서 최종적으로 목적지 컴퓨터에 정보가 도착하게 된다!

출처

https://www.youtube.com/watch?v=dsoAkoxZ13o&t=3428s

profile
익숙해지기 위해 기록합니다

0개의 댓글