● 기본 게이트 웨이 (Default Gateway)
-> 로컬 네트워크에서 다른 네트워크로 데이터 패킷을 전달하는 라우터나 네트워크 장치를 의미한다. 네트워크에서 장치가 다른 서브넷이나 외부 네트워크로 데이터를 보낼 때, 이 데이터를 전달하기 위한 기본 경로 역할을 한다.
기본 게이트웨이는 보통 네트워크 내의 모든 장치가 접속할 수 있는 하나의 IP 주소로 지정되며, 이는 보통 라우터의 IP 주소이다. 장치가 네트워크 내부에서 통신할 때는 IP 주소를 사용하지만, 네트워크 외부로 데이터를 보내야 할 때는 기본 게이트를 통해 전송한다.
● 라우팅 (Routing)
-> 네트워크에서 데이터 패킷이 출발지에서 목적지까지 가장 적합한 경로를 통해 전달되도록 하는 과정
라우팅은 네트워크 장치, 주로 라우터에 의해 수행되며, 라우팅 테이블을 기반으로 한다. 라우팅 프로세스는 패킷이 도착해야 하는 목적지 IP 주소를 확인하고, 이를 위한 최적의 경로를 결정하여 데이터를 전달하는 것
● 라우팅 테이블 (Routing Table)
-> 네트워크 장치(ex: 라우터, 스위치, 서버 등)에 의해 사용되는 데이터베이스로, IP 패킷이 목적지에 도달하기 위해 따라야 할 경로를 정의한다. 라우팅 테이블은 목적지 네트워크, 그 네트워크에 대한 다음 홉(next hop), 그리고 사용해야 할 인터페이스 등을 포함한 여러 항목으로 구성된다.
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.0.0 192.168.1.2 255.255.255.0 UG 100 0 0 eth0
● 네트워크 카드와 IP 주소의 상호 작용
->
1. 네트워크 계층(IP)은 데이터 링크 계층(MAC)을 통해 네트워크 카드에게 "이 IP 주소로 데이터를 보내달라" 요청한다.
2. 네트워크 카드는 해당 IP 주소에 대응하는 MAC 주소를 찾아, 데이터를 해당 장치로 물리적으로 전달한다.
이 과정에서 각 계층은 데이터를 적절히 캡슐화하고 디캡슐화하여 데이터를 최종 목적지로 안전하게 전달한다.
● WebClient -> TCP -> IP -> LAN Card
IP는 IP끼리 LAN은 LAN끼리만 통한다.
IP가 주소를 준다고 해도 LAN Card 식별자를 모르면 통신이 되는 것이 아니다.
상세 통신 과정
1. 앱 계층 (WebClient)
○ 사용자가 웹 브라우저에서 URL을 입력하거나 웹 페이지를 요청
○ 웹 브라우저는 HTTP 요청을 생성
2. 전송 계층 (TCP)
○ HTTP 요청이 TCP 세그먼트로 캡슐화
○ TCP 세그먼트에는 출발지 및 목적지 포트 번호와 같은 정보가 포함
3. 네트워크 계층 (IP)
○ TCP 세그먼트가 IP 패킷으로 캡슐화
○ IP 패킷에는 출발지 및 목적지 IP 주소가 포함
4. 데이터 링크 계층 (LAN 카드)
○ IP 패킷이 이더넷 프레임으로 캡슐화
○ 이터넷 프레임에는 출발지 및 목적지 MAC 주소가 포함
5. 물리 계층 (LAN 카드)
○ LAN 카드는 이더넷 프레임을 실제 네트워크 매체(ex: 이더넷 케이블, 무선 신호)를 통해 전송
IP 주소와 MAC 주소의 상호작용
1. IP 패킷 생성:
○ 앱 계층에서 생성된 데이터는 TCP 세그먼트로, 이후 IP 패킷으로 캡슐화
○ IP 패킷에는 출발지 IP 주소와 목적지 IP 주소가 포함
2. MAC 주소 확인 (ARP):
○ 데이터를 전송하기 위해 출발지 장치는 목적지 IP 주소에 해당하는 MAC 주소를 알아야 한다.
○ 출발지 장치는 ARP 요청을 네트워크에 브로드캐스트하고 이 ARP 요청에는 목적지 IP 주소가 포함됨
○ 목적지 IP 주소를 가진 장치는 자신의 MAC 주소로 ARP 응답을 보냄
3. 이더넷 프레임 생성:
○ 출발지 장치는 ARP 응답으로 받은 MAC 주소를 사용하여 IP 패킷을 이더넷 프레임으로 캡슐화
○ 이더넷 프레임에는 출발지 및 목적지 MAC 주소가 포함
4. 프레임 전송:
○ LAN 카드는 이더넷 프레임을 네트워크 매체를 통해 목적지로 전송
○ 목적지 LAN 카드는 자신의 MAC 주소와 일치하는 프레임을 수신하여 데이터 링크 계층에서 캡슐화를 해제하고, IP 패킷을 네트워크 계층으로 전달
5. 데이터 처리:
○ 목적지 장치는 IP 패킷을 수신하고, 이를 TCP 세그먼트로 디캡슐화
○ TCP 세그먼트는 애플리케이션 계층으로 전달되어 최종적으로 사용자가 요청한 데이터를 처리
핵심
○ IP 주소: 네트워크 계층에서 사용되며, 논리적인 주소로 네트워크 내에서 장치를 식별
○ MAC 주소: 데이터 링크 계층에서 사용되며, 물리적인 주소로 같은 네트워크 내에서 장치를 식별
○ ARP: IP 주소를 MAC 주소로 매핑하여 데이터 링크 계층에서 데이터가 올바른 장치로 전달
○ 데이터 캡슐화: 각 계층에서 데이터는 그 계층의 프로토콜에 맞게 캡슐화되어 다음 계층으로 전달
● ARP(주소 결정 프로토콜, Address Resolution Protocol)는 IP 주소를 물리적인 네트워크 장치의 MAC 주소로 변화하기 위해 사용된다. 네트워크 통신에서는 IP 주소와 MAC 주소가 모두 필요하다. IP 주소는 네트워크 계층에서 장치의 논리적인 위치를 나타내며, MAC 주소는 데이터 링크 계층에서 장치의 물리적인 위치를 나타낸다.
-> ARP Request (ARP 요청)
ARP 요청은 네트워크에 브로드 캐스트 되어 모든 장치에게 전송된다. 이 요청은 특정 IP 주소에 해당하는 MAC 주소를 요청하는 메시지이다.
구조:
○ 출발지 MAC 주소: ARP 요청을 보내는 장치의 MAC 주소
○ 출발지 IP 주소: ARP 요청을 보내는 장치의 IP 주소
○ 목적지 MAC 주소: 0으로 설정 (알고자 하는 MAC 주소를 나타내기 위해)
○ 목적지 IP 주소: 알아내고자 하는 장치의 IP 주소
-> ARP Response (ARP 응답)
ARP 응답은 ARP 요청을 받은 장치가 요청을 보낸 장치에게 자신의 MAC 주소를 알려주는 메시지이다. ARP 응답은 유니캐스트 방식으로 ARP 요청을 보낸 장치에게만 전송된다.
구조:
○ 출발지 MAC 주소: ARP 응답을 보내는 장치의 MAC 주소
○ 출발지 IP 주소: ARP 응답을 보내는 장치의 IP 주소
○ 목적지 MAC 주소: ARP 요청을 보낸 장치의 MAC 주소
○ 목적지 IP 주소: ARP 요청을 보낸 장치의 IP 주소
-> ARP Cache (ARP 캐시)
ARP 캐시는 네트워크 장치가 최근에 수행한 ARP 요청과 응답을 저장하여, 동일한 IP 주소에 대한 후속 요청 시 빠르게 MAC 주소를 참조할 수 있도록 한다. ARP 캐시를 사용하면 네트워크 성능을 향상시키고 불필요한 ARP 트래픽을 줄일 수 있다.
● LAN 카드 구성요소
->
1. LLC (Logical Link Control): LAN 카드간에 전자신호 조유르 오류 제어 등
2. MAC (Media Access Control): LAN의 종류을 구별
3. Physical Aceess: 전송 선로에 실제로 데이터 전송 가능
● Ethernet, 왜 전송 선로를 공유 할까?
-> 비용 절감과 구현의 용이성 때문이다
○ Mesh
모든 컴퓨터를 직접 연결
비용이 비싸고 비현실적임
○ Topology : 근거리에 있는 컴퓨터를 연결하는 방법
ex: bus, ring, star, dual bus
'인터넷과 소켓프로그래밍' 카테고리의 다른 글
포트번호와 주소변화 (0) | 2024.07.24 |
---|---|
서브넷 및 IPv6 주소 (3) | 2024.07.23 |
IPv4 (0) | 2024.07.20 |
공통통신기능 - 데이터전달 (0) | 2024.07.17 |
공통통신기능 - 접속설정, 정확한 데이터 전송, 접속해제, 다음 경로 설정 (0) | 2024.07.15 |