42 CURSUS / NETWHAT

2021. 5. 23. 00:0242 SEOUL/42 cursus

코딩은 정답이 없지만, 이론은 정답이 있다.

정석대로 공부 ㄱ

what is?

Netwhat will allow you to discover the network and to learn about its inner workings. This will allow you to understand how some things work that you already use in your everyday life.

 

>> Netwhat은 네트워크를 발견하고 내부 작동 원리를 알 수 있게 해 주고, 그로 인해 이미 매일 사용되고 있는 것들을 이해하게 해 준다고 함.

 

General instructions Netwhat is a multiple choice project. This project will evaluate your network knowledge. You can start by reading network lessons on the internet. After that you can use online quizes to test your knowledge. Once you’ve done that and you feel that you are ready to pass our quiz, you can go to: netwhat.42.fr.

 

>> N지선다 프로젝트인 넷왓은 네트워크 지식을 평가하며, 온라인 퀴즈를 통과하면 저 링크로 갈 수 있대요

 

Mandatory part

    • first of all, you should know a few things:

    첫째로 하기의 탭을 알아야 함!

◦ What is an IP address

◦ What is a Netmask

◦ What is the subnet of an IP with Netmask

◦ What is the broadcast address of a subnet

◦ What are the different ways to represent an ip address with the Netmask

◦ What are the differences between public and private IPs

◦ What is a class of IP addresses

◦ What is TCP

◦ What is UDP

◦ What are the network layers

◦ What is the OSI model

◦ What is a DHCP server and the DHCP protocol

◦ What is a DNS server and the DNS protocol

◦ What are the rules to make 2 devices communicate using IP addresses

◦ How does routing work with IP

◦ What is a default gateway for routing

◦ What is a port from an IP point of view and what is it used for when connecting to another device

 

    • Go to the website: netwhat.42.fr. This site will provide access to the network quiz.

 

    • Once connected, you will have access to the quiz interface. You can only pass it once per try, and you will have to retry the project to be able to retry the quiz. At the end an encrypted key will be generated. This key will be used during your evaluation (see Turn-in and peer-evaluation).

 

To submit your work, paste the key, without modifying it, in a file answer.txt in the root of your git repo. Your evaluator will use that key to verify your answers during defence.

>> 과제를 제출하고, 정답을 수정하지 말고 answer.txt에 복사해서 깃에 제출, 평가받으면 됨!

 


What is Data?

 네트워크란 쉽게 데이터를 주고받을 수 있는 물리적 혹은 추상적(가상)의 망을 통해 정보를 서로 공유하고, 상호 정보 교환을 함을 뜻한다.

이 교환되는 정보인 데이터는 크게 화상(영상), 음성, 텍스트 등이 있다.

What is Network?

 국제 전기 전자 공학회(IEEE)에서 정의한 Network란 몇 개의 독립적인 장치가 적절한 영역 내에서 적당히 빠른 속도의 물리적 통신 채널을 통하여 서로가 직접 통신할 수 있도록 지원해 주는 데이터 통신 체계이다.

 네트워크는 논리적 네트워크와 물리적 네트워크로 나뉘게 되는데,

 물리 네트워크는 디바이스를 케이블을 이용하여 직접적으로 통신이 가능한 형태의 네트워크이고, 논리 네트워크는 물리적 연결 외에 IP, 또는 Mac Address를 통해 통신하는 형태를 이야기한다.

 쉽게 말해, 물리적 네트워크는 PC방, 사무실에서 케이블로 연결되어 있는 디바이스들의 물리적 실체(ex - LAN)이고, 논리적 네트워크는 이러한 다수의 물리적 네트워크들의 전체 또는 부분을 연결하는 추상적(ex- Internet network)인 개념이며, 해당 가상의 구조의 네트워크 작업을 물리적인 작업으로 변환시켜주는 개념이 네트워크 인터페이스이다.

 

Types of Network

네트워크는 크게 전송되는 방식, 연결 형태, 망의 규모, 통신 방법 등으로 구분된다.

  • 전송 방식에 따른 구분
    • 아날로그 전송 - 음성, 화상, 텍스트 등의 데이터를 신호의 크고 작음으로 구분해 진폭(AM), 주파수(FM), 위상(PM) 변조를 통해 전송하는 방식이다.
    • 군, 무전, 라디오 등에서 자주 사용하는 AM과 FM과 다르게 익숙하지 않은 PM은 FM과 같이 각(angle) 변조를 이용하며, 고속 통신에 도움이 되지만, 경제적인 부분에 있어 비용이 많이 들며, 사용 주파가 저주파일 때는 FM이 더욱 안정적이라, 사용한다고 하면 저주 파단에서는 FM, 고주 파단에서는 PM 변조 방식을 사용한다.
    • 디지털 전송 - 아날로그 신호를 부호화, 암호화, 변조 등을 거쳐 디지털 신호로 바꾸어 보낸 뒤, 다시 수신자가 복조, 해독, 복호화 등을 통해 듣거나 볼 수 있는 가청, 가시영역의 신호로 다시 변화해 사용하는 전송 방식을 뜻한다.
    • 사용 주파의 경우 디지털 전송을 위해 필요한 주파의 frequency는 아날로그에 비해 고주파를 필요로 하지만, 암호화 작업을 통해 실제로는 더욱 전송이 용이하다.
  • 연결 형태(Topology, 망 구성 방식)에 따른 구분
    • 성형 - 별 모양의 연결 방식이며, 여러 대의 회선을 중앙의 제어 노드로 보내 필요한 곳으로 보내주는 방식이다. 새로운 회선의 추가나 이전이 쉽고, 고장 및 점검이 쉬우나, 중앙 제어 노드가 고장 나면 모든 회선이 통신 불능 상태가 된다.
    • 버스형 - 하나의 중앙 회선을 모든 노드가 공유하며, 관리가 용이하고 경제적이나, 회선이 늘어나 트래픽이 늘어나면 속도가 급격히 저하될 수 있다는 단점이 있다. 보통 LAN 방식에서 많이 사용하며, 사용이 용이해 작은 네트워크 구성에 사용하기 용이하다.
    • 링형 - 노드들을 원형으로 잇는 링크로써 단방향으로 데이터를 전송하며 데이터가 해당 노드가 받을 데이터라면 더 이상 전송을 하지 않고, 해당 노드의 데이터가 아니라면 인접 노드로 데이터를 전송하게 된다. 노드들의 확장이나 구조 변경이 상대적으로 어려우며, 한 노드에 문제가 생기면 전체가 마비될 수 있기 때문에, 보통 다중 링 형태의 구조를 사용한다.
    • 트리형 - 여러 노드를 스위치와 허브로 연결하여 사용하며, 제어가 간단하여 구조 변경이나 확장이 용이하지만, 중앙 노드의 병목 가능성이 있고, 중앙 지점에 문제가 생겼을 때 대체할 방법이 없다면 전체가 마비되게 된다.
    • 그물망 형 - 중앙의 제어 노드 대신 각 노드 간 point to point 방식으로 연결한다. 장애 발생 시 대체 경로로 우회 전송이 가능하며, 고장의 발견이 용이하며 노드에 문제가 생겨도 다른 노드에 미치는 영향이 매우 적으나, 선로 구성, 설치 등이 상대적으로 매우 비싸다.
  • 망의 규모에 따른 구분
    • PAN(Personal Area Network) - 개인 작업 공간을 중심으로 배치된 기기들의 연결을 의미하며, 무선 통신으로 보통 블루투스, irDA(적외선 통신), 유선 통신으로 USB 등을 통하여 연결된다. (보통 <10m의 규모를 뜻함)
    • LAN(Local Area Network) - 근거리 네트워크로 가까운 거리에 있는 집, 학교, 회사들을 묶는 고속의 통신 방식이다. 여러 가지 방식의 랜이 있지만 보통 이더넷 또는 Wi-Fi를 통한 방식이 일반적이다. (보통 <150m의 규모를 뜻함)
    • WAN(Wide Area Network) - 광대역 네트워크를 뜻하며, LAN과 LAN, MAN(도시망)과 MAN 등을 잇는 역할을 한다. 근거리 통신망의 유저가 다른 근거리 통신망의 유저와 연결되게 하는 역할로 볼 수 있다. (보통 <150km 혹은 그 이상의 규모)
  • 통신 방법에 따른 구분
    • 회선 교환 방식 - 전화번호 등 발신 기기의 정보를 통해 착신 기기까지의 회선을 설정한 뒤, 교환기를 통해 데이터를 전송하는 방법으로 유선 전화망이 대표적
    • 패킷 교환 방식 - 모든 데이터가 단일 회선을 통해 전달되는 회선 교환 방식과 다르게 패킷 교환 방식은 인덱스와 데이터, 목적지가 담긴 패킷이라는 단위로 잘게 쪼개 라우터에서 망의 혼잡도, 대역폭 등 여러 상황을 계산하여 적정 경로로 보내줌

호스트, 노드, 서버, 클라이언트의 개념과 차이

 네트워크란 위에 설명했듯 논리적, 물리적으로 연결된 통신 체계이다.

그렇다면 해당 네트워크를 구성하는 개체들은 어떻게 다른지 알아보도록 하자

 

※ 노드 > 호스트  > 서버 <=> 클라이언트

 

 노드란 네트워크 공간 상에 있는 모든 장치를 뜻하며, 노드에는 네트워크를 직접 이용하지 않고 호스트 간의 통신을 제어하는 허브, 모뎀, 스위치 등도 포함이 된다.

 그런 노드 중 네트워크를 이용하기 위해 네트워크 주소를 할당받은 모든 Devicefmf 뜻한다.

그런 호스트 중 요청에 응답할 수 있는 호스트가 서버가 되고, 그러한 요청을 보내는 호스트가 클라이언트가 된다.

What is IP / TCP?

 IP는 Internet Protocol의 줄임말로 인터넷 상의 노드(컴퓨터)를 찾기 위해 필요한 규약이다. 수억 대의 컴퓨터가 인터넷 상에서 서로 통신을 하려면 각자의 고유 아이덴티티를 나타낼 방법이 필요한데 이것이 IP address이다.

 IP address는 IPv4와 IPv6로 구성되는데, IPv4는 1바이트 10진수 4개로 구성되며 구분자로 '.'이 사용되며, IPv6는 4바이트 16진수 4개로 구성되며 구분자로 ':'가 사용된다. 

ifconfig 명령어를 통해 얻은 IPv6, IPv4의 주소값

IPv4 : IPv6 비교 요약

구분 IPv4 IPv6
주소 길이 32bits 128bits
표시 방법 8비트씩 4부분으로 10진수 표기 16비트씩 8부분으로 16진수 표시
주소 개수 약 43억개 (2^32 - 2) 약 43억^4개 (2^128)
주소 할당 A, B, C 등 클래스 단위로 구분되어진 비 순차적 할당 네트워크 규모 및 단말기 수에 따른 순차적 할당
품질 제어 지원 수단 없음 등급별, 서비스별로 패킷을 구분할 수 있어 품질보장 용이
보안 기능 IPsec 프로토콜 별도 설치 확장 기능에서 기본으로 제공
플러그 앤드 플레이 지원 수단 없음 지원 수단 있음
모바일IP 상당히 곤란 용이
웹 캐스팅 곤란 용이

 

 TCP는 Transmission Control Protocol의 줄임말로, 전송 제어 규약을 뜻하며, 컴퓨터 간의 일련의 데이터를 안정적이고, 순차적으로, 에러 없이 교환할 수 있도록 한다.

이러한 TCP 프로토콜은 크게 3가지 흐름으로 구분되는데, 1. 연결 생성 -> 2. 데이터 전송 -> 3. 연결 종료이다.

 

 이러한 두 가지의 큰 규약을 TCP/IP라고 부르는데, 크게 4개의 계층으로 보자면 다음과 같다.

4. 응용 계층 TCP, UDP로 온 데이터를 받아 구현하며, FTP, HTTP, SSH 등이 있다.
3. 전송 계층 TCP, UDP가 전송 계층에 속하며, 응용 계층과 데이터그램(데이터의 기본 단위) 통신을 제공
2. 인터넷 계층 주된 계층으로 IPv4, IPv6가 있으며, 인터 네트워킹 메소드, 프로토콜, 사양 등이 있다. 어드레싱, 라우팅 등 제공
1. 링크(물리) 계층 PPP(Point to Point Protocol, Mac(Media Access Control) 등 물리적 연결끼리의 메소드, 규약

 

Classes of IP address

 상기한 것처럼 IP는 각각의 Host들을 구분하기 위해 사용되며, 부여받은 IP는 자기 고유의 IP로 다른 사람이 사용할 수 없다.

 하지만 IPv4의 사용 가능한 IP 수는 약 43억 개로 모든 Host에게 고정 IP를 할당하게 된다면 IP가 심각하게 부족해지기 때문에, DHCP 서버를 이용해 일반 가정에서는 유동 IP를 부여해 전원이 OFF 되면 IP를 회수하는 방식으로 사용한다.

 이러한 IPv4는 IP주소를 체계적으로 관리하기 위해, Network ID를 통해 한 Network의 범위를 지정하고 그 안에서 Host ID를 통해 호스트의 개별적인 관리를 위해 사용한다. 따라서 우리가 알고 있는 xxx.xxx.xxx.xxx의 IP주소는 Network ID와 Host ID가 합쳐진 개념이라고 보아도 무방하다.

 이러한 Network ID와 Host ID를 구분하기 위해, IPv4 주소에는 클래스라는 개념이 있고, 이 클래스의 개념을 통해 네트워크 영역과 호스트 영역을 구분할 수 있다.

각각의 클래스는 A ~ E까지 구분되어 있는데, 우리는 비트 연산, octet1의 확인 등을 통해 클래스를 구분할 수 있다.

 

  • CLASS A : 비트 값 - 00000000 00000000 00000000 00000000 ~ 01111111 11111111 11111111 11111111
    • 할당 범위 : { 0.0.0.0 ~ 127.255.255.255 }
    • 네트워크 주소 : 0 ~ 127
    • 호스트 주소 : 0.0.0 ~ 255.255.255
  • CLASS B :  비트 값 - 10000000 00000000 00000000 00000000 ~ 10111111 11111111 11111111 11111111
    • 할당 범위 : { 128.0.0.0 ~ 191.255.255.255 }
    • 네트워크 주소 : 128.0 ~ 191.255
    • 호스트 주소 : 0.0 ~ 255.255
  • CLASS C : 비트 값 - 11000000 00000000 00000000 00000000 ~ 11011111 11111111 11111111 11111111
    • 할당 범위 : { 192.0.0.0 ~ 223.255.255.255 }
    • 네트워크 주소 : 192.0.0 ~ 223.255.255
    • 호스트 주소 : 0 ~ 255
  • CLASS D : 비트 값 - 11100000 00000000 00000000 00000000 ~ 11101111 11111111 11111111 11111111
    • 할당 범위 : { 224.0.0.0 ~ 239.255.255.255 }
    • 네트워크, 호스트 구분 없으며 multicast 용도로 사용
    • 하지만 IP 멀티캐스팅 방식은 잘 사용되지 않고, IRC(Internet Relay Chat)등의 방식이 선호됨
  • CLASS E : 비트 값 - 11110000 00000000 00000000 00000000 ~ 11111111 11111111 11111111 11111111
    • 할당 범위 : { 240.0.0.0 ~ 255.255.255.255 }
    • 네트워크, 호스트 구분 없으며 연구용으로 사용

 위의 상기해놓은 것처럼 호스트 주소의 범위가 있어도 호스트 주소의 비트가 모두 0일 경우에는 네트워크 주소를 표현하기 위해 사용되며, 모두 1일 경우에는 브로드캐스트 주소로 사용되기 때문에 호스트 범위의 경우의 수에서 -2개를 빼야 실제 호스트 주소의 가능한 경우의 수가 도출된다.

 

What is Netmask?

 위의 클래스에서처럼 네트워크를 분산해 사용할 때 각각의 네트워크를 구분하기 위해 사용하는 비트로, AND 연산을 하여 네트워크 주소를 얻기 위해 사용하며 IP Address와 같이 32bit 2진수이다.

 해당 네트워크의 정책 클래스 (CLASS A = /8, CLASS B = /16, CLASS C = /24 등)을 벗어나 네트워크를 통합하는 개념을 Supernet, 효율적으로 잘게 쪼개 사용하는 것을 Subnet으로 통칭한다.

 즉, 서브넷은 네트워크를 분할하는 단위이며 라우터를 거치지 않고 서로 접근이 가능한 Host 들의 집합이다.

 

Ex) 192.168.10.0 /24 => 192.168.10.1 /25 ( 서브넷 ), 서브넷 마스크는 11111111.11111111.11111111.10000000로 (255.255.255.128이 됨)

       192.168.10.0 /24 => 192.168.10.1 /23 ( 슈퍼넷 ), 슈퍼넷 마스크는 11111111.11111111.11111110.00000000로

(255.255.254.0이 됨)

 

 추가로 덧붙이자면, 넷마스크는 클래스로 네트워크를 구분하던 과거에 썼던 방식으로, Classless Inter-Domain Routing - CIDR 기법 (IP Address 뒤에 /bits를 붙임)이 나온 후로는 쓰이지 않으나, 기본 서브넷 마스크(Default subnet mask)와는 다른 거라 짚고 넘어가는 것이 좋을 것이라 생각했다.

 

What is the broadcast address of a subnet?

 브로드캐스트 주소란 해당 네트워크에 속하는 모든 호스트들이 가진 주소로, 해당 네트워크의 모든 호스트에게 데이터를 전송하기 위해 존재하는 주소를 뜻하며, ARP, DHCP, RIP 등의 프로토콜에 사용된다.

 해당 주소는 서브넷 마스크의 0인 부분을 모두 1로 바꾸어 계산할 수 있다.

 예를 들어 192.168.10.1 /25인 IP 주소의 네트워크 주소는 192.168.10.0이 되며, 브로드캐스트 주소는 192.168.10.127이 된다.

 

What are the different ways to represent an ip address with the Netmask?

 넷마스크로 IP 주소를 표시하는 다른 방법!

 상기해둔 것처럼 넷마스크로 IP 주소를 곱 연산하여 Dotted Demical, binary 방식으로 표현할 수 있으며, 서브 넷팅을 해 네트워크를 분할해 사용한다면, CIDR방식을 사용하여 서브넷의 주소를 표시할 수 있다.

 

What are the differences between public and private IPs ?

공인(public) IP와 사설(private) IP는 공급자와 할당 대상, 고유성, 공개 여부 등에 따라 다르며 그 차이는 다음 표와 같다.

  공인 IP (Public IP) 사설 IP (Private IP)
할당 주체 ISP (인터넷 공급자, Internet Service Provider) 라우터 (공유기)
할당 대상 개인, 회사의 서버 (라우터) 개인 또는 회사의 기기
고유성 인터넷 상의 유일한 주소 하나의 네트워크 안에서 유일 (다른 네트워크에서 중복 할당 O)
공개 여부 내 / 외부 접근 가능 외부의 접근 불가능

 위 표 중 공인 IP를 공급하는 할당의 주체인 ISP는 인터넷 접속 서비스, 웹사이트 구축 및 웹 호스팅 서비스를 제공하는 회사를 뜻하며, 대표적으로 SK 브로드밴드, KT, LG U+등이 이에 속한다.

 이렇게 ISP로부터 공인 IP를 부여받아 라우터(공유기)의 NAT(Network Address Translation)동작을 통해 사설 망으로 다시 배분을 하게 되는데, 하나의 IP 주소를 받아 노트북, 휴대폰 등을 연결해 사용하는 것은 각 IP Class마다 사설망을 위해 예약된 Network Address가 있기 때문이다. 

 대표적으로 

  • 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가 있다.

 외부망에서 내부망으로 들어올 때에는 라우터가 NAT 동작을 통해, 패킷의 목적지를 공인 ip에서 사설 ip(DNAT)로, 반대의 경우에는 사설망의 호스트의 사설 ip를 공인 ip(SNAT)로 변경한 후 전송한다.

 이런 방식을 사용하면, 외부에서는 모든 사설망 내부의 호스트가 같은 IP 주소를 가진 것처럼 보이지만, 라우터는 Port번호의 구분을 통해 해당 서브넷의 Host들을 구분한다.

 

What is TCP ?

 TCP는 UDP와 함께 네트워크의 계층 구조에서 IP를 통해 전달되는 패킷의 오류를 검사하고 재 전송 요구 등의 제어를 담당하는 전송 프로토콜로서 장치들 사이의 논리적인 접속을 성립하기위해 연결을 설정하여 신뢰성을 보장하는 연결형 서비스이다.

 TCP의 특징은 가상 회선 방식을 사용한다는 점인데, 가상 회선 방식은 위에 적어둔 회선 교환 방식과 패킷 교환 방식의 장점을 접목한 것으로 통신 전에 회선이 결정되지만, 그 회선이 논리적으로 이루어진 회선이기 때문에 가상 회선이라 부른다.

 TCP는 3-way handshaking 과정을 통해 연결을 확인하고, 데이터 전송을 시작하는데 이는 다음과 같은 일련의 과정이다.

  1. Client에서 Server로 SYN 패킷을 보내 연결을 요청한 후, SYN_SENT상태가 되어 SYN / ACK 응답을 기다린다.
  2. Server에서는 Client의 패킷을 받고 ACK 패킷(SYN 패킷에 대한 확인, SYN++)과 새로운 연결을 요청하는 SYN 패킷을 Client로 보내고 SYN_Received 상태가 되어 응답을 기다린다..
  3. Client는 Client->Server의 연결이 되었음을 확인하고, Server->Client로 요청한 연결을 확인한 후 Server에게 ACK 패킷 전송하면 Established 상태가 되어, 연결이 된다.

 다음으로 연결을 해제할 때에는 4-way handshaking이라고 불리는 다음과 같은 과정을 거친다.

  1. Client에서 연결을 종료하겠다는 FIN 플래그를 전송한다.
  2. Server에서는 클라이언트의 요청을 받고 ACK 플래그를 전송한 후 데이터를 모두 보낼 때까지 잠시 TIME_OUT이 된다.
  3. 데이터를 모두 보내고 통신이 끝났다면 연결이 종료되었다고 Client에게 FIN 플래그를 전송한다.
  4. Client는 FIN 메세지를 확인했다는 ACK 플래그를 전송한다.
  5. 클라이언트의 ACK 메세지를 받은 서버는 소켓 연결을 CLOSE하고, 클라이언트는 서버로부터 받지 못한 데이터가 있을 것을 대비해 일정 시간동안 잉여패킷을 기다리는 과정을 거친다(TIME_WAIT)

 이 외에도 흐름 제어 및 혼잡 제어를 통해 데이터의 속도를 조절해 수신자의 버퍼 오버플로우나 패킷 과다를 통제하거나 전이중(동시 & 양방향), 점대점 방식이라는 특징이 있다.

What is UDP ?

 이와는 다르게 UDP는 User Datagram Protocol의 약자로 독립적인 관계를 가지는 패킷인 데이터그램을 일방적으로 보내는 통신 규약으로, 비 연결형 서비스이며 정보를 주고 받을 때 상호 신호 절차를 거치지 않으며, UDP 헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다. 단점으로는 전송 순서의 보장이 안된다는 점과 수신 여부의 확인 등의 이유로 데이터의 신뢰성이 낮다는 점이 있지만, 1 : N, N : M 통신이 가능한 점, TCP보다 빠른 속도로 인해 신뢰성보다는 연속성, 성능이 중요한 스트리밍 서비스에 주로 사용된다.

 

What are the network layers ?

네트워크 레이어는 다음 나올 OSI 7계층 모형 중 3계층으로, 중간 라우터를 통한 라우팅을 포함한 패킷 포워딩을 담당하는 IP가 주로, IP Address를 통해 Mac Address를 읽어오는 ARP(Address Resolution Protocol) 등이 있다.

What is the OSI model ?

 네트워크 작업에서 쓰이는 프로토콜을 기능별로 나눈 것으로 추상형 네트워킹 모델과, 그에 대응하는 프로토콜의 집합이 OSI 모델을 구성.

 각 레이어마다 하나의 엔티티가 기능을 구현하고 있으며, 각 엔티티는 자신의 하위 계층과만 통신하며, 하위 계층은 상위 계층에게 기능을 제공한다.

 계층은 최하위 계층부터 다음과 같다.

  1. 물리적 계층 : 네트워크의 기본 네트워크 하드웨어 전송 기술을 이루며, OSI Architecture에서 가장 복잡한 계층으로 간주됨.
  2. 데이터 링크 계층 : 점대점 간 신뢰성있는 전송을 보장하기 위한 계층으로 물리적 계층에서 발생할 수 있는 오류를 찾아내고, 수정하는데 필요한 기능적, 절차적 수단을 제공함. 이더넷 등이 있으며 네트워크 브릿지 , 스위치 등이 이 계층에서 동작함
  3. 네트워크 계층 : 여러 노드를 거칠때마다 경로를 찾아주는 역할을 하는 계층으로 라우팅, 흐름 제어, 인터네트워킹, 오류 제어 등의 역할을 하며, 논리적인 주소 구조(IP)를 가지며 계층적이다.
  4. 전송 계층 : 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있도록 해 준다. TCP, UDP 등이 여기에 속한다.
  5. 세션 계층 : 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다. 동시 송수신, 전이중 방식의 통신과 그에 따른 체크 포인팅, 유휴, 종료 과정 등을 수행하며 유저간의 동기화, 오류 복구 등을 일괄적으로 다룬다.
  6. 표현 계층 : 부호화, 암호화, 인코딩 등의 동작을하며, 사용자의 명령어를 수행하며 결과를 표현
  7. 응용 계층 : 응용 프로세스와 관계하여 관련된 응용 서비스들 사이의 전환을 제공하며, UI, I/O 등이 응용 계층에 포함된다.

What is a DHCP server and the DHCP protocol ?

DHCP 프로토콜이란 동적 호스트 구성 프로토콜 (Dynamic Host Configuration Protocol)의 약자로, TCP / IP 환경의 통신망에서 IP 주소의 일률적 관리 서비스를 제공, 자동 설정하게 해주는 역할을 하며, 할당된 IP 주소에 임대 기간을 설정할 수 있으며, DHCP 서버는 클라이언트에게 할당된 IP 주소를 변경없이 유지해 줄 수 있음.

 

DHCP의 동작 원리는 크게 4단계로 나뉘어 단말과 서버 간의 통신이 이루어진다.

  1. DHCP Discover : 단말과 DHCP 서버간의 브로드캐스트 메시지를 통해, 단말 장비가 DHCP 서버에 아이피 주소 할당을 요청한다.
  2. DHCP Offer : DHCP 서버에서 단말로 브로드 캐스트 메시지 혹은 유니캐스트(정보를 전송하기 위한 프레임에 자신의 MAC 주소와 목적지의 MAC 주소를 첨부하여 전송, 자신의 MAC 주소와 비교해 같지 않다면 프레임을 버리고 같다면 처리)를 통해 이루어지며, 단말에서 요청한 아이피 주소 정보를 포함한 네트워크 정보의 할당 요청을 받아 IP 주소 정보와 단말의 MAC 주소 정보 등을 네트워크 정보와 함께 같이 전송함.
  3. DHCP Request : 단말에서 DHCP 서버로 다시 메시지가 교환되며, 2번에서 받은 IP 주소를 사용하겠다는 것을 서버로 보내 확정(ACK)을 받기 위한 메시지이다.
  4. DHCP Ack : 3번에서 온 메세지의 플래그가 1이라면 Ack 메세지를 브로드캐스트로, 0이라면 유니캐스트로 보낸다.

이러한 DHCP의 특징으로는 주어진 주소가 일정 시간동안만 유효하도록 하는 "임대" 개념이며, 임대시간으로 인해 사용 가능한 IP의 주소의 개수보다 많은 컴퓨터가 있는 환경에서도, IP 주소의 임대시간을 제어하여 네트워크를 동적으로 재구성 할 수 있다.

여담으로 이 "임대"라는 개념이 BootP 프로토콜과의 구분을 짓는 기준이 된다.

 

What is a DNS server and the DNS protocol

Domain name system, DNS라고 하며 사람이 읽을 수 있는 이름을 IP 주소로 변환하여 컴퓨터가 서로 통신할 수 있고, 사용자에게 시각화해 보여줄 수 있게 해주는 서비스 유형이다. 

이러한 DNS 시스템은 다음과 같은 단계를 거친다.

  1. 사용자가 도메인 이름을 주소창에 입력한다.
  2. ISP(서비스 제공 업체)에서 제공하는 DNS 해석기로 라우팅하여 DNS 루트 이름 서버와 .com 도메인의 이름 서버에 전달한다.
  3. ISP의 DNS 해석기는 이름 서버에 요청을 전달함
  4. 이름 서버는 호스팅 영역에서 해당 주소에 대한 레코드를 찾아 웹 서버의 IP 주소를 받고 다시 DNS 해석기로 반환
  5. ISP의 DNS 해석기가 사용자에게 필요한 IP 주소를 확보하게 되고, 해석기는 이 값을 브라우저로 반환

ICMP : Internet Control Message Protocol의 약자로 TCP / IP에서 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜이다. 핑을 보내 연결이 잘 되어있는지, 연결이 되어있다면 어느 정도의 응답시간을 가지는지 등을 알 수 있었다.

 

NTP : Network time protocol로 컴퓨터 시스템 간 시간 동기화를 위한 네트워크 프로토콜이다. 

 

SNMP : Simple Network Management Protocol로 TCP / IP에서 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜이다.  IP에는 오로지 패킷을 목적지에 도달시킨 내용들로 구성되어 있으나, 전달해야 할 호스트가 꺼져있거나 연결이 단절되어있을 경우 IP에 없는 에러의 처리를 보완하기 위한 프로토콜로, 핑을 통해 상대 컴퓨터의 상태를 확인 후 에러메세지를 반환함

 ICMP와 역할이 겹치는데, 네트워크의 발달로 호스트 수가 증가하고 네트워크의 구성 또한 복잡해지며 새로운 프로토콜이 요구되었고, 이에 SNMP가 표준이 됨.

 SNMP는 네트워크의 구성 관리, 성능 관리, 장비 관리, 보안 관리 등의 목적을 수행할 수 있다.

 

SMTP : 간이 우편 전송 프로토콜(Simple Mail Transfer Protocol)로 전자 우편을 송신하고 수신하는 데 사용되는 TCP / IP 프로토콜로 POP3, IMAP 등과 함께 사용되어 메세지를 서버 메일함에 저장하고 사용자를 위해 서버에서 주기적으로 메세지를 받음

 

ARP : (Address Resolution Protocol) IP 주소를 물리적 주소로 대응하는 프로토콜로 목적지 IP 주소와 브로드캐스팅 물리적 네트워크 주소(FFFFFFFFFFFF)를 가지는 ARP 패킷을 전송해 목적지 IP 주소와 자신의 IP 주소가 같다면 자신의 물리적 네트워크 주소를 응답한다.

 

 

What is a default gateway for routing

Default gateway란 기본적으로 설정된 라우팅 경로로, 외부의 LAN과 통신을 하기위해 첫번째 라우터를 거치는데 이러한 길목 역할을 하는 IP를 게이트웨이라고 한다.

 

What is a port from an IP point of view and what is it used for when connecting to another device

IP를 통해 목적지로 제대로 가더라도 해당 단말기에서는 상당히 많은 프로그램이 동작중이기 때문에, 특정 프로그램에 전달하기 위해 16비트의 포트 번호를 사용하여 Receive할 프로그램을 특정하게 되는데 이런 포트의 범위는 0 ~ 65535까지이다. 

반응형

'42 SEOUL > 42 cursus' 카테고리의 다른 글