Jun's Development Journey

[Part2_TCP/IP] OSI 7 Layer_2 본문

자격증 공부/네트워크 관리사 2급 필기

[Part2_TCP/IP] OSI 7 Layer_2

J_Jayce 2020. 10. 5. 17:49

1. IP 클래스 체계

1) 정리 표

[한국인터넷정보센터 출처]

 

2) 클래스별 정리

 

클래스 네트워크, 호스트 Bit 네트워크 시작 번호 호스트 범위
A 클래스 네트워크 : 7bit, 호스트 : 24bit 1 ~ 126 시작(127은 제외(약속))
2^7-1개
2^24 -2
(-2 : 네트워크, 브로드캐스트 )
B 클래스 네트워크 : 14bit, 호스트 : 16bit 128.0 ~ 191.255 시작
2^14 개
2^16 -2
(-2 : 네트워크, 브로드캐스트 )
C 클래스 네트워크 : 21bit, 호스트 : 8bit 192.0.0 ~ 233.255.255 시작
2^ 21 개
2^8 -2
(-2 : 네트워크, 브로드캐스트 )

 

 

2. 서브넷 마스크

2-1) 용도

- 메인이 아닌 어떤 가공을 통한 네트워크를 만들기 위해서 씌우는 마스크

- 부여받은 원래의 IP 주소에 서브넷 마스크를 씌어 네트워크를 나눠준다.

- 서브넷으로 나누는 이유는 브로드캐스트 영역을 나누는 것과 IP 주소를 아끼기 위한 것이다.

- 주어진 네트워크를 나누지 않고 다 쓰는 경우는 디폴트 서브넷 마스크, 네트워크를 나누어서 사용하려면 디폴트 대신 변형해서 사용해야 한다.

- IP 주소를 가지고 어디가 네트워크 부분이고, 또 어디까지가 호스트 부분인 가를 나타내는 역할이다.

- 네트워크 부분은 1, 호스트 부분은 0이다.

 

 

2-2) 기본 성질

- 서브넷은 하나의 네트워크이기 때문에 서로 나뉘어진 서브넷끼리는 라우터를 통해 통신해야한다.

- 서브넷 마스크는 '1' 사이에 '0' 이 오면 안된다.

 

 

2-3) 예시

1) 디폴트 서브넷 마스크

ex1)

1101 0010. 0110 0100. 0110 0100. 0000 0001 = 210.100.100.1 => IP 주소

1111 1111. 1111 1111. 1111 1111. 0000 0000 = 255.255.255.0 => 디폴트 서브넷 마스크

1101 0010. 0110 0100. 0110 0100. 0000 0000 = 210.100.100.0 => AND 연산 후 서브넷 네트워크

 

=> 클래스 C의 기본 성격과 같다.

 

 

ex2)

1001 0110. 1001 0110. 0110 0100. 0000 0001 = 150.150.100.1 (B클래스 IP)

1111 1111. 1111 1111. 1111 1111. 0000 0000 = 255.255.255.0 (C클래스 서브넷 마스크)

1001 0110. 1001 0110. 0110 0100. 0000 0000 = 150.150.100.0

빨강 : 네트워크 부분       

파랑 : 호스트 부분

 

=> 클래스 B 주소를 마치 클래스 C처럼 사용한다는 의미이다. 즉 네트워크 자리가 3자리로 늘고 호스트 부분이 1로 줄었다. 이렇게 하나의 주소를 서브넷 마스크를 씌워서 작은 네트워크로 만드는 것을 서브넷팅이라고 한다.

 

 

2) 서브넷팅 예시

201.222.5.0    = 11001001 11011110 00000101 00000000

255.255.255.0 = 11111111 11111111 11111111 00000000

빨강 : 마스크 적용 부분

 

Q1) 20개의 서브넷 필요, 서브넷 당 5개의 호스트 필요

서브넷 : 최소 2^5=32 이상 필요

호스트 : 최소 2^3=8 이상 필요

=> 5비트 서브넷, 3비트 호스트 할당 => 11111111 11111111 11111111 11111000 = 255.255.255.248 서브넷 마스크

=> 서브넷 당 6개의 호스트(2^3 -2)를 가지는 32개의 서브넷을 얻을 수 있다.

 

 

Q2) C클래스 네트워크를 24개의 서브넷으로 나누려고 한다. 각 서브넷에는 4~5개의 호스트가 연결되어야 한다. 어떤 서브넷 마스크가 적절한가?

서브넷 비트 : 2^5 = 32 > 24

호스트 비트 : 2^3 = 8 > 5

=> 1111 1111. 1111 1111. 1111 1111. 1111 1000 = 255.255.255.248

 

 

Q3) IP 주소 203.10.24.27 이란 호스트에 서브넷 마스크 255.255.255.240이다. 이때 이 네트워크 호스트 범위와 브로드캐스트 주소는?

서브넷 마스크 255.255.255.240 = 1111 1111. 1111 1111. 1111 1111. 1111 0000

- 서브넷 비트 : 앞 4비트

- 호스트 비트 : 뒤 4비트

- IP : 203.10.24.0001 1011 => 네트워크 부분이 0001일 때 호스트 범위를 구하면 된다.

 

=> 203.10.24.0001 0001 ~ 203.10.24.0001 1110 = 203.10.24.17 ~ 203.10.24.30

 

 

Q4) 클래스 B주소를 가지고 서브넷 마스크 255.255.255.240으로 서브넷을 만들었을 때 나오는 서브넷의 수와 호스트의 수가 맞게 짝지어진 것은?

클래스 B 디폴트 서브넷 마스크 : 255.255.0 0

늘어난 네트워크 포함 비트 수 : 8 + 4 = 12

호스트 비트 수 : 4

서브넷 수 : 2^12 -2 = 4094 (맨 앞 서브넷과 맨 뒤 서브넷은 사용하지 않지만 요즘엔 사용하는 추세)

호스트 수 : 2^4 -2 = 14

 

 

 

3. 라우팅

3-1) 개요

- Internetwork를 통해 데이터를 근원지에서 목적지로 전달하는 기능

- 경로 설정에서 최단 경로 선정 및 전송을 수행하는 포워딩을 한다.

 

3-2) 라우팅 범위에 따른 라우팅 프로토콜

 

Routing Protocol 내용
IGP(Internal Gateway routing Protocol) 동일 그룹(기업 또는 ISP) 내에서 라우팅 정보를 교환
EGP(External Gateway routing Protocol)  다른 그룹과의 라우팅 정보를 교환

 

3-3) 라우팅 프로토콜 종류

구분 Distance Vector Link State
알고리즘 최단 경로를 구하는 벨만 포드 알고리즘 기반 최소 신장 트리를 구하는 다익스트라 알고리즘 기반
동작 원리  네트워크 변화 발생 시 해당 정보를 인접한 라우터에 정기적으로 전달하고, 인접 라우터에서는 라우팅 테이블에 정보 갱신 - 라우터와 라우터를 연결하는 링크의 상태에 따라 최적 경로를 설정
- 라우터가 변화 감지 시 링크 상태 변경 정보를 인접한 라우터에게 즉각 전달하고 이를 저장함
라우팅 정보 모든 라우터까지의 거리 정보 보관 인접 라우터까지의 링크 비용 계산
정보 전송 시점 일정 주기 변화 발생 시만
대표 프로토콜 RIP, IGRP, EIGRP, BGP - OSPF(가장 많이 사용)
- IS-IS
단점 - 주기적인 갱신으로 망 자체의 트래픽 발생
- Routing Loop 발생 가능성 있음
- 정보 유지 메모리 소모
- 라우터 CPU 사용량 증가

※ BGP(Border Gateway Protocol)

서로 다른 자율 시스템(AS : Autonomous System)에서 동작하는 외부 라우팅 프로토콜이다. 즉 AS 간의 라우팅 프로토콜이다.

 

3-4) RIP(Routing Information Protocol)

구분 내용
개념 RFC 1058에 정의 되어 있고, 대표적인 거리 벡터 라우팅 프로토콜
동작원리 - 라우터 간 거리 계산을 위한 척도로 홉 수를 사용
- 16홉 이상이면 패킷을 폐기
- 180초 이내 새로운 라우팅 정보가 수신되지 않으면 해당 경로를 이상 상태로 간주
- 수신된 목적지의 거리 값과 현재 거리 값을 비교하여 작은 것을 기준으로 라우팅 테이블을 변경
라우팅 정보 라우팅 정보 변경 시 모든 망에 적용하므로 큰 규모의 망에는 부적합

 

3-5) OSPF(Open Shortest Path First)

구분 내용
OSPF 개념 및 특징 - 대규모 IP 망에서 사용되며, Link State Routing Protocol 임
- 링크에서의 전송 시간을 링크 비용으로 사용하여 각 목적지별 최단 경로를 구함
OSPF 동작 원리 - 링크의 지연, 처리량, 신뢰성 정보를 이용
- 링크 변화 감지시 변경된 링크에 대한 정보만을 즉시 모든 라우터에 전달하여 빠르게 라우팅 테이블을 갱신

 

3-6) OSPF 동작 원리 구성도

- ABR(Area Border Router : 영역 경계 라우터) : Area에 백본망을 연결해주는 라우터

- ASBR(Autonomous System Border Router : AS 경계 라우터) : 다른 AS의 라우터와 경로 정보를 교환

- IR(Internal Router : 내부 라우터) : Area에 접속한 라우터

- BR(Backbone Router) : 백본망에 접속한 모든 라우터

 

 

4. ICMP(Internet Control Message Protocol)

- TCP/IP 에서 두 호스트간의 에러를 제어하는 프로토콜

- 호스트 및 라우터는 다른 호스트나 라우터가 현재 도달 가능한지의 여부를 결정한다.

- IP 패킷 처리 도중 발견된 문제를 보고한다.

 

 

4-1) TTL(Time To Live)의 역할

- ICMP는 TTL이 설정된다. TTL 값은 라우터를 통과할 때마다 1씩 감소한다.

- TTL 값이 0이 되면 패킷은 자동으로 폐기된다.

 

 

5. 데이터 전송 방식

전송 방식 내용
Unicast 1 대 1 전송 방식
Broadcast 1 대 N 전송 방식
(동일한 서브넷 상의 모든 수신자에게 전송)
Multicast M : N 전송 방식
(하나 이상의 송신자들이 특정 그룹의 수신자에게 전송)

※ Anycast는 IPv6에 새롭게 등장한 것으로 그룹에 등록된 노드 중에서 최단 경로 노드 한 개에만 전송하는 기술이고, 

IPv6부터 Broadcast 가 없어졌다.

 

 

6. 멀티 캐스트와 IGMP

- 그룹에 등록된 사용자에게만 데이터를 전송하는 것이다.

- 그룹에 등록된 사용자를 관리하는 프로토콜이 IGMP이다.

 

6-1) IGMP 특징

- 멀티 캐스트에 참석하는 수신자 정보를 제공한다.

- 1 대 N 방식으로 멀티 캐스트 그룹에 메시지를 전송한다.

- 호스트와 라우터 사이에 이루어지며 TTL이 제공된다.

 

 

7. NAT(Network Address Translation)

- 사설 IP를 라우팅이 될 수 있는 공인 IP로 변경하는 주소 변환

- 내부망에선 사설, 외부에서는 공인을 사용하며 공인 IP 부족을 해결

- 내부를 사설망으로 해서 공인 망으로부터 보호하여 보안성을 향상

 

 

7-1) NAT 종류 

종류 특징
Normal NAT  N개의 사설 IP를 한 개의 공인 IP로 변환
Reverse NAT(Static)  - Normal NAT 설정만으로 외부에서 내부 네트워크로 접속할 수 없음
- Normal NAT로 설정된 외부 IP로 요청하여 N개의 사설 IP의 어떤 것에 매핑할 수 없음
- 이러한 경우 Reverse NAT는 1 대 1 매핑, Static 매핑
Redirect NAT 목적지 주소를 재 지정할 경우 사용(장애 시 사용)
Exclude NAT 특정 목적지로 접속할 경우 설정된 NAT 를 적용받지 않도록 할 때 사용
Dynamic NAT 내부의 사설 IP가 라우터 혹은 NAT 소프트웨어에 의해 미리 정해진 공인 IP로 랜덤하게 매핑되는 방법
Static NAT 특정 사설 IP가 특정 공인 IP만 사용하도록 관리자가 지정하는 방법
PAT - 동적, 정적 NAT는 사용할 수 있는 공인 IP보다 사설 IP의 수가 많다면 부족한 만큼 외부로 나갈 수 없는 사설 IP가 많아진다.
- PAT는 포트 변환을 통해 공인 IP 하나만 있어도 많은 수의 사설 IP가 외부로 나갈 수 있다.
- 즉 사설 IP들은 각각 포트를 다르게 사용한다.

 

 

8. ARP

- IP 주소를 물리적인 하드웨어 주소인 MAC 주소로 변경하는 프로토콜

- IP 주소와 이에 해당하는 MAC 주소 정보는 각 IP 호스트의 ARP 캐시라 불리는 메모리에 테이블 형태로 저장된 후 다음 패킷 사용 시 다시 사용된다.

- ARP Cache Table은 MAC 주소와 IP 주소를 보유하고 있는 매핑 테이블이다.

 

 

9. RARP

- 물리적인 주소 MAC 주소 기반으로 논리적인 주소 IP를 알아내는 프로토콜

- 하나의 호스트를 RARP 서버로 지정한다.

- RARP 서버는 디스크가 없는 워크스테이션들의 MAC을 인터넷 주소로 매핑한다.

- RARP Request는 브로드캐스트로 전송하고, RARP Response는 유니캐스트로 전송한다.

 

 

10. Telnet

- 원격으로 서버에 로그인하여 작업할 때 많이 사용되는 프로그램이다.

- TCP 프로토콜을 사용하여 원격 연결을 시도하고, 포트 번호는 23번 포트를 기본으로 사용한다.

- 모든데이터가 암호화되지 않은 평문으로 전송되는 것이 단점이다. 스니핑으로 패킷을 캡처하여 확인이 가능하다.

 

 

11. SSH

- Telnet과 달리 송신 및 수신되는 모든 데이터를 암호화한다.

 

 

12. HTTP(Hyper Text Transfer Protocol)

- 웹 브라우저와 웹 서버 사이에 메시지를 송, 수신하는 프로토콜이다.

- 송, 수신할 때 TCP 프로토콜로 신뢰성있게 데이터를 송 수신한다.

- TCP 연결을 지속적으로 하지 않기에 State-less 프로토콜이라고도 불린다.

- 80번 포트를 기본으로 사용하고, 이 포트는 오직 root 사용자만 오픈하여 사용 가능하다.

- Request Method 종류

요청 방식 내용
 Get 방식 - 서버에 전달할 때 데이터를 URL에 포함시켜서 요청
- 전송할 수 있는 데이터의 양이 제한됨
Post 방식 - 서버에 전달할 때 데이터를 Request Body에 포함시킴
- 전송할 수 있는 데이터 양의 제한이 없음

 

 

13. FTP(File Transfer Protocol)

- 서버에 파일을 올리거나 다운로드하는 인터넷 표준 프로토콜로, 내부적으로 TCP 프로토콜을 사용한다.

- FTP 클라이언트 프로그램을 사용하여 TCP로 접속하고 접속 이후 사용자 ID와 암호를 입력받아 수행한다.

- 2개의 포트 사용

1) 명령 포트 : 21번 고정

2) 데이터 포트 

Active Mode => 20번

                      (클라이언트가 서버에게 다음 사용할 포트를 알려줌)

 

Passive Mode => FTP 서버가 데이터 포트를 결정하여 FTP 클라이언트에게 보내준다.

                        (서버가 클라이언트에게 다음 사용할 포트를 알려줌)

 

 

13-1) FTP 종류

종류 내용
FTP ID, PW 인증을 수행하고, TCP 프로토콜을 사용하여 사용자의 데이터를 송수신
TFTP 인증 과정없이 UDP 기반으로 데이터를 빠르게 송수신함, 69번 포트 사용
SFTP 전송 구간에 암호화 기법을 사용하여 기밀성을 제공

 

 

 

14. DNS(Domain Name Service)

- 인터넷 네트워크 상에서 컴퓨터의 이름을 IP 주소로 변환하거나 해석하는 데 사용되는 분산 네이밍 시스템

- www.naver.com  이라는 주소에 대해서 IP 주소를 알려주는 서비스이다.

 

 

14-1) DNS 해석 과정

1) 먼저 DNS Cache 테이블에서 이름을 해석한다.

2) 테이블이 없다면 hosts 파일을 사용해서 이름을 해석한다.

3) hosts 파일에도 해당 URL에 대한 IP 주소가 없으면 DNS 서버에서 이름 해석을 의뢰하고, 이것을 순환쿼리라고 한다.

4) DNS 서버는 DNS Cache 테이블을 유지하고 있기 때문에 DNS 서버의 Cache 테이블에 등록되어 있으면 바로 IP 주소를 DNS Response 메시지로 전달한다.

5) 만약 DNS가 이름을 해석할 수 없다면 Top Level 도메인부터 Second Level로 이름 해석을 의뢰하고 이 것을 반복쿼리

라고 한다.

 

 

14-2) DNS 레코드

- DNS 서버에 요청은 클라이언트가 UDP로 DNS Request를 DNS 서버로 전송한다. 보낼 때 type이라는 필드에 요청하는 레코드의 구분자를 넣는다.

- DNS 서버는 DNS Request에 대해서 DNS Response로 응답한다. DNS Response는 요청한 IP 주소를 넣어서 보내준다.

- DNS 레코드 종류

종류 내용
A(Address) - 단일 호스트 이름에 해당하는 IP 주소가 여러 개 있을 수 있으며, 각각의 동일한 IP 주소에 해당되는 여러 개의 호스트 이름이 있을 수있음
- 이 때 사용되는 레코드가 A이다.
AAAA(IPv6 Address) 호스트 이름을 IPv6 주소로 매핑
PTR(Pointer) - 특수 이름이 도메인의 일부 다른 위치를 가리킬 수 있음
- 역방향 조회 때 사용
NS(Name Server) 도메인에는 해당 이름 서비스 레코드가 적어도 한 개 이상 있어야 하며 DNS 서버를 가리킴
MX(Mail Exchanger) 도메인 이름으로 보낸 메일을 받도록 구성되는 호스트 목록을 지정
CNAME(Canonical Name) 호스트의 다른 이름을 정의하는 데 사용
SOA(Start Of Authority) 도메인에 대한 권한을 갖는 서버를 표시함
Any(ALL) 위의 모든 레코드를 표시

 

 

15. SMTP(Simple Mail Transfer Protocol)

- RFC 821에 명시되어 있는 인터넷 전자 우편 표준 프로토콜이다.

- Store-and-Forward 방식으로 메시지 전달

- 메일 서버는 수신자의 전자우편 주소를 분석하고 최단 경로를 찾아 근접한 메일 서버에게 편지를 전달한다.

- 최종 수신자 측 메일 서버에 도착하기까지 연속적으로 전달하는 중계 작업을 수행한다.

 

15-1) POP3와 IMAP 및 IMAP3

POP3 IMAP 및 IMAP3
- TCP 110번으로 메일 서버에 접속하여 저장된 메일을 내려 받는 MDA 프로그램
- 메시지를 읽은 후 메일 서버에서 해당 메일을 삭제함
- POP와 달리 메일을 내려 받아도 메일 서버에 원본을 계속 저장
- IMAP 143 port

 

 

16. SNMP(Simple Network Management Protocol)

- 운영되는 네트워크의 안전성, 효율성을 높이기 위해서 구성, 장애, 통계, 상태 정보를 실시간으로 수집 및 분석하는 네트워크 관리 시스템이다.

- NMS(Network Management System) 은 SNMP 프로토콜을 사용하여 네트워크 정보를 수집한다.