네트워크

네트워크 시작하기 - 2(OSI 7계층과 TCP/IP)

우잉~ 2024. 10. 28. 22:39

OSI 7 Layer와 TCP/IP

OSI 7 계층과 TCP/IP 스택은 복잡한 네트워크를 단계별로 나누어 설명한다.

 

OST 레퍼런스 모델

* PDU(Protocal Data Unit)

 

계층별로 프로토콜을 개발하여 네트워크 구성 요소를 모듈화할 수 있다.

1~4계층을 데이터 플로 계층(Data Flow Layer) 또는 하위 계층(Lower Layer)이라고 부르고, 5~7계층을 애플리케이션 계층(Application Layer) 또는 상위 계층(Upper Layer)이라고 부른다.

 

데이터 플로 계층(1~4 Layer)

- 데이터를 상대방에게 잘 전달하는 역할이다.

- 네트워크 엔지니어 중점

 

애플리케이션 계층(5~7 Layer)

- 개발자가 데이터를 표현하는 데 초점을 맞춰 개발하게 된다.

- 애플리케이션 개발자 중점

 

네트워크 엔지니어는 1~7계층 순서대로 네트워크를 인식(하향식 형식)하게 되고, 개발자는 7~1계층 순서로 네트워크를 바라본다.(상향식 인식)

 

 

 

TCP/IP 프로토콜 스택

TCP/IP 모델은 4계층으로 구분하게 된다.

TCP/IP는 이론보다는 실용성에 중점을 둔 프로토콜이다.

OSI 모델과 TCP/IP 모델

 

OSI 7 Layer 계층별 이해

 

1계층(피지컬 계층, 물리 계층)

- 물리적 연결과 관련된 정보를 정의한다.

- 전기 신호를 전달하는 데 초점을 맞춘다.

- 1계층 장비에 전기 신호가 들어오면 이 전기 신호를 재생성하여 내보낸다. → 전기 신호이기 때문에 주소의 개념이 없음

- 장비: 허브, 리피터, 케이블, 커넥터, 트랜시버, 탭

이름 용도
허브, 리피터 네트워크 통신을 중재하는 네트워크 장비
케이블, 커넥터 케이블 본체를 구성하는 요소
트랜시버 컴퓨터의 랜카드와 케이블을 연결하는 장비
네트워크 모니터링과 패킷 분석을 위해 전기 신호를 다른 신호로 복제하는 장비

 

 

2계층(데이터링크 계층)

- 전기 신호를 모아 사람들이 알아볼 수 있는 데이터 형태로 처리하는 계층이다.

- 주소 정보를 정의하고, 정확한 주소로 통신이 되도록 하는 데 초점을 맞춘다.

- 출발지 주소(Source Address), 도착지 주소(Destination Address)를 확인하고 처리해야 하는 데이터가 맞는지 검사한 뒤 데이터를 처리하는 형식으로 수행된다. → 주소 체계가 생겼음!

- 여러 통신이 한꺼번에 이루어지는 것을 구분하기 위한 기능이 주로 정의된다.

- 전기 신호를 모아 데이터 형태로 처리하기 때문에 데이터에 대한 에러 탐지, 에러 고치기 역할을 수행한다. → 이더넷 기반 네트워크의 2계층에서는 에러를 탐지하는 역할만 수행한다.

- 주소 체계가 생긴다는 것 → 받는 사람이 현재 데이터를 받을 수 있는 상태인지 확인해야 한다 = Flow Control이라고 한다.

2계층 플로 컨트롤

- MAC 주소라는 주소 체계가 존재한다!!!

- 2계층에서 동작하는 네트워크 구성 요소: 1. 네트워크 인터페이스 카드(NIC), 2. 스위치 → 두 구성 요소는 MAC 주소를 이해할 수 있다.

 

* 네트워크 인터페이스 카드(Network Interface Card)를 실무에서 부르는 용어는 매우 많다! 

- 네트워크 인터페이스 컨트롤러(Network Interface Controller) = NIC

- 네트워크 카드

- 랜카드: 과거 이더넷은 LAN에서만 사용되다 보니 랜 카드라고 부르게 되었음

- 물리 네트워크 인터페이스: 물리적으로 컴퓨터의 내부와 외부를 연결해주는 중간 지점이라는 의미가 강함 → 1계층 구성요소 X, 2계층 구성요소임!

- 이더넷 카드

- 네트워크 어댑터

 

- 네트워크 인터페이스 카드에는 고유 MAC 주소가 있다.

- 네트워크 인터페이스 카드의 동작 방식

1. 전기 신호 → 데이터 형태 변형

2. 목적지 MAC/출발지MAC 주소 확인

3. 네트워크 인터페이스 카드의 MAC 주소 확인

4. 목적지 MAC 주소와 네트워크 인터페이스 카드가 갖고 있는 MAC 주소가 맞으면 데이터 처리, 아닐 시 데이터 폐기

 

- 스위치는 MAC 주소를 보고 통신해야 할 포트를 지정해 내보내는 역할을 수행한다.

- 단말이 어떤 MAC 주소인지 연결된 포트는 어느 것인지 주소를 습득하는 과정에서 알 수 있다. 이 데이터를 기반으로 단말들이 통신할 때 포트를 적절히 필터링하고 정확한 포트로 포워딩한다.

- 스위치와 허브의 차이점: 허브는 전기 신호가 들어오면 전체 포트로 전기 신호를 전달하다 보니 전체 네트워크에서 하나의 허브만 데이터를 보낼 수 있다. 스위치의 경우, 적절한 필터링 + 포워딩 기능으로 필요한 포트만 사용하기 때문에 불필요한 처리가 감소하여 이더넷 네트워크 효율성 ↑

 

3계층(네트워크 계층)

- IP 주소와 같은 논리적인 주소가 정의된다.

- IP 주소는 사용자가 환경에 맞게 변경할 수 있음

- 네트워크 주소/호스트 주소로 나뉜다.

- 자신이 속한 네트워크와 원격지 네트워크를 구분할 수 있고, 원격지 네트워크로 가는 경로를 지정하는 역할을 수행한다.

IP 주소 체계

- 3계층에서 동작하는 장비는 라우터로, IP 주소를 이용하여 최적의 경로를 찾고 이 경로로 패킷을 전송하는 역할을 한다.

 

4계층(트랜스포트 계층)

- 이름에 걸맞게 실제 1, 2, 3계층의 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 한다.

- 데이터 전송 중 패킷이 유실되거나 순서가 바뀌는 경우가 생기는 문제를 방지하기 위해 4계층에서 확인하고 문제가 생겼을 때 바로잡아 주는 역할을 담당한다. → 어떻게? 패킷을 분할할 때 패키 헤더에 보내는 순서(시퀀스 번호, Sequence Number)와 받는 순서(ACK 번호, Acknowledgment  Number)를 적는다.

- 4계층에서 동작하는 장비는 로드밸런서방화벽이 있다.

- 로드밸런서는 포트 번호, 시퀀스 번호, ACK 번호를 이용하여 부하를 분산한다.

- 방화벽은 보안 정책을 쉽하여 패킷 통과, 차단하는 기능을 수행한다.

 

5계층(세션 계층)

- 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고, 연결이 안정적으로 유지되도록 한다. 작업이 완료되었을 때 연결을 끊는 역할까지 담당하고 있다.

- 세션을 관리하는 것이 주요 역할!

- TCP/IP 세션을 만들고 없애는 책임을 지고, 에러로 중단된 통신에 대한 에러 복구와 재전송을 수행한다.

 

6계층(프레젠테이션 계층)

- 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환하는 기능을 수행한다. 번역기나 변환기 역할을 수행하는 계층이라고 생각하면 편하다.

- MIME 인코딩, 암호화, 압축, 코드 변환과 같은 동작이 이루어진다.

 

7계층(애플리케이션 계층)

- 프로세스를 정의하고 애플리케이션 서비스를 수행한다.

- 네트워크 소프트웨어의 UI, 사용자 입·출력 부분을 정의하는 역할을 한다.

- 대표적인 프로토콜은 FTP, SMTP, HTTP, TELNET이 있음

 

계층 주요 프로토콜 장비
애플리케이션 계층 HTTP, SMP, SMTP, STUN, TFTP, TELNET ADC, NGFW, WAF
프레젠테이션 계층 SSH, TLS, AFP  
세션 계층 L2TP, PPTP, HFS, RPC, RTCP, SIP, SSH  
트랜스포트 계층 TCP, UDP, SCTP, DCCP, AH, AEP 로드 밸런서, 방화벽
네트워크 계층 ARP, IPv4, IPv6, NAT, IPSec, VRRP, 라우팅 프로토콜 라우터, L3 스위치
데이터 링크 계층 IEEE 802.2, FDDI 스위치, 브릿지, 네트워크 카드
피지컬 계층 RS-232, RS-499, V.35, S 등의 케이블 케이블, 허브, 탭(TAP)