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


| 구분 | CIDR | VLSM |
| 사용 위치 | 인터넷 (외부, 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
그래서 마지막 라우터는 처음 출발했던 컴퓨터가 게이트웨이에게 했던 것과 똑같은 행동을 합니다.
- ARP 요청: 라우터는 3번 포트에 연결된 네트워크 전체에 브로드캐스트로 외칩니다.
- "이 네트워크에 계신 분들 중, IP 주소가 165.229.187.17이신 분? 당신의 MAC 주소 좀 알려주세요!"
- ARP 응답: 네트워크에 있는 모든 장비가 이 요청을 듣습니다. 그리고 오직 165.229.187.17 IP를 가진 컴퓨터만이 응답합니다.
- "네, 접니다. 제 MAC 주소는 EE-FF-00-11-22-33 입니다."
- 최종 전달: 이제 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)에게 패킷을 보내는 과정입니다.
- 송신자: 목적지 IP(165.229.x.x)가 자신의 서브넷(147.46.66.x)과 다름을 확인하고, 패킷을 외부로 보내기 위해 기본 게이트웨이(Default Gateway, 라우터) 에게 전송을 요청합니다.
- ARP (Address Resolution Protocol): 게이트웨이 라우터에게 이더넷 프레임을 보내려면 라우터의 MAC 주소를 알아야 합니다. 송신자는 ARP를 통해 게이트웨이의 IP 주소로 MAC 주소를 알아냅니다.
- 라우팅 시작 (네트워크 간):
- 패킷을 받은 라우터들은 자신의 라우팅 테이블을 참조하여 목적지 네트워크(165.229.0.0/16) 방향으로 패킷을 전달(포워딩)합니다.
- 이 과정은 BGP(Border Gateway Protocol) 와 같은 Inter-AS 라우팅 프로토콜에 의해 결정된 경로를 따릅니다.
- 목적지 네트워크 도착: 패킷이 최종 목적지인 __대학교 네트워크의 경계 라우터에 도착합니다.
- 내부 라우팅 (네트워크 내):
- 경계 라우터는 OSPF, RIP 등 Intra-AS 라우팅 프로토콜에 의해 생성된 내부 라우팅 테이블을 참조합니다.
- 더 상세한 정보(예: 165.229.187.0/24 서브넷은 이쪽)를 따라 최종 목적지 호스트가 연결된 라우터까지 패킷을 전달합니다.
- 최종 전달:
- 마지막 라우터는 목적지 호스트가 자신과 직접 연결된 이더넷 링크에 있음을 확인합니다.
- 다시 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 |