1장 네트워크 시작하기

2022. 9. 14. 00:12

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

  • 이번장의 포인트는 OSI 7계층, 인캡슐레이션이다.
  • 디테일한 이해보다는 가볍게 훑는 정도로 접근해본다.
  • 네트워크의 방향성
    • 우리가 흔히 알고 있는 OSI 7계층의 경우 방향성이 존재한다.
    • 상위계층(7-5계층), 하위계층(4-1계층)으로 나눌수 있다.
    • 애플리케이션 개발자의 경우 상위계층에서 하위 계층으로 바라보는 경우가 있고, 엔지니어의 경우 반대이다. 왜 그런지는 바로 느낄 수 있다.
  • 네트워크 구조
    • 네트워크를 생각할때 End to End를 염두 해 두는 것이 중요한 것 같다.
    • "어떻게 보낼지"와 "어떻게 받을까"의 문제이다.
    • 홈 네트워크는 모뎀 - 공유기 - 단말(노트북, 스마트폰 등..)의 기본 구성인데
    • 무선인 경우에는 상관없지만 유선 연결의 경우 케이블이 별도로 필요하다.
    • 데이터 센터 네트워크는 안정적이고 빠른 대용량 서비스 제공을 목표로 구성한다.
    • 스케일 아웃, 스파인 리프 등의 구성 방식이 있다.

1.2 프로토콜

  • 프로토콜이란?
    • 규정이나 규약과 관련된 내용을 언급할 때 프로토콜이라는 용어를 사용함
    • 위에서도 언급했듯이, "어떻게 보낼지"와 "어떻게 받을까"의 규칙을 규정한 것이다.
    • 과거에는 자원이 한정적이었기 때문에 최대한 적은 데이터를 이용해 효율적인 프로토콜 정의를 사용해야 했다.(비트 기반)
    • 현재는 문자 기반의 프로토콜도 사용되고 있다.(HTTP, SMTP 등)
    • TCP/IP는 프로토콜이 아닌, 프로토콜 스택이라 불린다.
    • 별도 계층에서 사용되는 프로토콜을 묶어놨기 때문이다.

1.3. OSI 7계층과 TCP/IP

  • OSI 7계층
    • 계층, 데이터(PDU, Protocol Data )
      • 애플리케이션 계층 (Data)/7
      • 프레젠테이션 계층 (Data)/6
      • 세션 계층 (Data)/5
      • 트랜스포트 계층 (Segments)/4
      • 네트워크 계층 (Packets)/3
      • 데이터 링크 계층 (Frames)/2
      • 피지컬 계층 (Bits)/1
    • 1 - 4 계층 : 데이터 플로 계층(Data Flow Layer) / 하위 계층(Lower Layer)
    • 5 - 7 계층 : 애플리케이션 계층(Application Layer) / 상위 계층 (Upper Layer)
  • TCP/IP 모델
    • OSI 7계층과 달리 4계층이다
      • 애플리케이션 계층(OSI 5, 6, 7계층)
      • 트랜스포트 계층 (OSI 4계층)
      • 인터넷 (OSI 3계층)
      • 네트워크 액세스 (OSI 1, 2계층)
    • 4계층인 이유? -> 현실에 쉽게 반영하기 위함이다.

1.4 OSI 7 계층별 이해하기

  • 1계층 (Physical Layer)
    • '물리적' 연결과 관련된 정보
    • 물리적이다? -> 전기신호다!
    • 주요장비
      • 허브 : 네트워크 통신 중재
      • 리피터 : 네트워크 통신 중재
      • 케이블 : 케이블 본체 구성 요소
      • 커넥터 : 케이블 본체 구성 요소
      • 트랜시버 : 컴퓨터의 랜카드와 케이블 연결 장비
      • 탭 : 네워크 모니터링과 패킷 분석을 위한 전기신호 복제 장비
  • 2계층 (Data Link Layer)
    • 전기 신호를 모아 우리가 알아볼 수 있는 데이터 형태로 처리
    • 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는데 초점이 맞추어져 있음
    • -> 출발지와 도착지 확인
    • 네트워크 구성요소
      • 인터페이스 카드 (Network Interface Card) = NIC
        = 네트워크 카드 = 랜 카드 = 물리 네트워크 인터페이스 = 이더넷 카드 = 네트워크 어댑터
      • 스위치
    • 2계층의 포인트는 MAC 주소
      1. 전기 신호를 데이터 형태로 만듦
      2. 목적지 MAC 주소와 출발지 MAC 주소 확인 (데이터에 있음)
      3. 네트워크 인터페이스 카드의 MAC 주소 확인 (받는 사람 꺼)
      4. 목적지 MAC 주소와 네트워크 인터페이스 카드가 갖고 있는 MAC 주소가
      5. 맞으면 데이터를 처리하고 다르면 데이터를 폐기함
    • 스위치는 단말이 어떤 MAC 주소인지, 연결된 포트는 어느 것인지 주소 습득과정에서 알 수 있음
      • 이를 기반으로 정확한 포트로 포워딩 해준다.
  • 3계층 (Network Layer)
    • IP 주소와 같은 논리적인 주소가 정의됨 (물리적인 주소는 MAC 주소)
      • MAC과 달리 IP는 사용자가 환경에 맞게 변경해 사용할 수 있음
    • 사용 장비
      • 라우터 : 3계층에서 정의한 IP 주소를 이해할 수 있음
      • , IP 주소를 사용해 최적의 경로를 찾아주고 패킷을 전송
  • 4계층 (Transport Layer)
    • 3계층까지는 데이터를 이동시키는 것에 초점을 두었음
    • 4계층의 포인트는 '패킷의 안정성'
      • 패킷을 분할해서 보내다 보니 유실되거나 순서가 뒤바뀌는 경우가 생긴다.
      • 이걸 4계층에서 잡아줌
      • 시퀀스 번호와 ACK 번호 이용
      • PORT 번호를 통해 애플리케이션 구분
    • 사용 장비
      • 로드밸런서
      • 방화벽
      • 포트번호, 시퀀스 ACK 번호 정보를 통해 부하 분산, 보안 정책 수립을 통한 패킷 통과 차단 결정
  • 5계층 (Session Layer)
    • 양 끝단 프로세스 연결 성립 및 세션 유지
    • 에러로 중단된 통신에 대한 에러 복구와 재전송 수행
  • 6계층 (Presentation Layer)
    • 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환시키는 기능 수행
    • MIME 인코딩, 암호화, 압축, 코드 변환과 같은 동작
  • 7계층 (Application Layer)
    • 프로세스 정의 및 애플리케이션 서비스 수행
    • 사용자 입.출력 부분 정의
    • 대표적인 프로토콜
      • FTP
      • SMTP
      • HTTP
      • TELNET

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

  • 인캡슐레이션과 디캡슐레이션은 1 - 4 계층에서 진행됨
    • Data -> Segments -> Packet -> Frame으로 변형되는 과정에서 각 계층마다 헤더를 붙임
    • 디캡슐레이션은 역방향
    • 헤더 정보들은 너무 많기 때문에 다음 정도의 포인트만 암기해두자
      • 헤더의 기본적 규칙은, 현재 계층에서 정의하는 정보와 상위 프로토콜 지시자를 포함해야한다.
      • 상위 프로토콜 지시자란, 각 계층마다 프로토콜이 많기 때문에
      • 디캡슐레이션 시, 어떤 프로토콜로 올려보낼지 지시해주는 역할이다.
  • 고민해볼 수 있는것
    • 스케일 아웃(scale-out)과 스파인 리프(spine-leaf)에 대하여
    • 왜 프레임 기반이 아니라 패킷 기반이라고 하는걸까
    • 3계층에서 말하는 '최적의 경로'가 의미하는 것은 무엇일까.
    • 7계층에서 실제 작업이 이루어지는 과정

+ Recent posts