NetPractice

hhkim·2022년 7월 4일
0

42cursus

목록 보기
18/20
post-thumbnail

TCP/IP 주소 및 서브넷 기본 이해
IP주소, 서브넷마스크, 게이트웨이, MAC 설명

TCP/IP

정보가 발신자에서 수신자로 이동하는 방법을 정의

프로토콜

컴퓨터 내부 혹은 컴퓨터 사이에서 데이터 교환 방식을 정의하는 규칙 체계

패킷

네트워크로 전달되는 정형화된 데이터의 덩어리

프레임

데이터와 제어 정보를 합친 것

패킷 vs 프레임

TCP/IP 계층

  • 응용 계층의 프로그램이 데이터를 전송 계층 프로토콜인 UDP나 TCP로 전송
    => 전송 계층은 받은 데이터를 패킷이라는 작은 조각으로 나누어 대상 주소를 추가한 후 네트워크 계층으로 전송
    => 네트워크 계층은 IP를 데이터그램에 포함하고 전송 위치를 결정한 후 네트워크 인터페이스 계층으로 전송
    => 네트워크 인터페이스 계층은 IP 데이터그램을 승인하고 이더넷 같은 특정 네트워크 하드웨어를 통해 프레임으로 전송

네트워크 인터페이스 계층

노드 간 신뢰성 있는 데이터 전송

  • MAC 주소 사용
  • 주요 프로토콜
    • LAN - Ethernet, TokenRing
    • WAN - X.25

네트워크 계층

호스트 간 라우팅

  • 주요 프로토콜
    • IP(Internet Protocol): 비신뢰성, 비연결지향
    • ARP(Address Resolution Protocol): 주소 변환 프로토콜. IP 주소 => MAC 주소
    • RARP(Reverse ARP): MAC 주소 => IP 주소
    • ICMP(Internet Control Message Protocol): 상태 진단 메시지 프로토콜. 예) ping
    • IGMP(Internet Group Message Protocol): 멀티캐스트용 프로토콜

전송 계층

프로세스 간 신뢰성 있는 데이터 전송

  • 프로세스의 포트 번호를 논리적 주소로 사용
  • 주요 프로토콜
    • TCP(Transmission Control Protocol): 신뢰성있는 연결지향형 프로토콜
    • UDP(User Datagram Protocol): 비신뢰성, 비연결형 (패킷을 잃거나 오류가 있어도 대처하지 않음)

응용 계층

서버나 클라이언트 응용 프로그램 동작 (브라우저, 텔넷 등)

  • 전송 계층의 주소인 포트 번호 사용
  • 주요 프로토콜
    • HTTP(Hyper-Text Transfer Protocol): 포트번호 80
    • Telnet: 원격 터미널 접속. 포트번호 23
    • SSH(Secure Shell): 텔넷의 보안 취약점을 보완한 프로토콜. 포트번호 22
    • FTP(File Transfer Protocol): 파일 전송 프로토콜. 전송은 포트번호 20, 제어는 포트번호 21
    • SMTP(Simple Mail Transfer Protocol): 메일 전송 프로토콜. 포트번호 25
    • POP3(Post Office Protocal Version3): 메일 수신 프로토콜. 포트번호 110 (예) 아웃룩)
    • DNS(Domain Name System): 도메인명에 대한 호스트 정보 제공. 기본적으로 UDP 상에서 작동하지만 데이터가 길거나 신뢰성이 필요하면 TCP 상에서도 동작. 포트번호 53

TCP

Transmission Control Protocol (전송 제어 프로토콜)
두 호스트를 연결하고 데이터 스트림을 교환하게 해주는 프로토콜

  • IP 계층 위에서 동작하며 연결 지향 프로토콜
  • 데이터와 패킷이 보내진 순서대로 전달되는 것을 보장
  • 에러 없이 패킷이 전달되었는지 보증 (신뢰할 수 있는 프로토콜)
  • 동시 제어 가능

흐름 제어(Flow Control)

데이터를 받을 수 있는 만큼 적절히 전송

혼잡 제어(Congestion Control)

데이터의 손실이 많아지면 네트워크가 혼잡한 상태로 판단하여 송신자가 전송량을 제어

오류 제어(Error Control)

데이터의 오류나 손실이 없는 전송을 보장

  • 오류 발생 시 데이터를 재전송

UDP

User Datagram Protocol (사용자 데이터그램 프로토콜)

  • 빠른 데이터 전송
  • 흐름 제어, 혼잡 제어, 오류 제어가 없는 비신뢰성 프로토콜

IP 주소

Internet Protocol Address(인터넷 규약 주소)
네트워크에서 장치들이 서로를 인식하고 통신하기 위해 사용하는 특수한 번호

  • 과제에서는 IPv4 버전만 사용
  • 32비트로 0~255 사이 십진수 4개를 .으로 구분하여 표현 (0.0.0.0 ~ 255.255.255.255)
  • 각 자리는 8개의 비트로 표현되며, 이를 옥텟이라고 부름
  • 네트워크 주소와 호스트 주소 부분으로 나뉨

서브넷 마스크

https://reakwon.tistory.com/69?category=300675
네트워크 주소와 호스트 주소를 나누기 위한 정보
네트워크 주소 부분의 비트를 1로 치환한 것

  • IP 주소와 서브넷 마스크를 AND 연산해서 네트워크 주소와 호스트 주소를 분리할 수 있음
    (서브넷 마스크에서 1로 표현되는 부분은 네트워크 주소, 0으로 표현되는 부분은 호스트 주소로 사용)
11000000.10101000.00001010.00001010  IP 주소(192.168.10.10)
11111111.11111111.11111111.00000000   서브넷 마스크(255.255.255.0)
 				👇
11000000.10101000.01111011.00000000  네트워크 주소(192.168.10.0)
00000000.00000000.00000000.00001010  호스트 주소(000.000.000.10)

=> 192.168.10으로 시작하는 IP를 가지는 PC는 같은 네트워크에 존재

  • 첫 번째 192.168.10.0192.168.10 네트워크 자체를 가리키고,
    마지막 192.168.10.255는 브로드캐스트용 주소
    => 두 주소는 호스트의 IP로 사용되지 않음

  • 서브넷팅: IP 주소 낭비를 방지하기 위해 원본 네트워크를 여러 개의 네트워크로 분리하는 과정

    • 이 과정에서 분리된 네트워크 단위를 서브넷이라고 함

서브넷팅 계산 방법
서브넷 마스크 계산 문제풀이


기본 게이트웨이

Default Gateway
장치가 소속된 네트워크 이외의 곳으로 데이터를 보내려고 할 때, 목적지에 대한 정보를 갖고 있지 않은 경우 데이터를 보내는 기본 목적지

  • 보통 호스트 IP 범위의 시작 주소(예) 192.168.0 네트워크의 192.168.0.1)를 기본 게이트웨이로 사용하며 모든 호스트가 기본 게이트웨이를 가리키도록 함
  • 목적지가 로컬 호스트로 확인되면 로컬 네트워크 상에서 패킷을 전송하고, 외부인 경우 기본 게이트웨이로 보내서 라우터가 정확한 네트워크로 전달하도록 함

스위치와 라우터

https://www.itworld.co.kr/news/167585

스위치

같은 네트워크 안에서 데이터 전송

  • 네트워크의 입구에 해당하며, 여러 장치를 연결하여 LAN(Local Area Network) 형성
  • MAC 주소를 사용하여 같은 네트워크의 LAN 포트 간 데이터 전송 (스위칭)
    (MAC 주소: 48비트의 LAN 포트 주소)

라우터

네트워크끼리 데이터 전송

  • IP 주소를 사용하여 네트워크 간의 데이터 전송 (라우팅)
  • 미리 라우팅 테이블에 네트워크 정보를 등록해두어야 함

공인 IP와 사설 IP

공인 IP (Public IP)

인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소

  • 외부에 공개된 주소
  • 인터넷에 연결된 다른 PC로부터 접근 가능
  • 공인 IP 대역
0.0.0.0 ~ 127.255.255.255
128.0.0.0 ~ 191.255.255.255
192.0.0.0 ~ 233.255.255.255
224.0.0.0 ~ 239.255.255.255
240.0.0.0 ~ 255.255.255.255

사설 IP (Private IP)

일반 가정이나 회사 등의 내부에 할당된 로컬 IP 주소

  • 서브넷팅을 거친 IP
  • 라우터에 의해 로컬 네트워크 상의 장치에 할당
  • 외부에서 접근 불가능 (인터넷에 직접 연결 불가능)
  • 사설 IP 대역
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255


로컬 호스트

127.0.0.1

  • 내 PC의 로컬 주소
  • 인터넷이 연결되어 있지 않아도 작동하는 가상의 IP
  • 로컬 컴퓨터를 원격 컴퓨터인 것처럼 통신할 수 있어 테스트 목적으로 주로 사용
    • 자신의 보낸 패킷을 그대로 다시 수신한 것 같은 효과 (패킷을 외부로 전송하지 않음)
  • 127.0.0.1 ~ 127.255.255.254에 해당하는 모든 주소를 루프백 주소라고 하며 예약된 주소기 때문에 호스트의 IP 주소로 할당될 수 없음

0개의 댓글