[1 Circle] netwhat

Suffergo·2021년 1월 12일
0

42seoul - 1 Circle

목록 보기
1/4

- IP address가 무엇인가

  • IP 주소란?

    • 컴퓨터 네트워크에서 장치들이 서로 인식하고 통신하기 위해 사용하는 주소
    • IPv4 (32bit) - 일반적으로 사용하는 IP주소 (0.0.0.0 ~ 255.255.255.255)
    • IPv6 (128bit) - IPv4의 고갈로 크기를 128bit로 늘린 IP주소
    • 루프백 주소
      - 호스트 자신을 가리키는 IP 주소 (127.0.0.1)
      • 프로그램을 빠르게 테스트하는 용도로 사용
  • A,B,C 클래스

    • A 클래스 : 하나의 네트워크가 가질 수 있는 호스트 수가 제일 많은 클래스. IP주소를 32자리 2진수로 표현했을 때(1 ~ 126), 맨 앞자리 수가 항상 0인 경우가 바로 A 클래스.

    ex ) 0xxx xxxx ... x는 0 또는 1

    • B 클래스 : 32자리 2진수로 표현하면 반드시 10으로 시작한다. 네트워크의 범위는 128.0.0.0 ~ 191.255.255.255 까지. 주소범위는 2^16 -2 개
    • C 클래스 : 반드시 110으로 시작(192.0.0 ~ 223.255.255.) 주소 범위 2^8 -2
      - (-2)는 네트워크 주소, 브로드캐스트 주소 사용으로 인해 호스트 주소에서 제외
    • D, E 클래스 : D는 멀티캐스트(224~239), E는 미래(240~255).
    • First class has more host addresses available by default.
  • 연습문제 : IP주소 크기

    • What is the size of an IPv4 address? : 32bit
    • What is the size of an IPv6 address? : 128bit
  • 연습문제 : IP주소 클래스 고르기

    • What is the default IP address class available? : C
    • Which IP address class has more host addresses available by default? : A
    • Which of this is not a class of IP address?
      : Class F
    • To the test IP stack on your local host, whici IP address would you ping? : 127.0.0.1

- Subnetting

  • 네트워크 관리자가 네트워크 성능을 향상시키기 위해, 자원을 효율적으로 분배하는 것
  • 즉, 네트워크 영역과 호스트 영역을 분할 하는 것
  • 너무 큰 브로드캐스트 도메인은 네트워크 환경에서 패킷전송을 느리게하고 성능저하를 발생시키기에 네트워크를 쪼개서 통신 성능을 보장한다.
  • 극단적 예로, A클래스는 하나의 네트워크에 16,777,214개의 호스트를 할당할 수 있는데 가정집에 부여하면 큰 낭비 -> 효율적 배분이 필요!

- Subnet mask

  • 여러 조합이 나올 수 있는 IP주소의 대역을 나누기 위한 보조적 성격의 주소체계

  • 서브넷 마스크는 필요한 네트워크 주소만 호스트 IP로 할당할 수 있게 만들어 네트워크 낭비를 방지

  • 32 비트 길이의, 접두어 길이만큼의 1로 시작해서, 나머지는 0으로 채우는 것이고, 4개의 숫자 형태로 표현하는 것

  • 주어진 네트워크 환경에 맞게 브로드캐스트 도메인을 IP 주소에 따라 나누기 위해 씌워주는 이진수 조합

  • 브로드 캐스트 도메인의 범위가 큰 경우 브로드캐스트 대상을 나누는 목적으로 서브넷 마스크를 사용

  • IP 주소를 가지고 어디까지가 네트워크 부분이고 어디까지가 호스트 부분인지 나타내는 역할

  • 서브넷 마스크의 이진수에서 1로 나타낸 부분이 네트워크 부분, 0으로 나타내는 부분이 호스트 부분을 뜻한다.

  • 표기법

    • 2진수 표기일 때, 슬래시 뒤에 '1'인 비트 수를 써서 표기할 수 있다!
    • 255.000.000.000 = 11111111 00000000 00000000 00000000 == /8
    • 즉, 2진수로 표기할 때 1의 갯수
  • 디폴트 서브넷 마스크 : IP 주소 클래스 범위에서 서브넷을 나누지 않고 사용하는 경우 디폴트 서브넷 마스크가 적용된다.

    • C : 255.255.255.0
    • B : 255.255.0.0
    • A : 255.0.0.0
  • CIDR(Classless Inter-Domain Routing)은 클래스 없는 도메인 간 라우팅 기법.

  • 연습문제 : CIDR 표기

    • What is the default subnet mask for a class C network? : 255.255.255.0

- Network/Broadcast address

  • 네트워크 주소 : 하나의 네트워크를 통칭하기 위함

    • 해당 네트워크의 첫번째 IP주소
    • 계산방법 : IP주소와 서브넷 마스크의 AND 연산
  • 브로드캐스트 주소 : 특정 네트워크에 속하는 모든 호스트들이 갖게 되는 주소로 네트워크에 있는 클라이언트 모두에게 데이터를 보내기 위함

    • 해당 네트워크의 마지막 IP 주소
    • 계산방법 : 서브넷 마스크의 '0'인 부분을 모두 1로 바꿈
  • 연습문제 : 네트워크 주소 구하기

    • What is the network address of a host with an IP address of 182.161.121.118/24?
  • 연습문제 : 브로드캐스트 주소 구하기

    • What is the broadcast address of a host with an IP address of ~?

- public && private IP의 차이점

  • 공인 IP 주소 : 공인된 할당기관에서 할당해준 IP주소, 인터넷 상에서 사용할 수 있음
  • 사설 IP 주소 : 내부 네트워크에서만 사용하는 IP주소, 인터넷 상에서 사용할 수 없음 (폐쇄형)
    • 사설 IP주소는 주소대역이 3가지로 고정
    • Class A : 10.0.0.0 ~ 10.255.255.255
    • Class B : 172.16.0.0 ~ 172.31.255.255
    • Class C : 192.168.0.0 ~192.168.255.255
  • 연습문제 : 사설 IP주소 고르기
    • Which of the following proposals is a private IP address? : 범위 보고 선택

- Host address

  • 하나의 네트워크에서 맨 앞의 네트워크 주소(1개)와 맨 뒤의 브로드캐스트 주소(1걔)를 제외한 나머지

  • 연습문제 : 호스트 주소 수

    • What is the maximum number of IP addresses that can be assigned to hosts on a local subnet using the 255.255.128.0 subnet maksk? : IP주소 / 17
    • You have an interface on a router with the IP address of 124.144.156.248/21. Including the router interface, how many hosts can have IP addresses on the local network connected to the router interface?
  • 연습문제 : 유효한 호스트주소 범위

    • Which of the following proposals is the valid host range for the subnet on which thie IP address 158.167.18.156/15 resides? : 네트워크와 브로드캐스트 주소를 제외한 나머지!

- 데이터의 기술적 개념

  • 데이터는 이진법의 숫자, 아주 긴 전기 신호로 전달을 위해 긴 케이블이 필요할 것임
    -> 프로토콜이 필요하다!

  • 데이터가 전달되기 위해서는 표준화된 어떠한 약속 혹은 절차를 따라야 한다.

  • 컴퓨터 간 데이터를 주고 받을 때 알맞게 나누어 전송하고, 수신하여 다시 기존 정보로 변화하는 과정에 어떤 모델이 약속되어 있음

- OSI Model

  • OSI는 Open System Interconnection으로 컴퓨터 네트워크 프로토콜 디자인과 통신을 7개층으로 나누어 설명한 것
  • 계층 구조로 다음 단계로 넘어가려면 이전 계층이 전제조건이 되어야 한다.
구분계층-예시
7응용 계층Application LayerDNS,DHCP,HTTP
6표현 계층Presentation Layer-
5세션 계층Session LayerTLS/SSL
4전송 계층Transport LayerTCP, UDP
3네트워크 계층Network LayerIP,ICMP
2데이터링크 계층Data link Layer이더넷
1물리 계층Physical Layer
  • 연습문제 : OSI 모델 레이어 고르기
    • What are the different layers of the OSI model?
      : Application - Presentation - Session - Transport - Network - Data Link - Physical
  • 1계층 : 물리계층
    • 상위 계층에서 전송된 데이터를 물리 매체(허브, 라우터, 케이블 등)을 통해 다른 시스템에 전기적 신호로 전송하는 역할
    • 즉, 기계어를 전기적 신호로 바꾸어 와이어에 실어준다!
  • 2계층 : 링크계층
    • 네트워크 기기들 사이의 데이터 전송을 하는 역할
  • 3계층 : 네트워크계층
    • 기기에서 데이터그램이 가는 경로를 설정해주는 역할
  • 4계층 : 전송계층
    • 발신지에서 목적지 간 제어와 에러를 관리함
    • 패킷의 전송이 유효한지 확인하고 전송에 실패된 패킷을 다시 보내는 것과 같은 신뢰성 있는 통신을 보장.
    • 주소 설정, 오류 및 흐름제어, 다중화 수행
    • 데이터의 정확성 확인은 TCP, 패킷을 목적지까지 전송하는 일은 IP가 담당
  • 5계층 : 세션계층
    • 통신 세션을 구성하는 계층으로, 포트 번호를 기반으로 연결
    • 통신장치 간의 상호작용을 설정하고 유지하며 동기화한다.
  • 6계층 : 표현계층
    • 받은 데이터를 코드 변환, 구문 검색, 암호화, 압축의 과정을 통해 올바른 표준방식으로 변환해준다.
  • 7계층 : 응용계층
    • 사용자와 바로 연결되어 있으며 응용 SW를 도와주는 계층
    • 사용자로부터 정보를 입력받아 하위 계층으로 전달하고 하위 계층에서 전송한 데이터를 사용자에게 전달

- Application Layer

  • 응용계층은 기반이 되는 전송계층을 사용하여 호스트 간 연결을 확립함

  • DNS(Domain Name System) : google.com(도메인 이름) <-> 127.217.25.78(IP 주소)를 갖고있는 일종의 전화번호부

  • DHCP(Dynamic Host Configuration Protocol) : 동적 호스트 설정 프로토콜, PC 사용자에게 IP주소, 서브넷마스크, 게이트웨이 주소, DNS와 같은 정보를 자동으로 할당해주고, 사용하지 않으면 반환받아 다른 컴퓨터가 사용할 수 있도록 해준다.

  • 연습문제 : DNS/DHCP 특징

    • _Translates Internet domain names and host names into IP Addresses.
      : Domain name system
    • What DHCP protocol dose it use at the transport layer level? : UDP
    • What type of address is supporte by DHCP?
      : IPV4 and IPV6
    • DHCP is used for _
      : Both IPV6 and IPV4
  • IPV6 Address 는 128 bytes.

- Transport Layer

  • 전송계층은 양 단의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해줌

  • TCP(Transmission Control Protocol)

    • 전송 제어 프로토콜, IP와 함께 TCP/IP라고도 불림
    • 일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환할 수 있도록 해줌
    • 사용 : 웹브라우저에서 www연결, 이메일 전송, 파일전송 등
    • 특징 : 연결형 서비스, 흐름제어, 혼잡제어, 신뢰성, 전이중, 점대점,
  • UDP (User Datagram Protocol)

    • 사용자 데이터그램 프로토콜

    • 전송방식이 단순하여 순서가 바뀌거나 중복되거나 통보없이 누락되기도 함

    • DHCP protocol use UDP at the transport layer level

    • 사용 : DNS, IPTV, VoIP, 온라인게임 등

    TCPUDP
    양단 간 연결설정하여 양방향 데이터 전송연결 설정하지 않고 단방향 데이터 전송
    Connection-Oriented protocolDiagram-Oreinted protocol
    브로드캐스팅 X브로드캐스팅 O
    수신확인 O수신확인 X
    정렬을 위해 순서 재조립순서예측 불가
  • 연습문제 : TCP/UDP 특징

    • Which of the following propositions is not true?
      : UDP does not support broadcasting
      : UDP provides extended error checking mechanisms, because it provides flow control and data acknowledgement
      : TCP is a datagram oriented protocol
    • Which of the following services use UDP? 1.DHCP 2.SMTP 3.FTP 4.HTTP
      : 1(DHCP)

- Network Layer

  • 네트워크 계층은 라우팅, 패킷 포워딩을 담당함
  • ICMP(Internet Control Message Protocol)
    • 인터넷 제어 메세지 프로토콜
    • 네트워크 컴퓨터의 OS에서 오류 메세지를 전송받는 데 주로 쓰임
    • 'Echo request', 'Echo reply', 'Destination Unreachable', 'Time Excedded' 등
    • 사용 : 핑(Ping), 트레이스라우트(traceroute)
  • 연습문제
    • Which protocol does Ping use?
      : ICMP

TCP vs UDP

  • 전송계층은 IP에 의해 전달되는 패킷의 오류를 검사하고 재전송 요구 등의 제어를 담당하는 계층

  • TCP(Transmission Control Protocol)은 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프토콜

  • UDP(User Datagram Protocol)은 데이터를 데이터 그램 단위로 처리하는 프로토콜

    • 데이터 그램이란 독립적인 관계를 지니는 패킷이라는 뜻
    • 비연결형 프로토콜로 연결을 위해 할당되는 논리적 경로가 없고, 그렇기에 각가의 패킷은 다른 경로로 전송되고, 각각의 패킷은 독립적인 관계를 지니게 되는데 이렇게 데이터를 서로 다른 경로로 독립적으로 처리하게 된다.
특징TCPUDP
연결 방식Conecction-oriented protocolConnection-less protocol
전송 순서OrderedNot ordered
속도Lower speedHigher speed
신뢰성ReliableUnreliable
사용HTTP, EmailDNS, Broadcasting

- Router란?

  • 라우터(router)는 OSI 7계층에서 네트워크 계층에 포함되는 기기이다.

  • 논리적으로 분리된 망, 혹은 물리적으로 분리된 망 사이를 지나가야 하는 패킷들에게 경로를 뽑아 자기가 아는 최상의 경로를 찾아낸 뒤(물론 안 되는 라우터가 더 많다.) 다른 망으로 패킷을 보내주는 역할을 하는 기계이다.

- 데이터 패킷

  • package 와 bucket의 합성어로 데이터 전송의 단위

출처 : https://github.com/365kim/42_cursus/tree/master/2_netwhat
https://velog.io/@hidaehyunlee

profile
파도가 칠 때는 서핑을

0개의 댓글