5 minute read


TCP / IP 4계층 in Cloud ComputingPermalink

클라우드 환경 학습에 있어서 상대적으로 중요한 계층 ?
  • 네트워크 전송 시의 데이터 표준 : OSI 7계층 (이론 상의 모습)

  • OSI 7층 이론 실제 사용시의 인터넷 표준 : TCP/IP 4계층 (실제 구현 모습)

  • TCP/IP 4계층 중 클라우드 환경에서 상대적으로 중요한 3계층

    • Application(응용)
    • Transport(전송)
    • Internet(인터넷)

OSI7Layer_Procdess
출처: losskatsu.github.io

  • TCP / UDP 프로토콜에서 어떤 시스템에 접근할 지 선택하는 방법
    • 바로 포트번호 (Port number) 를 사용하는 것.
    • Well-Known Port (잘 알려진 포트번호)
      • 가장 범용적인 TCP/IP 어플리케이션이 사용하는 포트번호
      • port number : 0 ~ 1023
        • 예)
        • (TCP)HTTP - 80
        • FTP - 21
        • (UDP)DNS - 53
    • Registered Port (등록된 포트번호)
      • TCP/IP 를 사용하는 대부분의 어플리케이션이 사용할 수 있는 포트번호.
      • port number : 1024 ~ 49151
    • Dynamic Port (동적 포트번호)
      • 누구나 등록없이 사용할 수 있는 포트번호 -> 사설 프로토콜에 적합.
      • port number : 49152 ~ 65535

  • 전송 과정
    1. 전송하고자 하는 Data를 OSI 7계층을 통해 적절한 목적지 위치의 정보를 담는다.
    2. 이후 전송 과정 중 거치게 되는 여러 장비(스위치, 라우터… 등)에서 정보를 처리함으로서 목적지로 해당 Data가 온전히 전송될 수 있도록 도와준다.
    • 라우터(Router) : 3계층 장비
      • 3계층 까지의 정보를 읽을 수 있다.
    • 스위치(Switch) : 2계층 장비
      • 2계층 까지의 정보를 담을 수 있다.

  • 예) https://www.naver.com 접속 시도하는 경우
    1. DNS 동작 -> 목적지인 네이버의 서버주소 (IP주소)로 변환 (https://x.x.x.x)
    2. https는 TCP 443 포트 번호를 사용
    3. (참고) 각 계층 별 가지고 있는 주요한 정보
      • Layer 7 : SSH, TELNET, DNS, FTP, HTTP
      • Layer 4 : TCP / UDP 및 포트번호(고정)
      • Layer 3 : IP 주소 (사용자의 입력에 따라 변화)

Layer 4 이후의 계층을 이용하는 프로토콜부터 포트번호를 사용. -> Layer 3 이하의 프로토콜은 포트번호가 존재하지 않는 것에 유의하자.



서비스에 접속하기 위해 필요한 정보

1. IP 주소 : 사용자가 원하는 서비스의 IP주소를 선택.

2. TCP / UDP, 포트 번호 : 1, 3번에 의해 자동 선택됨

3. 서비스 프로토콜 : 사용자가 원하는 것을 선택



IP 주소 (Class)Permalink

< IP 주소 > 

    - Class 개념

    - Subnet mask, Prefix를 알아보자.

IP_Procdess
IP 주소의 구성 - Class

  • 간단한 IP 주소의 개념
    • IP 주소는 32자리의 이진수로 구성되었고, 십진수로 표현됨.
      • 예) http://140.175.229.203 (= 10010110.10101111.11100101.11001011)
    • 하나의 Network 안의 IP들은 같은 네트워크 영역을 가지는 동시에 서로 다른 호스트 영역을 가져야 통신이 가능.

  • IP 주소의 Class 개념 - A / B / C class
    • A class
      • IP 주소의 첫 8bit만 Network 주소로 사용.
      • 나머지 24 bit는 호스트 주소로 사용.
        • 최소 00000001 -> 1 (1.0.0.0)
        • 최대 01111110 -> 126 (126.0.0.0)
        • 자기 자신의 주소를 나타내는 127은 제외된다.
      • IP 주소가 1 ~ 126 사이로 시작한다면 A class 라고 생각하면 된다.
        • 호스트 주소의 생성 가능 경우의 수는 2^24(첫 8bit 이후의 24bit) - 2이다.
        • -2 를 한 이유는 아래와 같다.
          • 각 8bit가 모두 0인 경우 = 네트워크 주소로 사용
          • 각 8bit가 모두 1인 경우 = 브로드캐스트 주소로 사용
    • B class
      • 위의 A class 와 같은 logic / 개념
      • IP 주소가 128 ~ 191 사이로 시작.
    • C class
      • 위의 A class 와 같은 logic / 개념
      • IP 주소가 192 ~ 223 사이로 시작.

  • 같은 네트워크 (동일 네트워크) : 네트워크 주소(Network ID) 가 같은 네트워크
    -> 스위치 등 타 장비의 도움없이 서로 통신이 가능한 네트워크.
    • Subnet Mask : IP 주소에서 어디까지가 Network ID인지 판별하기 위한 도구. (255.255.x.x)
    • Subnet Mask 가 같으면 동일 네트워크이다.



  • prefix : 네트워크의 비트 개수
    • 255.255.255.0 -> 1비트가 총 24개 (1바이트 마다 점으로 구분 == 255는 2진수로 11111111)
    • 따라서 위 IP주소를 prefix로 변환 시, 255.255.255.0/24 으로 나타낸다.
      • 보통 /16 을 많이 사용. (172.16.0.0/16)



  • 만약 Subnet Mask 도, prefix 도 없다면 각 클래스(A, B, C) 의 범위에 따라 prefix로 default 값이 설정되어 있는 것.
    • ex) 172.16.2.2 -> B Class에 해당(128 <= 172 <= 191) -> /16 의 prefix가 default로 부여.
    • ex) 10.1.1.1 -> A Class에 해당(1 <= 10 <= 126) -> /8 의 prefix가 default로 부여.



  • 위처럼 다른 네트워크 (네트워크 ID가 다름 -> 172.16. != 10.)를 가진 시스템과 통신하려면, L3 장비인 라우터 이상을 필요로 한다. (L2 장비 불가)
    • L2 장비 -> Switch : MAC 주소만 읽기 가능하며, IP 주소는 읽지 못하는 장비
    • L3 장비 -> Router(Routing Table)
      • 라우팅 테이블에 정보가 없으면 통신 불가. (출발지, 목적지, Gateway, Port.. etc)
      • 정보가 없을 시 Default Gateway를 설정하여 특정 외부로 무조건 보냄으로서 통신을 가능하게 할 수 있음.



공인 IP - 유일한 주소
사설 IP - 중복 가능한 주소 (인터넷 불가 : 유일하지 않은 주소이므로)

사설 IP 대역 목록 (VPC 가상네트워크 구축 시 사용하는 네트워크)

  • 시작 IP
    • 10. ~
    • 172.16. ~
    • 192.168. ~

  • 169.254. ~
    • IP 주소 자동 할당 과정에서 자동 할당 받기 실패 시 설정되는 주소. 내부 통신은 가능, 외부와 통신 불가

L3 이상의 장비에는 모두 routing table과 해당 정보가 존재한다. 해당 정보가 정확한 정보를 담고 있어야 비로소 통신이 가능하게 된다.



요약 및 정리Permalink

  1. 원격 시스템 간의 통신 원리 (유 / 무선 차이는 없다. 그 형태만 다를 뿐)

  2. L2, L3 장비의 동작 원리, 과정 및 그 내용
    • 시스템 간의 통신 방식
      • IP주소
      • 서버에서 제공하는 서비스의 종류 (TELNET.. 등)
      • 서버에서 제공하는 서비스의 종류에 대응하는 클라이언트 프로그램 및 포트번호 (Well-Known Port Number를 사용하지 않을 시)
    • 서버 : HTTP TCP 80, 클라이언트 : 웹 브라우저
    • 서버 : SSH TCP 22, 클라이언트 : SSH 클라이언트
    • 서버 : FTP 21, 클라이언트 : FTP 클라이언트
      • 위와 같이 Well Known Port가 아닌 직접 설정한 Port Number를 사용 시
        해당 Port Number를 클라이언트 프로그램에서 추가적으로 설정해주어야 한다.
      • ex) 서버 : TCP 2222 / 클라이언트 : SSH -p 2222 x.x.x.x
    • 서버에서 TELNET 서비스가 동작한다 -> TCP 23 포트가 LISTENING 중

  3. L4 ~ L7 : 목적지 시스템 내에서 데이터를 처리하기 위한 장비 / 정보

  4. IP 주소 : 네트워크 비트를 사용하여 IP 주소 내에서 네트워크 주소의 범위를 알 수 있음.

    네트워크 비트란?

    • 과거 : subnet mask (ex. 255.255.255.x -> 24 비트까지가 네트워크 주소)
    • 현재 : prefix (ex. 192.168.0.0/16 -> 16 비트까지가 네트워크 주소)

    • 네트워크 비트가 설정 되어있지 않은 경우
      • 네트워크 비트가 default로 설정된 것. -> 아래와 같이 Class 단위로 설정된다.
        • A class (1 ~ 126): /8 의 prefix를 가진다.
        • B class (128 ~ 191): /16 의 prefix를 가진다.
        • C class (192 ~ 223): 24 의 prefix를 가진다.

  5. 같은 네트워크 (동일 네트워크)인 경우 L2 장비 (Switch)만 사용하여 서로 통신이 가능하다.
    • (예) 172.16.1.100 / 172.16.2.100 / 192.168.100.100
      • 172 대역은 B class 이므로 default로 설정된 네트워크 비트는 /16 이다.
      • 172.16. 과 172.16. 은 같으므로 두 네트워크는 동일 네트워크이다.
      • 따라서 위 두 네트워크는 L2 장비(Switch)만 사용해도 통신이 가능하다.
        • 하지만 192.168.100.100 과 같은 주소는 C class에 포함되므로 다른 네트워크.
        • L3 이상의 장비가 있어야 172.~ 대역의 네트워크와 통신이 가능해짐.

  6. [AWS] VPC (Virtual Private Cloud)
    • 2개 이상의 VPC 연결 시에는 peering 이라는 서비스 만으로 가능.
    • 3개 이상의 VPC 연결 시에는 TGW(Transit Gateway : 가상의 라우터) 라는 장비를 사용.
      • 해당 장비의 Routing Table을 통해 연결이 가능해짐.



[부가 프로그램] WireShark - OSI 7계층 변환 과정 확인Permalink

WireShark ?

- OSI 7계층 변환 과정을 Capture 해서 확인할 수 있는 분석 프로그램.

- port number : 1 ~ 65535 까지 존재.
    - 1 ~ 1023 : Well-Known port number
    - Client Port number : 1024 ~ 65535 (Well-Known Port number 을 제외, random 지정)

WireShark_Procdess
WireShark 동작 모습



간단한 추가 정보Permalink

  • 방화벽 : IP 주소, TCP / UDP 포트번호를 사용하여 트래픽을 제어
  • Ping (ICMP 사용) : 핑의 응답 여부에 따라 해당 네트워크의 동작 여부를 판단.



허용 가능한 만큼의 학습 내용을 복습 겸 이곳에 포스팅 해보려고 합니다.
긴 글 읽어주셔서 감사합니다. 포스팅을 마칩니다.



처음으로~

Task ListsPermalink

  • TCP / IP 4계층 in Cloud Computing
  • IP 주소 (Class)
  • 요약 및 정리
  • [부가 프로그램] WireShark - OSI 7계층 변환 과정 확인
  • 간단한 추가 정보

Comments