그림으로 배우는 네트워크 스터디 1

  • TCP/IP는 통신 프로토콜로 TCP라고 불리는 프로토콜과 IP라고 불리는 프로토콜의 세트이다.
  • TCP/IP 계층

    1. 네트워크 인터페이스층 : 네트워크용 하드웨어에 직접 연결되어 있는 컴퓨터끼리 통신할 수 있도록 하는 기능을 구현

      • 대표적으로 이더넷이 있고 무선을 사용해서 LAN기능을 취하는 Wi-Fi도 이 층의 기능이다.
      • 이층을 구성하는 하드웨어는 각 고유의 MAC주소를 갖는다.
      • 프로토콜

        1. ARP(adress resolution protocol) : ip주소에서 mac주소를 얻는 프로토콜
        2. RARP 역순 주소 결정 프로토콜
    2. 인터넷층 : 네트워크 인터페이스층을 기반으로 중계 등의 기능을 추가해서 직접 연결되어 있지 않는 대상, 즉 다른 네트워크 내의 대상과 통신할 수 있는 기능을 구현한다. 다시 말하면 복수개의 네트워크를 연결하여 서로 패킷을 교환하는 기능을 한다.

      • 이층에서 핵심은 패킷 중계기능이다. 라우팅이라고 한다.
      • 이츠에서는 네트워크에 접속한 컴퓨터를 식별하기 위한 IP주소가 있고 IP는 중복 허용이 되지 않는다.
    3. 트랜스포트층 : 인터넷층이 만들어낸 임의의 컴퓨터끼리의 통신 기능을 기반으로 네트워크의 목적에 따른 특성을 가진 통신을 구현

      • 프로토콜

        1. TCP : 먼저 대상끼리 연결 시켜야 하고, 통신하는 사이 패킷에 문제가 있거나 일부 패킷이 손실되거나 또는 패킷의 순서가 바뀌면 해당 오류를 해결하므로 신뢰도가 높은 통신을 구현하는데 사용된다. HTTP, SMTP 등에 사용된다.

          • 대상이 응답을 하든 일정 범위까지 마음대로 데이터를 보내는 방법을 사용하며 슬라이딩 윈도우 구조로 구현된다.
          • 통신 시작전 3way handshake라고 불리는 방법으로 통신 직전에 준비를 한다.
        2. UDP : 통신의 신뢰도를 높이는 작업은 전혀 하지 않지만 바로 사용할 수 있는 가벼운 통신 기능을 제공한다. 음악 또는 영상 스트리밍, 인터넷 전화 등에 사용된다.
    4. 애클리케이션층 : 개별 어플리케이션의 기능을 구현한다. HTTP, SMTP, POP3, IMAP4등의 프로토콜이 존재한다. - 프로토콜 종류 1. HTTP 2. SMTP : 메일 송신에 사용됨 3. POP3 : 메일읽기에 사용됨 4. IMAP4 : 메일읽기에 사용됨 5. FTP : 파일 전송에 사용됨 6. DNS : 주소 해석에 사용됨 7. NTP : 네트워크 시간 동기화에 사용됨 - 어플리케이션 계층은 인간이 어떤 목적을 이루고자 할 때 사용된다 하지만, 주소 해석에 사용되는 DNS 또는 네트워크 동기화에 사용되는 NTP는 인간이 아닌 컴퓨터가 사용하는 프로토콜이다.
  • 표준규격인 OSI가 만들어졌지만, 너무 복잡하고 어려워 보급되지 않았고 TCP/IP가 간단하여 널리 보급되었다.
  • 레이어별 처리와 패킷

    1. 프로토콜 스택을 구성하는 각 레이어는 아래위로 인접하는 층과 연계해서 통신하고, 데이터를 전송하는 측에서 상위 층에서 받은 데이터를 기반으로 처리하며 그 통신처리에 필요한 각종 정보(헤더)를 데이터 본체 앞에 추가한다.
    2. 수신 받는 측에선 하위층에서 받은 패킷에 포함된 헤더 부분의 정보를 사용하고 헤더를 제거한 후에 상위층으로 넘긴다. 상위층으로 올라갈수록 하위 층의 헤더는 제거되고 송신측에서 전송한 데이터만 남는다.
  • IP Address : IP라고 불리는 프로토콜을 사용하는 네트워크에서 각 컴퓨터를 식별하기 위해 컴퓨터에 부여된 번호. 1. 독립 되어져있는 네트워크에서는 규칙을 따르지 않을 수 있지만 인터넷 규칙에 맞춰서 IP를 할당 하는것이 일반적이다. 2. IP 주소 할당은 계층적이다. 3. IP 주소는 ICANN에서 지역 인터넷 레지스트리에 대해 IP주소의 일정 범위를 할당 받는다.
  • 포트번호는 트랜스포트층에서 TCP 또는 UDP가 제공하는 기능이 대상이 갖고 있는 어떤 기능과 접속할지 지정하기 위해 사용한다.

    1. 컴퓨터 한대가 여러 기능을 가질때 port를 이용하여 어떤 기능을 사용하는지 구분 가능
    2. 0 ~ 1023 까지는 well-known port이다.
    3. TCP 통신에서는 시작할 때 연결하기 위한 대상의 IP 주소에 맞춰 서비스를 특정하는 port를 지정한다.
    4. UDP 통신 또한 대상 IP, 대상 port, 자신의 ip, 자신의 port 이렇게 4개를 사용한다.
  • IP 주소는 인터넷에 접속하는 컴퓨터를 식별하는 기능이 있고 다른 데와 중복되지 않도록 할당되고 전 세계에서 유일한 IP를 공인 IP라고 부르고, 그렇지 않은 것은 사설 IP라고 한다.

    1. 사설 IP는 조직이나 가정등의 내부 네트워크에서 사용하며 어떤 조직과 그 외 다른 조직에서 사설 IP주소가 중복되도 문제없다.
  • IP주소의 클래스와 넷마스크

    1. IP주소는 32개 비트로 표시하며 왼쪽의 네트워크부와 오른쪽의 호스트부로 나뉠 수 잇다.
    2. 네트워크 부는 어떤 네트워크를 특정하는 정보고, 호스트부는 그 네트워크 안에 있는 컴퓨터를 특정한다.
    3. 클래스라는 개념이 있으며, 한개의 네트워크 주소 안에서 몇대의 컴퓨터를 구별할 수 있는지로 나뉘어져 있다.
    4. 네트워크 부를 알고 싶을 때는 넷마스크를 이용한다.

      • 네트워크 부분을 1로 한 비트의 나열을 넷마스크라고 부르며 AND연산을 하면 네트워크 주소를 얻을 수 있다.
  • subnet 과 subnetmask

    1. 네트워크를 분리하여 브로드캐스트가 닿는 범위를 한정하고 장애범위를 최소화 하기 위해 네트워크를 물리적인 배치나 조직등을 단위로 해서 작은 네트워크를 만들고 이를 연결한다.
    2. 작은 네트워크를 나눠 연결하는 구성을 서브넷 화라고 한다.
    3. 호스트 부의 일부까지 네트워크 부로 연장하여 사용한다.
    4. 서브넷 화 하는 경우 넷마스크를 서브넷 마스크라고 하고 네트워크부가 연장되면 서브넷마스크로 연장된다.
  • 브로드 캐스트와 멀티캐스트

    1. 브로드캐스트 : 동일한 이더넷에 접속해 있는 컴퓨터 전체로 데이터를 보내는 통신

      • 255.255.255.255(리미티느 브로드캐스트)로 이더넷 내의 모든 컴퓨터로만 가고 라우터 밖으론 가지 않는다.
      • ip주소의 호스트부 전체를 1로 만든 주소(directed broadcast address) 는 라우터 밖으로도 가지만, 실제로는 거의 전송되지 않으며 이 방법을 금지하는게 좋다.
    2. 멀티캐스트 : 어떤 그룹에 포함된 특정 컴퓨터에 한정해서 데이터를 보내는 것이며, 클래스 D(224.0.0.0 ~ 239.255.255.255)주소가 사용된다.

      • 라우터 전체가 여기에 반응해야할 필요가 있으며 외부로도 전송이 가능하다.
    3. 유니캐스트 : 1:1 통신이다.
  • 허브 스위치

    1. 허브 : 데이터 전송 기능만을 가짐

      • 브로드 캐스트함.
    2. 스위치 : 그 외의 각종 관리 기능(웹 화면의 설정, 내부 정보 읽기 등)이나 vlan기능 등을 가짐.

      • 테이블이 존재하며, 특정 지점으로만 전송.
    3. 허브/스위치는 신설이나 확장에 사용되고 새로 PC나 서버에서 네트워크를 만들 경우 사용됨.
    4. 이더넷을 두개의 허브와 스위치로 연결하면 한개의 이더넷 그룹이 됨.
  • 라우터

    1. 네트워크의 프로토콜인 IP로 IP패킷을 전송
    2. 서로 독립되어 있는 이더넷 네트워크 사이에서 양쪽의 패킷을 중계한다.

      • 독립된 두개의 이더넷으로 연결된 네트워크 가운데에 라우터를 둠으로 통신이 가능해짐

Written by@Zero1
This blog is for that I organize what I study and my thinking, feeling and experience.

GitHub