본문 바로가기
CS

네트워크 시작하기

by 몰라몰라개복치 2024. 3. 14.

IT 엔지니어를 위한 네트워크 입문 1장

1장 네트워크 시작하기

1.1 네트워크 구성도 살펴보기

  • 네트워크는 크게 클라이언트와 서버로 나뉨
  • 클라이언트는 서비스를 받는 입장이며 서버는 서비스를 제공하는 입장

1.1.1 홈 네트워크

홈 네트워크 구성도

  • 일반적으로 [인터넷 → 모뎀 → 공유기 → 단말기] 흐름의 구성도 형성
  • 네트워크는 광케이블을 통해 모뎀과 연결되며, 모뎀은 공유기로 연결
  • 홈 네트워크를 구성하는 데는 모뎀, 공유기, 단말 간에 물리적 연결이 필요
  • 무선 연결: 무선 랜 카드와 무선 신호를 보낼 수 있는 매체(공기)가 필요
  • 유선 연결: 유선 랜 카드(이더넷 랜 카드: 일반적으로 보드에 내장됨), 랜 케이블(일반적으로 랜선이라고 부름)이 필요

네트워크 구성에 필요한 주요 요소들: 단말, 네트워크 장비, 케이블

 

1.1.2 데이터 센터 네트워크

  • 데이터 센터 네트워크는 안정적이고 빠른 대용량 서비스 제공을 목표로 구성
  • 이중화 기술을 사용해야 하며 서버 및 서비스를 한 네트워크에 연결하기 위해 높은 통신량을 수용 (고속 이더넷 필요)
  • 데이터 센터의 네트워크 구성은 3계층 디자인2계층 디자인이 존재
  • 기존 -> 3계층 디자인 사용 
  • 현재 -> 서버 간의 대용량 트래픽 통신을 지원하기 위해 2계층 디자인(스파인-리프) 등장

 

 

 

1.2 프로토콜

네트워크 통신의 규정 및 규약

  • 물리적 측면: 데이터 전송 매체, 신호 규약, 회선 규격 등.  ex) 이더넷
  • 논리적 측면: 장치들끼리 통신하기 위한 프로토콜 규격. ex) TCP/IP

네트워크 탄생 초기의 환경은 매우 열악하여 최대한의 효율을 위해 비트 기반의 프로토콜을 사용하였음

  • 장점 : 성능이 좋음
  • 단점 : 알아보기 힘들고 확장하기 힘듦

애플리케이션 레벨의 프로토콜은 비트 기반이 아닌 문자 기반 프로토콜들을 주로 사용

ex) HTTP, SMTP -> 비트로 메시지를 전달하지 않고 문자 자체를 이용해 헤더와 헤더 값, 데이터를 표현 및 전송

  • 장점 :문자로 정의되어 있어 헤더 정의가 자유롭고 확장 가능
  • 단점 : 실제 텍스트(Text) 파일과 같은 데이터가 전달되기 때문에 효율성은 비트 기반 프로토콜보다 떨어짐

 

 

 

1.3 OSI 7계층과 TCP/IP

  • 표준화가 되지 않았던 시절에는 각 밴더사의 방식대로 네트워크 통신 개발 진행 -> 시스템이나 어플리케이션 끼리 호환되지 않는 경우가 발생
  • 현재는 OIS 7 계층을 이론적 배경(참조형 모델)으로 하고, TCP/IP 스택을 프로토콜(실제사용 모델) 기준으로 표준화
  • 계층별로 프로토콜을 개발하여 각 계층을 모듈화

1.3.1 OSI 7계층

 

OSI 7계층은 다시 두 가지 계층으로 분류 가능

  • 1~4계층: 데이터 플로 계층(Data Flow Layer) / 하위 계층(Lower Layer) = 데이터를 상대에게 전달하는 역할
  • 5~7계층: 애플리케이션 계층(Application Layer) / 상위 계층(Upper Layer) = 애플리케이션 계층 프로토콜을 개발할 때 하위 데이터 플로 계층을 고려하지 않고 데이터를 표현하는 데 초점

 

 

1.3.2 TCP/IP 프로토콜 스택

  • 대부분 TCP/IP와 이더넷으로
  • 이론보다 실용성을 중점

OSI 모델 vs TCP/IP 모델

  • OSI모델은 7개의 계층으로 구분하며, TCP/IP는 4개의 계층으로 구분
  • OSI모델은 이론적인 분류, TCP모델은 현실적이고 실무적으로 구분

 

1.4 OSI 7계층 이해

1.4.1 1계층 (물리 계층)

  • 물리 계층으로 물리적 연결과 관련된 정보 정의
  • 1계층 장비는 주소의 개념 X => 전기 신호가 들어온 포트를 제외하고 모든 포트에 같은 전기 신호 전송
  • 주요 장비: 허브(Hub), 리피터(Repeater), 케이블(Cable), 커넥터(Connector), 트랜시버(Tranceiver), 탭(TAP)
허브, 리피터 네트워크 통신을 중재하는 네트워크 장비
케이블, 커넥터 케이블 본체를 구성하는 요소
트랜시버 컴퓨터의 랜카드와 케이블을 연결하는 장비
네트워크 모니터링과 패킷 분석을 위해 전기 신호를 다른 장비로 복제

 

 

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

  • 전기 신호를 모아 우리가 알아볼 수 있는 데이터 형태로 처리
  • 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는 데 초점
  • 2계층에서는 네트워크 인터페이스 카드(NIC)와 스위치를 사용 - NIC는 고유 MAC주소 보유
  • 무작정 데이터를 보내는 것이 아닌 수신자가 받을 수 있는 상태인지 확인 (플로우 컨트롤)
  • 전기 신호를 모아 데이터 형태로 처리하므로 데이터에 대한 에러를 탐지하거나 고치는 역할을 수행
  • MAC주소 체계를 바탕으로 여러 사람이 네트워크를 사용하며 데이터를 주고 받을 수 있게 됨

  • 스위치는 자신과 연결된 각 단말의 MAC주소는 무엇인지, 포트번호는 무엇인지는 주소 습득 과정에서 알게 됨
  • 각 단말들이 통신할 때 포트를 적절히 필터링 하고 정확한 포트로 포워딩
  • 네트워크 전체에 불필요한 처리를 감소시키며 이더넷의 효율성을 향상

 

1계층 vs 2계층

  • 1계층에서는 전기 신호를 잘 보내는 것이 목적이므로 출발지와 목적지를 구분 X
  • 2계층에서는 출발지와 도착지 주소를 확인하고 내게 보낸 것이 맞는지, 또는 내가 처리해야 하는지에 대해 검사한 후 데이터 처리를 수행

 

1.4.3 3계층 (네트워크 계층)

  • IP 주소와 같은 논리적인 주소가 정의
  • MAC 주소와 달리 IP 주소는 사용자가 환경에 맞게 변경해 사용

  • 3계층 장비는 라우터 - 3계층에서 정의한 ip 주소를 이해할 수 있음, IP 주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할

 

 

 

1.4.4 4계층 (전송 계층)

  • 데이터플로우 계층은 데이터를 목적지로 보내거나 신호를 전달하는 역할 (1, 2, 3 계층)
  • 4계층 전송 계층은 실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할 = 패킷의 순서와 유실에 대해 확인하는 작업
  • 패킷을 분할할 때 패킷 헤더에 보내는 순서와 받는 순서를 적어 통신하므로 패킷이 유실되면 재전송을 요청 및 바로잡기 가능
  • SEQ 번호 - 패킷에 보내는 순서 명시
  • ACK 번호 - 패킷 받는 순서 명시
  • 포트번호를 통해 어플리케이션을 식별
  • 4계층 장비로는 로드밸런서와 방화벽 존재

 

1.4.5 5계층 (세션 계층)

  • 양쪽 엔드포인트의 어플리케이션의 연결을 유지하고 작업 완료 후 끊어주는 역할 = TCP/IP 세션을 만들고 없애는 책임
  • 에러로 중단된 통신에 대한 복구와 재전송도 수행

 

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

  • 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환시키는 기능을 수행
  • ex) MIME 인코딩이나 암호화, 압축, 코드 변환

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

  • 애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행
  • ex) FTP, SMTP, HTTP, TELNET

계층별 주요 프로토콜 및 장비

 

 

1.5 인캡슐레이션과 디캡슐레이션

 

인캡슐레이션

  • 어플리케이션 계층 에서 데이터 플로우 계층으로 데이터를 넘길 때 패킷 단위로 분리
  • 분리한 패킷을 4~2계층의 헤더 정보를 덧붙이며 내림 = 각 헤더는 비트단위 정보

디캡슐레이션

  • 1계층에서 받아온 전기신호를 2계층에서 데이터 형태로 생성
  • 4계층까지 전송받는 헤더를 확인하여 목적지를 확인하고 올리는 것
  • 확인한 헤더데이터 삭제

=> 즉, 상위 계층→하위 계층, 하위 계층 → 상위 계층으로 데이터가 흐름. 각 계층의 헤더는 각 계층에서 만들고 확인하여 버림

 

 

반드시 헤더에 들어가야 하는 두 가지 정보

  • 현재 계층에서 정의하는 정보
  • 상위 프로토콜 지시자

현재 계층에서 정의하는 정보

  • 4계층 - 시퀀스, ACK 번호 정보 (데이터의 분할과 조립을 목적으로 함 => 데이터의 분할과 조립 순서 중요)
  • 3계층 - 출발지, 도착지의 IP 주소
  • 2계층 - 출발지, 도착지 MAC 주소

상위 프로토콜 지시자

  • 상위 프로토콜은 하위 프로토콜이 지정되어 있음 - ex) TCP 프로토콜에서는 IP 프로토콜로 데이터를 내려줌
  • 하위 프로토콜은 복수의 상위 프로토콜을 가짐 - ex)  IP프로토콜에서 TCP와 UDP 중 어디로 데이터를 올려야할지 정보가 필요
  • 상위 프로토콜 지시자 종류 - 4계층은 포트번호, 3계층은 프로토콜 번호, 2계층은 이더타입

=> 인캡슐레이션 과정에서는 문제 x, 디캡슐레이션 과정에서는 상위 프로토콜에 대한 정보 필요

=> 인캡슐레이션 시 각 계층의 헤더에는 상위 프로토콜 지시자 정보가 지정됨

 

 

MSS & MTU

  • 데이터 플로우 계층에서는 데이터를 네트워크 상황에 맞게 패킷으로 쪼개야 됨
  • MTU - 네트워크에서 한 번에 보낼 수 있는 데이터의 크기
  • 일반적인 이더넷의 MTU 크기: 1500byte
  • MSS - MTU에서 각 계층별 헤더 값을 뺀 데이터의 크기 의미 - ex) MTU - 3~4계츠의 헤더값(각 20 byte) = 1460 byte
  •  
  •  

'CS' 카테고리의 다른 글

라우터/L3 스위치: 3계층 장비  (0) 2024.03.28
네트워크 연결과 구성 요소  (2) 2024.03.14
DHCP  (0) 2021.08.04
DNS, DDNS 정리  (0) 2021.08.04
VPN  (0) 2021.08.04