[1 Circle] netwhat

kuh7753·2021년 1월 12일
0

42seoul - 1 Circle

목록 보기
1/5

- 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 Layer|DNS,DHCP,HTTP|
|6|표현 계층|Presentation Layer|-|
|5|세션 계층|Session Layer|TLS/SSL|
|4|전송 계층|Transport Layer|TCP, UDP|
|3|네트워크 계층|Network Layer|IP,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, 온라인게임 등

    |TCP|UDP|
    |:-:|:-:|
    |양단 간 연결설정하여 양방향 데이터 전송|연결 설정하지 않고 단방향 데이터 전송|
    |Connection-Oriented protocol|Diagram-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)은 데이터를 데이터 그램 단위로 처리하는 프로토콜

    • 데이터 그램이란 독립적인 관계를 지니는 패킷이라는 뜻
    • 비연결형 프로토콜로 연결을 위해 할당되는 논리적 경로가 없고, 그렇기에 각가의 패킷은 다른 경로로 전송되고, 각각의 패킷은 독립적인 관계를 지니게 되는데 이렇게 데이터를 서로 다른 경로로 독립적으로 처리하게 된다.

|특징|TCP|UDP|
|:-:|:-:|:-:|
|연결 방식|Conecction-oriented protocol|Connection-less protocol|
|전송 순서|Ordered|Not ordered|
|속도|Lower speed|Higher speed|
|신뢰성|Reliable|Unreliable|
|사용|HTTP, Email|DNS, Broadcasting|

- Router란?

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

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

- 데이터 패킷

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

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

profile
파도가 칠 때는 서핑을

0개의 댓글