학부 수업 내용 정리/컴퓨터네트워크

#1 데이터는 어떻게 전송할 수 있을까요?: OSI 모델과 이번에는 L3

supersumin 2024. 9. 10. 23:19

Internet이란 무엇인가부터 통신 간에 쓰이는 단어들에 대해 정리한 뒤 OSI 모델에서 각 계층에서 일어나는 일들에 대해 알아보자! 철수와 영희를 예시를 들어 전체적인 맥락을 이해한 뒤, 통신에 쓰이는 모델인 OSI 모델에 대해 알아보고, 이번 시간에서는 L3에서 주로 일어나는 일들에 대해 알아보자.

1. Internet = Network of Network: 인터넷은 네트워크들의 네트워크

1.1. 데이터 전송의 예시: 철수와 영희

철수와 영희는 서로 데이터를 주고받고 싶다. 만약 두 사람이 LAN(Local Area Network)이라는 작은 Network로 연결되어 있다면 물리적 거리가 가까워 데이터 전송이 쉽고 간단하게 이루어질 수 있다. 단순히 선으로 연결하면 끝이기 때문이다.

 

하지만 철수와 영희가 서로 멀리 떨어져 WAN(Wide Atre Network) 환경에 있을 경우 단순히 LAN만으로는 데이터를 전송이 불가능하다. 이때는 특별한 기술이나 모델이 필요하다.

 

이처럼 구현된 것이 Internet이다. Internet은 철수와 영희가 같은 Network일 때뿐만 아니라, 서로 다른 Network에 있을 때도 데이터를 전송할 수 있게 해준다. 우리는 Internet이 어떻게 데이터를 주고받을 수 있는지를 살펴볼 것이다.

 

(참고로, Internet은 TCP/IP 모델로 구성되어있다.)

 

2. Routing과 Router 그리고 Routing Table

2.1. 라우팅(Routing) 

라우팅하나 이상의 네트워크 사이의 경로(path)를 결정하고 설정하는 과정이다. 이를 통해 데이터 패킷이 출발지에서 목적지까지 전달될 수 있도록 최적의 경로를 찾을 수 있다.

 

라우팅은 OSI 모델의 Network Layer(네트워크 계층)에서 수행된다.

2.2. 라우터(Router) 

RouterRouting을 수행하는 네트워크 장치이다. 네트워크 간에 데이터 패킷를 전달하는 역할을 한다. 라우터는 라우팅 테이블을 사용하여 데이터가 어떤 경로를 통해 전송될지를 결정한다.

 

Router는 하나의 Router여러 개의 다른 장치와 동시에 연결될 수 있으며, 여러 네트워크를 연결할 때 각 네트워크를 대표하는 노드로 기능한다. 즉, 라우틴 경로 설정 과정, 라우터는 그 과정을 수행하는 장치이다. 

2.3. 라우팅 테이블 (Routing Table)

각 Router는 자신이 알고 있는 경로 정보를 저장하는 Routing Table을 가지고 있다. 이 Table에는 네트워크 주소, next hope의 주소, 해당 path의 비용과 같은 정보가 포함된다.

 

Routing Table은 Router가 패킷의 목적지에 도달하기 위한 최적의 경로를 결정하는 데 중요한 역할을 한다.

 

3. 철수가 영희가 속해있다던 그 Network란 무엇인가?

네트워크서로 연결된 기기들이 데이터를 주고 받을 수 있는 구조를 말한다. 컴퓨터, 스마트폰, 서버 같은 장치들이 통신할 수 있도록 연결된 것이 네트워크이다.

3.1. LAN (Local Area Network)

LAN좁은 범위에서 기기들이 연결된 네트워크이다. 예를 들어 한 사무실 내에서 컴퓨터, 프린터, 서버 등이 같은 네트워크에서 빠르게 데이터를 주고받는 경우이다.

 

주로 한 건물, 사무실, 가정 또는 물리적 공간 내에서의 네트워크를 의미한다. 범위는 수십 미터에서 수백 미터 정도로 제한된다.

3.2. WAN (Wide Area Network)

WANLAN보다 훨씬 더 넓은 범위를 다루는 네트워크로, 예를 들어 서로 다른 도시, 국가. 또는 전 세계에 걸친 네트워크를 포함할 수 있다. 인터넷도 WAN의 한 형태로 볼 수 있다.

 

네트워크는 각 기기들이 데이터 패킷을 주고받는 규칙을 정하는 프로토콜을 따르며 이 과정에서 라우터와 스위치같은 다양한 장비가 사용되어 데이터를 효율적으로 전송한다.

 

4. Protocol (프로토콜)은 무엇일까? 

Protocol이란 둘 이상의 장치가 네트워크 상에서 데이터를 주고받을 때 어떻게 통신할지를 정의한 규칙과 절차를 의미한다. OSI 모델이 네트워크 통신의 구조와 프로토콜을 설명하는 가이드이며 이를 구현하기 위한 규칙이 Protocol이다.

4.1. Protocol 예시

- TCP/IP

TCP/IP는 인터넷과 대부분의 네트워크에서 데이터를 전송하기 위해 사용하는 프로토콜 스택으로, 인터넷을 가능하게 만드는 핵심적인 통신 규약이다.

 

데이터를 패킷 단위로 전송하고 패킷이 네트워크를 통해 신회성 있게 전달되도록 보장하는 프로토콜의 집합니다.

  • TCP(Transmission Control Protocol)

Transport 계층에서 동작하며, 데이터 전송의 신뢰성을 보장하는 프로토콜이다. TCP는 데이터를 세그먼트라는 작은 조각으로 나누고, 이 세그먼트들이 올바른 순서로 도착하고 손실 없이 전달되도록 한다.

  • IP(Internet Protocol)

Network 계층에서 동작하며, 데이터가 목적지까지 가는 경로를 설정하고 전송하는 기능을 담당한다.데이터를 작은 조각인 패킷으로 쪼개서 전송하며, IP는 각 패킷에 목적지 주소와 출발지 주소를 부여한다.

  • IP와 TCP의 관계

IP는 패킷을 목적지로 보내는 경로를 결정하지만 데이터의 순서 보장이나 오류 제어를 하지 않고 TCP는 데이터의 순서 보장과 오류 수정을 담당하여 IP가 데이터를 제대로 전송하도록 돕는다.

- UDP(User Datagram Protocol)

UDP는 비연결형 통신 프로토콜로 데이터를 빠르고 간단하게 전송하는 데 사용된다. Transport 계층에서 작동하며 신뢰성보다는 속도에 중점을 둔 프로토콜로 빠른 전송이 필요한 애플리케이션에 적합하다.

 

UDP는 데이터 전송 여부를 확인하지 않으며 패킷이 손실되거나 순서가 뒤바뀌는 상황을 해결하지 않는다. 수신 측에서 패킷을 못 받거나 문제가 발생해도 재전송하지 않는다.

- ARP(Address Resolution Protocol)

IP 주소를 MAC 주소로 변환하는 프로토콜로 네트워크 상에서 장치들이 물리적인 주소를 알아내는 데 사용된다.

 

5. 본격적으로 Internet의 구조가 어떻게 생겼는지 알아보자:OSI 모델에 대해

5.1. OSI(Open System Interaction) 모델이란?(7Layer -> 5Layer)

OSI 모델컴퓨터 네트워킹에서 서로 다른 시스템 간의 상호 작용을 이해하고 표준화하기 위해 개발된 모델이다.

 

통신 과정을 5개의 Layer로 나누어 각 Layer가 수행하는 기능과 역할을 정의한다. 각 Layer는 독립적으로 작동하며 상위 Layer는 하위 Layer의 서비스를 이용하여 기능을 수행한다.

5.2. OSI 모델의 구조

5.2.1. Physical Layer (물리 계층, L1, 데이터 전송 단위: Bit)

실제 신호가 전송되는 물리적 환경을 관리 한다. Physical Layer는 Protocol이라기보다는 데이터 전송을 위한 기술과 표준을 정의하는 Layer이다.

 

Physical Layer의 주요 표준 및 기술

  • Ethernet( IEEE 802.3 ): 이더넷은 LAN에서 가장 일반적으로 사용되는 기술로 Physical Layer에서 전송 매체인 케이블 및 커넥터와 신호 전송 방식에 대한 규정을 포함한다.
  • Wi-Fi( IEEE 802.11 ): 무선 Network에서 데이터를 전송하기 위한 표준이다. Physical Layer에서 주파수 대역, 변조 방식 등을 정의한다.
  • USB(Universal Serial Bus): USB는 컴퓨터와 주변 장치 간의 데이터 전송을 위한 물리적 인터페이스를 규정한다. Physical Layer에서 연결 방식 및 전력 공급 방식을 포함한다.
  • RS-232: 직렬 통신을 위한 표준으로, 컴퓨터와 외부 장치 간의 데이터 전송을 위한 물리적 연결을 정의한다.
  • 광섬유 통신: 광섬유를 통한 데이터 전송을 위한 기술로 빛의 전송 방식 및 물리적 매체의 특성을 포함한다.

 

5.2.2. Data Link Layer (데이터 링크 계층, L2, 데이터 전송 단위: Frame)

하나의 Network 내에서 장치 간의 신뢰성(데이터 전송 과정에서 오류가 발생하지 않거나, 오류가 발생하더라도 이를 감지하고 수정할 수 있는 능력)이 있는 데이터 전송을 관리하는 역할을 한다. 

 

Data Link Layer의 주요 Protocol

  • Ethernet (IEEE 802.3): 가장 일반적인 LAN Protocol로 유선 네트워크에서 데이터 전송을 위한 MAC 주소와 프레임 구조를 정의한다.
  • Wi-Fi (IEEE 802.11): 무선 네트워크에서 데이터 전송을 위한 Protocol로 무선 신호의 주파수 대역과 변조 방식을 정의한다.
  • PPP (Point-to-Point Protocol): 두 지점 간의 직접 연결을 위한 Protocol로 주로 직렬 연결에서 사용된다. 인증, 암호화, 압축 등의 기능을 지원한다.

Data Link Layer의 장치

  • 스위치(Switch): 한 네트워크의 장치들 간의 Frame을 전달하고 MAC 주소를 기반으로 데이터 전송을 관리한다.
  • 브리지(Bridge): MAC 주소를 기반으로 동일한 네트워크 Segment 내의 트래픽을 관리한다.

 

5.2.3. Network Layer (네트워크 계층, L3, 데이터 전송 단위: Packet)

서로 다른 네트워크 간에 데이터를 전달하며, 데이터 전송을 위해 데이터가 이동할 path를 선택, 데이터가 갈 최종 destination, packect을 전송하는 것을 담당한다.

 

Network Layer의 주요 Protocol:

  • IP(Internet Protocol, IPv4, IPv6): 인터넷과 대부분의 네트워크에서 사용되는 기본 Protocol로 IP는 데이터를 패킷 단위로 전송하여 송신자와 수신자의 IP 주소를 사용해 데이터 전송 경로를 결정한다.
  • ICMP (Internet Control Message Protocol):
  • IGMP (Internet Group Management Protocol):
  • RIP (Routing Information Protocol):
  • OSPF (Open Shortest Path First):
  • BGP (Border Gateway Protocol)

Network의 주요 장치

  • Router (라우터): 패킷을 서로 다른 네트워크 간에 전달하는 장치로 경로 선택과 패킷 포워딩을 담당한다.
  • Firewall (방화벽): 
  • Gateway (게이트웨이): 

 

5.2.4. Transport Layer (전송 계층, L4, 데이터 전송 단위: Segment)

정의: 데이터가 목적지에 정확하게 도착하도록 보장하며, 전송할 데이터를 어떻게 해야 정확하게 보낼 수 있는지를 관리한다.

주요 기능:

  • 여러 사용자 간의 동시 통신을 지원하며, 데이터 순서 및 손실을 확인을 수행한다.
  • 오류 제어, 흐름 제어, 데이터 재전송 등을 통해 신뢰성 있는 데이터 전송을 보장한다.

주요 Protocol:

TCP(Transmission Control Protocol): 신뢰성 있는 전송을 제공하여 데이터 전송의 순서를 보장

UDP(User Datagram Protocol): 비신뢰성 있는 전송하나, 더 빠른 속도 가짐

주요 장치:

포트 번호: 여러 애플리케이션 간의 데이터를 구분하여 동시 통신 가능하도록 지원

 

* Physical Layer와 Transport Layer의 차이 *

Physical Layer하드웨어적으로 데이터를 보내는 걸 어떻게 구현하느냐가 중점이고, Transport Layer전송하는 데이터를 어떻게 신뢰성 있게 전달하냐가 목적이다.

 

5.2.5. Application Layer (응용 계층, L5)

최종 사용자가 네트워크 서비스를 사용할 수 있도록 한다. OSI 모델의 세선 계층, 표현 계층, 응용 계층을 통합한 형태이다. 이 계층에서는 HTTP, FTP, SMTP와 같은 프로토콜이 동작한다.

 

예: 웹 브라우징(HTTP), 이메일 전송(SMTP), 파일 전송(FTP)

5.3. OSI 모델의 특징:  프로토콜 계층화(Protocol Layering)과 캡슐화(encapsulation)

데이터가 전송되는 과정을 시각적으로 표현하며, 각각의 계층이 데이터를 처리하는 방식과 캡슐화 과정을 보여준다.

 

데이터가 전송될 때 각 계층은 캡슐화를 통해 헤더 정보를 추가하면서 데이터를 다음 계층으로 전달한다. 이 과정은 source에서 하위 계층으로, destination에서는 다시 상위 계층으로 데이터를 복구하는 방식으로 이루어진다.

5.3.1. 캡슐화 과정

source와 destination을 기준으로 데이터가 계층을 통과하면서 헤더가 추가되는 것을 볼 수 있다. 이는 캡슐화로 각 계층이 상위 계층에서 받은 데이터를 처리하면서 그 데이터에 자신의 헤더를 추가하는 과정이다

5.3.2. 각 계층별 데이터 흐름

  •  source에서 데이터를 보낼 때상위 계층에서 하위 계층으로 전달

Application Layer에서 시작된 데이터인 Message가 Transport Layer로 전달될 때 Transport Layer는 자신의 헤더를 추가한다. 이 과정이 계속 반복되어 Netowrk Layer와 Data Link Layer에서도 자신의 헤더를 추가하면서 하위 계층으로 넘기게 된다.

 

Physical Layer에서는 데이터를 물리적인 신호로 변환하여 네트워크를 통해 전송된다.

  • destination에 데이터가 도착하면 하위 계층에서 상위 계층으로 전달

Physical Layer로부터 받은 데이터Data Link Layer로 넘기며 헤더를 제거한다. 이후 상위 계층으로 올라가게 되면서 헤더가 제거되며 원래의 메세지가 목적지에 도달한다.

* 각 헤더의 의미 *

1) Ht: Transport Layer 헤더 (ex. TCP/UDP 헤더)

2) Hn: Network Layer 헤더 (ex. IP 헤더)

3) Hl: Link Layer 헤더 (ex. Ethernet 헤더)

 

6. Network Layer와 Data Link Layer에서 일어나는 데이터 통신

6.1. IP addresses와 link-layer address를 이용한 데이터 통신

Alice에서 Bob으로의 데이터 전송 과정을 알아보자.

6.1.1. 장치 및 주소 설정

Alice는 IP 주소 N₁과 링크 계층 주소(MAC 주소) L₁을 가지고 있다. Bob은 IP 주소 N₈과 링크 계층 주소 L₈을 가지고 있다

6.1.2. 데이터 패킷화

Alice는 Bob에게 전송할 데이터를 패킷화한다. 패킷에는 출발지 IP 주소(N₁)와 목적지 IP 주소(N₈)가 포함된다. 네트워크 계층에서는 출발지 주소가 먼저 들어가고, 목적지 주소가 나중에 들어간다.

6.1.3. 첫 번째 홉: Alice의 네트워크

Alice의 장치는 패킷을 전송하기 위해 먼저 링크 계층 헤더를 추가한다. 링크 계층 헤더에는 목적지 링크 계층 주소(L₂)와 출발지 링크 계층 주소(L₁)가 포함된다.

  • 헤더 구성: [L₂ (목적지)] [L₁ (출발지)]

Alice는 데이터를 전송하고, 패킷은 Alice의 라우터(R1)로 전달된다.

6.1.4. 두 번째 홉: 라우터 R1

라우터 R1은 패킷을 수신하고, 네트워크 계층에서 IP 주소(N₁ → N₈)를 확인한다. R1은 다음 홉의 링크 계층 주소(L₄)로 패킷을 전달하기 위해 링크 계층 헤더를 수정한다.

  • 헤더 변경: [L₄ (목적지)] [L₂ (출발지)]

R1은 패킷을 Bob이 있는 네트워크로 전송한다.

6.1.5. 세 번째 홉: 라우터 R2

패킷은 R2에 도착하고, R2는 IP 주소를 확인하여 목적지가 Bob임을 인식한다. R2는 패킷의 링크 계층 헤더를 다시 수정하여 Bob의 링크 계층 주소(L7)로 설정한다.

  • 헤더 변경: [L7 (목적지)] [L₅ (출발지)]
  • R2는 최종적으로 패킷을 Bob의 장치로 전송한다.

6.1.6. 네 번째 홉: Bob의 네트워크

Bob의 장치가 패킷을 수신하면, 링크 계층 헤더를 확인하고 자신의 링크 계층 주소(L₈)를 통해 데이터를 처리한다. Bob의 장치는 패킷의 내용과 함께 네트워크 계층 헤더를 검사하여 IP 주소(N₈)를 확인하고 데이터를 수신한다.

6.1.7. 결과

최종적으로 Alice의 패킷은 Bob의 장치에 도착하며, 모든 과정을 통해 데이터가 성공적으로 전달된다. 이 과정에서 각 네트워크 장치(라우터)는 IP 주소는 유지하면서 링크 계층 주소는 변경하며, 데이터 전송의 효율성을 높인다.]

 

6.2. ARP packet

6.2.1. IP 주소를 안다고 MAC 주소를 무조건 알까요?

결론만 말하면 일단 아니다. 그래서 ARP packet이 필요하고 request와 reply를 통해 데이터를 전송받을 MAC 주소에 대한 정보를 얻는 것이다.

- IP 주소와 MAC 주소의 역할 차이

  • IP 주소 (Network Layer): 네트워크 상 각 장치의 논리적 주소(네트워크 위치 상 주소), 데이터를 목적기 까지 routing하는데 사용된다.router가 각 IP 주소의 위치를 파악하여 데이터를 전달한다.
  • MAC 주소 (Data Link Layer): 장치의 물리적 주소로, LAN 내에서 packet을 직접 전달할 때 사용한다. NIC에 내장된 고유 주소이다.

- 왜 IP 주소만 알고 MAC 주소는 모르는 경우가 있을까?

  • MAC 주소는 LAN에서만 유효: 다른 Network에 Segment로 데이터를 보낼 때 MAC 주소는 필요없기 때문이다.
  • MAC 주소의 변화 가능성: device가 다른 Network에 연결되거나, 네트워크 어댑터가 변경되면 MAC 주소가 달라질 수 있기 때문이다.
  • MAC 주소는 ARP 캐시에 일시적으로 저장: MAC 주소는 필요할 때만 ARP 요청을 통해 알아내고 이후 캐시에 저장된다. 계속해서 MAC 주소를 유지하는 것은 비효율적이다.

6.2.2. ARP(Address Resolution Protocol) packet이란?

ARP 패킷은 네트웨크에서 IP 주소를 이용해 해당 IP 주소를 가진 장치의 MAC 주소와 같은 물리적 주소를 알아내는 데 사용하는 프로토콜이다.

 

네트워크 통신에서 IP 주소는 라우팅을 통해 목적지까지의 논리적인 경로를 설정하는 데 사용되지만, 실제 데이터 전송은 MAC 주소가 필요하다.

 

따라서, 데이터를 전송하기 위해서는 먼저 해당 IP 주소에 대응하는 MAC 주소를 알아내야 한다. 이 때, ARP 요청을 보내어 해당 IP 주소에 대한 MAC 주소를 얻어온다.

6.2.3. ARP packet 구조

Hardware Type: 하드웨어 주소의 종류 (이더넷: 1)

Protocol Type: 요청하는 포로토콜의 종류 (IPv4: 0x0800)

Hardware Address Length: 하드웨어 주소(MAC 주소)의 길이 (이더넷: 6 bytes)

Protocol Address Length: 프로토콜 주소(IP 주소)의 길이 (IPv4: 4bytes)

Operation: ARP요청은1, ARP 응답은 2를 나타낸다.

Source hardware address: 요청을 보낸 기기의 MAC 주소

Source protocol address: 요청을 보낸 기기의 IP 주소

Destination hardware address: 요청이 향하는 대상 기기의 MAC 주소(요청 시에는 비어있다.)

Destination protocol address: 요청이 향하는 대상 기기의 IP 주소

 

6.2.4. ARP Request와 ARP Reply

- ARP request

ARP requestIP 주소를 알고 있지만, 해당 IP 주소에 대응하는 MAC 주소를 모르는 상황에서, 그 IP 주소를 사용하는 장치가 Network 내 어디에 있는지 모르는 상태이기 때문에 Netowrk 내 모든 device에게 Broadcast로 요청을 보내어 MAC 주소를 알아내는 것이다.

 

이는 LAN에 특정 IP 주소가 어떤 장치에 할당되어 있는지 중앙에서 일괄적으로 관리하는 시스템이 없기 때문이다.

* broadcast란? * 

브로드캐스트는 네트워크에 연결된 모든 장치에 데이터를 보내느 방식이다.

- ARP reply

ARP 요청을 받은 기기가 자신의 IP 주소와 MAC 주소를 포함한 ARP 응답(reply) 패킷을 보내는 과정으로 unicast 방식이다.

 

ARP reply로 알아낸 MAC 주소는 ARP 캐시에 저장되며, 이 캐시에 저장된 MAC 주소는 이후에 해당 IP 주소로 데이터를 전송할 때 재요청 없이 바로 사용할 수 있게 해준다.

* Unicast (유니캐스트)란? *

유니캐스트는 특정 하나의 장치에게 데이터를 전송하는 방식이다. 즉, 송신자가 특정 수신자에게만 데이터를 보내는 것이다.

* Multicast (멀티캐스트)란? *

특정 그룹의 장치들만 수신하는 방식이다. 예를 들어 IP 멀티캐스트 주소를 사용하여 특정 그룹의 장치에게만 데이터를 전송할수 있다.

* ARP는 peer-to-peer (P2P) 방식 *

ARP는 Network의 device 간에 직접적으로 IP 주소에 대한 MAC 주소를 요청하고 응답하는 방식이므로, 각각이 device가 동등한 지위에서 서로 통신하는 방식이다.

6.2.5. ARP packet까지 포함한 예시

- Alice와 Bob 간의 데이터 통신

Alice의 데이터가 컴퓨터에서 시작되어 R1과 R2를 거쳐 Bob의 컴퓨터에 도달하는 과정에 대해서 알아보자.

- Alice의 컴퓨터의 OSI

  • Netwokr Layer: R1은 Forwarding Table을 사용하여 packet의 목적지 주소인 N_B를 확인하고, 이를 전송할 인터페이스를 결정한다. 이 때, 목적지 주소와 이를 처리할 다음 홉의 주소 N1과 MAC 주소를 포함하고 있다.
  • 계층 내려가기: Network Layer에서 만들어진 packet은 Data Link Layer로 내려가면서 MAC 주소를 포함한 Frame으로 변환한다. 이 과정에서 Alice의 MAC 주소 L_A와 R1의 주소 L1이 포함된다.
  • ARP 요청 및 응답: Forwarding Table로 인해 IP 주소 N1을 얻었을 때, 그 특정 IP 주소에 해당하는 장치의 MAC 주소를 찾아주게 된다.

- R1 router의 OSI

  • Forwrading Table 사용: R1의 Network Layer에서 forwarding table을 이용해 다음 주소인 R2의 물리 주소 L3을 결정한다.
  • 데이터 전송: R1에서 R2에 데이터를 전송할 때는 L2 주소를 사용하여 데이터를 전송한다. 이때 L2를 사용하는 이유는 라우터가 연결된 네트워크마다 수신 및 송신에 사용하는 MAC 주소가 여러 개 존재하기 때문이다.
  • ARP 요청 및 응답: Forwarding Table로 인해 IP 주소 N3을 얻었을 때, 그 특정 IP 주소에 해당하는 장치의 MAC 주소L3을 찾아주게 된다.

* 라우터의 특징 *

가정용 router는 일반적으로 20~30개의 장치를 연결할 수 있고, 기업용 router는 수백 개에서 수천 개의 장치를 연결할 수 있다. 이렇게 router는 각 네트워크에서 고유한 MAC 주소를 사용하여 통신한다.

 

각 연결된 장치의 MAC 주소는 해당 장치와 router 간의 통신을 가능하게 하며, router의 고유한 MAC 주소와 연결된 장치의 MAC 주소가 함께 사용된다.

- R2 router의 OSI

  • Forwrading Table 사용: R2의 Network Layer에서 forwarding table을 이용해 Alice의 패킷을 전송할 다음 주소인 Bob의 물리 주소 L_B를 결정한다.
  • 데이터 전송: R2에서 Bob으로 데이터를 전송할 때는 R2의 MAC 주소 L4를 사용하여 데이터를 전송한다. 이때 L4를 사용하는 이유는 R2가 연결된 네트워크에서 수신 및 송신에 사용하는 MAC 주소가 필요하기 때문이다.
  • ARP 요청 및 응답: R2가 Bob의 MAC 주소 L_B를 모르고 있다면 R2는 Bob의 IP 주소 N_B에 대해 ARP 요청을 보내고 응답을 통해 Bob의 MAC 주소를 획득한다.

- Bob의 컴퓨터의 OSI

이후 잘 받는다.

* Forwarding Table이란? *

해당 장치특정 패킷을 수신했을 때, Forwarding Table을 참조하여 해당 패킷이 어떤 IP 주소로 가야 하는지를 알려주는 역할을 한다.

 

7. Link-layer address인 MAC (Media Access Control) 주소는 무엇일까?  

7.1. MAC이란?

MAC 주소한 network 내에서 각각의 device를 구분하기 위해 사용되는 고유한 물리적 주소이다.

7.2. MAC 주소가 유일한 이유

Network Interface Card(NIC) 제조 과정에서 각 장치에 전 세계적으로 고유한 주소를 부여하기 때문이다. MAC 주소의 구성이 어떻게 되어있는지 알아보자.

 

MAC 주소Network Interface Card에 할당된다.

* NIC(Network Interface Card)란? * 

Network Interface Card Netowrk에 연결할 수 있게 해주는 device 내의 Hareware이다. 유선인 경우 Ethernet 카드, 무선으로 연결되면 Wi-Fi 어댑터가 NIC 역할을 한다.

 

Device 안에 NIC가 있고 이 NIC는 Network에서 식별될 수 있도록 MAC 주소를 가지고 있다. 

7.3. MAC 주소의 구조

MAC(Media Access Control) 주소48비트(6바이트)로 구성되며 이를 16진수 형식으로 표현한다. MAC 주소는 보통 12자리 16진수 숫자로 나타나며 두 자리씩 콜론(:) 또는 대시(-)로 구분하는 방식으로 표시된다.

  • 첫 번째 24비트(3바이트)

제조업체를 식별하는 Organizationally Unique Identifier(OUI)가 포함되어 있다. 이 값은 IEEE(Institute of Electrical and Electronics Engineers)가 특정 제조업체에 할당한 고유 값이다.

 

  • 두 번째 24비트(3바이트)

각 제조업체가 네트워크 장치에 고유하게 부여하는 일련 번호(serial number)이다. 각 제조업체는 OUI 뒤에 따라오는 일련 번호를 사용하여 MAC 주소가 겹치지 않도록 관리한다.

 

이 구조 덕분에 MAC 주소는 전 세계적으로 고유한 네트워크 장치 식별을 할 수 있게 됩니다.

 

7.4. MAC 주소가 사용되는 곳은 OSI 모델 중 L2, Data Link Layer이다.

ethernet이나 Wi-Fi같은 LAN에서 Data를 주고받을 때 MAC 주소를 통해 한 network 상 device를 구분한다.

 

즉, MAC 주소는 Data Link Layer(OSI 7계층 모델의 2계층)에서 사용된다. 

 

* 모든 기기에는 고유의 IP가 있지만 추가적으로 IP 주소도 필요한 MAC 주소와 IP 주소가 모두 필요한 이유 *

MAC 주소와 IP 주소가 모두 필요한 이유는 네트워크가 서로 다른 Layer에서 작동하기 때문이다. IP 주소는 Network Layer(L3)에서 사용되고 MAC 주소는 Data Link Layer(L2)에서 사용된다.

 

IP 주소는 논리적 주소로 네트워크 상에서 각 장치가 어디에 위치하는지를 나타낸다. 즉, IP 주소는 Device가 Network 내에서 어떤 위치에 있는지를 알게 해주며 MAC 주소는 한 네트워크 내에서 Data를 실제로 전달하기 위해 필요한 고유한 Device의 위치를 알려준다.

 

즉, 순서상으로 IP 주소를 먼저 알고 그 IP 주소에 대응하는 MAC 주소를 알아내는 과정이 필요하다.