25년2학기/컴퓨터 네트워크

컴넷) (11.19)

kimchangmin02 2025. 11. 19. 19:40

[ㅅ  ]호스트랑 인터페이스랑 달랐다고 햇던가, 호스트가 여러개의 인터페이스 가질수있으니깐
[ㅅ  ]1.1.0.0/16 1.1.1.1/16다른가, 호스트 주소가 다르니깐 ? 라우터라면 어차피 xx니깐 상관없나 
 
 
 


 
 


구분CIDRVLSM
사용 위치인터넷 (외부, ISP 레벨)조직 내부 (내부망, 관리자 레벨)

 
 
우리는 127.0.0.1을쓴다는데, 이해안되는게 0.0.0인데 0.0.1이될수있나, 이건 네트워크부분이고, 남아있는 호스트부분은 남은 숫자 다된다는의미인가ㅇㅇ
 
 
 
엔트리(Entry)**는 아주 쉽게 말해서 **표(Table)에 적힌 '한 줄' 혹은 '한 행'**을 뜻합니다.
 
 
 
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1

2. 세 번째 옥텟 분석 (01xxxxxx)

이미지에서 세 번째 부분이 01xxxxxx라고 되어 있습니다.

  • 앞의 01: 네트워크 이름(Prefix)에 해당하는 고정된 비트입니다.
  • 뒤의 xxxxxx: 호스트 부분인데, **네트워크 주소(Network Address)**를 구할 때는 이 x들을 모두 0으로 채웁니다.

그럼 이진수는 **01000000**이 됩니다.

3. 십진수로 변환 계산

이제 01000000을 자리값에 대입해 봅시다.

자리값 128 64 32 16 8 4 2 1
비트 0 1 0 0 0 0 0 0
  • 첫 번째 비트(128 자리)는 0이므로: 0
  • 두 번째 비트(64 자리)는 1이므로: 64
  • 나머지 비트는 모두 0이므로: 0

합계: 0 + 64 + 0 + 0 + 0 + 0 + 0 + 0 = 64

결론

그래서 세 번째 숫자가 64가 되는 것입니다.

  • 1, 2번째 숫자: 165.229 (그대로 유지)
  • 3번째 숫자: 01xxxxxx → 01000000 → 64
  • 4번째 숫자: xxxxxxxx → 00000000 → 0
  • CIDR: /18 (앞의 16비트 + 세 번째 옥텟의 고정된 2비트 = 18비트)

결과적으로 165.229.64.0/18이 나옵니다.
 
 
 
 
 
 
멀티플렉싱 (Multiplexing):

  • 하나의 호스트(컴퓨터)에서 실행되는 여러 네트워크 응용 프로그램(프로세스)들이 동시에 통신할 수 있도록 하는 기능입니다.

 

 

 

 

 

다시 등장하는 ARP

그래서 마지막 라우터는 처음 출발했던 컴퓨터가 게이트웨이에게 했던 것과 똑같은 행동을 합니다.

  1. ARP 요청: 라우터는 3번 포트에 연결된 네트워크 전체에 브로드캐스트로 외칩니다.
  2. "이 네트워크에 계신 분들 중, IP 주소가 165.229.187.17이신 분? 당신의 MAC 주소 좀 알려주세요!"
  3. ARP 응답: 네트워크에 있는 모든 장비가 이 요청을 듣습니다. 그리고 오직 165.229.187.17 IP를 가진 컴퓨터만이 응답합니다.
  4. "네, 접니다. 제 MAC 주소는 EE-FF-00-11-22-33 입니다."
  5. 최종 전달: 이제 MAC 주소를 알아낸 라우터는 비로소 IP 패킷을 최종 이더넷 프레임으로 포장하여 목적지 컴퓨터에게 정확히 전달할 수 있게 됩니다.
    • 받는 곳 MAC 주소: 방금 알아낸 EE-FF-00-11-22-33
    • 보내는 곳 MAC 주소: 라우터 자신의 3번 포트 MAC 주소

 
아 같은 네트워크 내이면? 그러면 같은 네트워크 내라도 mac주소는 모르나, 그래서 arp햇어야햇나"
 
게이트웨이(라우터)는 저에게 있어서 '바깥 세상으로 나가는 문'이자 동시에 '우리 동네에 같이 사는 이웃'이라는 이중적인 신분
 
 
 
 
 
 

CIDR로 하면 계층적 라우팅이 되나 , 가령 1.1.X.X과 2.2.X.X이 있는데,
작은 기업이라서 1.1.0.X를 두번쨰 기업에게 주면

그래서 슈퍼네팅
 
 
 
 
.

다. 슈퍼네팅 (Supernetting) / 경로 요약 (Route Aggregation)

CIDR 도입으로 인해 한 기관이 여러 개의 작은 IP 블록을 할당받게 되면, 라우팅 테이블에 여러 개의 경로 정보가 추가되어 비효율이 발생할 수 있습니다.

  • 슈퍼네팅: 흩어져 있는 여러 개의 작은 연속된 네트워크 주소 블록을 하나의 큰 블록으로 묶어 라우팅 정보를 한 줄로 요약하는 기술입니다.
  • 이를 통해 CIDR 환경에서도 라우팅 테이블의 크기를 효율적으로 관리할 수 있습니다.

4. 인터넷 라우팅의 전체 과정 예시

송신자(147.46.66.97)가 수신자(165.229.187.17)에게 패킷을 보내는 과정입니다.

  1. 송신자: 목적지 IP(165.229.x.x)가 자신의 서브넷(147.46.66.x)과 다름을 확인하고, 패킷을 외부로 보내기 위해 기본 게이트웨이(Default Gateway, 라우터) 에게 전송을 요청합니다.
  2. ARP (Address Resolution Protocol): 게이트웨이 라우터에게 이더넷 프레임을 보내려면 라우터의 MAC 주소를 알아야 합니다. 송신자는 ARP를 통해 게이트웨이의 IP 주소로 MAC 주소를 알아냅니다.
  3. 라우팅 시작 (네트워크 간):
    • 패킷을 받은 라우터들은 자신의 라우팅 테이블을 참조하여 목적지 네트워크(165.229.0.0/16) 방향으로 패킷을 전달(포워딩)합니다.
    • 이 과정은 BGP(Border Gateway Protocol) 와 같은 Inter-AS 라우팅 프로토콜에 의해 결정된 경로를 따릅니다.
  4. 목적지 네트워크 도착: 패킷이 최종 목적지인 __대학교 네트워크의 경계 라우터에 도착합니다.
  5. 내부 라우팅 (네트워크 내):
    • 경계 라우터는 OSPF, RIPIntra-AS 라우팅 프로토콜에 의해 생성된 내부 라우팅 테이블을 참조합니다.
    • 더 상세한 정보(예: 165.229.187.0/24 서브넷은 이쪽)를 따라 최종 목적지 호스트가 연결된 라우터까지 패킷을 전달합니다.
  6. 최종 전달:
    • 마지막 라우터는 목적지 호스트가 자신과 직접 연결된 이더넷 링크에 있음을 확인합니다.
    • 다시 ARP를 이용해 목적지 호스트(165.229.187.17)의 MAC 주소를 알아내고, 이더넷 프레임으로 패킷을 포장하여 최종 전달합니다.

5. 기타 IP 관련 중요 개념들

가. 예약된 특수 IP 주소

  • 루프백(Loopback) 주소 (127.0.0.1): 자기 자신을 가리키는 주소로, 네트워크 테스트 용도로 사용됩니다. (패킷이 외부로 나가지 않고 OS 내부에서 처리됨)
  • 호스트 부분이 모두 0인 주소: 특정 호스트가 아닌, 해당 서브넷 자체를 가리키는 이름으로 사용됩니다. (예: 165.229.187.0)
  • 호스트 부분이 모두 1인 주소: 해당 서브넷 내의 모든 호스트에게 보내는 브로드캐스트 주소로 사용됩니다. (예: 165.229.187.255)
  • 사설(Private) IP 주소: 인터넷에서 사용되지 않고, 회사나 가정 등 내부 네트워크에서만 자유롭게 사용하는 주소입니다. (10.x.x.x, 172.16.x.x ~ 172.31.x.x, 192.168.x.x)

나. ICMP (Internet Control Message Protocol)

IP는 오류 보고 기능이 없기 때문에, 이를 보완하기 위한 디버깅용 프로토콜입니다.

  • Ping: Echo request/reply 메시지를 이용해 특정 목적지까지 통신이 가능한지 확인하는 프로그램입니다.
  • Traceroute: TTL(Time To Live) 값을 1부터 1씩 늘려가며 패킷을 보내고, 각 라우터로부터 TTL Expired ICMP 메시지를 받아 목적지까지의 경로를 추적하는 프로그램입니다.

다. NAT (Network Address Translation)

IP 주소 부족 문제를 해결하는 핵심 기술 중 하나입니다.

  • 기본 원리: 사설 IP 주소를 사용하는 내부 네트워크의 장치가 인터넷으로 통신할 때, 라우터(공유기)가 사설 IP를 공인(Public) IP 주소로 변환해주는 기술입니다.
  • PAT (Port Address Translation): 현재 가장 널리 쓰이는 NAT 방식으로, IP 주소뿐만 아니라 포트 번호까지 변환합니다. 이를 통해 하나의 공인 IP 주소로 여러 내부 장치가 동시에 인터넷을 사용할 수 있습니다.

라. IPv6와 모바일 IP

  • IPv6: 32비트인 IPv4의 주소 고갈 문제를 근본적으로 해결하기 위해 등장한 128비트 주소 체계이지만, NAT 등의 기술로 인해 아직 전환이 더딥니다.
  • 모바일 IP: 단말기가 다른 네트워크로 이동할 때 IP 주소가 바뀌어 통신이 끊기는 문제를 해결하기 위한 기술이지만, 아직 널리 보급되지는 않았습니다.

6. 전송 계층 (Transport Layer) 소개

네트워크 계층(IP)이 목적지 컴퓨터까지의 경로를 찾는 역할을 했다면, 전송 계층은 그 경로 위에서 프로세스 대 프로세스(Process-to-Process) 간의 신뢰성 있는 통신을 담당합니다.

가. 핵심 역할

  • End-to-End 신뢰성 확보: 데이터 링크 계층이 한 홉(hop) 구간의 신뢰성을 책임졌다면, 전송 계층은 송신자부터 최종 수신자까지의 전체 경로에 대한 신뢰성을 책임집니다.
  • 오류 제어(Error Control), 흐름 제어(Flow Control), 혼잡 제어(Congestion Control) 등을 수행합니다.

나. 멀티플렉싱 (Multiplexing)

  • 하나의 컴퓨터에서 여러 개의 네트워크 프로그램(프로세스)이 동시에 실행될 때, 수신된 패킷을 올바른 프로그램에 전달해주는 기능입니다.
  • 포트 번호(Port Number) 를 사용하여 각 프로세스를 식별하고 데이터를 분배합니다.
  • UDP: 비연결형(Connection-less) 멀티플렉싱. 상대방을 특정하지 않고 데이터를 주고받습니다.
  • TCP: 연결지향형(Connection-oriented) 멀티플렉싱. 통신할 상대방과 1:1로 논리적 연결을 맺고, 그 연결에 대한 상태 정보를 유지하며 데이터를 주고받습니다.

 
 
 
 
 
 
 
5) CIDR 응용 사례: ISP 합병/고객 이동

  • 상황: A회사(큰 블록 소유)의 고객 일부가 B회사(신규 네트워크)로 이동.
  • 문제: IP 주소는 그대로 쓰고 싶음.
  • 해결:
    • A회사는 여전히 "큰 덩어리 전체"를 광고함.
    • B회사는 이동해 온 "작은 조각(더 구체적인 프리픽스)"을 광고함.
    • 결과: 인터넷 라우터들은 Longest Prefix Match 규칙에 의해, 해당 고객으로 가는 패킷을 더 구체적으로 광고한 B회사 쪽으로 보냄.

 
 
 
2) 라우팅 프로토콜의 구분

  • Intra-AS (내부용): 하나의 조직 내에서 사용하는 프로토콜. 관리자가 마음대로 선택 (RIP, OSPF, EIGRP 등).
  • Inter-AS (외부용/경계용): 서로 다른 조직(ISP 간)끼리 대화. 무조건 BGP (Border Gateway Protocol) 사용.

3) 패킷 전송 과정 (요약)

  • 송신자: 목적지가 같은 서브넷인지 확인 (서브넷 마스크 대조).
    • 같으면: 직접 전달 (ARP로 MAC 주소 알아내서 전송).
    • 다르면: **디폴트 게이트웨이(라우터)**로 전송.
  • 라우터: 라우팅 테이블 참조 → 다음 홉 결정 → ARP로 다음 라우터 MAC 확인 → 전송.
  • 이 과정을 반복하여 목적지 네트워크의 라우터까지 도착 후, 내부 라우팅을 통해 최종 호스트에게 전달.

 
 
 
 
 

5. NAT (Network Address Translation)

1) 등장 배경

  • IPv4 주소 고갈을 막기 위한 단기 해결책 (하지만 너무 잘 작동해서 IPv6 전환을 늦춤).
  • 사설 IP를 사용하는 내부망에서 인터넷과 통신할 때 공인 IP로 주소를 변환해주는 기술.

2) 종류

  • Dynamic NAT: 공인 IP 풀(Pool)에서 남는 IP를 그때그때 빌려줌. (1:1 매핑, 동시 사용 제한적).
  • Static NAT: 특정 사설 IP와 특정 공인 IP를 1:1로 고정. (서버 운영 시 사용).
  • PAT (Port Address Translation) / NAT Overload: (중요)
    • 가장 많이 쓰임 (공유기).
    • 하나의 공인 IP를 여러 내부 호스트가 공유.
    • **포트 번호(Port Number)**를 바꿔서 구분함.
    • 동시에 여러 사람이 인터넷 사용 가능.

 
 
 
 
 
 
 
즉, 멀티플렉싱은 "하나의 IP 주소로 들어온 패킷을 어떤 놈(프로세스)에게 배달할지 결정하는 역할"입니다.


2. 여기서 왜 갑자기 UDP, TCP 얘기가 나오나요?

**"누가 그 배달(구분) 역할을 담당하느냐?"**라고 물으면, 그게 바로 전송 계층의 주인인 UDP와 TCP이기 때문입니다.

  • IP 계층(네트워크)은 그냥 컴퓨터(현관문)까지만 배달해 주고 끝납니다.
  • 현관문 안에서 "이 편지 누구 거야?" 하고 방(프로세스)으로 넣어주는 집배원 역할을 UDP와 TCP가 합니다.
  • 그러니 멀티플렉싱(집배원 짓)을 설명하려면, 집배원(UDP, TCP)이 어떻게 일하는지 설명할 수밖에 없는 것이죠.

3. 결정적인 연결고리: "소켓 관리 방식 = 분류(멀티플렉싱) 방식"

질문하신 **"소켓을 하나만 쓰냐(UDP), 따로 만드냐(TCP)"**라는 설명은 **"그래서 걔네가 우편물을 어떻게 분류(멀티플렉싱)하는데?"**에 대한 구체적인 방법론입니다.
[상황: 여러 사람이 우리 집 101호(포트 번호)로 편지를 보냄]

  • UDP의 분류 방식 (단순함)
    • "누가 보냈는지는 안 중요해. 그냥 **101호(목적지 포트)**라고 적혀 있으면 다 이 바구니에 넣어!"
    • →→
       그래서 소켓(바구니) 하나에 모든 사람의 편지가 섞임.
    • →→
       이것이 UDP 스타일의 멀티플렉싱.
  • TCP의 분류 방식 (꼼꼼함)
    • "101호로 왔어도 보낸 사람이 다르면 다른 거야. 철수가 보낸 101호 편지는 A 바구니, 영희가 보낸 101호 편지는 B 바구니에 넣어!"
    • →→
       그래서 보낸 사람마다 전담 소켓(바구니)을 따로 만듦.
    • →→
       이것이 TCP 스타일의 멀티플렉싱.

 
 
 
 

'25년2학기 > 컴퓨터 네트워크' 카테고리의 다른 글

컴넷) (11.26)  (0) 2025.11.26
컴넷) (11.21)  (0) 2025.11.21
컴넷) (11.14)  (0) 2025.11.14
컴넷) (11.12)  (0) 2025.11.12
컴넷) (11.08)  (0) 2025.11.08