[인프라 엔지니어의 교과서] 4장 - 네트워크 (네트워크 기본 용어 요점 정리)

2021. 8. 18. 20:0003. Resources/Infrastructure

728x90
반응형

네트워크 기본 용어 요점 정리

TCP/IP

  • TCP : Transmission Control Protocol
  • IP : Internet Protocol
  • 인터넷에서 일반적으로 이용되는 프로토콜
    • 전 세계의 표준

OSI 참조 모델

  • 국제표준화기구(ISO)에 의해 책정된 컴퓨터가 가져야 할 통신 기능을 계측 구조로 나눈 모델
  • 통신 기능(통신 프로토콜)을 일곱 개의 레이어로 나눠 정의
  • L2 스위치, L3 스위치 등에서 L2, L3란 OSI 참조 모델의 레이어를 가리킴
  • OSI 모형 (https://ko.wikipedia.org/wiki/OSI_모형)
    • Layer 1 - Physical layer (물리 계층)
      • 기본 네트워크 하드웨어 전송 기술을 이룸
      • 네트워크의 높은 수준의 기능의 논리 데이터 구조를 기초로 하는 필수 계층 (?)
      • 다양한 특징의 하드웨어 기술이 접목되어 있기에 OSI 아키텍쳐에서 가장 복잡한 계층
    • Layer 2 - Data Link layer (데이터 링크 계층)
      • 포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층
        • CRC 기반의 오류 제어와 흐름 제어 필요
      • 네트워크 위의 개체들 간 데이터를 전달, 물리 계층에서 발생할 수 있는 오류를 찾아 내고, 수정하는 데 필요한 기능적, 절차적 수단 제공
      • 주소 값은 물리적으로 할당
        • 네트워크 카드가 만들어질 때부터 맥 주소(MAC address)가 정해져 있다는 뜻
      • 주소 체계
        • 계층이 없는 단일 구조
      • 네트워크 브릿지나 스위치 등이 이 계층에서 동작, 직접 이어진 곳에만 연결 가능
      • 예시
        • 이더넷
      • 요약
        • 프레임에 주소부여(MAC - 물리적주소)
        • 에러검출/재전송/흐름제어
    • Layer 3 - Network layer (네트워크 계층)
      • 여러개의 노드를 거칠때마다 경로를 찾아주는 역할을 하는 계층
      • 다양한 길이의 데이터를 네트워크들을 통해 전달, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단 제공
      • 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등을 수행
      • 라우터가 이 계층에서 동작, 이 계층에서 동작하는 스위치도 있음
      • 데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층
      • 네트워크 관리자가 직접 주소를 할당하는 논리적인 주소 구조(IP)
      • 계층적
      • 서브넷의 최상위 계층으로 경로 설정, 청구 정보 관리
      • 개방형 시스템들 사이에서 네트워크 연결을 설정, 유지, 해제하는 기능 부여
      • 전송 계층 사이에 네트워크 서비스 데이터 유닛(NSDU: Network Service Data Unit)을 교환하는 기능 제공
      • 요약
        • 주소부여(IP)
        • 경로설정(Route)
    • Layer 4 - Transport layer (전송 계층)
      • 양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해 주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해줌
        • 오류검출 및 복구와 흐름제어, 중복검사 등 수행
      • 시퀀스 넘버 기반의 오류 제어 방식 사용
      • 특정 연결의 유효성을 제어
      • 일부 프로토콜은 상태 개념(stateful) 존재, 연결 기반(connection oriented)
        • 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다는 것
      • 예시
        • TCP
      • 요약
        • 패킷 생성(Assembly/Sequencing/Deassembly/Error detection/Request repeat/Flow control)
    • Layer 5 - Session layer (세션 계층)
      • 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법 제공
      • 동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)
      • 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행
      • TCP/IP 세션을 만들고 없애는 책임을 가진 계층
      • 요약
        • 통신을 하기 위한 세션을 확립/유지/중단 (운영체제가 해줌)
    • Layer 6 - Presentation layer (표현 계층)
      • 코드 간의 번역을 담당
      • 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계측으로부터 덜어줌
      • MIME(Multipurpose Internet Mail Extensions) 인코딩이나 암호화 등의 동작이 이루어지는 계층
      • 요약
        • 사용자의 명령어를 완성 및 결과 표현
        • 포장/압축/암호화
    • Layer 7 - Application layer (응용 계층)
      • 응용 프로세스와 직접 관계하여 일반적인 응용 서비스 수행
      • 일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환 제공
      • 예시
        • 가상 터미널(텔넷 등)
      • 요약
        • 네트워크 소프트웨어 UI 부분
        • 사용자의 입출력(I/O) 부분

TCP와 UDP

  • TCP
    • 연결 지향형 프로토콜
    • 장점
      • 고품질 통신 실현
      • 확실한 통신 보증
        • 데이터 송수신 과정에서 송신 패킷의 순서와 수신 패킷의 순서가 다르면 순서를 맞춤
        • 데이터 송수신 과정에서 일부 패킷이 유실되면 재전송함
    • 단점
      • 오버헤드가 큼
      • UDP에 비해서 느림
    • 용도
      • 확실하게 통신이 이뤄져야 하는 신뢰성이 필요한 애플리케이션
        • 웹이나 메일 등
  • UDP
    • 비연결형 프로토콜
    • 장점
      • 속도가 빠름
    • 단점
      • 저품질
        • 연결을 지속하지 않고 일방적으로 데이터를 전송
        • 데이터 수신이 보증되지 않음
        • 정보를 받았다고 응답하는 기능 없음
    • 용도
      • 정보 중 일부가 유실돼도 문제없는 애플리케이션
        • 음성 전화, 동영상 등

3웨이 핸드쉐이크: SYN와 ACK

  • 3웨이 핸드쉐이크(3way handshake) : TCP 연결에서의 연결 확립 방법
    • 송신측과 수신측이 SYN과 ACK를 서로 주고 받으며 성립

스위칭과 라우팅

  • 스위칭: LAN 안에서 L2 스위치를 통한 통신
  • 라우팅: 라우터 혹은 L3 스위치를 통해 LAN과 LAN 사이를 걸쳐서 하는 통신

IPv4와 IPv6

  • IPv4 - 8bit x 4 = 32bit로 구성된 주소
    • e.g.) 172.16.5.21
  • IPv6 - 16bit x 8 = 128bit로 구성된 주소
    • e.g.) 1951 : ac65 : aaaa : bbbb : cccc : 0 : 0 : 1
  • 현 상황
    • IPv4의 주소가 고갈되어서 신규 할당이 중단
    • → 사장된 IPv4 주소가 유효하게 활용되기 시작 && IPv6 운영 노하우가 부족
    • → IPv6으로의 이행이 적극적이지 않음

네트워크 인터페이스를 묶는다

  • 여러 개의 네트워크 인터페이스에 같은 IP 주소나 MAC주소를 부여해서 Active-Active, 혹은 Active-Standby 구성으로 통신하도록 설정하는 구조
  • 용어
    • 리눅스 - 본딩 (Bonding)
    • 네트워크 기능 - 링크 어그리게이션(Link Aggregation)
반응형