Network/CCNA

[TCP/IP] - 2. 네트워크 주소 체계

arsenic-dev 2025. 7. 15. 21:38

1. 포트 번호

TCP, UDP 헤더 안에 포함된 주소로, 하나의 IP 주소 안에서 어떤 서비스(프로그램)와 통신할 것인지 구분하기 위한 번호이다.

  • 주소 크기: 16bit(2^16 = 0~65535)
  • 클라이언트 입장: 서비스 요청 및 실행
  • 서버 입장: 서비스 구분 및 제공
User Ports (1024~49151) 일반 응용프로그램 및 서비스
Dynamic/PrivatePorts (49152~65535) PC에서 사용하는 임시 포트 (클라이언트가 통신 시 임시로 사용)
System Ports (0~1023) 표준 서비스 예약용

 

※ 서비스가 계속 추가되다 보니, 'mysql 포트 번호: 3306'처럼 User Ports를 예약해서 사용하는 서비스들도 많다.

 

TCP UDP
http 80 domain(dns) 53
https(ssl) 443 bootps(dhcp server) 67
telnet 23 bootpc(dhcp client) 68
ssh 22 syslog 514
ftp 21 ntp 123
ftp-data 20 snmp 161
smtp 25 tftp 69
pop3 110    
mysql 3306    

 

예제

 

-n 옵션은 number로 출력하라는 옵션이다.

그리고 위와 같은 상황에서 'cls(clear screen)' 명령어를 입력하면 cmd에 출력된 내용이 지워진다.

 

※ windows + R -> cmd: cmd 빠르게 실행하는 방법

 

Ex1) 'netstat' 정보 확인을 이용한 네트워크 연결 상태 확인

  • 클라이언트의 IP 주소는 어떻게 되는가?
    • 192.168.10.27
    • 로컬 주소라 클라이언트인 게 아니라, http, https, telnet를 외부 주소가 응답하고 있기에 이를 요청한 로컬 주소 쪽이 클라이언트임을 알 수 있는 것임
  • 클라이언트가 제공 받고 있는 서비스 또는 연결된 서비스는 무엇인가?
    • http, https, telnet

 

Ex2) '192.168.10.27'은 서버인가? 클라이언트인가?

  • 서버
    • http, https를 응답하고 있기 때문에 서버임
    • 시스템은 때로는 클라이언트가, 때로는 서버가 될 수 있음

 

socket: 프로그램이 네트워크를 통해 데이터를 주고받기 위한 통신 창구

  • 클라이언트가 서버와 통신하기 위해 자신의 출발지 포트 번호를 할당받아 소켓을 생성하고, 이를 통해 데이터를 송수신한다.

 

※ IP 주소(IP): 어느 장치? > MAC 주소(ETH): 장치의 인터페이(랜카드)는 무엇? > Port 주소(TCP, UDP): 어느 프로그램?

 

2. IP 주소

IP 헤더 안에 포함된 주소

  • 주소 크기: 32bit(2^32개 = 4,294,967,296)
  • 로컬 환경에서 리모트 환경으로 데이터 전송 담당 (다른 네트워크와의 외부 통신)
  • 변경이 가능한 논리적인 주소(만들어서/설정해서 사용하는 주소로 전화번호 같은 개념)
  • IP 주소 조회 사이트

※ IP 주소의 위치를 추적해봤자 통신비밀보호법에 의하여 ISP 위치와 정보만 확인되기에, IP 주소 추적을 원할시 수사기관을 통해 ISP에 요청하는 절차가 필요하다.

 

IP 종류

  • IPv4: 32bits -> 2^32 = 43억개 정도 (2012년 2월 고갈)
  • IPv6: 128bits -> 2^128 = 사실상 무한개
  • 미국, 유럽 쪽은 이미 IPv6 사용 중이지만 한국은 ISP 업체가 국가의 지원을 받아 IPv6 망을 구축하고자 미루고 있기에 아직 IPv4 사용 중이다.

※ nslookup www.google.com: 도메인 이름(www.google.com)을 IP 주소로 변환해 보여주는 명령어

 

3. MAC 주소

ETH 헤더 안에 포함된 주소

  • 주소 크기: 48bit(2^48 개)
  • ETH 로컬 환경 내에서 데이터 전송 담당 (내부 통신)
  • 00-e0-4c-14-62-ba (IP, Port와 달리 10진수가 아닌 16진수로 표기)
    • MAC 주소 조회: https://uic.io/ko/mac/
    • 앞의 24bit는 OUI(Organizationally Unique Identifier) 24bit로, 랜카드 업체(이더넷 장치 업체)가 IEEE 기관으로부터 임대받은 주소임 (랜카드 제조사 식별 용도)
  • 변경 불가능한 물리적인 주소 (장치에 다 정해져서 나오는 주소로, 설정 불가)

※ windows + R -> calc -> 프로그래머: 진법 변환 가능

 

예제

 

Ex) 시스템 주소 관련 예제

  • 현재 PC는 수동 IP 설정 방식인가? 아님 DHCP 서비스 방식인가?
    • DHCP 서비스 방식
  • PC IP 주소와 서브넷 마스크는 어떻게 되는가?
    • 192.168.10.27 / 255.255.255.0
  • 게이트웨이 주소는 어떻게 되는가?
    • 192.168.10.1
  • DNS 서버 주소는 어떻게 되는가?
    • 168.126.63.1, 168.126.63.2
  • MAC 주소는 어떻게 되는가?
    • 00-D8-61-6E-30-B4
  • MAC 주소를 검색하여 어디 회사 제품인지 파악하라. (OUI 24bits만 검색해도 됨)
    • Micro-Star INTL CO., LTD. (MSI)
  • PC(시스템/호스트)를 구분할 때 IP 주소, MAC 주소 중에 어떤 주소가 구분이 정확한가?
    • MAC 주소 (IP 주소는 변경 가능한 주소이기 때문임)

 

4. 로컬 네트워크 환경에서 데이터 전송 시 주소 사용 예제

 

네트워크 총 개수: 3개

 

※ WAN 프로토콜: HDLC(라우터 간 Point-to-Point 데이터 전송), PPP(HDLC + 인증 기능)

 

1) A -> B 데이터 전송

A: encapsulation(IP -> ETH) -> 데이터 전송 -> B: decapsulation(ETH -> IP)

  • IP
    • SA: A
    • DA: B
  • ETH
    • SA: A
    • DA: B

※ SA: source address / DA: destination address

 

A와 B는 스위치로 연결된 것이기에 같은 네트워크이다. 따라서 스위치는 ETH 헤더만 보고 데이터를 전송한다.

때문에 내부 통신인 A -> B 데이터 전송에선 외부 통신용인 IP가 필요없다. (라우터는 IP 헤더까지 보고 데이터 전송)

 

※ 내부 통신에선 IP가 필요없지만, 프로토콜(통신 규약)이기에 없앨 순 없다.

 

2) A -> G 데이터 전송

A: encapsulation(IP -> ETH) -> 데이터 전송 -> C: decapsulation(ETH) -> D: encapsulation(HDLC) -> 데이터 전송 -> E: decapsulation(HDLC) -> F: encapsulation(ETH) -> 데이터 전송 -> G: decapsulation(ETH -> IP)

 

이때 C에서 IP는 decapsulation하지 않는데, 그 이유는 목적지 주소가 자신이 아닌 G이기 때문이다.

IP의 목적지인 G에 최종적으로 도착하고 나서야 IP를 decapsulation(-> TCP 보고 요청 확인 가능)한다.

  • IP
    • SA: A
    • DA: G
  • ETH
    • SA: A
    • DA: C
  • HDLC (편의 상, SA/DA를 작성했지만 실제 HDLC는 Point--to-Point 통신이라 SA/DA가 필요없는 프로토콜임)
    • SA: D
    • DA: E
  • ETH
    • SA: F
    • DA: G

ETH는 같은 네트워크 안에서만 데이터 전송 가능한데 A와 G는 다른 네트워크이기에,

A와 같은 네트워크인 C(gateway: 다른 네트워크로 나가기 위한 첫 번째 관문) 라우터를 통하는 방식으로 해야 한다.

때문에 외부 통신인 A -> G 데이터 전송에선 IP가 없으면 안 된다.

 

 

네트워크 총 개수: 5개

 

3) A -> J 데이터 전송

A: encapsulation(IP -> ETH) -> 데이터 전송 -> B: decapsulation(ETH) -> C: encapsulation(ETH) -> 데이터 전송 -> D: decapsulation(ETH) -> E: encapsulation(ETH) -> 데이터 전송 -> F: decapsulation(ETH) ->  G: encapsulation(ETH) -> 데이터 전송 -> H: decapsulation(ETH) -> I: encapsulation(ETH) -> 데이터 전송 -> J: decapsulation(ETH -> IP)

  • IP
    • SA: A
    • DA: J
  • ETH
    • SA: A
    • DA: B
  • ETH
    • SA: C
    • DA: D
  • ETH
    • SA: E
    • DA: F
  • ETH
    • SA: G
    • DA: H
  • ETH
    • SA: I
    • DA: J

'Network > CCNA' 카테고리의 다른 글

[TCP/IP] - 6. IP 주소 특징  (6) 2025.08.04
[TCP/IP] - 5. 와이어샤크 필터  (3) 2025.07.29
[TCP/IP] - 4. 데이터 전송 프로토콜  (6) 2025.07.24
[TCP/IP] - 3. TCP&UDP 서비스  (0) 2025.07.16
[TCP/IP] - 1. 네트워크 구성 요소  (0) 2025.07.02