1장. 네트워크 시작하기

장동민·2022년 6월 3일

1. 네트워크 구성도 살펴보기

  • 네트워크는 크게 서비스를 받는 입장과 서비스를 제공하는 입장으로 나뉨

1-1. 홈 네트워크

  • 물리적 연결 방법
    • 무선 연결 : 무선 랜 카드와 무선 신호를 보낼 수 있는 매체(공기)가 필요
    • 유선 연결 : 유선 랜 카드(이더넷 랜 카드), 랜 케이블(랜선)이 필요

1-2. 데이터 센터 네트워크

  • 데이터 센터 네트워크는 안정적이고 빠른 대용량 서비스 제공을 목표로 구성
  • 10G, 25G, 40G, 100G, 400G와 같은 고속 이더넷 기술이 사용
  • 가상화 기술과 높은 대역폭을 요구하는 스케일 아웃(Scale-Out) 기반의 애플리케이션과 서비스가 등장하면서 2계층 구성인 스파인-리프(Spine-Leaf) 구조로 데이터 센터 네트워크가 변화됨

✍ 스케일 아웃(Scale-Out) : 장비를 추가해서 확장하는 방식
✍ 스파인-리프(Spine-Leaf) 구조 : 스파인과 리프라는 두 가지 스위칭 레이어로 구성된 데이터 센터 네트워크 토폴로지

            과거 데이터 센터 네트워크 구성(왼쪽)과 현재 데이터 센터 네트워크 구성(오른쪽)의 변화

2. 프로토콜

프로토콜은 네트워크에서 통신할 때의 규약임

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

TCP/IP 프로토콜 스택은 총 4개 부분으로 나뉘는데, 물리 부분인 이더넷 외에 데이터가 목적지를 찾아가도록 해주는 네트워크 계층, 잘린 패킷을 데이터 형태로 잘 조합하도록 도와주는 전송 계층과 애플리케이션 계층으로 구성

✍ 일반적으로 TCP/IP는 프로토콜이라고 부르지 않고 프로토콜 스택이라고 부름

											TCP/IP 프로토콜 스택
                                            

3. OSI 7계층과 TCP/IP

3-1. TCP/IP 프로토콜 스택

OSI 계층 모델은 7계층으로 이루어진 반면, TCP/IP 계층 모델은 4계층으로 구분함

4. OSI 7계층별 이해하기

4-1. 1계층(Physical Layer)

  • 물리 계층으로 물리적 연결과 관련된 정보를 정의
  • 1계층의 주요 장비
    • 허브, 리피터 : 네트워크 통신을 중재하는 네트워크 장비
    • 케이블, 커넥터 : 케이블 본체를 구성하는 요소
    • 트랜시버 : 컴퓨터의 랜카드와 케이블을 연결하는 장비
    • 탭 : 네트워크 모니터링과 패킷 분석을 위해 전기 신호를 다른 장비로 복제해 줌
  • 들어온 전기 신호를 그대로 잘 전달하는 것이 목적
  • 전기 신호가 1계층 장비에 들어오면 이 전기 신호를 재생성하여 내보냄
  • 주소의 개념이 없으므로 전기 신호가 들어온 포트를 제외하고 모든 포트에 같은 전기 신호를 전송

4-2. 2계층(Data Link Layer)

  • 데이터 링크 계층으로 전기 신호를 모아 우리가 알아볼 수 있는 데이터 형태로 처리
  • 출발지와 도착지 주소를 확인하고 내게 보낸 것이 맞는지, 또는 내가 처리해야 하는지에 대해 검사한 후 데이터 처리를 수행
  • 과거에는 신뢰할 수 없는 미디어를 이용해 통신하는 경우도 많아 에러를 탐지하고 고치거나 재전송했지만 이더넷 기반 네트워크는 에러를 탐지하는 역할만 수행
  • 플로 컨트롤(Flow Control) : 받는 사람이 현재 데이터를 받을 수 있는지 확인하는 작업

											2계층의 플로 컨트롤
                                            
  • 2계층의 주요 장비
    • 네트워크 인터페이스 카드(NIC), 스위치
    • 두 장비 모두 MAC 주소 이해 가능
    • 네트워크 인터페이스 카드 동작 방식
    1. 전기 신호를 데이터 형태로 만듬
    2. 목적지 MAC 주소와 출발지 MAC 주소를 확인
    3. 네트워크 인터페이스 카드의 MAC 주소를 확인
    4. 목적지 MAC 주소와 네트워크 인터페이스 카드가 갖고 있는 MAC 주소가 맞으면 데이터를 처리하고 다르면 데이터를 폐기

    • 스위치의 동작 방식

    • 스위치는 단말이 어떤 MAC 주소인지, 연결된 포트는 어느 것인지 주소 습득(Address Learning)과정에서 알 수 있음

    • 이 데이터를 기반으로 단말들이 통신할 때 포트를 적절히 필터링하고 정확한 포트로 포워딩 해줌

4-3. 3계층(Network Layer)

  • IP 주소와 같은 논리적인 주소가 정의
  • IP 주소는 사용자가 환경에 맞게 변경해 사용할 수 있고 네트워크 주소 부분과 호스트 주소 부분으로 나뉨
  • 네트워크 주소 정보를 이용해 자신이 속한 네트워크와 원격지 네트워크를 구분할 수 있고 원격지 네트워크를 가려면 어디로 가야 하는지 경로를 지정하는 능력이 있음
  • 3계층의 주요 장비
    • 라우터 : IP 주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할을 함

4-4. 4계층(Transport Layer)

  • 실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 함
  • 패킷이 유실되거나 순서가 바뀌었을 때 바로잡아 주는 역할
  • 시퀀스 번호(Sequence Number) : 패킷에 보내는 순서를 명시한 것
  • ACK(Acknowledgement Number) : 받는 순서를 나타낸 것
  • 장치 내의 많은 애플리케이션을 구분할 수 있도록 포트 번호를 사용해 상위 애플리케이션을 구분
  • 4계층의 주요 장비
    • 로드 밸런서, 방화벽
    • 포트 번호, 시퀀스, ACK 번호 정보를 이용해 부하를 분산하거나 보안 정책을 수립해 패킷을 통과, 차단하는 기능을 수행

4-5. 5계층(Session Layer)

  • 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후에는 이 연결을 끊는 역할을 수행
  • TCP/IP 세션을 만들고 없애는 책임을 짐
  • 에러로 중단된 통신에 대한 에러 복구와 재전송 수행

4-6. 6계층(Presentation Layer)

  • 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환시키는 기능을 수행
  • 사용자 시스템의 응용 계층에서 데이터의 형식상 차이를 다루는 부담을 덜어줌
  • MIME 인코딩, 암호화, 압축, 코드 변환과 같은 동작이 이루어짐

4-7. 7계층(Application Layer)

  • 애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행
  • 네트워크 소프트웨어의 UI 부분이나 사용자 입/출력 부분을 정의
  • 애플리케이션 계층의 대표적인 프로토콜 : FTP, SMTP, TELNET

5. 인캡슐레이션과 디캡슐레이션

  • 패킷 기반 네트워크

    • 데이터를 패킷이라는 작은 단위로 쪼개 보냄
    • 데이터를 패킷으로 쪼개고 네트워크를 이용해 목적지로 보내고 받는 쪽에서 패킷을 다시 큰 데이터 형태로 결합해 사용
  • 인캡슐레이션(Encapsulation)

    • 데이터를 상위 계층에서 하위 계층으로 내려보내면서 패킷에 데이터를 넣을 수 있도록 분할
    • 네트워크 상황을 고려해 적절한 크기로 데이터를 쪼개고 네트워크 전송을 위한 정보를 헤더에 붙여 넣음
    • 헤더 정보는 4계층, 3계층, 2계층에서 각각 자신이 필요한 정보를 비트 단위(0또는 1)로 사용
  • 디캡슐레이션(Decapsulation)

    • 데이터를 받는 하위 계층 쪽에서 상위 계층으로 데이터를 보내는 과정
    • 2계층에서 송신자가 작성한 2계층 헤더에 포함된 정보를 확인하여 적힌 정보 중 목적지가 자신이 아니라면 패킷을 버리고 목적지가 맞다면 헤더 정보를 벗겨내고 올려보냄
    • 3계층, 4계층도 위와 같이 동작, 최종적으로 데이터를 애플리케이션에 올려보냄

데이터를 인캡슐레이션하는 과정에서 헤더에 반드시 포함되어야 하는 2가지 정보

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

  • 4계층 : TCP에서는 시퀀스(Sequence), 애크(Acknowledgement)번호 필드
  • 3계층 : 출발지, 도착지 IP 주소
  • 2계층 : 출발지, 도착지 MAC 주소

2. 상위 프로토콜 지시자

  • 4계층 : 포트 번호(Port Number)
  • 3계층 : 프로토콜 번호(Protocol Number)
  • 2계층 : 이더 타입(Ether Type)

5-1. MSS & MTU(데이터 크기 조절)

  • MSS(Maximum Segment Size) : 네트워크에서 수용할 수 있는 크기를 역산정해 데이터가 4계층으로 내려올 때 적절한 크기로 쪼개질 수 있도록 유도하는데 이 값을 MSS라고 함
  • MTU(Maximum Transmission Unit) : 네트워크에서 한 번에 보낼 수 있는 데이터 크기
  • MSS는 4계층에서 가질 수 있는 최대 데이터 값, MTU 크기는 2계층에서 2계층 헤더들의 크기를 제외한 데이터 크기

											MTU와 MSS의 차이
profile
나만의 데이터베이스

0개의 댓글