CS 지식/네트워크

[네트워크] OSI 7계층 관련 예상 문제 목록

지나가던 개발자 2023. 2. 9. 09:30
반응형
  • OSI 7계층이란 무엇인가? - 네트워크 통신이 일어나는 과정을 7단계로 나눈 ISO에서 정의한 네트워크 표준 모델
    • 물리 계층
      • 물리 계층의 특징은? - 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하는 물리적인 장비  
        • 사용되는 통신 단위 - bit
          • bit - 0과 1로 이루어진 데이터 단위
        • 사용되는 장비 - 통신 케이블, 리피터, 허브
          • 통신 케이블 - 서버, 스위치, 컴퓨터등 정보통신기기들을 서로 연결하기 위해 사용하는 선
          • 리피터 - 신호를 받아 증폭하여 데이터를 전송하는 장비
          • 허브 - 네트워크 장비와 장비를 연결해주는 기능을 수행하는 장비
            • 일종의 멀티포트 리피터
    • 데이터 링크 계층
      • 데이터 링크 계층의 특징은? - 인접한 네트워크 노드끼리 데이터를 전송하는 기능과 절차 제공
        • 전송되는 단위는? - 프레임
        • 사용되는 장비 - 브리지, 스위치
          • 브리지
          • 스위치
        • 데이터 링크 계층 구조는 어떻게 이루어져 있는가? - MAC, LLC
          • MAC - 물리적인 부분  48bit(6byte)로 구성, 각 바이트마다 16진수로 구성, 앞3자리는 Organization Unique Identifier(OUI)로 제조사 식별코드가 있고, 나머지 3자리는 제조사의 일련번호가 들어가 있기 때문에 주소가 Unique하다.
          • LLC - 논리적인 부분 Protocol Data Unit(PDU)를 만들고 3계층과 연결
        • 데이터 링크 프로토콜 종류
        • 회선제어란? - 신호간의 충돌이 발생하지 않도록 제어하는 것
          • ENQ/ACK 기법
          • Polling 기법
        • 흐름제어란? - 송수신자간 데이터를 처리하는 속도차이를 해결하기 위한 제어
        • 오류제어란? - 전송중 오류나 손실 발생 시 재전송 수행
          • Stop and Wait ARQ - 전송측에서 NAK를 수신하면 재전송, 주어진 시간에 ACK가 안오면 재전송
          • Go Back n ARQ - 전송된 프레임이 손상되면 확인된 마지막 프레임 이후로 보내진 프레임을 재전송
          • Selective Repeat ARQ -GBn ARQ 방식과 다르게 손상되거나 분실된 프레임만 재전송, 별도의 데이터 재정렬을 수행해야 하며, 별도의 버퍼를 필요로함
        • 오류 발생 원인 - 감쇠, 지연 왜곡, 상호 변조 잡음, 충격 잡음
          • 감쇠 - 전송 신호가  전송 매체를 통과하는 과정에서 거리에 따라 점차 약해지는 현상
            • 리피터를 통하여 감쇠를 막을 수 있다
          • 지연 왜곡 - 주로 유선 전송 매체에서 발생하며 하나의 전송 매체를 통해 여러 신호를 전달했을 경우 주파수에 따라 속도가 달라지면서 생기는 오류
          • 상호 변조 잡음 - 서로 다른 주파수들이 하나의 전송 매체를 공유할 때 주파수 간 합이나 차로 인해 새로운 주파수가 생성되는 잡음
          • 충격 잡음 - 번개와 같은 외부적인 충격이나 기계적인 통신 시스템의 결함 등 순간적으로 높은 진폭이 발생하는 잡음
        • 오류 유형 - 단일 비트 에러, 다중 비트 에러, 버스트 에러
          • 단일 비트 에러 - 하나의 비트가 변경된 에러
          • 다중 비트 에러 - 두개 이상의 비트가 변경된 에러
          • 버스트 에러 - 두개 이상의 연속적인 비트가 변경된 에러
        • 오류 수정 방식 - FEC, BEC
          • FEC(Forward Error Correction) - 전진 에러 수정
            • 송신측이 프레임에 부가적 데이터를 첨가하여 전송하고, 수신측이 이 부가적 데이터로 에러 검출 및 에러 수정을 하는 방식
            • 수신측이 에러 검출시 재전송 요구 없이 스스로 수정함
            • 송신측이 한 곳이고 수신측이 여러 곳일 때나 채널 환경이 열악한 곳이나 높은 신뢰성이 요구되는 곳에서 주로 사용
            • 에러가 발생해도 재전송 요구없이 수정이 가능하므로 실시간 처리 및 높은 처리율 제공
            • 원래 비트보다 큰 확장 비트로 인해 전송 효율이 떨어짐
          • BEC(Backword Error Correction) - 후진 에러 수정
            • 송신측이 프레임에 확장 비트를 첨가하여 전송하고, 수신측이 이를 토대로 에러를 검출시 재전송을 송신측에 요구(ARQ)하는 방식
        • 에러 검출 방식 - 패리티 검사, CRC, 체크섬, 해밍 코드
          • 패리티 검사 - 1의 개수를 짝수로 맞춰서 보낼지 홀수 개로 맞춰서 보낼지 송신측과 수신측이 약속하고, 여분의 비트(패리티 비트)를 채워 보내는 것
            • 홀수 개의 에러만 검출 할 수 있다는 단점이 존재 - 이를 해결하기 위해 2차원 패리티 검사가 나옴
              • 2차원 패리티 검사 - 수평과 수직으로 패리티 비트를 추가하고 모두 카운트
                • 수평에서 짝수개가 변한다고 해도 수직 패리티 검사에서 검출이 가능
                • 수평과 수직으로 짝수 개씩 똑같이 바뀐다면 검출 불가능
          • CRC - 순환 중복 검사 - 패리티 검사의 한계를 보완하기 위해 나온 에러 검출 방식
            • 데이터에 에러가 발생했는지 확인하는 코드를 확장 데이터로 덧붙여서 보내는 방식
          • 체크섬 - 데이터의 길이와 관계없이 에러를 검출하는 기법
            • 데이터 링크 계층보다는 네트워크 및 전송 계층에서 더 자주 사용됨
          • 해밍 코드 - 하나의 데이터 단위에 대해 충분한 패리티 비트를 추가해 에러를 검출하고 수정까지 할 수 있는 방법
    • 네트워크 계층
      • 네트워크 계층의 특징은? - 여러개의 노드를 거칠 때 마다 경로를 찾아주는 역할을 함
        • 헤더 추가 - ip 헤더 
        • 전송되는 단위 - 패킷
          • 패킷 - 데이터를 전송하는 하나의 단위, 한 네트워크 회선에서 데이터 한 묶음의 단위
        • 사용되는 장비 - 라우터
          • 라우터 - 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치 -> 네트워크와 네트워크 간의 경로를 설정하고 가장 빠른 길로 트래픽을 이끌어 주는 네트워크 장비
          • 라우터의 부가적인 기능 - NAT, VPN, QoS
            • NAT - TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술
            • VPN - 가상사설망으로 데이터가 지나가는 암호화된 터널을 만들고 사용자의 IP를 숨겨줌
            • QoS - 다른 응용프로그램, 사용자, 데이터 흐름등에 우선 순위를 정하여, 데이터 전송에 특정 수준의 성능을 보장하기 위한 능력
      • 라우팅 - 네트워크에서 특정 경로로 데이터를 보낼 때 사용되는 과정(최적경로 설정)
        • 라우팅의 구성요소 - 패킷, 네트워크 주소, 메트릭, 다음 게이트웨이, 인터페이스
          • 패킷 - 데이터를 전송하는 하나의 단위, 한 네트워크 회선에서 데이터 한 묶음의 단위
          • 네트워크 주소 - 목적지 주소
          • 다음 게이트웨이 - 패킷을 전송할 다음 주소
          • 인터페이스 - 다음 게이트웨이가 존재하는 인터페이스
        • 라우팅 알고리즘
          • 글로벌 라우팅
            • 네트워크 전체에 대한 완전한 정보를 가지고 출발지와 목적지 사이의 최소 비용 경로를 계산.
            • 모든 라우터가 연결 상태와 링크 비용을 알고있다.
            • Link State 알고리즘이 여기에 속한다.
            • 주로 다익스트라 알고리즘을 사용한다.
          • 분산 라우팅
            • 최소 비용 경로의 계산이 라우터들에 의해 반복적이고 분산된 방식으로 수행된다.
            • 각 라우터가 자신에게 연결된 인접 노드에 대한 링크 비용 정보를 알고있다.
            • Distance Vector 알고리즘이 여기에 속한다.
            • 주로 벨만-포드 알고리즘을 사용한다.
          • 정적 라우팅
            • 관리자가 네트워크에 대한 경로 정보를 직접 지정하여 라우팅한다.
            • 관리자에 의한 라우팅 정보만을 참조하여 라우터 자체의 부담이 적다.
            • 동적 라우팅 보다 빠르고 안정적이다.
            • 네트워크 변화가 빈번하거나 등록할 네트워크가 많을 경우 경로 설정을 변경하기 어렵다.
          • 동적 라우팅
            • 대규모 네트워크에 사용하며 라우터간의 변경된 네트워크에 대한 정보를 자동으로 교환하여 라우팅한다.
            • Routing table을 자동으로 작성하여 관리자의 초기 설정만 필요하다.
            • 단점으로는 정적 라우팅보다 메모리를 많이 사용한다.
          • 디폴트 라우팅
            • 경로를 찾지 못한 모든 네트워크들의 경로를 미리 설정해두는 것.
            • 인터넷을 사용하는 라우터나 경로가 하나일 때 주로 사용
    • 전송 계층
      • 전송 계층의 특징은? - port번호, 전송방식 결정(TCP/UDP), TCP/UDP 헤더 추가, 데이터의 도착여부 파악, 세션을 맺고 있는 두 사용자 사이의 신뢰성 있는 데이터 전송을 위한 종단간 전송을 담당
        • 사용되는 장비 - 스위치
          • 스위치 - 네트워크 단위들을 연결하는 통신장비로써 허브보다 전송속도가 개선된 것을 말한다
            • 계층 별 사용 가능한 스위치가 다름(L2, L3, L4, L7) 
        • 전송되는 단위 - 세그먼트, 데이터그램
          • 세그먼트 -  TCP 헤더 + 데이터
          • 데이터그램 - UDP 헤더 + 데이터
        • TCP - 연결형 통신
          • 3-way handshaking 과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제
          • 흐름 제어 및 혼잡 제어
          • 높은 신뢰성 보장
          • UDP보다 속도가 느림
          • 전이중, 점대점 방식
        • UDP - 비연결형 통신
          • 정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다
          • UDP 헤더의 체크섬 필드를 통해 최소한의 오류만 검출한다
          • 신뢰성이 낮다
          • TCP보다 속도가 빠르다
        • 신뢰적 전송 - 동일 또는 타 기종 시스템간에 어떤 망이 연결되었던 관계없이 정보를 틀림없이 상대 단말기에 전달
        • 논리회선 및 다중화 / 역 다중화 지원 - 동시에 여러개의 논리적 연결을 가능하게 하는 다중화를 시킨다
        • 투명한 전송 - 경로 선택이나 중계기능에 관여하지 않고 양단간 데이터의 투명한 양방향 전송 기능을 제공
    • 세션 계층
      • 세션 계층의 특징은? - 어플리케이션 간의 논리적 연결인 세션의 생성, 관리, 종료를 담당하는 계층.
        대화 제어를 담당
        • 애플리케이션 사이의 세션을 열고 닫고 관리
        • 체크포인트를 통해 동기화 작업을 진행
        • 애플리케이션에 대한 단일 또는 다중 연결 제어 
    • 표현 계층
      • 표현 계층의 특징 - 송수신자가 공통으로 이해할 수 있도록 데이터 표현 방식을 변경(인코딩, 디코딩, 암호화, 복호화 등)하는 기능을 담당하는 계층
        • 인코딩 - 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는것
        • 디코딩 - 코드를 일반 텍스트 혹은 후속 프로세스에 유용한 형식으로 변환하는 프로세스
        • 암호화 - 전송데이터의 도청 혹은 변조를 막기 위한 방법 key와 알고리즘을 결합하여 메시지를 암호화 한다(평문을 암호문으로 만듬)
          • 암호화 방식 - 대칭키 방식, 비대칭키 방식
            • 대칭키 방식 - 암호를 시키는 키와 푸는 키가 같음
              • 블록 암호화
                • DES
                • AES
                • SEED
                • HIGHT
                • ARIA
              • 스트림 암호화
                • RC4
            • 비대칭키 방식 - 암호를 시키는 키와 푸는 키가 다름
              • RSA
              • ECC
        • 복호화 - 암호문을 평문으로 복원하는 과정
    • 응용 계층
      • 응용 계층의 특징 - 사용자가 네트워크에 접근할 수 있도록 인터페이스를 담당하는 계층
      • 여러 프로토콜 존재 - HTTP, FTP, SMTP, POP3, IMAP, Telnet
        • HTTP
        • FTP
        • SMTP
        • POP3
        • IMAP
        • Telnet
반응형