본문 바로가기
Study/그림으로 이해하는 서버 구조와 기술

[그림으로 이해하는 서버 구조와 기술] 2. 네트워크 기초 지식

by hxxyeoniii 2025. 2. 2.

2.1 네트워크란

네트워크란 그물망처럼 연관된 것들이 서로 연결되어 있는 모습을 의미한다.

 

 

 

컴퓨터 네트워크

: 네트워크는 LAN과 WAN으로 구성

: 방에서 현관으로 이어지는 복도를 LAN, 현관 밖의 도로를 WAN으로 비유할 수 있음

: 클라이언트는 LAN이나 WAN을 통해 서버에서 서비스를 받게 됨


2.2 OSI 참조 모델

OSI 참조 모델이란

: 컴퓨터 통신에 필요한 기능을 정리한 것

: 컴퓨터에서 이용되는 다수의 프로토콜을 역할별로 분류해 명확하게 하는 모델

 

 

OSI 7계층

 


다른 제조사 기기와도 네트워크를 구축할 수 있도록 통신에 필요한 기능을 7개로 표준화한 것

- 1계층 쪽을 하위 계층, 7계층 쪽을 상위 계층이라 함

1~3 계층은 데이터 전송 기능 & 이를 보완하는 것은 4 계층 & 5~7 계층은 통신 서비스 담당


2.3 OSI 참조 모델로 보는 데이터 전송

OSI 참조 모델 비유

1. 응용 계층 : 과자를 선택해서

2. 표현 계층 : 택배 상자에 들어가도록 과자량 조절

3. 세션 계층 : 택배 송장에 받는 사람과 보내는 사람을 기입한 후

4. 전송 계층 : 도착 예정일에 친구가 없으면..?

5. 네트워크 계층 : 택배 업자는 배송 트럭이나 경로를 설정하고

6. 데이터 링크 계층, 물리 계층 : 제대로 상대방에게 도달하도록 트럭에 화물을 싣는다.

 

 

 

OSI 참조 모델의 전송 메커니즘

: 데이터 전송 역시 위와 비슷

: 상위 계층은 하위 계층의 기능을 이용하고, 반대로 하위 계층은 상위 계층에 기능을 제공하는 구조

 

1. 응용 계층 : 애플리케이션 서비스 제공

2. 표현 계층 : 데이터 형식을 일반적인 형태로 변환

3. 세션 계층 : 세션(통신의 시작부터 종료까지) 관리

4. 전송 계층 : 고품질 데이터 전송 확보

5. 네트워크 계층 : 전송 경로를 선택해 패킷을 다른 네트워크로 전송 = 네트워크끼리 중계

6. 데이터 링크 계층 : 같은 네트워크 내에서 통신 제공

7. 물리 계층 : 전기 신호인 0과 1로 데이터를 변환한 후 케이블을 통해 전송


2.4 TCP / IP

TCP / IP 모델은 OSI 참조 모델보다 적은 수의 계층으로 구성되어 있다.

OSI 7계층 -> TCP/IP 4계층

 

 

* 이더넷이란?

: 일반적인 LAN에서 사용되는 데이터링크/물리 계층 프로토콜

: 케이블 형태와 데이터를 운반하는 단위인 이더넷 프레임을 규정하고 있음

   -> 수신한 패킷에 MAC 헤더를 붙여 데이터를 보낼 상대방 지정

   -> 이더넷 프레임 내에 있는 데이터를 물리적으로 연결하고 전기 신호로 내보냄


2.5 프로토콜 역할

프로토콜 = 통신에 이용되는 규칙

각 계층의 프로토콜은 데이터에 헤더를 추가한다.

계층 프로토콜 예시
4계층 : 응용계층 HTTP, HTTPS, SMTP, POP3, DNS 등 파일 공유, 웹서비스, 이메일, 채팅, IP전화
3계층 : 전송계층 TCP, UDP 데이터를 적절한 애플리케이션으로 나눔
> TCP : 정확
> UDP : 신속
2계층 : 네트워크 계층 IP 라우팅, 앤드 투 앤드 통신
1계층 : 데이터 링크 계층 이더넷, 무선랜, ISDN 등  

 

 

 

ex) 웹 서버가 웹 페이지 정보를 인터넷을 통해 클라이언트에 보내는 경우

 

<출발지>

1. 클라이언트가 데이터 생성

2. 응용 계층 프로토콜이 HTTP 헤더 추가

3. 전송 계층 프로토콜이 TCP 헤더 추가

4. 네트워크 계층 프로토콜이 IP 헤더 추가

5. 데이터 링크 계층 프로토콜이 MAC 헤더 추가

6. 데이터를 전기 신허로 변환해 케이블로 전달

 

<목적지>

7. 데이터 링크 계층 프로토콜이 수신 패킷의 MAC 헤더 제거

8. 네트워크 계층 프로토콜이 IP 헤더 제거

9. 전송 계층 프로토콜이 TCP 헤더 제거

10. 응용 계층 프로토콜이 HTTP 헤더 제거

11. 서버가 데이터 확인


2.6 MAC 주소

MAC 주소 = 이더넷이 사용하는 주소

* 이더넷은 일반적인 LAN에서 이용되는 데이터 링크/물리 계층의 프로토콜

 

1. 기기를 제조하는 벤더는 제품의 LAN 포트마다 고유한 MAC 주소 할당

2. 데이터 링크 계층에서 사용되는 주소이므로 같은 네트워크 간의 통신이라면 사용 가능하지만, 라우터를 넘어 다른 네트워크 단말기와 통신할 경우는 IP 주소가 필요

3. 16진수 2자리를 한 세트(= 옥텟)로 해 여섯 세트를 콜론(:)으로 구분해 표시 = 총 6개의 옥텟

   > 1~3 옥텟 : 벤더를 식별하는 번호(OUI)로 IEE라는 LAN 표준을 책정하는 조직이 할당

   > 4~6 옥텟 : 벤더가 임의로 고유하게 할당(제조 번호 등) 


2.7 스위칭

스위칭 = 네트워크끼리 연결하는 기능

 

1. L3 스위치

OSI 참조 모델의 3계층인 네트워크 계층의 정보를 바탕으로 네트워크 연결

-> MAC 주소 + IP를 사용해 데이터 전송

 

2. L2 스위치

OSI 참조 모델의 2계층인 데이터 링크 계층 정보를 바탕으로 네트워크 연결

-> MAC 주소만을 사용해 데이터 전송


2.8 IP와 IP 주소

IP = 데이터를 목적지까지 보내는 프로토콜로 네트워크 계층에 위치하며 데이터를 전송하는 절차와 형식 규정

 

> '패킷'이라는 단위로 데이터를 주고받음

> 데이터 본체에 각 계층에서 필요한 정보를 각각 헤더에 추가해 패킷 됨

> 라우터나 L3 스위치라는 중계기가 패킷을 전송

> 패킷의 헤더에 목적지 IP 주소가 들어있음

> 컴퓨터마다 다른 IP 주소가 할당됨

 

 

 

IP 헤더 정보

1. 기타 헤더 정보

   > 패킷 길이

   > TTL(Time To Live) : 패킷 수명

   > TOS : 패킷의 우선순위

   > 프로토콜 : 상위 프로토콜

2. 출발지 IP 주소

3. 목적지 IP 주소

 


2.9 글로벌 주소와 프라이빗 주소

- IP주소는 같은 네트워크 그룹임을 나타내는 '네트워크부'그룹 내 단말기에 할당하는 IP주소를 나타내는 '호스트부'로 구성됨

- 0과 1이 32개 나열된 2진수

 

ex) 192.168.10.0/24

/24 -> 네트워크부의 길이를 나타내며 32개인 0과 1의 데이터 중 왼쪽부터 24개가 네트워크부라는 의미

       -> 나머지로 IP주소 할당

 

=> /24와 /28을 비교하면 /24가 더 큰 네트워크

 

 

 

글로벌 주소 & 프라이빗 주소

1. 글로벌 주소

: 인터넷상(WAN)에서 접속 가능

: 서비스 제공자(인터넷 관리 업체)가 주소를 할당

 

2. 프라이빗 주소

: LAN에서만 접속 가능

: LAN 관리자가 주소 할당 관리

 

-> 두 주소 모두 네트워크 기기를 고유하게 식별하므로 각 단말기에 서로 다른 IP 주소를 할당함

-> 프라이빗 주소는 서로 다른 LAN 내에서는 동일 주소를 할당해도 문제 되지 않음

 

ex) 온라인 쇼핑

스마트폰에 프라이빗 주소가 할당되고 와이파이 라우터에는 프라이빗 주소와 글로벌 주소 두가지가 할당됨

 

* IP 주소는 네트워크상 컴퓨터 위치를 나타내는 주소로 사용되고 인터넷상에는 무수히 많은 통신 기기가 존재함

* 무수한 기기에는 각각 유일무이한 주소가 할당됨

* 1978년 만들어진 IPv4 체계를 이용해 왔으며 정보를 약 43억개 표현할 수 있음


2.10 라우팅

라우터 = 패킷을 전송하는 장비

 

-> 수신한 패킷의 IP 헤더 정보를 보고 다음 전달 대상 라우터나 L3 스위치 등 장비를 판단해 전송 = 라우팅

-> 택배 배송과 비슷


2.11 ARP(Address Resolution Protocol)

ARP = MAC 주소와 IP 주소를 연계하는 매커니즘

 

-> MAC 주소는 데이터 링크 계층 & IP 주소는 네트워크 계층에서 사용됨

-> ARP는 두 계층을 연결하는 역할을 함

 

 

 

데이터 전송 흐름 확인

애플리케이션 데이터는 정해진 크기로 분할되고, 필요 헤더를 실은 채 전기 신호로 변환되어 데이터 링크 계층에서 이더넷으로 흐름

이때, 애플리케이션 데이터가 목적지에 무사히 도달하려면 MAC + IP 주소가 모두 필요

-> 네트워크 계층의 IP는 패킷의 목적지 IP 주소를 보고, 이더넷에 패킷을 전달하고자 목적지 MAC 주소를 검사 = ARP 이용

 

ex) 192.168.5.10에 패킷 전송

1. 목적지 IP 주소를 가진 MAC 주소를 ARP가 검사해 IP에 알려줌

2. IP는 전달받은 MAC 주소를 MAC 헤더에 추가하고 데이터 전송

 

 

 

ARP가 IP 주소로 MAC 주소를 검색하는 과정

1. ARP 요청 : 같은 네트워크 기기 전체 호출

2. ARP 응답 : 호출한 조건에 맞는 기기가 응답

3. ARP 캐싱 : 조회 결과 기록

 

> ARP 캐시는 조회한 결과(IP + MAC 주소 정보)를 기록하지만 영구 보관이 아닌 주기적으로 삭제

> PC의 IP 주소가 바뀌거나 기록된 정보가 너무 많아지는 것을 방지하기 위함

> 캐시 정보는 ARP 테이블이라는 곳에 저장되어 있으며 윈도우 명령어 프롬프트에서 arp -a를 입력해 확인 가능


2.12 TCP와 UDP

네트워크 계층 프로토콜인 IP로 전송한 패킷을 안전하게 전달하기 위해 전송 계층의 TCP와 UDP가 사용됨

 

1. TCP 

   > TCP는 IP의 불안정성을 보완하고자 출발지와 목적지 사이에 TCP 커넥션이라는 논리적 터널을 만듬

   > 이 터널 안에서 아래 정보들을 주고받고 이 정보들은 TCP 헤더에 기록됨

      - TCP에서 이용할 애플리케이션을 지정하는 번호

      - 주고받은 데이터를 확인하는 번호

      - 연속으로 수신할 수 있는 데이터양을 나타내는 값

   > 데이터에 결함이 발생했을 때 데이터를 재전송하는 기능 제공

 

2. UDP

   > 통신에 걸리는 부하를 줄여 빠르게 통신할 수 있는 메커니즘 사용

   > 시간 동기화(NTS), 이름 해석(DNS) 통신 등에 사용됨

   > 다음 네 가지 항목으로 구성되어 구조가 매우 단순 : 출발지 포트 번호 + 목적지 포트 번호 + UDP 패킷 길이 + 체크섬(UDP 패킷이 손상되지 않았는지 검증하는 데이터)

   > 동영상 스트리밍이나 IP 전화 등에 이용

 

* RUDP(Reliable UDP)

: UDP에 TCP 기능의 일부를 추가한 프로토콜신뢰가 필요한 데이터는 재전송 처리를 하고, 그렇지 않은 데이터는 일반적 UDP 처럼 재존성 처리를 하지 않음

: 신뢰성이 필요한 예시로는 로그인과 로그아웃이 있음


2.13 포트 번호 사용법

포트 = 빈번하게 출입하는 장소

 

1. 물리 포트 : 스위치나 PC 등 LAN 케이블을 꽂는 곳

2. 논리 포트 : TCP, UDP 등 서비스 창구를 의미 -> 포트 번호

 

 

포트 번호 할당

범위 명칭 용도
0 ~ 1023 웰노운 포트 인터넷상의 표준 서비스(IANA라는 조직에서 관리)
1024 ~ 49151 등록된 포트 IANA에 신청하면 이용할 수 있으며 사용자가 개발한 애플리케이션 등에서 이용
49152 ~ 65535 동적/비공식 포트 자유롭게 사용 가능

 

 

 

웰노운 포트와 프로토콜

보안의 일환으로 통신을 제한할 때, 방화벽 등의 장치로 포트 번호를 지정하여 통신을 제한

ex) 파일 전송을 위한 FTP의 TCP 21번은 거부하고, 웹 접속을 위한 TCP 443번은 허가

포트 번호 TCP/UDP 서비스/프로토콜 역할
21 TCP FTP 파일 전송
22 TCP/UDP SSH 보안 원격 컴퓨터 접속
23 TCP TELNET 원격 컴퓨터 접속
25 TCP/UDP SMTP 이메일 전송
53 TCP/UDP DNS IP 주소 검색
80 TCP/UDP HTTP 인터넷 통신
110 TCP POP3 이메일 수신
443 TCP/UDP HTTPS 보안 인터넷 통신

2.14 NAT와 NAPT

NAT(Network Address Translation) = 글로벌 주소와 프라이빗 주소를 변환하는 메커니즘

 

ex) 온라인 쇼핑

1. 가정에서 사용하는 스마트폰에는 가정 LAN의 프라이빗 주소가 할당되어 있음

2. 웹 서버에서 스마트폰으로 데이터를 보낼 때, 데이터의 목적지 IP 주소는 인터넷을 경유하므로 가정의 글로벌 주소로 설정되어 있음

3. 데이터를 수신한 가정 라우터는 목적지 IP 주소를 글로벌 주소에서 스마트폰의 프라이빗 주소로 변환해 패킷 전송 -> NAT의 기능

 

 

NAPT(Network Address Port Translation) = 하나의 글로벌 주소로 프라이빗 주소를 여러게 변환해주는 메커니즘

> 글로벌 주소와 포트 번호를 조합해 LAN 내부 단말기를 인식하는 기술

> 라우터는 NAPT 변환 테이블을 내부에 보관해 두고,이를 기반으로 글로벌 주소와 프라이빗 주소 연결

> 가정 내 여러 기기를 동시에 인터넷에 연결해도 하나의 회선만 계약하면 됨