![[42Seoul] Network netwhat](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAdEXh%2Fbtq7ZmvUlir%2FZSWuADGbNdI0DvqGlSCx5k%2Fimg.png)
- 1. IP address
- 1-1. MAC address
- 1-2. IP address vs MAC address
- 2. 넷 마스크 (Net mask)
- 2-1. 넷마스크와 서브넷마스크의 차이
- 3. 서브넷 마스크 (subnet mask)
- 4. 서브넷의 브로드 캐스트 주소는 무엇입니까?
- 5. 넷 마스크로 IP 주소를 표현하는 다른 방법은 무엇입니까?
- 6. 공인 IP와 사설 IP의 차이점은 무엇입니까?
- 7. IP 주소 클래스 란?
- 8. TCP 와 UDP
- 9. 네트워크 계층이란?
- 10. DHCP 서버 및 DHCP 프로토콜이란?
- 11. DNS 서버 및 DNS 프로토콜이란?
- 12. 라우팅은 IP와 어떻게 작동합니까?
- 라우팅 방식으로는
- 라우팅 프로토콜의 개념
- 라우팅 프로토콜 구성
- 13. 라우팅을 위한 기본 게이트웨이란?
- 14. IP 관점에서 포트란 무엇이며 다른 장치에 연결할 때 사용되는 포트
born2beroot 에 대한 것보다는 네트워크를 배우는 게 낫겠다 싶어서 시작한 netwhat 한 번에 통과하겠다는 생각으로 일단 시작한다
아래의 질문은 서브젝트에서 알아야 한다고 지칭된 것으로 이것을 배우고 나서 추가적으로 공부해야 할 것에 대해서 정리를 하려 한다.
◦ IP 주소 란?
◦ 넷 마스크 란?
◦ 넷 마스크가있는 IP의 서브넷은 무엇입니까?
◦ 서브넷의 브로드 캐스트 주소는 무엇입니까?
◦ 넷 마스크로 IP 주소를 표현하는 다른 방법은 무엇입니까?
◦ 공인 IP와 사설 IP의 차이점은 무엇입니까?
◦ IP 주소 클래스 란?
◦ TCP 란?
◦ UDP 란?
◦ 네트워크 계층이란?
◦ OSI 모델이란?
◦ DHCP 서버 및 DHCP 프로토콜이란?
◦ DNS 서버 및 DNS 프로토콜이란?
◦ 2 개의 장치가 IP 주소를 사용하여 통신하도록하는 규칙은 무엇입니까?
◦ 라우팅은 IP와 어떻게 작동합니까?
◦ 라우팅을위한 기본 게이트웨이 란?
◦ IP 관점에서 포트란 무엇이며 다른 장치에 연결할 때 사용되는 포트
1. IP address
IP는 Internet Protocol의 약자로 기기간 네트워크 통신을 할 때 쓰는 프로토콜입니다. 쉽게 말하면 인터넷 검색이나 게임을 할 때나 온라인 쇼핑을 할 때 컴퓨터 기기 간에 통신하는 방식으로 프로토콜에서 기기의 주소를 나타내는 것이 IP주소입니다.
그러한 IP address는 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 고유한 번호로 네트워크에 연결된 장치가 라우터이든 일반 서버이든, 모든 기계는 이 특수한 번호를 가지고 있어야 한다. 각각의 Host들을 구분하여 컴퓨터가 주고받는 데이터를 정확하게 수신, 송신하기 위해 쓰입니다.
IP version 4, IP version 6 오늘날 일반적으로 사용하는 IP 주소이며, IPv4 addresses are 32 bits made up of four octets of 8 bits each 약 43억 가까이 되는 IP 로 구성되어 있는 IP v4는 부족하다 생각되어 128비트로 늘린 IP v6 가 생기게 되었다.
여기서 사용되는 비트는 0과 1의 정보를 나타내는 최소 단위이고, 8비트가 보이면 1바이트가 됩니다. IPv4주소는 4개의 octet(옥텟)은 8개의 비트로 되어 있는 것을 뜻합니다.
네트워크의 종류
- PAN ( Personal Area Network ) : 가장 작은 규모의 네트워크 (Bluetooth)
- LAN ( Local Area Network ) : 근거리 영역 네트워크 (Wi-Fi)
근거리 통신 망을 의미하며 지역적 좁은 범위 내에서 고속 통신이 가능한 통신망. - Man ( Metropolitan Area Network ) : 대도시 영역 네트워크
- Wan ( Wide Area Network ) : 광대역 네트워크 (mobile)
IP address 네트워킹이 가능한 장비를 식별하는 주소, 통신을 하기 위해서는 통신규약(protocol)을 따라야 하는데, 숫자 12개의 고유한 주소를 주어, 인식하고 통신
IPv4 | IPv6 | |
특징 | 멀티캐스트 유니캐스트 브로드캐스트⑵ |
멀티캐스트 유니캐스트 애니캐스트 |
-주소 부족현상이 발생 |
-IP주소의 확장 -호스트 주소 자동 설정 -패킷⑴ 크기 확장 -효율적인 라우팅⑶(규모 조정이 가능) -Flow Labeling⑷ -인증 및 보안기능 -이동성(모바일 IP) |
|
주소체계 | 12개, 4부분으로 나뉨 (구분자 . ) ex) 192. 168. 100. 255 0~255 3자리의 수로 표현(10진수) 한 부분이 총 8비트로 구성 (총 32비트) |
4개씩 8부분으로 나뉨 (구분자 : ) ex) 2001:2300:abcd:ffff:0000:0000:ffff:1111 (16진수로 표현) (총 128비트) |
사용 가능한 주소 | 2의 32승 | 2의 128승 |
패킷(Packet) : 일정한 크기로 분할된 데이터와 제어정보를 포함하는 데이터 블록
패킷 크기 확장 : IPv4의 패킷 크기는 64kbyte로 제한, 임의로 큰 패킷을 주고 받으면서 대역폭이 넓은 네트워크를 더 효율적으로 사용 가능
유니 캐스트 → 1 : 1 통신
멀티 캐스트 → 1 : 특정다수와 통신
브로드 캐스트 → 1 : 불특정 다수와 통신 (단일 노드(라우터)로부터 해당 네트워크의 모든 노드에게 소식(패킷/프레임 등)을 전함)
애니 캐스트 → 어떤 송신자와 가장 가까이 있는 수신자 그룹간의 통신
라우팅 → 패킷에 포함된 주소 등의 상세 정보를 이용하여 목적지까지 데이터 또는 메세지를 체계적으로 다른 네트워크에 전달하는 경로 선택 그리고 스위칭하는 과정
Flow Labeling → 특정 트래픽은 별도의 처리(실시간 통신 등)를 통해 높은 품질의 서비스 제공
IPv4 주소 : 172.30.1.38
네트워크 주소는 172.30(중복이 있는) 이고, 나만의 호스트는 1.38(중복이 없고 유일무이한)
IP주소의 클래스 (A, B, C class)
하나의 IP주소에서 네트워크 영역과 호스트 영역을 나누는 방법이자, 약속이다. 몇 개의 호스트 IP까지 가질 수 있는가에 따라 클래스가 나뉘며, 네트워크 범위가 커질수록 호스트 주소 범위는 작아지는 반비례 관계이다.
구분 | 2진수 시작 (s 네트워크, h 호스트) | 네트워크 시작번호 (개수) | 호스트 범위(개수) |
A클래스 | 0sss ssss. hhhh hhhh. hhhh hhhh. hhhh hhhh | 1 ~ 126 시작 (2^7 - 1개 : 127은 제외) |
2^24 - 2 (네트워크, 브로드캐스트 주소 제외) |
B클래스 | 10ss ssss. hhhh hhhh. hhhh hhhh. hhhh hhhh | 128.0 ~ 191.225 시작 (2^14개) |
2^16 -2 (네트워크, 브로드캐스트 주소 제외) |
C클래스 | 110s ssss. hhhh hhhh. hhhh hhhh. hhhh hhhh | 192.0.0 ~ 223.255.255 시작 (2^22개) |
2^8 - 2 (네트워크, 브로드캐스트 주소 제외) |
D클래스 224 ~239 멀티캐스팅용
E클래스 240 ~ 255 실험 및 연구용
특수 용도의 127.0.0.0핑(Ping)테스트를 통해 자기 자신을 테스트할 때 많이 쓰임 (Loopback 주소대역)
1-1. MAC address
컴퓨터간의 데이터를 전송하기 위해 있는 컴퓨터의 물리적 주소입니다. IP주소간의 통신 각 라우터 hop에서 일어나는 MAC주소와 MAC주소 통신의 연속적인 과정입니다. 한 번 Burning 하면 사용자가 마음대로 바꿀 수 없는 주소로, 물리적인 주소 혹은 하드웨어 주소라고 합니다. 꼭 컴퓨터에만 붙는 것이 아닌 통신 장비 모두에게 붙어있는 것입니다.
통신하고자 하는 상대방의 MAC주소를 모르지만, IP 주소 체계인 계층 구조를 이용해서 해당 MAC address를 찾는 기능을 하는 프로토콜을 ARP(Address Resolution Protocol)라고 합니다.
1-2. IP address vs MAC address

참고 사이트
2. 넷 마스크 (Net mask)
IP 주소의 어느 부분이 네트워크 주소를 나타내고 어느 부분이 기계 주소를 나타내는지를 식별하는 데 사용하고, 네트워크 주소 부분의 비트를 1로 치환한 것으로 IP 주소와 넷마스크를 "& 비트연산자" 통해서 네트워크 주소를 얻을 수 있다
A, B, C 급으로 255.0.0.0, 255.255.255.0 과 같은 것을 넷 마스크라 칭합니다.
2-1. 넷마스크와 서브넷마스크의 차이
IPv4 초창기 시절에 network prefix에 따라 대충 A, B, C 급으로 (고정 크기 8, 16, 24 bit mask) network을 나눠썼는 데요, 좀 비효율 적이었지요. CIDR후 큰 network address를 쪼개면서 subnet mask가 생겨난 것입니다.
3. 서브넷 마스크 (subnet mask)
'서브넷마스크' 라 하면 정책상 클래스보다 잘게 잘랐을 때를 한정하는 넷마스크 용어입니다. IP 주소를 호스트 및 네트워크 주소로 분할하여 IP 주소의 어느 부분이 장치에 속하는지, 어느 부분이 네트워크에 속하는지를 정의한다.

서브넷 마스크는 IP 주소를 네트워크 및 호스트 주소로 분리, "255"주소는 항상 브로드 캐스트 주소에 할당되고 "0"주소는 항상 네트워크 주소에 할당되며, 특수 목적으로 예약이 되어있는 것으로 호스트에 할당할 수 없다. 서브넷 마스크의 목표는 단순히 서브넷 프로세스를 활성화하는 것입니다. 서브넷 마스크는 기본적으로 자체 32 비트 숫자를 사용하여 IP 주소를 마스킹하기 때문에 "마스크"라는 문구가 적용
클래스 A, B 및 C 네트워크에는 자연 마스크 또는 기본 서브넷 마스크가 있습니다.
- 클래스 A : 255.0.0.0
- 클래스 B : 255.255.0.0
- 클래스 C : 255.255.255.0
기본 서브넷 마스크를 기반으로 특정 로컬 네트워크에 필요한 IP 주소의 수와 유형을 결정할 수 있습니다.
서브넷은 단일 물리적 네트워크를 여러 개의 작은 하위 네트워크 또는 서브넷으로 논리적으로 분할하는 기술로, 사용하게 되면 조직에서 새 네트워크 번호없이 서브넷을 추가하여 네트워크 복잡성을 숨기고 네트워크 트래픽을 줄일 수 있습니다. LAN (Local Area Network)의 여러 세그먼트에서 단일 네트워크 번호를 사용해야하는 경우 서브넷이 필수적입니다.
세그먼트
4. 서브넷의 브로드 캐스트 주소는 무엇입니까?
브로드 캐스트 주소는 단일 호스트 대신 특정 서브넷 네트워크에있는 모든 시스템을 대상으로하는 데 사용되는 IP 주소입니다. 즉, 브로드 캐스트 주소를 사용하면 특정 시스템이 아닌 특정 서브넷의 모든 시스템에 정보를 보낼 수 있습니다. 브로드캐스트 주소는 해당 네트워크에 속하는 모든 IP 주소 가운데 맨 마지막 IP주소입니다. 예를 들어서, IP주소가 192.168.120.131이고 서브넷 마스크 주소가 255.255.255.0 이라면, 네트워크의 주소는 192.168.188.0이 되어 브로드캐스트 주소는 192.168.188.255, 호스트로 사용 가능한 것은 254개이다.
이러한 계산은 "& 연산"으로 네트워크 주소를 구한 뒤 마지막 주소를 의미하는 걸로 다른 예를 들어서 IP 192.168.188.120, 서브넷주소 255.255.255.128 라면 브로드캐스트의 주소는 192.168.188.127이 된다. 쉽게 이야기 하자면, 서브넷주소가 0으로 끝나면 0 ~ 255, IP 하나로 간주하고 128로 끝나면 2개로 분리하여 0~127, 128~255 2개로 분리 되는 말이다.
서브넷 주소 | 네트워크 주소 | 호스트 IP | 브로드캐스트 주소 |
255.255.255.128 | 192.168.188.0 | 192.168.188.1 ~ 192.168.188.126 | 192.168.188.127 |
192.168.188.128 | 192.168.188.129 ~ 192.168.188.254 | 192.168.188.255 |
서브넷마스크로 /25 로 표현이 가능하다. 192.168.188.120/25 표기가 되어 있다면 서브넷 주소는 위와 같은 주소이다.
5. 넷 마스크로 IP 주소를 표현하는 다른 방법은 무엇입니까?
There are currently three ways of showing the subnet masks for IPv4 addresses; you can show them in dotted decimal, binary, or classless interdomain routing (CIDR)
일반적으로 위에 표와 같은 10진수, 그리고 2진수로 표현 되는 방법, CIDR 표기법으로 192.168.0.0/16 과 같이 슬래시(/) 뒤에 몇 비트가 접두어인지 쓰게 되는 것으로 가끔 192.168/16 표기하는 경우도 있다.
CIDR(Classless Inter-Domain Routing) 클래스 없는 도메인 간 라우팅 기법으로 1993년 도입되기 시작한 최신의 IP주소 할당 방법
6. 공인 IP와 사설 IP의 차이점은 무엇입니까?
공인 IP 주소는 인터넷을 통해 직접 액세스 할 수 있으며, 인터넷 서비스 제공 업체 (ISP)에 의해 네트워크 라우터에 할당 된 IP 주소입니다. 개인 장치에는 라우터의 공용 IP를 통해 인터넷에 연결할 때 숨겨진 개인 IP도 있습니다.
공인 IP 주소를 사용하여 인터넷에 연결하는 것은 집 주소를 제공하는 것이 아니라 우편함에 사서함을 사용하는 것과 같습니다. 조금 더 안전하지만 훨씬 더 잘 보입니다.
사설 IP 주소는 네트워크 라우터가 장치에 할당하는 주소입니다. 동일한 네트워크 내의 각 장치에는 고유 한 개인 IP 주소 (개인 네트워크 주소라고도 함) 가 할당 됩니다. 이는 동일한 내부 네트워크에있는 장치가 서로 통신하는 방식입니다.
사설 IP 주소를 사용하면 동일한 네트워크에 연결된 장치가 전체 인터넷에 연결하지 않고도 서로 통신 할 수 있습니다. 외부 호스트 또는 사용자가 연결을 설정하는 것을 더 어렵게함으로써 개인 IP는 가정이나 사무실 같은 특정 네트워크 내에서 보안을 강화하는 데 도움이 됩니다.
공인 IP 주소와 사설 IP 주소의 주요 차이점은 도달 거리와 연결 대상입니다. 공인 IP 주소는 검색하는 모든 정보가 사용자를 찾을 수 있도록 더 넓은 인터넷에서 사용자를 식별합니다. 사설 IP 주소는 사설 네트워크 내에서 동일한 네트워크 내의 다른 장치에 안전하게 연결하는 데 사용됩니다.
Public IP address | Private IP address |
External(global) reach | Internal(local) reach |
개인 네트워크 외부에서 인터넷을 통해 통신하는 데 사용 | 개인 네트워크 내에서 가정이나 사무실의 다른 장치와 통신하는 데 사용 |
다른 장치에서 재사용되지 않는 고유 한 숫자 코드 | 다른 사설 네트워크의 다른 장치에서 재사용 할 수 있는 고유하지 않은 숫자 코드 |
검색을 통한 주소 확인 | 기기의 내부 설정을 통해 확인 |
인터넷 서비스 제공 업체에서 할당 및 제어 | 사설 네트워크 내에서 특정 장치에 할당 |
Not free | Free |
예약 된 개인 IP 주소 범위에 포함되지 않은 숫자 | 10.0.0.0-10.255.255.255; 172.16.0.0-172.31.255.255; 192.168.0.0 — 192.168.255.255; |
Private IP 대역
- A Class 10.0.0.0/8
- B Class 172.16.0.0/12
- C Class 192.168.0.0/16
7. IP 주소 클래스 란?

Class D 와 Class E 와 같은 경우는 특정되어 있다. 그 중에서 IP 멀티캐스트(Class D라고 명칭되어 있는)는 네트워크상의 IP 인프라를 통해 일대다 통신을 하기 위한 기술이다. 이는 수신자의 수와 종류에 대한 선행 지식을 요구하지 않음으로써 더 많은 수신자로의 전송을 가능하게 한다. 멀티캐스트는 소스로부터 패킷을 한 번만 전송하게 함으로써 네트워크 인프라를 효율적으로 사용하며, 이는 많은 수신자들에게 전송할 필요가 있을 때도 마찬가지이다. 네트워크상의 각 노드들은 필요한 경우에만 여러 수신자에 도달하는 패킷을 복제한다. 자세한 사항
클래스 E는 240.0.0.0 ~ 255.255.255.255로 예약이 되어 있다고 한다. 자세한 사항
8. TCP 와 UDP
데이터를 보내기 위해 사용하는 프로토콜이지만, 두 개의 차이는 명백하다.
TCP | UDP | |
연결 방식 | 연결지향적 | 비연결성 |
신뢰성 | 높음 | 낮음 |
속도 | 느림 | 빠름 |
전송 순서 | 순서를 보장 | 순서가 바뀔 수 있음 |
통신 방식 | 1:1 | 1:1, 1:N, N:N |
TCP (Transmission Control Protocol) : 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜로 TCP/IP 로 쓰이며, IP가 데이터의 배달을 처리한다면 TCP는 *패킷을 추적하고 관리를 한다.
패킷은 OSI 참조 모델의 네트워크 계층(3단계)에서 작동하는 프로토콜에서 보낸 메시지를 올바르게 참조하는 것으로 간주됩니다. 따라서 일반적으로 사람들이 패킷을 참조하는 것을 볼 수 있습니다. 그러나이 용어는 일반적으로 앞서 언급했듯이 모든 유형의 메시지를 일반적으로 참조하는데도 사용됩니다.
패킷(Packet) : 데이터를 보내기 위한 경로배정(라우팅)을 효율적으로 하기 위해서 데이터를 여러 개의 조각들로 나누어 전송을 하는데 이때, 이 조각이 패킷이다. 추가적인 정보
데이터 그램은 기본적으로 패킷 과 동의어이며 네트워크 계층 기술을 가리키는데도 사용됩니다. 또한 상위 수준의 OSI 참조 모델 (패킷 보다 더 자주)에서 전송되는 메시지를 참조하는데도 자주 사용됩니다.
또한 IP 데이터 그램은 IP 패킷이라고도합니다. 데이터 그램 또는 패킷이 선호되는 용어인지 여부는 질문하는 사람에 따라 달라집니다. 표준조차도 한 가지 용어를 독점적으로 사용하지 않습니다.
- 연결형 서비스로 가상 회선 방식을 제공한다.
- 3-way handshaking과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제한다.
- 흐름 제어 및 혼잡 제어.
- 높은 신뢰성을 보장한다.
- UDP보다 속도가 느리다.
- 전이중(Full-Duplex), 점대점(Point to Point) 방식
TCP는 연속성보다 신뢰성있는 전송이 중요할 때에 사용하는 프로토콜이다.
연결지향적 : 두 개체 간 1 이상의 메세지들이 연결상태를 유지하며 데이터 교환이 가능한 것으로 송수신간의 논리적으로 이루어진 것입니다. 양측 협상으로 설정을 하고, 데이터 교환 그리고 연결을 종료하는 3단계가 이루어 지는 것입니다.
흐름 제어 : 상대방이 받을 수 있을 만큼만 데이터를 효율적으로 전송합니다.
흐름제어를 위해 슬라이딩 윈도우(Sliding Window) 방식을 사용합니다. 이는 상대방이 수신 가능한 크기(Window size) 내에서 데이터를 연속해서 전송하는 방식으로 매 세그먼트(Segment) 전송 시마다 수신확인응답(ACK)을 수신한 후 전송하게 되면 왕복시간(RTT : Round Trip Time)이 길 경우 단위 시간당 데이터 전송량이 매우 떨어지므로 효율적으로 전송하기 위해 상대방이 받을 수 있는 범위 내에서 연속적으로 전송합니다.
혼잡 제어 : 네트워크의 혼잡 정도에 따라 송신자가 데이터 전송량을 제어하는 것을 말합니다. 혼잡정도에 대한 판단기준은 데이터의 손실 발생 유무로 판단하며 전송한 데이터에 누락이 발생하면 네트워크가 혼잡한 상태로 판단하여 전송량을 조절합니다.
TCP 서버의 특징으로는
- 서버소켓은 연결만을 담당한다.
- 연결과정에서 반환된 클라이언트 소켓은 데이터의 송수신에 사용된다형 서비스로 가상 회선 방식을 제공한다.
- 서버와 클라이언트는 1대1로 연결된다.
- 스트림 전송으로 전송 데이터의 크기가 무제한이다.
- 패킷에 대한 응답을 해야하기 때문에(시간 지연, CPU 소모) 성능이 낮다.
- Streaming 서비스에 불리하다.(손실된 경우 재전송 요청을 하므로)

UDP (User Datagram Protocol) : 데이터를 데이터그램 단위로 처리하는 프로코롤로 독립적인 관계를 지니는 패킷이다.
- 비연결형 서비스로 순서화되지 않은 데이터그램 방식을 제공한다
- 정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다.
- UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다.
- 신뢰성이 낮다
- TCP보다 속도가 빠르다
UDP 서버의 특징으로는
- UDP에는 연결 자체가 없어서(connect 함수 불필요) 서버 소켓과 클라이언트 소켓의 구분이 없다.
- 소켓 대신 IP를 기반으로 데이터를 전송한다.
- 서버와 클라이언트는 1대1, 1대N, N대M 등으로 연결될 수 있다.
- 데이터그램(메세지) 단위로 전송되며 그 크기는 65535바이트로, 크기가 초과하면 잘라서 보낸다.
- 흐름제어(flow control)가 없어서 패킷이 제대로 전송되었는지, 오류가 없는지 확인할 수 없다.
- 파일 전송과 같은 신뢰성이 필요한 서비스보다 성능이 중요시 되는 경우에 사용된다.
UDP 위에서 동작되는 다양한 프로토콜들 또는 응용분야 - TFTP, SNMP, DHCP, NFS, DNS
SNMP(Simple Network Management Protocol) : UDP/IP 상에서 동작하는 메시지 교환형 네트워크 관리 프로토콜

출처 : 망나니개발자's 블로그 (https://mangkyu.tistory.com/15)
TCP/IP 관련 참고할 사이트
TCP/IP 관련 참고할 사이트2 / UDP 관련
9. 네트워크 계층이란?
네트워크 계층을 찾게되면, TCP/IP가 새로운 모델이지만, 아직까지도 OSI 모델이 참조되어 설명이 됩니다.
OSI 모델은 총 7가지의 레이어로 이루어져 있는데, 아래와 같습니다.
- Physical (주요 장비 : 허브, 리피터, NIC)
- Data Link (주요 장비 : 브리지)
- Network (주요 프로토콜 : IP, ARP / 주요 장비 : routers)
- Transport (TCP, UDP, port numbers)
- Session (e.g. Syn/Ack)
- Presentation (e.g. encryption, ASCII, PNG, MIDI)
- Application (e.g. SNMP, HTTP, FTP)
허브 : 여러개의 포트를 갖고 있으며, 들어온 데이터를 그대로 재전송하는 장비
리피터 : 데이터를 전송할 때 신호감쇄에 의한 데이터 손실을 방지하기 위해 중간에서 데이터를 증폭시켜 강한 신호로 만들어 주는 장비
NIC (Network Interface Card) : 호스트에서 네트워크와의 연결을 담당한 인터페이스 역할을 하는 장치 (LAN 카드를 지칭)
브리지 : 동일한 방식의 LAN들을 연결해주는 장비로, 현재는 리피터와 라우터로 많이 대체됨
라우터 : 네트워크 간 연결에 사용되는 최적의 전송 경로를 찾아 데이터를 전송하는 인터네트워킹 장비
7계층에 대한 보충설명

상위 계층(Upper Layer)은 일반적으로 데이터 생성을 담당하고, 하위 계층(Lower Layer) 데이터 전송을 담당합니다
- 응용 계층 (Application Layer) : Layer 7 계층으로, 사용자와 연결되어 있으며, 응용 SW를 도와주는 계층으로 사용자로부터 정보를 입력받아 하위 계층에 전달하고 하위 계층에서 전송한 데이터를 사용자에게 전달합니다
- 표현 계층 (Presentation Layer) : Layer 6 계층이며, 송신측과 수신측 사이에 데이터 형식을 정해줍니다
- 세션 계층 (Session Layer) : Layer 5 계층이며, 통신 세션을 구성하는 계층으로 포트(Port) 번호를 연결합니다
- 트랜스포트 계층(Transport Layer) : Layer 4 계층이며, 실제 데이터를 전송하기 위한 동작을 당담한다. 데이터 전송에 대한 흐름 제어와 데이터 정렬 및 데이터 확인 등을 담당, 사용되는 프로토콜에는 TCP와 UDP가 있다. 트랜스포트 계층에서 처리되는 데이터는 세그먼트(Segment)라고 합니다
- 네트워크 계층(Network Layer) : Layer 3 계층이며, 트랜스포트 계층에서 처리된 데이터에 경로 선출과 선출된 경로를 이용하여 데이터를 전송을 당담한다. 네트워크 계층에서 처리되는 데이터는 패킷(Packet)이라고 합니다
- 데이터 링크 계층(Data Link Layer) : Layer 2 계층이며, 로컬 환경 내에서 전송을 담당. 데이터 링크 계층에서 처리되는 데이터는 프레임(Frame)이라고 합니다
- 물리 계층(Physical Layer) : Layer 1 계층이며, 통신하는 네트워크 장비로 데이터를 전기적인 신호로 출력하는 일을 담당한다. 물리 계층에서 처리되는 데이터는 비트(Bit)라고 합니다
TCP/IP 의 모델을 아래와 같다.
The TCP/IP model is a more concise framework, with only 4 layers:
- Network Access (or Link)
- Internet
- Transport (or Host-to-Host)
- Application (or Process)


10. DHCP 서버 및 DHCP 프로토콜이란?
DHCP (Dynamic Host Configuration Protocol) : 자동(동적)으로 제한된 수량의 IP (인터넷 프로토콜)를 호스트 하는 IP 주소 및 서브넷 마스크 및 기본 게이트웨이 등의 기타 관련된 구성 정보를 제공 하는 클라이언트/서버 프로토콜입니다. IP 주소를 *임대 하여 네트워크 및 기타 정보를 DHCP 클라이언트에 배포할 수 있는 선택적 네트워킹 서버 역할을 포함 합니다. TCP/IP의 일환으로 DHCP 클라이언트를 포함 하는 모든 Windows 기반 클라이언트 운영 체제 및 DHCP 클라이언트는 기본적으로 사용 합니다. 수송(Transport Layer)용 프로토콜은 UDP를 사용합니다.
임대 (Lease) : 임대기간(IP Lease Time)을 명시하여 그 기간 동안만 단말이 IP 주소를 사용하는 것입니다. 임대기간 이후에도 사용하고자 한다면, 임대기간 갱신을 DHCP 서버에 요청을 해야 하고, 더이상 필요치 않게 된다면 IP 주소 반납 절차를 수행하면 됩니다.
DHCP 서버는 DHCP가 기반을두고 있으며 네트워크에 연결하는 새 장치에 IP 주소를 할당하는 서버입니다. DHCP 서버는 IT 관리자의 개입 없이도 다른 네트워크 정보를 구성합니다. 소규모 기업 또는 가정 환경에서 DHCP 서버는 단순히 라우터가 될 수있는 반면 대기업에서는 단일 전용 컴퓨터 또는 서버 일 수 있습니다.
수동 IP 주소 구성에 의해 발생 하는 구성 오류를 최소화 하거나 동시에 둘 이상의 컴퓨터에 IP 주소를 할당 하 여 발생 한 충돌을 해결하는 신뢰할 수 있는 IP 주소 구성합니다.
IP 주소 할당 방법으로는
- 수동 할당 (Manual Allocation) - DHCP 서버의 관리자가 수동으로 개별 장비별(중요 호스트,라우터 등)로 고정 설정
- 자동 할당 (Automatic Allocation) - IP 주소의 영구적 독점 사용
- 동적 할당 (Dynamic Allocation) : 대부분 이 방법을 사용 - 제한된 수량의 IP 주소 재사용, 한시적 사용(leased period), 자동 재활용
아래와 같은 이유로 네트워크 관리가 감소합니다
- 중앙에서 자동화 된 TCP/IP 구성하고 중앙 위치에서 정의할 수 있습니다.
- DHCP 옵션을 사용하여 추가 TCP/IP 구성 값의 전체 범위를 지정할 수 있습니다.
- 무선 네트워크에서 다른 위치로 이동하는 휴대용 디바이스에 대한 것과 같은 자주 업데이트 해야 하는 클라이언트에 대한 IP 주소를 효과적으로 처리 변경 합니다.
- 모든 서브넷에서 DHCP 서버에 대한 필요성을 없애 주는 DHCP 릴레이 에이전트를 사용 하여 초기 DHCP 메시지를 전달 합니다.
주소 충돌 방지를 위해서는
- DHCP 서버 - 할당 전 핑 테스트로 확인 후 IP 주소 할당
- DHCP 클라이언트 - 할당 받은 IP 주소를 사용전 GARP로 중복 여부 확인 후, 사용중이면 DHCPDECLINE(요청 수락 거부) 송출
11. DNS 서버 및 DNS 프로토콜이란?
DNS (Domain Name System)는 인터넷의 전화 번호부입니다. "howstuffworks.com"을 컴퓨터가 네트워크에서 서로를 식별하는 데 사용하는 70.42.251.42와 같은 인터넷 프로토콜 (IP) 주소에 추가합니다. 간단히 말해서 이름과 숫자를 일치시키는 시스템입니다.
구성하는 3가지 요소는 Domain Name Space (DNS Name Space), Name Server (DNS Name Server), Resolver (DNS Resolver)이다.

DNS 쿼리 에는 클라이언트에 IP 주소를 전달하기 위해 함께 작동하는 4 개의 서버가 있습니다. 재귀 확인자, 루트 이름 서버, TLD 이름 서버 및 권한있는 이름 서버입니다.
DNS recursor (DNS 확인 자라고도 함)는 DNS 클라이언트에서 쿼리를받은 다음 다른 DNS 서버와 상호 작용하여 올바른 IP를 찾는 서버입니다. 리졸버가 클라이언트로부터 요청을 받으면 리졸버는 실제로 클라이언트 자체로 작동하여 올바른 IP를 찾기 위해 다른 세 가지 유형의 DNS 서버를 쿼리합니다.
먼저 리졸버는 루트 네임 서버를 쿼리합니다. 루트 서버는 사람이 읽을 수있는 도메인 이름을 IP 주소로 변환 (해결)하는 첫 번째 단계입니다. 그런 다음 루트 서버는 해당 도메인에 대한 정보를 저장하는 최상위 도메인 (TLD) DNS 서버 (예 : .com 또는 .net)의 주소로 확인자에 응답합니다.
다음으로 해석기는 TLD 서버를 쿼리합니다. TLD 서버는 도메인의 권한있는 이름 서버의 IP 주소로 응답합니다. 그런 다음 리 커서는 원본 서버의 IP 주소로 응답 할 권한있는 이름 서버를 쿼리합니다.
리졸버는 마침내 원본 서버 IP 주소를 클라이언트로 다시 전달합니다. 이 IP 주소를 사용하여 클라이언트는 원본 서버에 직접 쿼리를 시작할 수 있으며 원본 서버는 웹 브라우저에서 해석하고 표시 할 수있는 웹 사이트 데이터를 전송하여 응답합니다.
12. 라우팅은 IP와 어떻게 작동합니까?
상호 작용이 가능한 네트워크들을 구성하기 위해 독립적으로 운영되는 네트워크를 묶게 되면, Source에서 Destination까지 도달하기 위한 여러 경로(Multiple Routes)들이 생긴다. 이 때, Source에서 Destination까지 트래픽의 단위 전달을 의미하는 패킷(PACKET)이 효율적이며 효과적으로 데이터를 보내는데 있어서 라우터, 브릿지, 게이트웨이, 방화벽 또는 스위치로 불리는 중간 노드를 거쳐 가장 좋은 경로를 결정하게 된다. 이렇게 찾아내는 기능 자체를 Routing이라고 보면 된다.
라우팅은 경로를 찾아가는 과정, 경로는 찾기 위한 규칙을 사용하는 게 라우팅 프로토콜, 여기서 만들어진 것을 라우트라고 한다.
라우터는 IP네트워크, 서브넷을 관리하면서 다른 네트워크를 거쳐 패킷을 전송하는 역할을 하는 장비이고, 라우팅은 그 패킷을 보낼 경로를 선택하는 과정이다.

라우팅 방식으로는
- 정적 라우팅
사람이 수동으로 미리 경로를 지정하는 방식 - 동적 라우팅
변화하는 상황에 맞추어 라우터가 경로를 재설정하는 방식
라우팅 프로토콜의 개념
라우팅을 위해서 네트워크 상의 모든 라우터들은 목적지에 따라서 패킷을 보낼 Interface 를 선 계산해 놓아야 하는데 이 계산해 놓은 것을 라우팅 테이블이라고 합니다.
라우팅 프로토콜 구성
- Routing table
패킷을 목적지로 라우팅 할 때 참조하는 테이블
목적지 주소 , Output I/F , Metric 값 - Message
라우터 간 라우팅을 위해 교환하는 메세지
이웃 도달 메세지 , 라우팅 정보 - Metric
라우팅 테이블 생성 및 업데이트 시 최적의 경로를 결정하는 기술
경로 길이 , 홉(Hop) 수 , 대역폭 , 비용 , 신뢰성
13. 라우팅을 위한 기본 게이트웨이란?
게이트웨이는 이종(서로 다른) 프로토콜 및 프로토콜을 달리하는 두 개의 네트워크 간에 통신을 가능하게 하며 다른 네트워크로 들어가는 문 역할을 하는 네트워크 포인트입니다. 또한 하나 이상의 프로토콜을 사용하는 측면에서는 라우터와 다르다는 차이점을 가지고 있습니다. 즉, 역할은 호스트가 다른 네트워크의 컴퓨터(외부에 있는 대상)와 통신을 하기 위해 거쳐 나가야 하는 길목, 라우터는 OSI 3계층 및 4계층을 이용하며 게이트웨이는 OSI 5계층 이상을 이용합니다. 또한 라우터는 하드웨어를 말하기도 하고 게이트웨이는 소프트웨어적인 걸로 말하기도 합니다.
게이트웨이 주소는 네트워크에 할당된 호스트의 IP주소 중 끝자리만 다른 형태로 대부분 192.168.XXX.1 과 같이 마지막을 1로 지정합니다. 인터넷을 연결하기 위해서는 IP주소, 서브넷 마스크, 게이트웨이 주소 3가지가 꼭 필요한 형태입니다.
참고 자료
https://www.cloudflare.com/learning/network-layer/what-is-a-router/
14. IP 관점에서 포트란 무엇이며 다른 장치에 연결할 때 사용되는 포트
포트는 네트워크 연결이 시작되고 끝나는 가상 지점입니다. 포트는 소프트웨어 기반이며 컴퓨터의 운영 체제에 의해 관리됩니다. 지정된 번호를 사용하면서, 네트워크 연결을 더 효율적으로 만듭니다. 전송 계층 (계층 4) 개념입니다. TCP (Transmission Control Protocol) 또는 UDP (User Datagram Protocol) 와 같은 전송 프로토콜 만 패킷이 이동해야하는 포트를 나타낼 수 있습니다.
일반적으로 네트워크 계층 프로토콜은 거의 항상 전송 계층 프로토콜과 함께 사용되기 때문에 네트워크 계층에서 포트를 표시 할 수없는 경우 네트워킹 프로세스에 영향을주지 않습니다. 그러나 이는 ICMP (Internet Control Message Protocol) 패킷을 사용하여 IP 주소를 "핑"하는 소프트웨어 인 테스트 소프트웨어의 기능에 영향을줍니다 . ICMP는 네트워크에 연결된 장치를 ping 할 수있는 네트워크 계층 프로토콜이지만 특정 포트를 ping하는 기능이 없으면 네트워크 관리자가 해당 장치 내에서 특정 서비스를 테스트 할 수 없습니다.
추가적으로 문제에서 나오던
FTP (File Transfer Protocol) : 로컬 유닉스 시스템과 원격 유닉스 시스템 사이에서 파일을 복사하는 프로토콜
HTTP (HyperText Transfer Protocol) : 웹 상에서 웹 서버 및 웹브라우저 상호 간의 데이터 전송을 위한 응용계층 프로토콜
SMTP (Simple Mail Transfer Protocol) : 두 메일 시스템이 전자우편을 교환할 수 있게 하는 비교적 간단한 메세지 전송용 프로토콜
'42 Seoul' 카테고리의 다른 글
[push_swap] 정렬에 대한 공부 / 42 SEOUL (0) | 2021.09.21 |
---|---|
[Fractal] 프랙탈 구현... 하다 머리 깨질 예정 (0) | 2021.07.02 |
born2beroot (0) | 2021.06.22 |
[42Seoul/GNL] get next line (0) | 2021.06.12 |
[ft_printf] printf 함수 구현 (0) | 2021.05.13 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!