5일차

장민우·2024년 4월 1일

부득이하게 강사님이 교체되었고, 이론 수업을 빠르게 마무리하게 되었다.

라우팅 프로토콜 中 동적 라우터(Dynamic Router)


IGP(Interior Gateway Protocol)

  • Distance Vector

    라우터가 자신의 라우팅 테이블을 이웃 라우터와 주기적으로 공유하는 방식이다. "최소 환승"으로 이해하면 쉽다. 대표적인 프로토콜로 RIP이 있다.
    • RIP(Routing Information Protocol)

      Distance Vector 방식을 사용하는 라우팅 프로토콜로, 최대 15홉까지의 네트워크를 지원한다. 간단하고 구현이 쉽지만, 큰 네트워크에는 적합하지 않다.

  • 라우터가 네트워크의 전체 지도를 만들고, 이를 바탕으로 최적의 경로를 계산하는 방식이다. 네트워크의 변화를 정확하게 반영하며, 라우팅 루프문제를 해결한다. 대표적인 프로토콜로 OSPF가 있다.
    • OSPF(Open Shortest Path First)

      대형 네트워크를 지원하며 복잡한 토폴로지에 적응할 수 있다. 링크 상태 데이터 베이스를 사용하여 네트워크의 전체 지도를 만들고, 이를 바탕으로 최적의 경로를 계산한다.

EGP(Exterior Gateway Protocol)

서로 AS 간에 사용되는 라우팅 프로토콜이다. AS 간의 연결성을 유지하고, 최적의 경로를 선택하는 데 사용된다. 대표적인 EGP 프로토콜로는 BGP(Border Gateway Protocol)가 있다.


네트워크 장비


  • 라우터(Router)
    네트워크 간에 데이터 패킷을 전송하는 네트워크 장치다. 패킷의 위치를 추출하여, 그위치에 대한 최적의 경로를 지정하며, 경로를 따라 데이터 패킷을 다음 장치로 전달한다.
    라우터는 3계층인 것과, 라우팅(경로설정)과 포워딩(패킷위치설정)의 역할을 하는 것을 기억하자.

  • 라우팅 테이블
    라우터가 목적지까지의 경로를 결정하기 위해 사용하는 정보를 담고 있는 테이블이다. netstat -r 명령어를 통해 라우팅 테이블을 확인할 수 있다.

  • 게이트웨이(Gateway)
    네트워크에서 한 시스템이 다른 네트워크로 데이터를 전송하는 데 사용되는 중요한 장치이다.
    일반적으로, 게이트웨이는 라우터의 역할을 하며, 서로 다른 네트워크 간의 통신을 중계한다.
    라우팅 테이블에는 목적지 네트워크로의 패킷 전송 시 해당하는 게이트웨이의 주소가 기록된다.

전송 계층


  • 포트(port)
    네트워크 상에서 통신을 하기 위해 컴퓨터나 기타 네트워크 장치 내에서 특정 프로세스나 서비스를 식별하는 데 사용되는 고유한 번호이다. 이를 통해 데이터는 올바른 위치로 전송될 수 있으며, TCP/IP에서는 0부터 65535까지 총 65536개의 포트가 있다.
    https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml

    포트TCPUDP설명
    20TCPFTP - 데이터 포트
    21TCPFTP - 제어 및 인증 포트
    22TCPSSH(Secure Shell)
    23TCPTelnet - 암호화되지 않은 텍스트 통신
    25TCPSMTP - 이메일 전송
    53TCPDNS - 주소창에 입력한 도메인을 IP주소로 변경
    67UDPDHCP 서버
    68UDPDHCP 클라이언트
    80TCPUDPHTTP - 웹 서비스
    110TCPPOP3 - 받는 메일 서버
    139TCPNETBIOS
    143TCPIMAP4 - 우리가 흔히 사용하는 이메일
    443TCPHTTPS - SSL(Secure Sockets Layer) 위의 HTTP
    445UDPSMB 파일 공유
    993TCPSSL 위의 IMAP4
    995TCPSSL 위의 POP3

    0번 ~ 1023번 포트를 Well-Known Ports라고 한다. 이 범위의 포트 번호는 특정한 서비스를 위해 예약되어 있다.

  • 등록된 포트
    1024 ~ 49151번 포트를 Regisstered Ports라고 한다. 이범위의 포트는 특정한 애플리케이션에서 사용하기 위해 IANA(Internet Assigned Numbers Authority)에 등록하여 사용할 수 있다.

  • 동적포트
    49152번 ~ 65535번 포트를 Dynamic Ports라고 한다. 이 범위의 포트는 일반적인 애플리케이션에서 동적으로 사용하며, 특별히 예약되어 있지 않다

    TCP(Transmission Control Protocol)

  • 네트워크 상에서 데이터를 안정적으로 전송하기 위한 프로토콜 중 하나이다. TCP는 신뢰성 있는 연결을 제공하며, 데이터의 순서를 보장하고 오류 복구를 수행한다.

  • TCP는 세계 통신 표준으로 개발된 OSI모형에서 4번째 계층인 전송게층에서 사용하는 프로토콜로, 보통 하위 계층(Network Layer)에서 사용되는 IP와 엮어서 TCP/IP로 표현한다.

  • 하나의 송신 측과 하나의 수신 측이 통신하는 1:1 통신이다.(point-to-point)

    UDP(User Datagram Protocol)

  • 비연결형, 신뢰성이 없는 전송 프로토콜이다.

  • 흐름 제어, 오류 제어 또는 손상된 세그먼트의 수신에 대한 재전송을 하지 않는다.

  • 따라서 내용이 전송 중에 손실될 수 있고, 전송되는 세그먼트의 순서가 바뀔 수 있다. UDP는 TCP보다 간단하고 빠르다.

응용 계층


DHCP(Dynamic Host Configuration Protocol)

  • 네트워크에서 컴퓨터와 장치에 자동으로 IP 주소 및 기타 네트워크 설정을 제공하는 프로토콜이다.

  • 새로운 장치가 네트워크에 연결될 때 IP 주소 할당, 서브넷 마스크, 기본 게이트웨이, DNS 서버 주소 등을 동적으로 제공하여 네트워크 구성을 편리하게 한다.

  • IP 주소 충돌을 방지하고 네트워크 관리를 용이하게 하며, 클라이언트에게 일정 기간 동안 IP 주소를 할당하고 갱신하는 역할을 한다.

    • DHCP 동작 방식

      1. DHCP Discovery
        DHCP 클라이언트는 DHCP Discover 메시지를 브로드캐스트 한다. 이 메시지는 DHCP 서버를 찾기 위한 메시지이다.
      2. DHCP Offer
        DHCP 서버는 Discover 메시지를 받고, 사용 가능한 IP 주소를 찾아 DHCP Offer 메시지를 클라이언트에게 보낸다. 이 메시지에는 할당된 IP주소와 네트워크 설정 정보가 포함되어 있다.
      3. DHCP Reqeust
        DHCP 클라이언트는 서버로부터 제안받은 IP주소와 DHCP 서버 정보를 포함 요청 메시지를 보낸다.
      4. DHCP Acknowledgment
        DHCP 서버는 요청받은 해당 IP를 어떤 클라이언트가 언제부터 사용하기 시작했는지 기록하고 Request 메시지를 정상 수신했다는 응답을 전송한다. 이제 클라이언트는 할당받은 IP주소를 사용하여 네트워크에 연결할 수 있다.

DNS(Domain Name System)

  • 사람이 읽을 수 있는 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소로 변환하는 역할을 한다.

  • 전 세계적으로 분산된 네임 서버 네트워크로 구서오디어 있으며, 사용자가 도메인 이름을 입력하면 해당 도메인의 IP 주소를 찾아주는 역할을 한다.

  • 이 시스템은 웹 브라우징, 이메일 전송, 다른 인터넷 서비스들을 가능하게 해준다.


  • 계층 구조

    Third-Level DomainSecond-Level DomainTop-Level DomainRoot
    www.google.com.

    <-------------------------------------------------------------- Root부터 거꾸로 찾아간다.

FTP(File Transfer Protocol)

  • 인터넷 상에서 파일을 교환하기 위한 표준 프로토콜이다. 사용자는 FTP 클라이언트를 통해 FTP 서버에 연결하여 파일을 업로드하고 다운로드할 수 있다.

    • 능동(Active)연결
      능동 모드에서 클라이언트는 데이터 연결을 위한 포트를 열어두고, 서버가 해당 포트로 연결을 수립하여 데이터를 전송한다. 이 방식은 클라이언트가 방화벽 뒤에 있을 경우 문제를 일으킬 수 있다.
    • 수동(Passive)연결
      수동모드에서 서버는 데이터 연결을 위한 포트를 열어두고, 클라이언트가 해당 포트로 연결을 수립하여 데이터를 전송한다. 이 방식은 서버가 방화벽 뒤에 있을 경우 유용하며, 오늘날 대부분의 FTP연결에서 사용되는 방식이다.

SMTP(Simple Mail Transfer Protocol)

  • 인터넷에서 이메일을 전송하는 데 사용되는 표준 프로토콜이다.
  • 클라이언트-서버 모델을 사용하며, 이메일 메시지를 보내는 클라이언트와 이메일 메시지를 받고 전달하는 서버 간의 통신을 관리한다.
  • 이메일 메시지를 보내는 데 사용되며, 메일 클라이언트에서 메일 서버로 메시지를 전송하는 역할을 한다.
  • SMTP는 기본적으로 TCP 포트 25를 사용한다. 그러나 이 포트는 스팸 메일 발송에 악용되는 경우가 많아, 일반적으로 ISP에 의해 차단되는 경우가 많다.

POP3(Post Office Protocol3)

  • 이메일 클라리언트가 메일서버에서 메일 메시지를 가져오는 데 사용되는 프로토콜이다.
  • TCP 143번 포트를 사용한다.
  • TCP/IP 프로토콜 위에서 작동하며, 이메일 클라리언트에서 메시지를 다운로드하는 데 필요한 기능을 제공한다.
  • 대다수 POP는 로컬 장치에 이메일을 내려받으면 서버에서는 이메일을 지우도록 기본 설정되어 있다.

IMAP(Internet Message Access Protocol)

  • 이메일 클라리언트와 메일 서버 간에 메일 메시지를 동기화 하는 데 사용되는 프로토콜이다.
  • TCP/IP 프로토콜 위에서 작동하며, 이메이 클라이언트에서 메시지를 읽고 관리하는 데 필요한 여러 기능을 제공한다.
  • 중앙 서버에서 동기화가 이뤄지기 때문에 모든 장치에서 동일한 이메일 폴터를 확인할 수 있다.
  • TCP 143포트를 사용한다.

HTTP(Hypertext Transfer Protocol)

  • 웹에서 데이터를 전송하는 데 사용되는 프로토콜이다.
  • "클라이언트 - 서버" 모델을 사용하며, 클라이언트는 HTTP요청을 서버에 보내고, 서버는 요청에 따라 HTTP 응답을 클라이언트에 보낸다.
  • Hypertext란, 영상(미디어), 오디오, 텍스트와 같이 눈에 보이는 자료를 의미한다.
  • HTTP는 80포트를 사용한다.

packet tracer 실습 준비


packet tracer 다운로드 후

우분투에서 터미널을 열어서 다음을 입력해서 설치한다.

sudo apt install --fix-broken
sudo apt install libxcb-xinerama0
sudo dpkg -i Packeet_Tracer822_amd64_signed.deb

0개의 댓글