작은 메모장
8. 네트워크 개요 본문
네트워크 주소의 종류
- 논리적 주소(3계층 주소)
IP address 구성, Network ID + Host ID의 구성
- Subnet Mask 기능
IP와 함께 무조건 씀.
IP address의 Network ID와 Host ID를 구분하기 위함.
사용 방법은 IP Address와 Subnet Mask를 AND 연산하면 Network ID가 도출
예) IP: 192.168.1.10, Subnet mask: 255.255.255.0, Network ID: 192.168.1.0
- 내부망과 외부망
송신자: 데이터를 보내는 측, 수신자: 데이터를 받는 측
내부망: 송&수신자가 동일한 Network ID를 사용, 외부망: 송&수신자가 다른 Network ID를 사용
- 물리적 주소(2계층 주소)
Network Interface Card (NIC)또는 Ethernet Card
데이터링크계층(2계층)의 MAC 계층에 의해 사용되는 48비트 하드웨어 주소. 랜카드에 의해 정의
- 물리적 주소의 구조
앞의 24비트는 제조회사 식별번호, 뒤의 24비트는 카드 일련번호
- 대표적인 제조회사 식별번호
Intel: 00-A0-C9, 3Com: 00-50-DA, Realtek: 00-40-D0
- FQDN(7계층 주소)
Fully Qulified Domain Name. 쉽게 말해 문자 주소.
Host Name + Domain Name으로 구성
일반적으로 Host Name은 아누거나 써도 되지만, 대형 서버의 경우 Host Name을 프로토콜 명으로 하는 경우가 많음.
- 네트워크 주소의 세부
초창기의 네트워크 주소는 물리 주소, MAC 주소로 통신. 그러나 암기 및 운용에 크게 문제
이에 네트워크 주소 하나당 IP 주소를 연결하여 운용. 그러나 이에도 일반 사용자가 사용하기에 문제
기본적으로 네트워크 서버를 운용할 때 MAC주소와 IP주소만 있어도 문제없으나, 사용자의 편의를 위해 DNS에 비용을 지불하면서 도메인과 IP 주소를 연결, FQDN 주소를 운용
- DNS & ARP
www.???.??? => IP 주소
이를 조회(lookup) 시켜주는 프로토콜이 DNS Protocol
IP 주소 => MAC 주소
이를 조회(lookup) 시켜주는 프로토콜이 ARP Protocol
반대로, MAC 주소 => IP 주소
조회하는 프로토콜은 RARP Protocol (Reverse)
DNS는 정방향, 역방향 모두 지원
- Port (4계층 주소)
상단의 3가지 주소로 트래픽이 Client의 컴퓨터에 도달하기까진 가능 함.
그러나 컴퓨터에 도달했다고 운영체제가 알아서 트래픽과 프로세스를 매칭시켜주는 것은 아님.
도달한 트래픽이 어떤 프로세스가 필요로 하는지 구분해주는 구분자가 필요.
이에 고안된것이 Port, 기본적으론 권고사항이나 지키지 않을 경우 클라이언트에 크게 혼란을 야기.
유명하고, 자주 사용하는 프로토콜은 포트 번호가 정해져 있음. 주로 서버용 프로토콜 (Well known Port) 1~1023
프로그램들이 지속적으로 사용하고 있는 포트는 고정적으로 할당함. 주로 클라이언트용 프로토콜 (Registered Port) 1024 ~ 49151
프로그램들이 잠깐 사용하고 말 포트는 동적으로 할당함. 주로 클라이언트용 프로토콜 (Dynamic Port) 49152 ~ 65535
네트워크 전송모드
크게 Unicast, Broadcast, Multicast로 나뉨
1대1, 1대 불특정다, 1대 특정다로 나뉨
- Unicast, 1대 1 전송
송신자의 IP, MAC주소, Port, 수신자의 IP, MAC주소, Port가 전부 정해져 있는 상태로 전송
즉 송신자와 수신자가 정확하게 하나로 정해져 있는 상태
일반적인, 주로 사용하는 통신
- Broadcast, 1대 불특정다 전송
송신자의 IP, MAC주소, Port는 정해져있는데, 수신자의 IP, MAC주소, Port가 정해져있지 않은 상태로 전송
주로 사용자가 직접 전송하지는 않으며, 시스템 운영 혹은 어플리케이션 운영 및 유지보수에 사용
같은 LAN 내부에서 동작하는 전체 IP 범위를 지정하는 Local broadcast,
외부망의 특정 LAN에도 있는 노드도 타켓으로 지정하는 Direct broadcast가 있음
- Multicast Address, 1대 특정다 전송
송신자의 IP, MAC주소, Port는 정해져있는데, 수신자의 IP, MAC주소, Port가 특정 범위로 정해져 있는 상태로 전송
IP의 범위는 224 ~ 239.?.?.?로 주로 정해져 있음
Multicast MAC 주소의 구조는 조금 복잡함
기본적으로 고정 주소 + 가변 주소의 구조를 가지고 있음.
고정주소는 0100.5E(00000001 00000000 01011110 0)로 고정임
수신하려는 Multicast Address IP의 뒤의 11자리 비트를 그대로 가져옴
이 둘이 합쳐져 Multicast MAC 주소가 완성됨.
- ARP의 통신
ARP는 IP와 MAC주소를 룩업 및 매핑해주는 프로토콜
ARP request, 송신지가 수신지의 MAC주소를 질의하기 위해 보내는 패킷
최대한 많은 노드에게 전송해야하기 위해 브로드캐스트로 질의함
반대로 ARP reply, 송신지가 수신지의 질의에 응답하기 위해 보내는 패킷
물어본 노드에게만 전송해야하기 위해 유니캐스트로 응답함
각 노드들은 ARP에 대한 정보를 테이블 형식으로 저장하고 있고, 전원이 꺼질거나 일정시간 사용하지 않는다면 삭제 됨
이 저장하는 공간을 ARP Cache Table이라고 부름
네트워크 장비 종류
- Gateway
망과 망을 연결해주는 장비, 다르게 말하면 망을 대표하는 장비
망에서 다른 망으로 트래픽이 전송할 때, 망으로 진입하면서 가장 먼저 마주치는 장비
라우터, 멀티레이어 스위치, 게이트웨이 장비(방화벽) 등이 이 장비에 해당
- Forwarding과 Flooding
Forwarding: 하나의 송신지 포트에서, 하나의 수신지 포트로 트래픽 전송
Flooding: 하나의 송신지 포트에서, 나머지 모든 수신지 포트로 트래픽 전송
주의해야할 점은 Unicast, Broadcast와 헷갈리지 말 것.
물론 개념은 동일하나 장비에서 사용하는가, 네트워크에서 사용하는가에서 용어가 달라짐
- Switch (2계층 장비)
경로 장비라고도 부름. 주요 역할은 진입한 트래픽이 어떤 출구로 나가야하는지 매핑해주는 역할
스위치는 자신의 출구에 어떤 장비의 MAC주소가 연결되어 있는지 기억하고 있음
이를 기억하고 있는 테이블을 MAC Address Table이라고 함
기본적으로, Switch의 동작과정은 트래픽의 수신 MAC 주소를 보고, 자신의 MAC table에서 출구번호를 획득해 트래픽을 그곳으로 전송하는 동작을 함.
MAC table에 트래픽이 요구하는 MAC 주소가 있다면 그 출구번호로만 전송하나(Forwarding), 요구하는 MAC 주소가 없다면 전송된 출구번호를 제외한 모든 출구에 트래픽을 전송함(Flooding)
이런 이유로, MAC table에는 Multicast, Broadcast 주소가 등록되지 않음. 어차피 등록이 안되있으면 Flooding으로 작동할 것이기 때문.
- Router (3계층 장비)
Switch랑 동일한 경로 장비. 주요 역할은 Switch와 마찬가지로 진입한 트래픽이 어떤 출구로 나가야하는지 매핑해주는 역할
또, 자신의 출구가 어떤 망이랑 이어져 있는지 기억하고 있음
이를 기억하는 테이블을 Routing Table이라고 함
스위치와 결정적인 차이점은, 목적지 정보가 IP 클래스라는 것
쉽게 말해, 트래픽이 가야하는 IP 클래스 쪽으로 출구를 알려주는 역할.
당연하게도 정확한 IP쪽으로 알려주는 것이 아닌, 비슷한 IP가 뭉쳐있는 공간으로 안내해주는 것이기 때문에, 라우터가 대략적인 망으로 안내하면, 그 후에 스위치가 정확한 MAC 주소로 안내해주는 것이 일반적인 네트워크 구성
스위치와 또 다른 차이점은, 목적지와 동일한 IP 클래스를 찾지 못한다면, 스위치처럼 Flooding을 하는 것이 아닌, 그냥 정보를 폐기해버림
- Hub (1계층 장비)
경로 장비의 하나로, 주요 역할은 들어오는 트래픽을 연결된 노드들에게 전파하는 장비
더미 허브와 스위치 허브라고 부르기도 하는데, 스위치 허브는 그냥 스위치고, 더미 허브는 그냥 허브임. 헷갈리지 말 것.
스위치, 라우터와는 다르게 경로 제어를 전혀 하지 못 함
제어 소프트웨어가 전혀 없이 물리적으로 전체 노드와 연결되어 있으며 오로지 Flooding으로만 전달함
때문에 트래픽이 들어오면 그 트래픽의 목적지와는 전혀 상관없이 연결된 모든 노드에 트래픽을 전달 함
- Media Translation
3계층 위에서만 동작하는 과정. 즉 IP/MAC 헤더가 있을 때만 동작하는 과정
패킷이 출발지에서 목적지까지 가는 동안, 3계층 장비를 거칠 때마다 L2 헤더(프레임 헤더)가 변경 됨
특징적인 것은 3계층 주소는 변환이 전혀 없으며, 2계층 주소는 스위칭 환경에 따라서 변환 함
이를 사용하는 이유는, 망과 망이 가지고 있는 MAC정보가 달라서 그럼
송신자의 망이 21.0, 라우터 망이 25.0, 수신자의 망이 34.0이라면,
패킷이 망과 망 사이를 이동할 때마다 그에 맞게 헤더를 변경해줘야 알맞는 위치에 찾아감
PC 1이 FTP 서버에게 ARP Request를 전송한다고 가정해보자
송신자의 망 안에서, ARP Request가 이동함
ARP Request로 인해 PC1에서 브로드캐스트가 발생,
SwitchA는 브로드캐스트 요청을 플러딩으로 처리하면, 그 요청은 RouterA에게 전달
일반적으로 브로드 캐스트 요청을 외부망에 요청하지 못하므로, 여기서 Media Translation이 발생
여기까지의 과정에서, 프레임 헤더는 다음과 같이 되있을 것
Source IP | Destination IP | Source MAC | Destination MAC | |
PC1 > RouterA | 172.16.21.7 | 172.16.34.250 | 6666 | 2222 |
Source MAC과 Destination MAC은 6666과 2222
이는 트래픽이 PC1에서 RouterA까지밖에, 즉 송신자의 망 안에서밖에 못가기 때문
때문에 Router A에서 RouterB로 MediaTranslation으로 MAC주소를 수정해야 함
Source IP | Destination IP | Source MAC | Destination MAC | |
RouterA > RouterB | 172.16.21.7 | 172.16.34.250 | 9999 | 3333 |
Media Translation은 이동하는 망 기준으로 바뀌며, Source MAC과 Destination MAC이 9999와 3333으로 변경
RouterB까지 이동한 패킷은 MediaTranslation으로 수신자 망 기준으로 다시 바뀜
Source IP | Destination IP | Source MAC | Destination MAC | |
RouterB > FTP | 172.16.21.7 | 172.16.34.250 | 7777 | 5555 |
동일하게 Media Translation으로 Source MAC과 Destination MAC이 7777과 5555로 변경
트래픽 흐름
트래픽의 흐름은 내부망, 외부망으로 크게 2가지다.
- 내부망
1. DNS를 이용하여 수신지의 IP 주소를 조회함. DNS 캐시, Hosts.txt 파일, DNS 서버를 이용하는 등 다양한 방법이 있음
2. 송신자의 서브넷 마스크를 이용해 수신지가 내부망에 있는지, 외부망에 있는지 확인함
3. ARP 프로토콜을 이용하여 수신자의 MAC 주소를 조회함
4. 수신지로 트래픽을 전송함
- 외부망
1. DNS를 이용하여 수신지의 IP 주소를 조회함. DNS 캐시, Hosts.txt 파일, DNS 서버를 이용하는 등 다양한 방법이 있음
2. 송신자의 서브넷 마스크를 이용해 수신지가 내부망에 있는지, 외부망에 있는지 확인함
3. ARP 프로토콜을 이용하여 게이트웨이의 MAC 주소를 조회함
4. Media Translation을 이용해 수신지로 트래픽을 전송함
OSI 7 참조모델
ISO(국제 표준 기구)는 서로 다른 시스템간의 통신을 허용하기 위해 OSI(Open System Interconnection)모델을 만듬
OSI 7계층은 네트워크가 제공하는 여러 기능을 7개로 나누어서 식별하는 것
대략적인 구성은 이렇게 되고, 각 계층을 간단하게 설명하면,
- Physical Layer: 물리적인 회선에서 전기적, 기계적, 기능적, 절체적인 수단 제공
- Data Link Layer: 하나의 회선 안에서 데이터 전달, 오류 제어, 접근 제어
- Network Layer: 최적 경로 설정(Routing)
- Tarnsport Layer: End-to-End 사이에 가상회선(논리적으로 연결되어 있는 회선) 설정, 유지, 해지
- Session Layer: 호스트 사이에서 Application(서비스)의 연결 설정, 유지, 해지
- Presentation Layer: 코드 변환(인코딩, 디코딩), 압축, 암호화 등등
- Application Layer: User Interface 제공, HTTP, FTP, SMTP등 다양한 프로토콜이 동작
< 평 가 >
1. Broadcast IP/MAC address
IP: 255.255.255.255 (local, broadcast)
IP: 123.123.123.255 (local, broadcast)
MAC: FFFF-FFFF-FFFF
2. Multicast IP/MAC address range
IP: 224~239.?.?.?
MAC: 0100-5E...
3. DNS 기능
Domain 주소를 기반으로 IP 주소를 탐색(Lookup)
4. ARP 기능
IP 주소를 기반으로 MAC 주소를 탐색(Lookup)
5. 게이트웨이 기능
내부망과 외부망을 연결, 외부망과 외부망을 연결
6.
계층 | 전송 방법 | |
Hub | 물리 계층 | Flooding |
Switch | 데이터 링크 계층 | Forwarding / Flooding |
Router | 네트워크 계층 | Forwarding |
7. 외부망 탐색 과정
- DNS 프로토콜로 수신지 IP 주소 조회
- 송신자 서브넷 마스크를 이용해 수신지가 외부망에 존재하는지 확인
- ARP 프로토콜을 이용하여 게이트웨이의 MAC 주소를 조회함
- Media Translation 방법으로 수신지로 트래픽 전송
'실더스 루키즈 교육' 카테고리의 다른 글
10. MTU/MSS, ICMP 개요 (0) | 2023.12.06 |
---|---|
9. TCP/IP (0) | 2023.12.05 |
7. CriminalIP API 활용 및 doc 파일 문서 자동화 (0) | 2023.11.29 |
6. 파일 속성 리스트와 중요 정보 탐지 (0) | 2023.11.28 |
5. RSS, FTP, API를 이용한 서비스 자동화 (0) | 2023.11.27 |