[netwhat]
이번 포스트는 에 관한 내용입니다.
< netwhat 서브젝트 필수 파트 >
◦ What is an IP address
+ What is a class of IP addresses
◦ 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 TCP and UDP
◦ What are the network layers and 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
1️⃣ What is an IP address
- ip주소란? 네트워크 환경에서
컴퓨터(노드)간 통신하기 위해서 각 컴퓨터에 부여된 위치 주소 입니다. 네트워크 주소 +호스트 주소 로 구성되어 있습니다.- IPv4주소는
옥테드.옥테드.옥테드.옥테드
로 표현합니다.(옥테드란 2비트 8자리수를 뜻함)ex) 255.66.213.22
또한 Ipv4주소는
- Ipv4주소 개수는 2^32승(약 43억개)인데 부족하여 Ipv6주소(약43억*43억*43억*43억개)가 생기게 됐습니다.
- Ipv6주소는
16비트. ◦◦◦ .16비트
(8칸)이 16진수로 표현합니다.ex) 2001:0230:abcd:ffff:0000:0000:ffff:1111
2️⃣ What is a Netmask
- 네트워크 주소 부분의 비트를 1로 치환한 것이 넷마스크 입니다.
- IP 주소와 넷마스크를
AND연산 을 하면 네트워크 주소를 얻을 수 있습니다.ex)
A클래스 넷마스크: 11111111.00000000.00000000.00000000 => (/8)
B클래스 넷마스크: 11111111.11111111.00000000.00000000 => (/16)
C클래스 넷마스크: 11111111.11111111.11111111.00000000 => (/24)
3️⃣ What is the subnet of an IP with Netmask
- IPv4에서 클래스를 이용하여 할당하는 방식(넷마스크 이용)은 범위가 한정적이기 때문에 비효율적이였습니다.
- 그래서 IP를 사용하는 네트워크 장치 수에 따라 좀더 효율적으로 사용할 수 있는 서브넷이 등장하게 되었습니다.
- 서브넷은 부분 네트워크를 뜻하고 이 서브넷을 만들 때 쓰이는 것이 서브넷 마스크입니다.
- 예를 들어 C클래스의 네트워크 주소가 24비트인데 넷마스크를 그보다 크게 25비트로 잡는 것이
서브넷 마스크 입니다. 반대로 그보다 적게 23비트로 잡는 것은수퍼넷 마스크 라고 합니다. (하지만 요즘엔 이런식의 구분은 잘 하지않는다고 합니다.) - 할당받을 수 있는 호스트 주소의 가장 첫 주소는 Broadcast주소로 사용되며 가장 끝 주소는 Network 주소로 할당 됩니다.
ex)
IP 주소 : 11011011.11101100.11010110.00010110 = 219.236.214.22
서브넷마스크: 11111111.11111111.00000000.00000000 = 255.255.0.0
———————————————————————-
Network 주소: 11011011.11101100.00000000.00000000 = 219.236.000.000
호스트 ID 범위: 219.236.000.001 ~ 219.236.255.254
Broadcast주소: 11011011.11101100.11111111.11111111 = 219.236.255.255
4️⃣ What are the differences between public and private IPs
-
Public IP(공인) - ISP(인터넷 서비스 공급자)가 제공하는 IP주소입니다.
- 외부에 IP가 공개되어 있어 다른 PC와 상호작용이 가능합니다. 때문에 공인 IP 주소를 사용할 경우 보안프로그램이 필요합니다.
-
Private IP(사설) - 폐쇄형으로 일반 가정이나 회사 내 등에 할당된 네트워크의 IP주소이며, 로컬 IP, 가상 IP라고도 합니다.
- 라우터에 의해 로컬 네트워크상의 PC나 장치에 할당됩니다.
- 외부에서 접근이 불가능합니다.
-
Private IP 주소대역 - 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
5️⃣ What is TCP and UDP
- 신뢰성이 요구되는 곳에서는 TCP를 사용하고 빠른속도가 요구되는 곳에서는 UDP를 사용합니다.
- 하지만 UDP에서는 전송에 대한 보장을 하지않아 패킷 손실이 발생할 수 있습니다.
TCP | UDP | |
---|---|---|
oriented | Connection-oriented protocol (연결지향형 프로토콜) | Connection-less(datagram oriented) protocol (비 연결지향형 프로토콜) |
stream | Connection by byte stream (바이트 스트림을 통한 연결) | Connection by message stream (메세지 스트림을 통한 연결) |
control | Congestion / Flow control (혼잡제어, 흐름제어) | NO Congestion / Flow control (혼잡제어와 흐름제어 지원 X) |
orderd, speed | Ordered, Lower speed (순서 보장, 상대적으로 느림) | Not ordered, Higer speed (순서 보장되지 않음, 상대적으로 빠름) |
전송 보장 | Reliable data transmission (신뢰성 있는 데이터 전송 - 안정적) | Unreliable data transmission (데이터 전송 보장 X) |
packet | TCP packet : Segment (세그먼트 TCP 패킷) | UDP packet : Datagram (데이터그램 UDP 패킷) |
예시 | HTTP, Email, File transfer에서 사용 | DNS, Broadcasting(도메인, 실시간 동영상 서비스에서 사용) |
broad casting(네트워킹) | x(수신확인하며 양방향 데이터 전송) | o(단방향 데이터 전송) |
6️⃣ What are the network layers and OSI model
네트워크 계층 이란 OSI의 3계층으로 데이터를 다른 네트워크를 통해 전달함으로서 인터넷이 가능하게 만들어지는 계층입니다.(라우팅을 이용, IP주소부여로 경로 설정)OSI 모델 이란 개발의 편의성과 이해를 위해 만든 모델로 컴퓨터 네트워크 동작을 설명하는 모델입니다.
계층 이름(layer) | 프로토콜(Protocol), 장비 |
---|---|
응용 계층(Application) | HTTP, FTP, DNS, Telnet, DHCP, SMTP |
표현 계층(Mediation) | ASCII, MPEG, JPEG |
세션 계층(Session) | SSH, TLS |
전송 계층(Transport) | TCP, UDP, ARP, 게이트웨이 |
네트워크 계층(Network) | IP, IPX, ICMP, IGMP 라우터 |
데이터 링크 계층(Data Link) | MAC, Ethernet, FDDI, PPP, 스위치, 브릿지 |
물리 계층(Physical) | Ethernet, RS-232C, 허브, 리피터 |
7️⃣ What is a DHCP server and the DHCP protocol
- DHCP 서버가 IP 주소를 영구적으로 단말에 할당하지않고 임대기간을 명시하여 그 기간 동안만 단말이 IP 주소를 사용하도록 합니다.
- UDP 기반 프로토콜이며 서버가 네트워크 클라이언트에게 IP주소를 실시간으로 부여합니다.
- 포트 번호 67은 DHCP 서버에서 클라이언트 요청을 수신합니다.
- 포트 번호 68은 클라이언트가 DHCP 서버 응답을 수신하는데 사용합니다.
8️⃣ What is a DNS server and the DNS protocol
- DNS(Domain Name System)은 사람이 읽을 수 있는 도메인 이름(예:www.naver.com)을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환하는 것을 말합니다.
8️⃣ What are the rules to make 2 devices communicate using IP addresses
- 라우터란 둘 혹은 그 이상의 네트워크 간 데이터 전송을 위해 최적의 경로를 설정해주며 데이터를 해당 경로를 따라 한 통신망에서 다른 통신망으로 통신할 수 있도록 해주는 인터넷 접속 장비입니다.
- 내부 네트워크는 사용하는 컴퓨터 기종이나 OS, 프로토콜 등을 확실히 알 수 있기 때문에 네트워크의 최적화를 이룰 수 있습니다. 그러나 내부 네트워크를 외부와 연결할 때는 외부 네트워크에서 사용하는 프로토콜이나 컴퓨터 기종 등의 정보를 알 수 없습니다. 이러한 알 수 없는 임의의 네트워크와 내부 네트워크를 연결하기 위한 네트워크 장비가 바로 라우터 입니다.
- 전달하고자 하는 정보를 보다 정확하고 빠르게 보낼 수 있으며 용량이 큰 동영상이나 음성 정보도 인터넷을 통해 무리없이 주고 받을 수 있습니다.
- 대부분의 라우터는 IP 라우팅 기능뿐 아니라 LAN용 프로토콜인 IPX, AppleTalk등의 브리징 기능도 함께한다.
<How does routing work with IP>
출처: http://ojk.kr/study/computer/network/router/router.htm
- 라우터는 패킷의 전송경로를 결정하기 위해 랜테이블, 네트워크테이블, 라우팅테이블을 사용합니다.
- 라우터는 위의 3가지 테이블을 관리함으로써 다른 네트웍에 연결된 장치들을 비롯하여 네트웍에 연결된 모든장치들의 주소를 인식하고 이것을 바탕으로 패킷의 전송경로를 결정합니다.
- 테이블을 가지고 라우터가 동작하는 것을 살펴보면, 같은 네트워크에 있는 장치(컴퓨터..등)로부터 패킷을 보내면 라우터에서는 먼저, 랜테이블에 검사를 합니다. 이곳에서는 패킷의 목적지가 같은 네트워크에 있는지 아니면 다른 네트워크에 있는지를 확인합니다.
- 그리고 나서 네트워크테이블을 검사하여 패킷을 전달한 네트워크주소를 찾아냅니다. 그런 다음 라우팅테이블을 검색하여 가장 적합한 경로를 찾아내서 패킷을 보내게 됩니다.
<What is a default gateway for routing>
참고: 기본 게이트웨이(Default Gateway)와 패킷의 흐름
9️⃣ What is a port from an IP point of view and what is it used for when connecting to another device
- Port(포트)란 호스트 내에서 실행되고 있는 프로세스를 구분짓기 위한 16비트의 논리적 할당 입니다. 0~65536개의 갯수를 가집니다.
- IP주소가 컴퓨터를 찾을 때 필요한 주소를 나타내는 것처럼 포트는 컴퓨터 안에서 프로그램을 찾을 때를 나타냅니다.
- 즉, PC의 IP주소가 192.168.9.15라고 하면 컴퓨터에서 FTP로 자료를 받을때 사용하는 IP와 채팅을 할때 사용하는 IP가 각각의 패킷을 192.168.9.15주소로 보내려고 하면서 혼동이 생길 수 있는데 그 혼동을 없애기 위해서 포트번호가 생겼고 예를 들어 FTP서버에 포트 6000을 할당하고 채팅서버에 포트 6001을 할당함으로서 프로세스를 구분하도록 합니다.