- 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 클래스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
- 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
- 데이터의 기술적 개념
-
데이터는 이진법의 숫자, 아주 긴 전기 신호로 전달을 위해 긴 케이블이 필요할 것임
-> 프로토콜이 필요하다!
-
데이터가 전달되기 위해서는 표준화된 어떠한 약속 혹은 절차를 따라야 한다.
-
컴퓨터 간 데이터를 주고 받을 때 알맞게 나누어 전송하고, 수신하여 다시 기존 정보로 변화하는 과정에 어떤 모델이 약속되어 있음
- 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