[IT 엔지니어를 위한 네트워크 입문] 을 읽고 작성한 글입니다.
사용자나 애플리케이션 개발자용 교재는 상위 계층부터 하위 계층으로 설명하는 경향이 있고 네트워크 엔지니어용 교재는 하위 계층부터 상위 계층으로 설명하는 경향이 있다. 본 교재는 다른 네트워크 교재와 유사한 순서로 설명하지만 다양한 관점을 위해 두 자리 모두 다룬다.
1.1 네트워크 구성도 살펴보기
1.1.1 홈 네트워크
- 홈 네트워크를 구성하는 데는 모뎀, 공유기, 단말 간에 물리적 연결이 필요하다.
- 무선 연결은 무선 랜 카드와 무선 신호를 보낼 수 있는 매체(공기)가 필요
- 유선 연결은 유선 랜 카드(이더넷 랜 카드), 랜 케이블이 필요하다.
1.1.2 데이터 센터 네트워크
- 데이터 센터는 안정적이고 빠른 대용량 서비스 제공을 목표로 구성.
- 10G, 25G, 40G, 100G, 400G와 같은 고속 이더넷 기술 사용
- 기존에는 3계층 구성이 일반적이었지만 가상화 기술과 높은 대역폭을 요구하는 스케일 아웃 기반의 애플리케이션과 서비스가 등장하면서 2계층 구성인 Spine-Leaf 구조로 변화
1.2 프로토콜
규정이나 규약과 관련된 내용을 언급할 때 프로토콜이라는 용어를 사용한다.
1.3 OSI 7계층과 TCP/IP
1.3.1 OSI 7계층
- OSI 7계층은 다시 두 가지 계층으로 나눌 수 있다.
- 1~4 계층: 데이터 플로 계층 / 하위 계층
- 5~7 계층: 애플리케이션 계층 / 상위 계층
계층 | 기본 용어 | 이 책의 표기법 | -- |
7계층 | Application Layer | 애플리케이션 계층 | L7 |
6계층 | Presentation Layer | 프레젠테이션 계층 | L6 |
5계층 | Session Layer | 세션 계층 | L5 |
4계층 | Transport Layer | 트랜스포트 계층 | L4 |
3계층 | Network Layer | 네트워크 계층 | L3 |
2계층 | Data Link Layer | 데이터 링크 계층 | L2 |
1계층 | Physical Layer | 피지컬 계층 | L1 |
- 애플리케이션 개발자는 애플리케이션 계층 프로토콜을 개발할 때 하위 데이터 플로 계층을 고려하지 않고 데이터를 표현하는 데 초점을 맞춤.
- 반대로 애플리케이션 계층은 네트워크 엔지니어들이 심각하게 고려하지 않기 때문에 애플리케이션 개발하는 하향식 형식으로, 네트워크 엔지니어는 상향식 형식으로 네트워크를 인식
1.3.2 TCP/IP 프로토콜 스택
- 현대 네트워크 대부분 TCP/IP와 이더넷으로 이루어져 있음.
- OSI 레퍼런스 모델은 7계층으로 이루어진 반면, TCP/IP 모델은 4계층으로 구분한다.
1.4 OSI 7계층별 이해하기
OSI 7계층 기준으로 나누어 설명
1.4.1 1계층(피지컬 계층)
- 물리적 연결과 관련된 정보를 정의
- 주로 전기 신호 전달하는데 초점
- 주요 장비로는 허브, 리피터, 케이블, 커넥터, 트랜시버,
- 케이블과 커넉테는 케이블 본체를 구성하는 요소
- 트랜시버는 컴퓨터의 랜카드를 연결하는 장비
- 탭은 네트워크 모니터링과 패킷 분석을 위해 전기 신호를 다른 장비로 복제
- 1계층에서는 들어온 전기 신호를 그대로 잘 전달하는 것이 목적
- 전기 신호가 1계층 장비에 들어오면 이 전기 신호를 재생성 후 내보냄.
- 주소의 개념이 없으므로 전기 신호가 들어온 포트를 제외하고 모든 포트에 같은 전기 신호를 전송
1.4.2 2계층(데이터 링크 계층)
- 전기 신호를 모아 우리가 알아볼 수 있는 데이터 형태로 처리
- 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는 데 초점
- 전기 신호를 모아 데이터 형태로 처리하므로 데이터에 대한 에러를 탐지하거나 고치는 역할을 수행할 수 있음.
- 이더넥 기반 네트워크의 2계층에서는 에러를 탐지하는 역할만 수행
- 주소 체계가 생긴다는 의미는 한 명과 통신하는 것이 아니라 동시에 여러 명과 통신할 수 있으므로 무작정 데이터를 던지는 것이 아니라 받는 사람이 현재 데이터를 받을 수 있는지 확인하는 작업부터 해야함. → 플로 컨트롤(Flow Control)
- MAC 주소라는 주소체계 존재
- 2계층 동작 장비로는 네트워크 인터페이스 카드, 스위치
- 네트워크 인터페이스 카드에는 고유 MAC 주소가 있음. 입력되는 전기 신호를 데이터 형태로 만들고 데이터에서 도착지 MAC 주소를 확인한 후 자신에게 들어오는 전기 신호가 맞는지 확인. 자신에게 들어오는 신호가 맞으면 이 데이터를 상위 계층에서 처리할 수 있도록 메모리에 적재하고 자신에게 들어오는 신호가 아니라면 버림.
- 스위치는 단말이 어떤 MAC 주소인지, 연결된 포트는 어느 것인지 주소 습득(Learning) 과정에서 알 수 있음.
- 스위치는 적절한 필터링과 포워딩 기능으로 통신이 필요한 포트만 사용하고 네트워크 전체에 불필요한 처리가 감소함녀서 이더넷 네트워크 효율성이 크게 향상되었고 이더넷 기반 네트워크가 급증하는 계기가 됨.
1.4.3 3계층(네트워크 계층)
- IP 주소와 같은 논리적인 주소가 정의
- MAC 주소와 달리 IP 주소는 사용자가 환경에 맞게 변경해 사용할 수 있고 네트워크 주소 부분과 호스트 주소 부분으로 나뉨.
- 172.31.0.1 → 172.31 : 네트워크 주소 부분, 0.1 : 호스트 주소 부분
- 3계층에서 동작하는 장비는 라우터
- 라우터는 3계층에서 정의한 IP 주소를 이해할 수 있음.
- 라우터는 IP 주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할
1.4.4 4계층(트랜스포트 계층)
- 1, 2, 3계층과 좀 다른 역할을 수행
- 하위 계층인 1, 2, 3계층은 신호와 데이터를 올바른 위치로 보내고 실제 신호를 잘 만들어 보내는데 집중
- 하지만 4계층은 실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할
- 패킷이 유실되거나 순서가 바뀌었을 때 바로잡아 주는 역할을 담당
- 패킷에 보내는 순서를 명시한 것이 시퀀스 번호이고 받는 순서를 나타낸 것이 ACK 번호
- 이뿐만 아니라 장치 내의 많은 애플리케이션을 구분할 수 있도록 포트 번호를 사용해 상위 네트워크를 구분
- 4계층에서 동작하는 장비로는 로드 밸런서와 방화벽이 있음.
- 애플리케이션 구분자(포트 번호)와 시퀀스, ACK 번호 정보를 이용해 부하를 분산하거나 보안 정책을 수립해 패킷을 통과 차단하는 기능을 수행
1.4.5 5계층(세션 계층)
- 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리
- 작업 후에는 이 연결을 끊는 역할
- TCP/IP 세션을 만들고 없애는 책임
- 에러로 중단된 통신에 대한 에러 복구와 재전송 수행
1.4.6 6계층(프레젠테이션 계층)
- 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환시키는 기능을 수행
- 일종의 번역기나 변환기 역할을 수행
- MMIE 인코딩이나 암호화, 압축, 코드 변환과 같은 동작이 이 계층에서 이루어짐.
1.4.7 7계층(애플리케이션 계층)
- 애플리케이션 프로세서를 정의하고 애플리케이션 서비스를 수행
- 네트워크 소프트웨어의 UI 부분이나 사용자 입.출력을 정의
- 대표적인 프로토콜: FTP, SMTP, HTTP, TELNET
1.5 인캡슐레이션과 디캡슐레이션
상위 계층에서 하위 계층으로 데이터를 보내면 물리 계층에서 전기 신호 형태로 네트워크를 통해 신호를 보낸다. 받는 쪽에서는 다시 하위 계층에서 상위 계층으로 데이터를 보낸다. 이렇게 데이터를 보내는 과정: 인캡슐레이션(Encapsulation), 받는 과정: 디캡슐레이션(Decapuslation)
실제 데이터는 상위 계층 → 하위 계층, 하위 계층 → 상위 계층으로 전달되고 헤더 정보는 각 계층끼리 전달된다. 헤더에 두 가지 정보는 반드시 포함되어야한다.
1. 현재 계층에서 정의하는 정보
2. 상위 프로토콜 지시자
MSS & MTU
애플리케이션에서 데이터를 만들어 보낼 때 데이터를 플로 계층에서 네트워크 상황에 맞게 데이터를 잘 쪼개 상대방에게 전달한다. 네트워크에서 수용할 수 있는 크기를 역산정해 데이터가 4계층으로 내려올 때 적절한 크기로 쪼개질 수 있도록 유도하는데 이 값을 MSS(Maximum Segment Size)라고 부른다. 네트워크에서 한 번에 보낼 수 있는 데이터 크기를 MTU(Maximum Transimission Unit)라고 부르며 일반적인 이더넷에서 수용할 수 있는 크기는 약 1,500바이트.
MTU와 MSS는 모두 데이터 크기를 지칭하는 것이므로 MTU 값은 2계층의 데이터 값, MSS는 4계층에서 가질 수 있는 최대 데이터의 값임. 2계층에서 2계층 헤더들의 크기를 제외한 데이터 크기를 MTU 크기라고 부른다. IP 헤더와 TCP 헤더의 표준 헤더 크기는 일반적으로 각각 20바티으이므로 일반 이더넷인 경우 MSS 값을 1460바이트로 사용.
'Network > 네트워크' 카테고리의 다른 글
유니캐스트, 멀티캐스트, 브로드캐스트, 애니캐스트, MAC 주소 (1) | 2025.05.04 |
---|---|
네트워크 연결과 구성 요소 (0) | 2025.05.01 |
SSH vs SSL, STelnet vs Telnets (0) | 2025.04.08 |
EVE-NG에서 Ansible 실습하기(2) (0) | 2025.03.17 |
EVE-NG와 Linux 서버로 Ansible 실습하기(1) (0) | 2025.03.05 |