네트워크 원리 기초 정리

Jiwontwopunch·2021년 11월 29일
0

독학

목록 보기
2/102
post-thumbnail
  • 데이터를 주고받는 주체는 애플리케이션

  • 피어투피어 애플리케이션: 서버를 거치지 않고 클라이언트끼리 직접 데이터를 주고받는 애플리케이션(ex SNS의 메신저)

  • 통신에 필요한 규칙을 프로토콜이라고 하고 프로토콜의 집합을 네트워크 아키텍처라고 한다. 서로 같은 언어로 대화하는 것처럼, 컴퓨터끼리의 통신에서도 같은 네트워크 아키텍처를 이용할 필요가 있다.

  • 네트워크의 공통언어는 TCP/IP
    ( = 네트워크의 아키텍처로서 TCP/IP를 사용한다.)

  • TCP/IP로 통신하는 PC와 스마트폰 등을 호스트라고 한다.

    출처: https://www.ibm.com/support/knowledgecenter/ko/ssw_aix_71/com.ibm.aix.networkcomm/tcpip_protocols.htm

  • 주요 프로토콜 :
    네트워크 인터페이스층 - 이더넷, 무선LAN(wifi) 등
    인터넷층 - IP, ICMP, ARP 등
    트랜스포트층 - TCP/UDP
    애플리케이션층 - HTTP, SMTP, POP3, DNS 등
    → 각 계층에 포함된 프로토콜을 조합해 애플리케이션이 통신한다.

  • 각 프로토콜의 처리를 하기 위한 제어정보를 헤더라고 한다.

  • 데이터 송수신 규칙: 캡슐화(데이터에 헤더 추가), 역캡슐화(헤더 제거, 다른 프로토콜에 처리를 넘기는 것)

  • IP(Internet Protocol)의 역할: '엔드투엔드 통신'을 하는 것
    pc→pc 데이터를 전송하는 역할

  • 데이터를 전송하기 위해서 데이터에 IP헤더(에서 가장 중요한 것은 IP주소)를 추가해 IP패킷을 만들어야 함.

  • 목적지가 다른 네트워크에 있을때는 라우터가 IP패킷을 라우팅한다.

  • TCP/IP통신에서는 IP주소(데이터의 출발지와 목적지)를 반드시 지정해야 한다.

  • IP주소 표기는 8비트씩 4개로(총 32비트) 0~255 사이의 10진수로 변환하고 '.'로 구분

  • 32비트 IP주소의 어디까지가 네트워크부인지 명시한 것이 서브넷 마스크(연속한'1', 연속한'0')

  • ICMP(Internet Control Message Protocol)로 IP에서 데이터를 정상적으로 전송할 수 있는지 확인한다.
    어떤 이유로 IP패킷이 폐기되면, ICMP 도달불능 메시지로 출발지에 통보한다.

  • ping 커맨드로 ICMP 에코 요청/응답 메시지를 보내서, 지정한 IP주소와 통신할 수 있는지 확인한다. ping 커맨드는 네트워크 연결 문제를 해결, 테스트 및 진단하는 데 가장 많이 사용되는 도구 중 하나이다.

  • ARP: IP주소와 MAC주소를 대응시킨다.

  • TCP: 확실하게 애플리케이션의 데이터를 전송, 전송하고 싶은 애플리케이션의 데이터에 TCP헤더를 추가해 TCP세그먼트로서 전송한다. 필요하면 TCP로 데이터를 분할한다. TCP로 데이터를 분할하는 크기를 MSS(Maximum Segment Size)라고 부른다.

  • UDP: 애플리케이션에 데이터를 배분하기 위해 이용하는 프로토콜, IP전화의 음성 데이터와 같은 실시간 데이터 전송을 할 때 UDP를 이용한다. UDP에는 크기가 큰 데이터를 분할하는 기능도 없다.

  • 웹브라우저와 웹서버 애플리케이션은 HTTP를 이용해 웹페이지 파일을 전송한다.

  • 프록시 서버는 웹 접속을 대신하는 서버다.(기업에서 관리를 위해 도입) 클라이언트 PC의 웹브라우저에서 프록시 서버에 접속할 때에는 TCP 포트 번호 8080을 사용하는 경우가 많다.

  • 웹사이트를 볼 때 흐름: 웹브라우저에서 URL을 입력 → 웹서버의 IP주소를 해석 → TCP 커넥션 확립 → HTTP리퀘스트 전송과 HTTP리스폰스 전송

0개의 댓글