이론 적인 것은 잘 정리된 글이 많기 때문에 생략.
java로 int 형 stack과 Object형 stack을 구현한 코드.


int 형을 저장하는 스택

public class IntStack {
    // 스택용 배열
    private int[] stk;
    // 스택 용량
    private int capacity;
    // 스택 포인터
    private int ptr;

    // 실행 시 예외 : 스택이 비어있는 경우
    public class EmptyIntStackException extends RuntimeException {
        public EmptyIntStackException(){}
    }

    // 실행 시 예외 : 스택이 가득 찬 경우
    public class OverflowIntStackException extends RuntimeException {
        public OverflowIntStackException(){}
    }

    // 생성자
    public IntStack(int maxLen) {
        ptr = 0;
        capacity = maxLen;
        try {
            // 스택 본채용 배열 생성
            stk = new int[capacity];
        } catch (OutOfMemoryError e) {
            // 생성할 수 없음
            capacity = 0;
        }
    }

    // 스택에 X를 푸시
    public int push(int x) throws OverflowIntStackException {
        if (ptr >= capacity)
            // 스택이 가득 찬 경우
            throw new OverflowIntStackException();

        return stk[ptr++] = x;
    }

    // 스택에서 데이터를 팝 (꼭대기에 있는 데이터를 꺼냄)
    public int pop() throws EmptyIntStackException {
        if (ptr <= 0)
            // 스택이 비어 있음
            throw new EmptyIntStackException();

        return stk[--ptr];
    }

    // 스택에서 데이트를 피크 (꼭대기에 있는 데이터 조회)
    public int peek() throws EmptyIntStackException {
        if (ptr <= 0)
            // 스택이 비어 있음
            throw new EmptyIntStackException();

        return stk[ptr - 1];
    }

    // 스택을 비움
    public void clear() {
        // 모든 작업이 ptr 값으로 이루어 지므로 배열의 요소를 변경할 필요가 없음.
        ptr = 0;
    }

    // 스택에서 X 찾아 인덱스 반환, 없다면 -1 반환
    public int indexOf(int x) {
        // 뒤(꼭대기)에서 부터 선형 탐색
        for (int i = ptr - 1; i >= 0; i--) {
            if (stk[i] == x)
                // 검색 성공
                return i;
        }
        // 검색 실패
        return -1;
    }

    // 스택의 용량 반환
    public int getCapacity() {
        return this.capacity;
    }

    // 스택에 쌓여있는 데이터 개수 반환
    public int size() {
        return ptr;
    }

    // 스택이 비어있는지 확인
    public boolean isEmpty() {
        return ptr <= 0;
    }

    // 스택이 가득 찼는지 확인
    public boolean isFull() {
        return ptr >= capacity;
    }

    public void dump() {
        if (ptr <= 0)
            System.out.println("EMPTY STACK");
        else {
            for (int i = 0; i < ptr; i++)
                System.out.print(stk[i] + " ");

            System.out.println("");
        }
    }
}

Object 형을 저장하는 스택

// 임의의 객체형을 쌓을 수 있는 테네릭 스택 클래서 Stack<E> 작성
public class GenericStack<E> {
    // 스택용 배열
    private E[] stk;
    // 스택 용량
    private int capacity;
    // 스택 포인터
    private int ptr;

    // 실행 시 예외 : 스택이 비어있는 경우
    public static class EmptyGStackException extends RuntimeException {
        public EmptyGStackException(){}
    }

    // 실행 시 예외 : 스택이 가득 찬 경우
    public static class OverflowGStackException extends RuntimeException {
        public OverflowGStackException(){}
    }

    // 생성자
    public GenericStack(int maxLen) {
        ptr = 0;
        capacity = maxLen;
        try {
            // 스택 본채용 배열 생성
            stk = (E[])new Object[capacity];
        } catch (OutOfMemoryError e) {
            // 생성할 수 없음
            capacity = 0;
        }
    }

    // 스택에 X를 푸시
    public E push(E x) throws OverflowGStackException {
        if (ptr >= capacity)
            // 스택이 가득 찬 경우
            throw new OverflowGStackException();

        return stk[ptr++] = x;
    }

    // 스택에서 데이터를 팝 (꼭대기에 있는 데이터를 꺼냄)
    public E pop() throws EmptyGStackException {
        if (ptr <= 0)
            // 스택이 비어 있음
            throw new EmptyGStackException();

        return stk[--ptr];
    }

    // 스택에서 데이트를 피크 (꼭대기에 있는 데이터 조회)
    public E peek() throws EmptyGStackException {
        if (ptr <= 0)
            // 스택이 비어 있음
            throw new EmptyGStackException();

        return stk[ptr - 1];
    }

    // 스택을 비움
    public void clear() {
        // 모든 작업이 ptr 값으로 이루어 지므로 배열의 요소를 변경할 필요가 없음.
        ptr = 0;
    }

    // 스택에서 X 찾아 인덱스 반환, 없다면 -1 반환
    public int indexOf(Object x) {
        // 뒤(꼭대기)에서 부터 선형 탐색
        for (int i = ptr - 1; i >= 0; i--) {
            if (stk[i].equals(x))
                // 검색 성공
                return i;
        }
        // 검색 실패
        return -1;
    }

    // 스택의 용량 반환
    public int getCapacity() {
        return this.capacity;
    }

    // 스택에 쌓여있는 데이터 개수 반환
    public int size() {
        return ptr;
    }

    // 스택이 비어있는지 확인
    public boolean isEmpty() {
        return ptr <= 0;
    }

    // 스택이 가득 찼는지 확인
    public boolean isFull() {
        return ptr >= capacity;
    }

    public void dump() {
        if (ptr <= 0)
            System.out.println("EMPTY STACK");
        else {
            for (int i = 0; i < ptr; i++)
                System.out.print(stk[i] + " ");

            System.out.println("");
        }
    }
}
728x90
반응형

'Computer Science > DataStructure' 카테고리의 다른 글

[DS] Array 배열  (0) 2022.07.17

배열 (Array)

  • 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조
  • 각 원소의 물리적인 위치(메모리 주소)의 순서가 배열의 인덱스 순서(논리적인 순서)와 일치

배열이 필요한 이유

  • 같은 종류의 데이터를 효율적으로 관리하기 위해 사용
  • 같은 종류의 데이터를 순차적으로 저장

장단점

  • 장점
    • 빠른 데이터 접근
  • 단점
    • 추가/삭제가 쉽지 않음
    • 최대 길이를 미리 지정해야 함
data S T R I N G
index 0 1 2 3 4 5
728x90
반응형

'Computer Science > DataStructure' 카테고리의 다른 글

[DS] Stack 스택  (2) 2023.03.26

네트워크 보안을 강화시키는 방법으로 암호 기법, 디지털 서명, 웹 보안 프로토콜, 방화벽, 프록시 서버 등을 알아봄

주요 용어

  • 암호화 :
    누구나 읽을 수 있는 평문을 제 3자가 읽을 수 없는 형태인 암호문으로 변환하는 과정
  • 복호화 :
    암호문을 평문으로 변화하는 과정
  • 대치암호 :
    평문의 각 글자를 다른 글자로 대치하여 암호문을 만드는 방식
  • 전치암호 :
    평문의 글자를 재배열하는 방식으로 문자의 위치를 바꿔서 암호문을 만드는 방식
  • 스트림 암호화 :
    평문과 같은 길이의 키 스트림을 생성하여 평문과 키를 비트 단위로 합하여 암호문을 만드는 방식
  • 블록 암호화 :
    평문을 일정한 길이의 단위(block)로 나눈 뒤, 각 블록 단위로 암호화 과정을 수행하여 암호문을 얻는 방법
  • 대칭 키 암호화 :
    암호화에서 사용하는 암호화와 키와 복호화에 사용하는 복호화 키가 서로 같음 암호화 방식
  • 공개 키 암호화 :
    암호화에 사용하는 암호화 키와 복호화에 사용하는 복호화 키가 서로 다른 암호화 방식.
    암호화 키는 일반인에게 공개하는 공개키이고 복호화 키는 개인이 공개하지 않는 비밀 키임
  • 공개 키 기반 구조 (Public Key Infrastructure; PKI) :
    일반 사람들이 공개 키 암호화 기법을 믿고 사용할 수 있도록 공개 키 인증서를 발행하고
    그에 대한 접근을 제공하는 인증서 관리 기반 구조
  • 방화벽 (firewall) :
    네트워크와 네트워크 사이에서 패킷을 검사하여 조건에 맞는 패킷만을 통과시키는 소프트웨어나 하드웨어를 총칭
  • 프록시 서버(proxy server) :
    내부 네트워크에 접속되어 있는 클라이언트를 대신하여 외부 네트워크에 접속하여 클라이언트가 요청한 통신 서비스를 제공하는 서버

암호 기법

암호 기법의 개요

  • 암호화 (Encryption) :
    누구나 읽을 수 있는 평문(plaintext)을 제 3자가 읽을 수 없는 형태인 암호문(chipertext)으로 변환하는 과정
  • 복호화 (decryption) :
    암호문을 평문으로 변환하는 과정
  • 키 (key) :
    암호화 키, 복호화 키
    과정 : 평문 -> 암호화(암호화 키) -> 암호문 -> 복호화(복호화 키) -> 평문

암호화의 주요 기능

  • 전달 과정의 기밀성 보장
  • 정보의 무결성 보장
  • 송신자와 수신자의 정당성 보장
  • 네트워크 보안의 5가지 요구사항
    • 데이터의 기밀성 보장
    • 데이터의 무결성 보장
    • 정당성 보장 : 실체 인증, 데이터 인증, 부인 방지

암호화 기술

암호화 기술 - 분류

  • 동작 형태 :
    대치 암호, 전치 암호, 혼합 암호, 대수화 암호
  • 평문의 처리 방법 :
    스트림 암호화, 블록 암호화
  • 암호화 키 :
    대칭 키 암호화, 공개 키 암호화

동작 형태

  • 대치 암호 (치환 암호; substitution cipher)
    • 메세지의 각 글자를 다른 글자로 대치하는 방식
    • 예 : Caesar 암호
  • 전치 암호 (전위 암호; transposition cipher)
    • 평문의 글자를 재배열하는 방식 (문자의 위치를 바꿔 암호문을 작성)
  • 혼합 암호 (product cipher)
    • 대치와 전치 두 방법 모두 사용하는 방식
    • 예 : LUCIFER, ENIGMA, ABFGVX, DES 등
  • 대수적 암호 (algebraic cipher)
    • 각 글자를 숫자로 바꾸어 수학적으로 처리하는 방식
    • 예 : 순환잉여검사 (CRC), Vernam 암호 방식

평문 처리 방법

  • 스트림 암호화 (stream cipher [state cipher] encryption)
    • 평문과 같은 길이의 키 스트림을 생성, 평문과 키를 비트 단위로 합하여 암호문을 얻는 방법
    • 평문을 한 번에 한 비트씩, radom하게 생성되는 키 스트림과 XOR 연산으로 합하여 전송함
  • 블록 암호화 (block cipher [state cipher] encryption)
    • 평문을 일정한 길이의 단위(block)으로 나눈 뒤, 각 블록 단위로 암호화 과정을 수행하여 암호문을 얻는 방법
    • 예 : LUCIFER, DES
    • 비교

암호화 키

  • 대칭 키 암호화 (symmetric key encryption)
    • 암호화 키 = 복호화 키
    • 유사어 :
      • 공통 키 (common key) 암호화
      • 비밀 키 (secret key) 암호화
      • 관용 암호화 (conventional encryption)
    • 장점 :
      • 구현이 용이
      • 실행 속도가 빠름
    • 단점 :
      • 키 분배 및 관리가 어려움
      • 인증과 송수신 부인 방지가 보장되지 않음
    • 에 : RC2, RC4, RC5, IDEA, DES, Triple DES, AES
    • DES (Data Encryption Standard)
      • 대칭 키를 사용하는 블록 암호화 방식
      • IBM에서 개발한 LUCIFER의 확장된 형태,
      • 평문의 한 블록(64 비트)을 공통 키(54 비트)를 이용, 전치, 대치, XOR 연산 등을 16회 반복하여 암호문 한 블록(64 비트)을 완성함
    • AES (Advanced Encryption Standard)
  • 공개 키 암호화 방식 (public key encryption)
    • RSA 암호화 알고리즘
      • 가장 대중화된 공개 키 암호화 방식
      • 2 개의 큰 소수 p, q를 구하고, 두 소수의 곱 n을 구해 사용하는데, 이 암호화 방식의 안전도는 n의 소인수 분해 난이도에 종속됨
    • 장점
      • 공통 키 암호화 방식의 키 분배 문제 해결
      • 디지털 서명 기능 (부인 봉쇄 가능)
    • 단점
      • 구현의 어려움
      • 처리 속도가 느림

키 관리

공개 키 관리

  • 공개 키는 공개되므로 위/변조가 가능
  • 공개 키 인증서 (certificate)
    • 공개 키를 인증하는 전자적 증명문서
    • 인증 만기일, 인증서 발급기관 이름, 일련번호, 인증서 발급 기관의 디지털 서명
    • 인증서의 형식은 ITU-T X.509 표준에 따름

공개 키 기반 구조

  • Public Key Infrastructure (PKI) :
    공개 키 인증서를 발급하고 사용할 수 있는 인증서 관리 구조
  • 인증기관 (Certificate Authority; CA) :
    일반인에게 개인 키와 공개 키를 부여하고,
    인증서를 통해 상대방의 공개 키를 제공하는 서비스 기관
  • 인증서 :
    • 기재된 통신 객체 (개인, 기관, 컴퓨터)의 신분 보증
    • 인증기관의 디지털 서명이 포함되어 인증기관의 개인 키 없이는 위/변조 불가능

디지털 서명 (digital signature)

디지털 서명의 개요

  • 공개 키 암호화 방식에서의 메세지 암호화는
    개인 키를 이용한 메세지 작성자만이 할 수 있으므로
    이를 이용하여 메세지릐 작성자 본인을 알리는 서명을 작성함
  • 서명 알고리즘 및 증명 알고리즘

디지털 서명의 유효성

  • 디지털 서명의 유효성을 위한 5가지 조건
    1. 서명자 인증 (user authentication) :
      디지털 서명의 서명자를 불특정 다수의 사람들이 검증할 수 있어야 함
    2. 부인 불가 (non-repudiation) :
      서명자는 서명 이후 서명 사실을 부인할 수 없어야 함
    3. 변경 불가 (unalterable) :
      서명한 문서의 내용은 변경할 수 없어야 함
    4. 재사용 불가 (not reusable) :
      어느 한 전자문서의 디지털 서명을 다른 전자문서의 디지털 서명으로 사용할 수 없어야 함
    5. 위조 불가 (unforgeable) :
      적법적인 서명자만이 디지털 서명을 할 수 있어야 함

웹 보안 프로토콜

웹 보안 프로토콜 분류

  • 응용계층 프로토콜
    • 이메일 보안 : PGP, PEM, S/MIME
    • HTTP 보안 : S-HTTP; Secure HTTP
    • 원격 로그인 보안 : SSH; Secure Shell
  • 전송계층 프로토콜
    • SSL; Secure Socket Layer
    • TLS; Transport Layer Security
  • 네트워크계층 프로토콜
    • IPSec; Internet Protocol Security

응용계층 웹 보안 프로토콜 - 이메일 보안

  1. PGP; Pretty Good Privacy
    • 공개 키 암호화 방식 사용
    • 기능
      • 기밀성 : 제 3자는 이메일 내용을 볼 수 없음
      • 메세지 인증 : 메세지가 위/변조 되지 않았음을 인증
      • 사용자 인증 : 이메일의 발신자가 누구인지 확인
      • 송신자 부인 방지 : 이메일 발송 부인의 방지
  2. PEM; Privacy Enhanced Mail
    • IETF (Internet Engineering Task Force)에서 표준으로 제정한 공개 키 암호화 방식의 이메일 보안 방식
    • 표준으로 제정되었으나 실제로 활용되지 못함
  3. S/MIME (Secure/Multipurpose Internet Mail Extension)
    • MIME으로 캡슐화 된 이메일에 대해 공개 키 암호와 디지털 서명을 제공해주는 이메일 보안 표준 프로토콜
    • 공개 키 암호화 방식, RSA 암호 방식을 이용

전송계층 웹 보안 프로토콜 - SSL

  • Secure Socket Layer
  • 웹 페이지 보안 프로그램으로 대부분의 웹 브라우져가 지원해 줌
  • Netscape Communication사에서 개발한 de facto standard
  • http 외에도 ftp, SMTP, Telnet 등의 응용에도 적용 가능
  • SSL이 적용된 웹 페이지의 URL은 https로 시작되며 보안 포느 443을 사용

전송계층 웹 보안 프로토콜 - TLS

  • Transport Layer Security
  • SSL을 계승한 전송 계층의 보안 프로토콜
  • TLS의 상위 계층의 응용 프로토콜과는 독립적이기 때문에 어떤 응용 프로그램도 TLS를 이용하여 안전한 통신 가능

네트워크계층 웹 보안 프로토콜 - IPSec

  • IPSec (Internet Protocol Security)
  • IP 게층 (네트워크 계층)에서 동작하는 보안 프로토콜
    • Authentication Header; AH : 송신자의 인증
    • Encapsulation Security Payload; ESP : 송신자의 인증과 데이터 암호화
  • IP 계층에서의 데이터 기밀성, 데이터 무결성, 데이터 인증 등의 보안 서비스 제공

방화벽과 프록시 서버

방화벽의 개요

네트워크와 네트워크 사이에서 패킷을 검사하여 조건에 맞는 패킷만을 통과시키는 (packet filtering) S/W, H/W를 총칭

방화벽의 종류

  • 배스천 호스트; bastion host
  • 스크리닝 라우터; screening router
  • 이중 홈 게이트웨이; dual-homed gateway
    • 2개 이상의 네트워크에 동시에 접속된 Bation host
  • 스크린 호스트 게이트웨이; screened host gateway
    • 스크리닝 라우터와 스크린 호스트(bation host, dual-homed gateway)를 혼합한 형태의 방화벽
  • 스크린 서브넷; screened subnet
    • 외부 네트워크와 내부 네트워크 사이에 DMZ 역할을 하는 완충 지역 개념의 서브넷

프록시 서버의 개요

  • 내부 네트워크게 있는 Client를 대신하여 인터넷에 접속하고
    Client가 요청한 통신 서비스를 Client가 요청한 통신 서비스를 다시 Client에게 제공해 주는 서버
  • 동작 절차
    1. Proxy server는 client의 요청에 따라 외부 서버에게 서비스 요청
    2. 외부 서버는 proxy server에게 요청한 서비스 전달
    3. Proxy server는 전달 받은 서비스를 client에게 전달

프록시 서버의 기능

  • 안정성 :
    사용자 인증 기능, 서비스 이용 제한 등의 기능을 proxy server에 두면
    client는 일괄적 보호를 받음
  • 익명성 :
    외부 서버에 접근하는 것은 proxy server이므로,
    client의 고유정보가 노출될 가능성이 감소함
  • 신속성 :
    사용자가 열람한 웹 사이트의 정보를 캐시에 임시적으로 보관해 놓는데, 이를 이용하면 client가 동일한 웹 사이트에 접속하는 경우 신속하게 할 수 있음

요약

  1. 암호화란 누구나 읽을 수 있는 평문을 권한이 없는 제 3자가 알아볼 수 없는 형태로 재구성하는 과정을 의미,
    암호화의 역과정으로 암호화 평문으로 복원하는 것을 복호화라고 함
  2. 키의 종류에 따른 암호화 방식으로는 DES로 대표되는 대칭 키 암호화 방식과 RSA로 대표되는 공개 키 암호화 방식이 있음
  3. 디지털 서병은 네트워크상에서 문서나 메세지를 송수신할 때 디지털 문서에 서명자 인증, 문서의 위/변조 방지, 송신 부인 방지 등의 기능을 제공하는 암호화 기술을 사용하여 서병하는 방법
  4. 인터넷 보안을 위해 사용되는 주요 기술로는 웹 보안 프로토콜을 사용하는 방법, 방화벽을 사용하는 방법, 프록시 서버를 사용하는 방법이 있음
  5. 방화벽은 네트워크와 네트워크 사이에 송/수신 되는 패킷을 검사하여 조건에 맞는 패킷들만 통과시키는 소프트웨어나 하드웨어를 총칭함
  6. 프록시 서버는 내부 네트워크에 있는 클라이언트를 대신하여 인터넷에 접속, 클라이언트가 요청한 통신 서비스의 결과를 클라이언트에게 제공하는 서버임
출처 : 방송통신대 강의 자료실 정보통신망 강의록
728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

네트워크 보안 - I  (0) 2022.06.12
LAN; 근거리 통신망 - II  (0) 2022.06.12
LAN; 근거리 통신망 - I  (0) 2022.06.12
TCP/IP - III  (0) 2022.06.12
TCP/IP - II  (0) 2022.06.12

인터넷의 보편화로 언제 어디에서든 자신이 필요로 하는 정보를 검색, 접근 활용이 쉬워지면서
도용, 위/변조, 불순한 침입 등과 같은 역기능 문제가 대두됨.
정보통신망에서 보안의 필요성과 네트워크 보안의 요구 사항과 네트워크 보안을 위협하는 제 3자, 통신 담당자, 악성 프로그램, 기타 위협 요소 등을 알아 봄

주요 용어

  • 기밀성 (confidentiality) :
    정보가 허가되지 않은 사용자에게 노출되지 않는 것
  • 무결성 (integrity) :
    정보가 권한이 없는 사용자에 의해 변경되지 않는 것
  • 가용성 (availavility) :
    합법적인 사용자가 정보시스템의 데이터와 자원에 접근하여 사용할 수 있는 것
  • 부인 방지 :
    데이터의 송신이나 수신 사실을 확인함으로써 송수싱 사실을 부인할 수 없도록 하는 것
  • 웜 (worm) :
    네트워크를 통하여 자기 자신을 복제하며 전파할 수 있는 프로그램
  • 피싱 (phishing) :
    인터넷에서 스팸메일을 이용한 범죄수법으로, 송신자의 신원을 알리지 않는 메일로 수신자의 개인 정보를 빼낸 뒤 이를 불법적으로 이용하는 범죄
  • 파밍 (pharming) :
    합법적으로 소유하고 있던 사용자의 도메인을 탈취하거나 도메인 네임 시스템(DNS) 이름을 속여 사용자들이 진짜 사이트로 오인하도록 유도하여 개인 정보를 훔치는 수법

네트워크 보안 개요

필요성

  • 종이 문서와 전자 문서의 차이
  • 정보통신망을 통한 문서의 공개

보안의 3가지 목표 : 보안 원칙

  • 기밀성 (confidentiality) :
    허가되지 않은 사람에게 정보가 노출되지 않는 것을 보장
  • 무결성 (integrity) :
    허가되지 않은 사람에 의해 정보가 변경되지 않는 것을 보장
  • 가용성 (availability) :
    허가된 사람에게 부당한 지체 없이 정보가 접근되고 사용할 수 있도록 하는 것을 보장

보안의 종류

  • 시스템 보안 :
    권한이 없는 사람에 의한 파일 및 장치 등의 사용을 제한함으로써 시스템을 보호
    • 시스템 보안 방법
      • 접근 통제 : 권한이 있는 사용자들에게 접근을 제한
      • 감시 통제 : 시스템에서의 활동을 감시
  • 네트워크 보안 :
    내부 네트워크가 인터넷과 같은 외부의 네트워크와 연결되면서 내부 조직의 네트워크 보안이 점점 중요해 짐
    • 예 ) 인터넷 뱅킹, 전자상거래, 증명서 발금
    • 권한이 없는 사람의 접근이나 우연 또는 의도적인 방해나 파괴로부터 네트워크를 보호하기 위한 방법
    • H/W, S/W, 인위적 보안 조치의 총칭

네트워크 보안의 요구 사항

  1. 실체 인증 :
    통신에 참여한 실체에 대한 진위 검증
  2. 데이터 무결성 :
    데이터가 파괴되거나 변경되지 않도록 보호
  3. 데이터 보안성 :
    정보의 비밀 보장, 합법적 사용자의 접근 보호
  4. 데이터 인증 :
    데이터가 신뢰할 수 있는 발신처에 전송된 것인지 확인
  5. 부인 방지 :
    데이터의 수신이나 전송 사실에 대한 확인

네트워크 보안 위협 유형

유형 분류

  • 사람
    • 제 3자, 통신 당사자 (송신자, 수신자)
  • 악성 프로그램
    • 바이러스, 웜, 트로이 목마
  • 기타
    • phishing, pharming

제 3자에 의한 불법적인 공격 유형

  1. 가로채기 (interception) : 기밀성 위협
    • 공격자가 전송되고 있는 정보를 몰래 열람 또는 도청하는 행위
    • 예 : 네트워크 상에서 개인 정보 데이터를 부정한 방법으로 복사하거나 도청하는 행위
  2. 변조 (modification) : 무결성 위협
    • 공격자가 시스템에 접근하여 데이터를 조작하여 원래 데이터를 다른 내용으로 바꾸는 행위
    • 예 : 송수신자가 알아채지 못하도록 전송 중인 메일 내용을 변경하거나 데이터 파일 내의 값들을 변경
  3. 위조 (fabrication) : 무결성 위협
    • 공격자가 거짓 정보나 잘못된 정보를 삽입하여 수신자에게 전송, 수신자가 정당한 송신자로부터 정보를 수신한 것으로 착각하게 만들어 이를 통해 이득을 보려는 행위
    • 예 : 위조된 메세지를 수신자에게 전송하는 행위
  4. 방해 (interruption) : 가용성 위협
    • 송신자와 수신자 간의 정보 수신일 원할하게 이루어지지 못하도록 시스템의 일부를 파괴하거나 사용할 수 없게 하는 행위
    • 예 : 통신회선의 절단이나 파일 관리 시스템의 파손 등
  5. 서비스 거부 (Denial of Service; DoS) : 가용성 위협
    • 공격자가 처리 용량을 넘는 데이터를 전송하여 과도한 부하를 일으켜 시스템을 마비시킴으로써 정당한 이용자가 시스템을 사용하지 못하게 만드는 행위
    • 예 : 메일 서버 시스템에 엄청난 양의 스팸 메일을 보내 시스템의 원활한 서비스를 방해하는 행위 등
    • 분산 서비스 거부; Distributed DoS

통신 당사자 간의 부정 유형

  • 부정 (사기 ; fraud)
  • 송신자
    • 송신 자체를 부인
  • 수신자
    • 수신 자체를 부인
  • 부인 봉쇄 방법의 필요

악성 프로그램

  • 컴퓨터 바이러스 (computer virus)
    • 컴퓨터에서 실행되는 일종의 명령어들의 집합으로서 컴퓨터 프로그램이나 데이터 파일을 감염시킴
    • 감염은 정상 파일에 바이러스 코드를 붙이거나 본래 목적 이외의 작업을 처리하며 동시에 자신을 복제시킴
    • 증상
      • 컴퓨터 부팅 시간이 오래 걸리거나 부팅이 안 되는 증상
      • 프로그램이 오동작하거나 동작 되지 않는 증상
      • 저장된 데이터가 변조되거나 삭제되는 증상 등
    • 최신 바이러스 백신 사용
  • 웜 (worm)
    • 네트워크를 통해서 자신을 복제, 전파할 수 있는 프로그램
    • 감염시키지 않고도 복제할 수 있음
    • 감염 경로 : email, P2P, 메신져 등
    • 주요 피해 유형
      • DDoS
      • 침입자가 시스템에 쉽게 접근할 수 있는 통로 제공
  • 트로이 목마 (Trojan horse)
    • 컴퓨터 사용자의 정보를 빼내가기 위한 목적으로 제작된 악성 프로그램
    • 악성 코드를 유틸리티 프로그램에 내장하여 배포하거나 그 자체를 유틸리티 프로그램으로 위장하여 배포
    • 자기 복제능력 없음

기타 위협 요소

  • 피싱 (Phishing)
    • Private Information + Fishing
    • 인터넷에서 송신자를 알리지 않는 스팸 메일을 이용하여 수신자의 개인 정보를 빼낸 뒤 이를 불법적으로 이용하는 범죄
    • 예 :
      • 거짓 이메일을 통해, 가짜 웹 사이트로 유인, 신상정보 요구
      • 이벤트, 설문조사 등
      • 전화를 이용한 피싱도 있음 (voice phising)
  • 파밍 (Pharming)
    • Phishing + Farming
    • 정당한 웹 사이트의 도메인을 탈취하거나 DNS 이름을 속여 미리 정해 놓은 웹사이트로 data traffic을 유인한 뒤, 개인 정보를 빼내 이를 불법적으로 이용하는 범죄
    • 피싱의 한 유형이지만 더 위협적

요약

  1. 정보 보호의 목표 :
    • 기밀성 :
      허가되지 않은 사용자에게 노출되지 않는 것을 보장
    • 무결성 :
      정보가 권한이 없는 사용자의 악의적 또는 비 악의적인 접근에 의해 변경되지 않는 것을 보장
    • 가용성 :
      인가된 사용자가 정보 시스템의 데이터 또는 자원을 필요로 할 때 부당한 지체 없이 원하는 객체 또는 자원을 접근하고 사용할 수 있도록 보장
  2. 보안은
    • 시스템 보안 :
      권한이 없는 사용자에 의한 파일 및 장치 등의 사용을 제한하여 시스템을 보호
    • 네트워크 보안 :
      권한이 없는 사람의 접근이나 정산 운용시 우연 또는 의도적인 방해나 파괴로부터 네트워크를 보호
  3. 네트워크 보안의 요구 사항 :
    실체 인증, 데이터 무결성, 데이터 보안성, 데이터 인증, 부인 방지
  4. 네트워크 보안 위협의 유형의 구분 :
    제 3자에 의한 불법적인 공격, 통신 당사자 간의 부정, 악성 프로그램의 감염, 기타 유형
  5. 제 3자의 불법적인 공격에 의한 보안 위협 유형 :
    변조, 가로채기, 방해, 위조
  6. 변조 :
    공격자가 시스템에 접근, 데이터를 조작하여 원래의 데이터를 다른 내용으로 바꾸는 행위
    가로채기 :
    공격자가 전송되고 있는 정보를 몰래 열람, 또는 도청하는 행위
  7. 위조 :
    공격자가 거짓 정보나 잘못된 정보를 삽입하여 수신자에게 전송하여 수신자가 정당한 송신자로부터 정보를 수신한 것처럼 착각하도록 만들어 이를 통해 이득을 보려는 행위
    방해 :
    송신자와 수신자 간의 정보 송수신이 원활하게 이루어 지지 못하도록 시스템의 일부를 파괴하거나 사용할 수 없게 하는 행위
  8. 서비스 거부(DoS) :
    공격자가 처리 용량을 넘는 데이터를 전송하여 과도한 부하를 일으켜 시스템을 마비시킴으로써 정당한 이용자가 시스템을 사용하지 못하게 만드는 행위
  9. 악성 프로그램의 감염에 의한 보안 위협 유형 :
    바이러스, 웜, 트로이목마
  10. 최근 인터넷에서 많이 발생하는 기타 보안 위협 유형 :
    피싱, 파밍

 

 

출처 : 방송통신대 강의 자료실 정보통신망 강의록

 
728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

네트워크 보안 - II  (0) 2022.06.12
LAN; 근거리 통신망 - II  (0) 2022.06.12
LAN; 근거리 통신망 - I  (0) 2022.06.12
TCP/IP - III  (0) 2022.06.12
TCP/IP - II  (0) 2022.06.12

근거리 통신망은 OSI 참조 모델의 계층화 개념을 이용하고 IEEE 802 위원회에 의한 LAN 프로토콜의 표준화가 진행되면서 계속 발전되고 있음.

주요 용어

  • MAU :
    매체접근장치 signaling, encoding 기능과 대체를 다루는 기능을 수행
  • MAC :
    매체접근제어로 LLC와 MAU 사이의 인터페이스 역할, 데이터 전송 매체의 사용권을 모든 노드에게 균등하게 제공하는 기능을 수행
  • LLC :
    논리링크제어로 MAC에 의해 확보된 데이터 전송권한을 이용해 흐름제어, 오류제어, 순서화 및 연결관리 등의 기능 수행
  • IBSS :
    Independent Basic Service Set.
    무선 LAN의 애드훅(ad-hoc) 통신 방식으로 구성되는 독립적 단위의 무선 LAN
    • ad-hoc 통신방식이란 무선 LAN의 전파가 도달하는 범위 안에서 무선 LAN 카드를 장착한 노드들끼리 직접 통신하는 방식
  • BSS :
    Basic Service Set.
    무선 LAN의 인프라스트럭쳐(infrastructure) 통신 방식에서 하나의 AP(Access Point)를 통해 구성되는 무선 LAN
    • 인프라스트럭쳐 통신 방식이란 무선 LAN 카드를 장착한 노드들이 허브나 라우터에 연결된 AP를 통해서 서로 통신하는 방식
  • FDDI :
    Fiber Distributed Data Interface.
    광섬유 케이블을 사용하도록 설계된 이중 환형 구조의 LAN

LAN 참조 모델

OSI 참조 모델과 LAN 참조 모델

물리계층

  • 물리 매체 (cable)
    • 케이블을 통해 전기적 신호를 전달하는 역할 수행
    • twisted pair cable, coaxial cable, optical fiber, electric wave
  • 매체 접근 장치 (MAU)
    • signaling, encoding 기능과 매체를 다루는 기능 수행

데이터링크 계층

  • 매체 접근 제어 (MAC)
    • MAU와 LLC 사이의 인터페이스
    • 데이터 전송 매체의 사용권을 모든 노드에게 균등하게 제공하는 기능 수행
  • 논리링크 제어 (LLC)
    • MAC에 의해 확보된 데이터 전송 권한을 이용해 흐름제어, 오류제어, 순서화 및 연결관리 등의 기능 수행

LAN의 논리 링크 제어

논리링크제어 (LLC) 계층

  • 중간 노드 없이 인접 두 노드 사이의 데이터 전송
  • OSI 참조모델의 데이터링크 계층
  • 차이
    • LLC는 다중접근을 지원
    • 매체제어는 MAC에서 해결하므로 LLC는 관여하지 않음
    • 데이터링크 계층 기능의 일부만 수행

LAN 관련 표준

IEEE 802 프로토콜


무선 LAN

개요

  • 적외선이나 전파를 사용하여 노드들을 연결한 LAN
  • 장점
    • 이동 중에도 통신할 수 있음
    • 빠른 시간 내에 네트워크 구축 가능
    • 노드들의 배치에 영향을 받지 않음
    • 복잡한 배선의 번거로움 제거 가능
  • 단점
    • 유선보다 전송속도가 느림
    • 간섭 발생 가능성 높음
    • 보안에 취약함

전송 매체

  • 적외선 기술 사용
  • 대부분 무선 LAN은 2.4GHz ~ 5GHz대의 주파수 대역 사용

무선 LAN의 종류

  • 802.11a
    • 5.7 GHz 주파수 사용
    • 최대 54 Mbps
  • 802.11b
    • 2.4 GHz 주파수 사용
    • 최대 11 Mbps
  • 802.11g
    • 2.4 GHz
    • 최대 54 Mbps
  • 802.11n
    • 2.4 GHz || 5 GHz
    • 최대 600 Mbps

무선 LAN의 통신 방식

AD HOC

  • 무선 LAN의 전파가 도달하는 범위 안에서 무선 LAN 카드를 장착한 노드들끼리 직접 통신하는 방식
  • IBSS (Independent Basic Service Set) 라는 독립적 단위로 단독 네트워크 구성
  • 하나의 IBSS 내의 노드들 끼리는 서로 통신 가능, 다른 IBSS 와는 데이터 송수신 불가능
  • "특별한 목적을 위해서"라는 뜻의 라틴어
    1. 특정한 문제나 일을 위해 만들어진 관습적인 해결책
    2. 일반화 할 수 없는 해결책
    3. 어떤 다른 목적에 적응시킬수 없는 해결책

인프라스트럭쳐

  • 무선 LAN 카드를 장착한 노드들이나 허브나 라우터와 연결된 AP (Access Point)를 통해 서로 통신하는 방식
  • BSS (Basic Service Set)
    • 하나의 AP로 구성되는 무선 LAN
  • ESS (Extended Service Set)
    • 서로 연결된 BSS들의 집합을 하나의 BSS 처럼 보이도록 만든 무선 LAN

고속 LAN

개요

  • 고속 LAN
    • 기존의 LAN 프로토콜을 이용하면서 100 Mbps 이상의 속도를 지원하는 LAN
    • Fast Ethernet, Gigabit Ethernet, FDDI
  • LAN의 전송 속도
    • 80's : 이더넷 10 Mbps, 토큰링 16 Mbps
    • 90's : 고속 이더넷 100 Mbps, FDDI 100 Mbps
    • 90 말 : 기가비트 이더넷 1 Gbps

고속 이더넷

  • 기존의 이더넷 기술(10 Mbps)를 발전시켜 100 Mbps를 지원하는 fast ethernet
  • 기존 이더넷과 거의 동일하거나, 전송 가능한 케이블의 최대 길이를 줄임으로써 속도 향상
  • 매체 접근 방식 : CSMA / CD (IEEE 802.3u)
  • 종류
    • 100 BASE-TX : 주로 성형 LAN; CAT.5 UTP (최대 100m)
    • 100 BASE-T4 : 100BASE-TX와 유사; CAT.3, 4 UTP (최대 100m)
    • 100 BASE-FX : 광섬유 (최대 400m)
  • 용어
    • CAT : Category
    • UTP : unshielded twisted pair
    • STP : shielded twisted pair
    • FTP : foil twisted pair

기가비트 이더넷

  • 기존의 Ethernet과 최대한 호환성을 유지하며 1 Gbps 속도를 지원하는 Ethernet
  • 종류
    • 1000 BASE-X (IEEE 802.3z)
      • 1000BASE-SX (광섬유, 단파장 레이져)
      • 1000BASE-LX (광섬유, 장파장 레이져)
      • 1000BASE-CX (동축케이블, 25m 이내 단거리 전송)
    • 1000 BASE-T (IEEE 802.3ab)
      • 1 Gbps의 속도로 최대 100m까지 전송 가능
  • IEEE 802.3ae 표준 활동
    • 10 Gbps Ethernet (광섬유 이용)

FDDI

  • Fiber Distributed Data Interface
  • 100 Mbps 전송 속도 제공
  • ANSI 표준 -> ISO 표준
  • 광섬유 케이블을 이용하는 이중 링 구조의 LAN
  • 2 개의 링이 token passing 방식으로 운용
    • 정해진 규칙에 따라 1 개의 링을 선택하여 사용
    • multi token 방식 이용
    • 전송 방향이 서로 반대

요약

  1. LAN 참조 모델은 기본적으로 OSI 참조 모델에서 제시된 계층화 개념을 이용하며 7계층 중에서 하위 2계층만을 대상으로 하고, 나머지 상위 계층은 OSI 참조모델을 그대로 따름
  2. LAN 참조 모델은 OSI 참조 모델의 데이터링크 계층을 두 노드 간에 오류제어와 흐름제어를 통한 데이터 프레임 전송 기능을 담당하는 LCC(Logical Link Control)와 충돌을 피하기 위한 공유 매체 접근 제어 기능을 담당하는 MAC (Medium Access Control)으로 세분화 함
  3. LAN의 표준화는 IEEE 802 위원회에서 추진,
    • 802.2 : LCC 프로토콜
    • 802.3 : CSMA/CD
    • 802.4 : 토큰 버스 프로토콜
    • 802.5 : 토큰 링 프로토콜
  4. 무선 LAN은 적외선이나 전파를 전송 매체로 사용하며, 통신 방식은 애드훅 방식인프라스트럭쳐 방식으로 나뉨.
    무선 LAN에 관한 표준은 802.11 작업 그룹에서 제정함
  5. 고속 LAN은 100Mbps 이상의 전송속도를 지원, 고속 이더넷, 기가비트 이더넷, FDDI 등이 있음

 

 

출처 : 방송통신대 강의 자료실 정보통신망 강의록

 
728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

네트워크 보안 - II  (0) 2022.06.12
네트워크 보안 - I  (0) 2022.06.12
LAN; 근거리 통신망 - I  (0) 2022.06.12
TCP/IP - III  (0) 2022.06.12
TCP/IP - II  (0) 2022.06.12

대학이나 연구소, 기업 등에 가장 많이 구축되어 있고 고속의 정보전송을 지원하지만
지역적인 범위가 짧은 통신망으로 근거리 통신망(LAN)이 존재함.
근거리 통신망들은 서로 연결시켜 확장시켜 나감으로써 원거리 통신망이나 인터넷 등을 구성하게 됨.

주요 용어

  • LAN :
    다수의 독립된 컴퓨터 기기들의 상호 통신이 가능하도록 해 주는 데이터 통신 시스템으로 좁은 지역 내에서 다양한 통신 기기의 상호 연결을 가능하게 하는 네트워크 (Local Area Network)
  • WAN :
    둘 이상의 LAN이 넓은 지역에 걸쳐 연결되어 있는 네트워크, 일반적으로 지역과 지역, 국가와 국가간을 서로 연결하는 네트워크 (Wide Area Network)
  • 베이스밴드 방식 :
    통신회선에 컴퓨터 내부 코드에 해당하는 디지철 신호를 변조하지 않고 직접 그대로 통신회선을 통해 전송하는 방식으로 하나의 고속 전송 채널만 사용
  • 브로드밴드 방식 :
    디지털 신소를 아날로그 신호로 변조하여 단방향으로 전송하는 방식으로 송신 채널과 수신 채널이 각각 별도로 필요함
  • CSMA/CD 방식 :
    최대한 충돌 없이 많은 양의 정보를 전송하기 위해 노드가 통신회선의 사용 상태점검을 통해 충돌을 감지하는 매체 접근 방식
  • 토큰링 방식 :
    환형 형태의 위상을 가진 네트워크를 구성한 후 토큰이라 불리는 제어신호를 사용하여 토큰을 가진 노드만 데이터를 전송할 수 있도록 하는 매체 접근 제어 방식
  • 토큰버스 방식 :
    이더넷과 토큰링의 특징을 결합한 것으로, 물리적으로는 버스형으로 구성되고 논리적으로는 토큰링 방식을 사용하여 매체 접근을 제어

근거리 통신망 개요

LAN의 정의

  • Local Area Network
  • IEEE 컴퓨터 표준 위원회
    • "다수의 독립된 컴퓨터 기기들의 상호 통신이 가능하도록 해 주는 데이터 통신 시스템"
  • William Stallings
    • "좁은 지역 내에서 다양한 통신기기의 상호 연결을 가능하게 하는 네트워크"
  • Kenneth J. Thuber & Harvey A. Freeman
    • LAN의 4가지 특성
      1. 단일 기관의 소유
      2. 수마일 범위 이내의 지역으로 한정
      3. 어떠한 종류의 교환 기술을 사용해야 함
      4. WAN과 비교하여 고속통신이 가능해야 함
  • LAN의 정의

    LAN의 정의

LAN의 역사

  • 50 ~ 60년대 전반
    • 전반적으로 일괄처리(batch process) 방식
  • 60년 후반
    • 컴퓨터의 소자가 트랜지스터에서 집적회로로 전환되면서 컴퓨터를 통한 정보처리 속도 향상
    • 공간적 제약을 벗어나 정보통신 시대를 열었음
  • 70년대
    • 컴퓨터 수요 증가 및 미니 컴퓨터 성능 개선
    • 조직적인 네트워크 구조가 필요함에 따라 미니 컴퓨터를 연결시킬 수 있도록 WAN의 출현
  • 80년대
    • 개인용 컴퓨터가 대량으로 생산되기 시작
    • 여러 기기의 상호 연결의 편리성을 위해 LAN 등장
  • 90년대 이후
    • 기존 LAN의 속도를 향상시킨 고속 LAN 등장
  • 현재
    • 이동성과 편의성 등의 이유로 적외선이나 전파를 전송 매체로 활용하는 무선 LAN 활성화

근거리 통신망의 특성 및 효과

LAN의 특성

  1. 단일 기관의 소유
  2. 광대역 전송매체의 사용으로 고속통신 가능
  3. 네트워크 내의 어떤 기기와도 전송 가능
  4. 패킷 지연의 최소화
  5. 라우팅의 필요 없음
  6. 낮은 오류율
  7. 확장성과 재배치성이 좋음
  8. 종합적인 정보처리능력을 가짐

LAN의 효과

  1. 정보자원의 공유
  2. 정보의 실시간 처리 및 정보 자원의 일관성
  3. 비용 절감
  4. 이기종 간의 통신
  5. N : N 접속 기능 지원

근거리 통신망의 분류

위상에 의한 분류

위상에 의한 분류

성형 LAN

  • 중앙의 제어기와 모든 노드가 점대점 방식으로 연결
    • 장점
      • 고장의 발견이 쉽고 유지보수 용이
      • 한 노드의 고장이 전체 네트워크에 미치는 영향이 적음
    • 단점
      • 중앙 제어기의 고장은 전체 네트워크의 마비 초래
      • LAN 설치의 초기 비용이 많이 소요

버스형 LAN

  • 버스 (하나의 긴 통로)가 모든 노드를 연결
    • 장점
      • LAN 설치가 쉽고 초기 비용도 적게 소요
      • 한 노드의 고장이 네트워크의 다른 부분에 전혀 영향을 끼치지 않음
    • 단점
      • 베이브 밴드 전송 방식을 사용할 경우 전송거리가 멀어지면 신호의 세기가 급격히 약해짐
        • repeater 필요

환형 LAN

  • 각 노드가 양쪽 노드와 점대점 방식으로 연결
  • 신호는 보통 한 방향으로만 전송
    • 장점
      • 설치 및 재구성이 쉬움
      • 성형보다 구축 비용이 적게 소모
    • 단점
      • 노드의 추가시 통신선로의 절단이 필요, 환형 형태의 통신을 제어하기가 복잡함

트리형 LAN

  • 계층형 LAN
  • 성형 LAN의 변형
  • 장단점은 성형 LAN과 유사
  • 성형 LAN에 비해 많은 노드를 연결시킬 수 있고 노드간 전송 거리도 증가 가능

전송 매체에 의한 분류

  • 꼬임선 케이블 (twisted pair cable LAN)
  • 동축 케이블 (coaxial cable LAN)
  • 광섬유 (optical fiber cable LAN)
  • 무선 (wireless LAN)

전송 방식에 의한 분류

  • 베이스밴드 LAN
  • 브로드밴드 LAN

베이스밴드 LAN

  • 디지털 신호를 직접 전송
    • 신호 감쇠 현상 -> 최대 1km 마다 리피터 필요
  • 하나의 고속(10Mps 이상) 전송 채널만 사용
    • 양방향 전송 가능
    • 전송 효율을 위해 시분할 다중화 방식 사용
  • twisted pair cable 또는 coaxial cable 사용

브로드밴드 LAN

  • 디지털 신호를 아날로그 신호로 변조하여 전송
  • 단방향 전송 방식
    • 송신 채널과 수신 채널이 각각 별도로 필요
  • 주파수 분할 다중화
    • RF (Radio Frequency) 모뎀 사용
  • coaxial cable 또는 광섬유 사용

매체 접근 방법에 의한 분류

  • CSMA/CD LAN
  • Token Ring LAN
  • TOken Bus LAN

CSMA/CD

  • 개요
    • Carrier Sense Multiple Access / Collision Detection
    • IEEE 802.3
    • Ethernet
  • CSMA/CD를 사용하는 LAN의 종류
    • CSMA/CD를 사용하는 LAN의 종류
  • Ether 표기 : n BASE(BROAD) m - x
    • n : 전송속도 (Mbps 단위)
    • BASE / BROAD (Baseband / Broadband)
    • m : 전송 거리 (100m 단위)
    • x : 전송매체 (T : TP, C : CC, F : OF)

토큰링

  • 개요
    • 토큰링(token passing ring)은 환형 형태의 위상을 가진 네트워크를 구성한 후
      토큰(token)을 가진 노드만이 데이터를 전송할 수 있도록 하는 매체접근 제어 방식
    • IEEE 802.5
    • IBM 사의 Ring-LAN

토큰 버스

  • 개요
    • 토큰버스 (token passing bus) LAN은 Ethernet 과 Token ring의 특징을 결합한 형태
    • 물리적 구성은 버스형, 논리적으로는 토큰링 방식
    • IEEE 802.4
    • Data Point사의 ARCNET

요약

  1. 근거리 통신망(LAN)이란 건물/대학/연구소 등의 제한된 지역 내에서 여러 건물들을 연결하여 기존의 문자 데이터 뿐만 아니라 음성, 영상, 비디오 등의 종합적인 정보를 고속으로 전송할 수 있는 고도의 정보 네트워크를 의미함.
  2. LAN
    • 단일기관의 소유
    • 광대역 전송매체의 사용으로 고속통신이 가능
    • 네트워크 내의 어떤 기기와도 전송이 가능
    • 패킷 지연이 최소화
    • 라우팅이 필요 없고, 낮은 오류율
    • 확장성과 재배치성이 좋음
    • 종합적인 정보처리능력
  3. 근거리 통신망에 의해 정보 네트워크를 구축하여 얻을수 있는 효과로는 정보자원의 공유, 정보의 실시간 처리 및 정보자원의 일관성, 비용절감, 다른 기종간의 통신, N : N 접속 기능의 지원 등이 있음
  4. 근거리 통신망은 위상, 전송매체, 전송방식, 배체 접근 방법 등에 의하여 분류 가능
  5. 근거리 통신망은 위상에 의하여 성형, 버스형, 트리형, 환형으로 구분되고 사용되는 전송 매체에 따라 꼬임선 케이블 LAN, 동축 케이블 LAN, 광섬유 LAN, 무선 LAN등으로 구분됨
  6. 근거리 통신망은 전송 방식에 따라 베이스 밴드 LAN과 브로드 밴드 LAN으로 구분되고 매체 접근 방식에 따라 CSMA/CD LAN과 토큰링 LAN, 토큰버스 LAN으로 구분됨

 

출처 : 방송통신대 강의 자료실 정보통신망 강의록

 
728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

네트워크 보안 - I  (0) 2022.06.12
LAN; 근거리 통신망 - II  (0) 2022.06.12
TCP/IP - III  (0) 2022.06.12
TCP/IP - II  (0) 2022.06.12
TCP/IP - I  (0) 2022.06.12

ARP, RARP 주소 변환 프로토콜 .
ICMP IP 데이터그램 전송의 오류제어를 위한 프로토콜.
IGMP 그룹 내의 호스트들에게 멀티캐스팅 전송을 가능케 하는 프로토콜.
IP 주소 관리 방법들과 동적으로 IP 주소를 할당해주는 DHCP.

주요 용어

  • ARP :
    상대방 호스트의 IP 주소를 알고 데이터 통신을 위해 그 호스트의 물리 주소를 알고자 할 때 사용하는 프로토콜
  • RARP :
    물리주소만 알고 있는 호스트가 자신의 IP 주소를 찾을 때 사용하는 프로토콜
  • ICMP :
    인터넷에서 IP를 대신하여 오류 또는 제어 메세지를 제공하는 프로토콜
  • IGMP :
    IP 호스트가 어떤 멀티캐스트 그룹에 참가하고 있는지를 멀티캐스트 라우터에 통보하는 프로토콜
  • DHCP :
    IP 주소를 중앙에서 관리하고 개별 클라이언트들에게 자동으로 IP 주소를 할당해 주는 프로토콜
  • BOOTP :
    디스크가 없는 호스트(X terminal)에 대해 주소 및 설정 정보를 자동적으로 할당하고 관리하는 프로토콜

주소변환

ARP

  • Address Resolution Protocol
    • 상대방 호스트의 IP 주소를 알고 데이터 통신을 위해 그 호스트의 물리 주소를 알고자 할 때 사용하는 프로토콜
    • IP 주소를 물리주소로 매핑해 주는 프로토콜

동적 바인딩

  • ARP는 호스트의 IP 주소를 대응하는 물리 주소로 변환하여 실제 데이터 통신이 가능하게 함
    • IP 주소 : 32 bit (4 byte)
    • 물리주소 : 48 bit (6 byte)
  • ARP 요청 : broadcasting
  • ARP 응답 : unicasting

ARP 프로토콜

  • request 동작
  • reply 동작

proxy ARP

RARP

  • Reverse Address Resolution Protocol
    • 물리주소만 알고 있는 호스트가 자신의 IP 주소를 찾을 때 사용되는 프로토콜
    • 일반적으로 호스트의 IP 주소는 자신의 디스크에 저장된 구성 파일에서 확인
    • 디스크가 없는 호스트는 물리주소만 알고 있으므로 이를 이용하여 IP 주소를 얻고자 함

RARP 프로토콜

  • RARP request 동작
  • RARP replay 동작

ICMP

ICMP 프로토콜

  • Internet Control Message Protocol
  • 인터넷 계층 프로토콜
  • 전송 오류 제어
    • IP는 비연결성 비신뢰성 전송 서비스 (실패 가능성 있음)
    • IP 데이터그램 전송의 오류가 발생할 경우 오류 메세지 또는 제어 메세지를 제공해 주는 프로토콜
    • IP 데이터그램의 전송과정에서 발생하는 오류를 라우터나 발신지 호스트에게 보고하는 메커니즘을 제공

ICMP 메세지

    1. 유형 (8 비트)
      • ICMP 메세지 식별
    2. 코드 (8 qlxm)
      • 유형에 관한 추가 정보
    3. 검사합(16 비트)
      • 전체 ICMP 메세지의 오류 검사
    4. ICMP 메세지 (32 비트)
      • 오류 및 제어 메세지로서 echo, timestamp 등

ICMP 메세지 유형

  0  : Echo Reply
  3  : Destination Unreachable
  4  : Source Quench
  5  : Redirect
  8  : Echo Request
  11 : Time Exceed
  12 : Parameter Problem
  13 : Timestamp Request
  14 : Timestamp Reply
  15 : Information Request
  16 : Information Reply
  17 : Address Mask Request
  18 : Addres Mask Reply

ICMP 메세지 유형

  • 오류 보고 메세지 (error reporting)
    • ICMP는 오류를 수정하지 않고, 단지 보고만 수행
    • IP 주소를 이용하여 발신지에 오류 전송
  • 질의 메세지 (simple requery)
    • 일부 네트워크의 문제 진단

오류보고 메세지

  • Error Reporting
    • Destination Unreachable (목적지 도달 불가) :
      • 라우터가 데이터그램을 라우팅 할 수 없을 때
      • 호스트가 데이터그램을 전달할 수 없을 때
    • Source Quench (발신지 억제) :
      • 혼잡으로 인해 데이터그램의 폐기를 알림
    • Redirection (재지정) :
      • 라우터가 최적 경로를 사용하지 않은 호스트 발견 시 최적 경로를 알리기 위해 사용
    • Time Exceed (시간 초과) :
      • IP 헤더의 TTL 필드 값 만료를 나타냄
    • Parameter Problems (파라미터 문제) :
      • 데이터그램의 헤더 에러 문제 발생시 사용

질의 메세지

  • Query
    • Echo Request And Reply (에코 요청 응답) :
      IP 호스트의 진단에 사용
    • Timestamp Request And Reply (왕복시간 요청 응답) :
      두 시스템간에 IP 데이터그램이 오고가는데 필요한 왕복시간(Round Trip Time)을 결정
    • Address Mask Request And Reply (주소 마스크 요청 응답) :
      호스트가 라우터에게 서브넷 마스크 요청
    • Reouter Solicitation And Advertisement (라우터 주소 요청 응답) :
      다른 네트워크의 호스트에게 데이터 전송 시 자신의 네트워크에 연결된 라우터 주소 요청

IGMP

Internet Group Management Protocol

  • 인터넷 계층 프로토콜
  • 인터넷에서 multicast 서비스를 위해 사용되는 프로토콜
  • IP 호스트가 어떤 멀티캐스트 그룹에 참가하고 있는지를 멀티캐스트 라우터에 통보하는 프로토콜

IP 멀티캐스트

Multicast

  • 하나의 그룹에 속한 호스트들에게 메세지 전송 (1-to-many)
  • 참고 :
    • unicast : 1-to-1
    • broadcast : 1-to-all

IP Multicast

  • 클래스 D 주소 사용
  • 주소 범위 : 224.0.0.0 ~ 239.255.255.255
  • 예약된 멀티캐스트 주소

IGMP 프로토콜

  1. 유형 (8 비트)
    • Query (general/special)
    • Membership report
    • Leave report
  2. 최대 응답 시간 (8 비트)
    • 질의애 응답해야하는 최대 허용 시간
  3. 검사합 (16 비트)
    • 멀티캐스트 주소 (클래스 D IP 주소)


DHCP

IP 주소관리

IP 주소 관리 방법

  • IP 주소 (32 비트)
    예 ) 150.183.135.215 등으로 표시
  • 기억하기 어려움 -> IP 주소 관리 방법의 필요
    1. Host Table
    2. DNS (Domain Name System)
    3. BOOTP (Bootsttrap Protocol)
    4. DHCP (Dynamic Host Configuration Protocol)

호스트 테이블

  • 모든 IP 주소와 이와 mapping되는 호스트 이름으로 구성된 테이블
  • 장점
    • 중앙집중형 관리 방식
    • host table 구조가 간단
  • 단점
    • 호스트의 급속한 증가와 변화에 대응하기 어려움
      • 매핑 정보의 일관성 유지 어려움
    • 계층적 구조가 아닌 평면 구조
      • 중복 정보를 포함함

DNS (Domain Name System)

  • 계층적 구조 및 분산 관리 특성
    • 예 ) 도메인 이름 : jeaha.dev
  • 분산 관리의 문제
    • name server는 특정 네트워크 영역만의 정보를 가지며,
      다른 영역에 대해서는 다른 name server의 정보를 참조
    • name server 데이터의 복잡성
      • 수작업에 의한 데이터의 오류 가능성

BOOTP (Bootstrap Protocol)

  • 기존의 방식은 IP 주소를 수작업으로 할당 (정적 할당)
  • BOOTP는 동적으로 IP 주소를 할당
  • 디스크가 없는 호스트(X terminal)에 대해 주소 및 설정 정보를 자동적으로 할당하고 관리하는 프로토콜

DHCP 메세지 형식

Dynamic Host Configuration Protocol

  • 개요
    • 응용계층 프로토콜
    • BOOTP에서 발전된 동적 주소 할당 프로토콜로서 IP 주소 재사용이 가능
    • DHCP 메세지 형식은 BOOTP와 동일함
  • 동적 주소 할당 프로토콜
    • IP 주소 pool에서 사용 가능한 IP 주소를 선택하여 원하는 호스트에게 일정기간 임대해줌

DHCP 프로토콜

IP 주소 자동 할당


요약

  1. ARP(Address Resolution Protocol)는 인터넷에서 물리적으로 연결된 호스트들 간의 통신을 위해 IP 주소를 물리주소로 매핑해 주는 프로토콜
  2. RARP는 물리주소를 IP 주소로 매핑해주는 프로토콜로 디스크가 없는 호스트가 IP 주소를 얻기 위해 RARP를 이용함
  3. ICMP는 인터넷에서 IP를 대신해 오류 또는 제어 메세지를 제공하는 프로토콜로 ICMP 메세지는 목적지로 반드시 전송되어야 하므로 IP 데이터 그램으로 전송됨
  4. ICMP 메세지는 유형 및 코드에 따라 서로 다른 형식을 가지고 있음
  5. IGMP는 인터넷에서 동일한 그룹에 속한 호스트들에게 메세지를 전송할 수 있는 멀티캐스트를 위해 사용되는 프로토콜임
  6. 멀티캐스트 그룹에 가입한 호스트의 프로세스만이 멀티캐스트 메세지를 수신할 수 있으며,
    각 프로세스는 멀티캐스트 그룹에 필요에 따라 언제든지 가입하거나 탈퇴할 수 있어
    멀티캐스트 그룹 내의 구성원은 동적으로 변함
  7. DHCP는 IP 주소를 중앙에서 관리하고 개별 클라이언트들에게 **자동으로 IP 주소를 할당해 주는 프로토콜임
  8. BOOTP(Bootstrap Protocol)는 디스크가 없는 호스트(Xterminal)에 대해 주소 및 설정 정보를 자동적으로 할당하고 관리하는 프로토콜
  9. DHCP 네트워크는 DHCP 클라이언트, DHCP 서버, BOOTP/DHCP 중계 에이전트로 구성되어 있음

 

출처 : 방송통신대 강의 자료실 정보통신망 강의록

 
728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

LAN; 근거리 통신망 - II  (0) 2022.06.12
LAN; 근거리 통신망 - I  (0) 2022.06.12
TCP/IP - II  (0) 2022.06.12
TCP/IP - I  (0) 2022.06.12
OSI 참조 모델  (0) 2022.05.02

TCP/IP는 간단한 메세지 전송에는 유리하지만, 신뢰성 있는 전송을 보장하지 않는 UDP와 호스트 간의 신뢰성 있는 전송을 제공하는 TCP 전송 계층 프로토콜이 있음.

주요 용어

  • UDP :
    TCP/IP 응용 계층과 IP 계층 사이에 있으며, 비연결성과 비신뢰적 특징을 갖는 전송 계층의 프로토콜
  • 가짜 헤더 :
    UDP 데이터그램이 정확하게 목적지에 도착했는지를 인증하기 위해 사용되는 12바이트 정보
  • UDP 포트 :
    UDP를 사용하는 응용프로그램을 식별하기 위해 사용하는 포트 번호
  • TCP :
    TCP/IP에서 신뢰성이 보장되는 데이터 전송 서비스로 데이터 전송 이전에 먼저 연결이 설정되어야 함
  • 세그먼트 :
    TCP가 절단하여 전송하는 데이터로 20 ~ 60 바이트의 헤더와 응용 프로그램의 데이터로 구성

UDP

정의

  • User Datagram Protocol
    • 전송 계층 프로토콜
      • process-to-process protocol
        • IP : host-to-host protocol
    • 비연결성과 비신뢰성
    • 기본적인 IP 데이터 전달 서비스에 프로세스 간 통신이 추가된 형태
    • 연결성 보장과 신뢰적 전송에 소요되는 오버헤드가 없음
    • 간단한 메세지를 송수신하는 데 유리

UDP 비연결형 서비스

응용 프로세스의 데이터 전송

  • 응용 프로세스는 다음 프로토콜을 이용하여 데이터를 다른 응용 프로세스로 전송할 수 있음
    • UDP : 비연결형, 비신뢰성 전송 서비스
    • TCP : 연결형, 신뢰성 전송 서비스
  • 포트 번호 사용 : 프로세스들을 구별하기 위함

UDP의 특징

  • UDP = 비연결형 IP 전달 서비스 + 검사합(checksum) 기능
  • 최종 목적지의 데이터 수신 여부를 확인하지 않음
    • 데이터 손실 가능성
  • 메세지의 도착 순서를 재조정하지 않음
    • 데이터의 순서가 틀릴 가능성
  • 호스트 사이에 데이터 흐름 제어 없음
    • 수신자 처리 용량을 초과하는 데이터 발생 가능성

UDP의 장단점

  • 장점 : TCP보다 데이터 전송 속도가 빠르고 응용 프로그램이 간단해짐.
  • 단점 : UDP를 사용하는 응용 프로그램은 메세지 손실, 중복 수신, 수신지연, 잘못된 순서 등을 처리하기 위한 신뢰성 제어 기능을 제공해야 함.

UDP 사용자 데이터그램

  1. UDP 발신 포트 (16 비트) : 발신지 프로세스 포트 번호
  2. UDP 목적지 포트 (16 비트) : 목적지 프로세스 포트 번호
  3. UDP 전체 길이 (16 비트) : 데이터 그램 전체 길이
    (= 헤더 길이 + 데이터 길이)
  4. UDP 검사합 (16 비트) : 데이터그램 전체의 오류 검사용

UDP 가짜 헤더 (pseudo header)

  • UDP 데이터그램이 정확히 목적지에 도착하였는지를 2중으로 인증하기 위함 (IP 주소 확인, 오류 검증(검사합))
    UDP 헤더는 단지 포트번호만 가지고 있고 IP 주소 정보는 없음

UDP 포트 번호

  • Process-to-process 통신
  • UDP Well-known Ports

TCP

전송제어 프로토콜

  • Transmission Control Protocol
  • 전송 계층 프로토콜
    • process-to-process protocol
  • 연결 지향(conntection-oriented) 전송 서비스
    • 연결 설정 - 데이터 전송 - 연결 해제
    • TCP 연결 식별자 :
      • 송신측 TCP 종점 주소
      • 수신측 TCP 종점 주소
  • 신뢰성
    • 흐름제어 (sliding window protocol)
    • 오류제어 (응답 패킷, 시간 초과, 재전송 방식)
  • 신뢰성이 요구되는 응용
    • UDP : 응용 프로그램에서 신뢰성 보장
    • TCP : 전송계층(TCP)에서 신뢰성 보장
  • 방대한 양의 데이터 전송 -> TCP 사용
    • 간단한 메세지 송수신 -> UDP 사용

신뢰성 제공

  • 신뢰성 제공 방법
    • 연결 지향(connection-oriented) 데이터 전송
    • Segment 단위 전송 (MMS : Maximum Segment Size)
    • 흐름 제어(flow control : sliding window 사용)
    • 오류 제어(응답 패킷, 시간 초과, 재전송 방식)
      • 타이머 관리
      • Checksum, 순서 보장, 중복 패킷 방지

TCP 세그먼트 형식

  • TCP Segment
  • TCP Segment 헤더
    1. 발신지 포트 (2 bytes) :
      발신지 TCP 사용자 프로세스 식별
    2. 목적지 포트 (2 bytes) :
      목적지 TCP 사용자 프로세스 식별
    3. 순서 번소 (sequence number; 4 bytes) :
      데이터 필드의 첫 번째 데이터 바이트의 순서 번호
    4. 응답 번호 (ACK number; 4 bytes) :
      • 송신측으로부터 받은 세그먼트에 대한 응답
      • 바로 다음에 받기를 기대하는 순서 번호를 의미
        예) 순서 번호가 x인 세그먼트를 수신하면 응답 번호는 x + 1을 사용함
    5. 헤더 길이 (HLEN; 4 bits) :
      • 4 바이트 단위로 표시되는 헤더릐 길이
      • 5 ~ 15 사이의 값 (20 ~ 60 바이트)
    6. 예약 (Reserved; 6 bits)
    7. 제어 (flag bits; 6 bits)
      1. URG : 긴급 포인터 (urgent pointer) 필드가 유효함을 표시
      2. ACK : 응답 번호가 유효함을 표시함
      3. PSH : 가능한 빨리 현재 세그먼트를 상위 계층에 전달해야 함.
      4. RST : 연결을 초기화하기 위해 순서번호를 동기화 시킴.
      5. SYN : 연결을 초기화하기 위해 순서번호를 동기화 시킴.
      6. FIN : 연결을 해제시키기 위해 현재 세그먼트가 마지막 데이터임을 표시함.
    8. 윈도우 크기 (window size; 2 byts) :
      흐름 제어를 위한 윈도우의 크기를 명시 (최대 크기 = 2 ^ 16 [= 65,535 바이트])
    9. 검사 합 (checksum; 2 bytes) : 오류 제어를 위한 검사합 부분
    10. 긴급 포인터 (urgent pointer; 2 bytes) :
      URG flag = 1 일때, 긴급 데이터의 마지막 바이트의 순서 번호 = 긴급 포인터 + 순서 번호
    11. 옵션 (option; 0 ~ 40 bytes)
      • Maximum Segment Size (MSS)
      • 윈도우 크기를 증가시키기 위한 값
      • time stamp 등

TCP 연결형 서비스

TCP 연결

  • TCP 종점 (endpoint) 식별자 [= socket address]
    • 호스트 IP 주소와 포트 번호로 정의
    • 예 : A와 B 사이의 TCP 연결
      (211.110.34.15, 1234) 및 (163.100.21.67, 20)
      port numbers 1234 : client
      port numbers 20 : FTP Server
  • 전이중(full-duplex) 데이터 전송 서비스
  • TCP 연결 설정
    • 3-way handshaking
    • 초기 순서 번호 (ISN : Initial Sequence Number)
      • 난수 발생기
      • 양 방향이 서로 다른 ISN을 사용함
  • TCP 연결 종료

요약

  1. UDP(User Datagram Protocol)는 TCP/IP 응용 계층과 IP 계층 사이에 있으며, 비연결성과 비신뢰적 특징을 갖는 전송 계층의 프로토콜로 간단한 메세지를 송/수신하는데 유리
  2. UDP는 신뢰성이 없는 비연결형 전송 서비스를 제공, 전송한 메세지가 최종 목적지에 수신되었는지를 확인하지 않고, 메세지의 도착 순서를 재조정하지 않으며, 피드백(feedback) 메커니즘을 제공하지 않음
  3. UDP는 최소한의 신뢰성을 위한 오류제어 메커니즘으로 검사합(checksum) 기능을 옵션으로 제공하고 가짜 헤더를 사용하여 UDP 데이터그램이 정확하게 목적지에 도착했는지를 이중으로 인증함
  4. UDP는 TCP와 비교하여 데이터 전송속도가 빠르고 응용프로그램이 간단해지는 장점이 있지만,
    응용프로그램은 메세지 손실, 중복 수신, 수신지연, 잘못된 순서 등을 위한 별도의 신뢰성 제어 기능을 제공해야함
  5. TCP(Transmission Control Protocol)는 TCP/IP에서 신뢰성이 보장되는 데이터 전송 서비스로 데이터 전송 이전에 먼저 연결이 설정되여야 하며, 흐름제어를 위해 슬라이딩 윈도우 프로토콜을 이용하고, 오류제어를 위해 확인 응답 패킷, 시간 - 초과, 그리고 재전송 방식을 이용함
  6. TCP는 신뢰성이 있는 연결형(connection-oriented) 데이터 전송 서비스를 제공하여 발신지 호스트의 프로세스와 목적지 호스트의 프로세스 사이에 연결(connection)이라는 논리적인 관계를 설정하고 목적지로 전송할 데이터 전송에 알맞는 최대 세그먼트 크기로 절단하여 전송
  7. TCP 사용자가 데이터를 전송하기 전에 발신지와 목적지 간에 가상경로를 설정하고 TCP의 모든 세그먼트들을 가상 경로를 통하여 전송함.
    데이터 전송이 끝나면 이를 해제하여 전체 메세지를 하나의 단일 가상경로를 이용하여 전송함으로써 손상 또는 손실된 세그먼트의 재전송 뿐만 아니라 확인 응답의 처리도 가능

 

출처 : 방송통신대 강의 자료실 정보통신망 강의록

 
728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

LAN; 근거리 통신망 - II  (0) 2022.06.12
LAN; 근거리 통신망 - I  (0) 2022.06.12
TCP/IP - III  (0) 2022.06.12
TCP/IP - I  (0) 2022.06.12
OSI 참조 모델  (0) 2022.05.02

여러 프로토콜들로 구성된 TCP/IP는 현재 산업 표준 프로토콜로 사용되고 있음.
TCP/IP 프로토콜의 필요성과 역할을 살펴볼 필요가 있음.

주요 용어

  • 인터넷 네트워킹 기술 :
    서로 떨어져 있는 수많은 네트워크를 연결하여 하나의 거대한 네트워크처럼 사용할 수 있도록 해주는 기술
  • DoD 모델 :
    미국방성에 사용한 컴퓨터 통신망 모델로 데이터링크, 인터넷, 전송, 프로세스 응용 계층으로 구성됨
  • TCP :
    IP 프로토콜위에서 연결형 서비스를 지원하는 전송계층 프로토콜
  • UDP :
    하부의 IP 프로토콜을 이용해 비연결형 서비스를 지원, 작지만 빠른 전송이 가능
  • 물리주소 :
    하나의 네트워크 내에서 호스트를 식별하는 물리적 하드웨어 주소
  • 인터넷 주소 :
    서로 다른 네트워크 간에 호스트를 식별하는 논리주소

TCP / IP 개념과 기본구조

TCP / IP의 등장

Internetworking Technology

  • 네트워크들을 상호 연결하는 기술
  • 서로 다른 네트워크에 연결되어 있는 컴퓨터 사이의 통신이 가능
  • DoD ARPA(Advanced Research Project Agency)

Transmission Control Protocol / Internet Protocol

  • TCP / IP Internet Protocol Suite
  • 1970년대 Robert Kahn과 Vinton Cerf 등에 의해 개발
  • 1982년 미군 컴퓨터 네트워킹의 표준으로 제정

DoD 모델(DARPA 모델)

DoD 모델 (DARPA 모델)

TCP / IP 기본 구조

TCP / IP 주요 특징

  1. 연결형 서비스 및 비연결형 서비스 제공
  2. 패킷 교환
  3. 동적 경로 할당
  4. 공통의 응용 프로그램 제공

TCP / IP 계층의 역할

  1. 데이터링크 계층
    • 네트워크 인터페이스
    • device driver와 interface card로 데이터 통신 처리
    • 대표적 프로토콜
      • ARP (Address Resolution Protocol) : IP 주소 -> 물리주소
      • RARP (Reverse ARP) : 물리주소 -> IP 주소
  2. 인터넷 계층
    • 네트워크상에서 패킷의 이동을 처리 (패킷 라우팅 등)
    • 대표적 프로토콜
      • IP : Internet Protocol
      • ICMP : Internet Control Message Protocol
      • IGMP : Internet Group Management Protocol
  3. 전송 계층
    • 호스트 컴퓨터 사이의 데이터 전송 서비스
    • 대표적 프로토콜
      • TCP : Transmission Control Protocol
      • UDP : User Datagram Protocol
  4. 응용 계층
    • 응용 프로세스를 위한 프로토콜
    • 대표적 프로토콜
    1. TCP 이용 :
      FTP, SMTP(Simple Mail Transfer Protocol), Telnet 등
    2. UDP 이용 :
      TFTP (Trivial FTP), DNS (Domain Name System), BOOTP (Bootstrap Protocol) 등
    3. IP 직접 이용 : traceroute 프로그램
    4. ICMP 직접 이용 : ping 프로그램

인터넷 주소

호스트 식별

  • 인터넷에 연결되어 있는 호스트 식별
  • 3가지 종류의 주소
    1. 물리주소 :
      네트워크내에서 호스트를 식별하는 물리적 하드웨어 주소로서 네트워크 인터페이스 주소
    2. 인터넷 주소 (IP 주소) :
      서로 다른 네트워크 간에 호스트를 식별하는 논리주소
    3. 포트 주소 :
      프로세스를 식별하는 포트 번호

IP 주소

IP 주소

포트 주소

  • 포트 번호 (port number)
    • TCP 및 UDP에 의해 응용 프로그램을 식별
    • 2바이트 (16비트)로 구성
    • FTP 서버 (TCP 21), TFTP (UDP 69), Telnet (TCP 23), SMTP (TCP 25)
    • 포트 주소의 구성
포트번호 사용처
0 사용되지 않음
1 ~ 255 well-known service
256 ~ 1023 기타 well-known service
1,024~4,999 임시 client 포트
5,000 ~ 65,535 사용자 정의 server

 

캡슐화

Encapsulation

  • 데이터에 각 계층의 제어정보를 추가하는 것
  • Service Data Unit + Protocol Control Information = Protocol Data Unit

Decapsulation

  • 수신측 시스템의 해당 계층에서 수행되는 캡슐화의 반대 과정
  • 물리 계층 이외의 모든 계층에서 수행됨

캡슐화
캡슐화


IP

개요

  • 인터넷 프로토콜 : OSI 모델의 네트워크 계층의 기능
  • 사용자에게 복잡한 인터넷의 개별 네트워크들의 구조를 숨겨
    모든 호스트들을 열결하는 1개의 가상 네트워크로 보이도록 함.
  • 네트워크 계층의 투명성(transparency)를 제공함
    송신자 호스트는 수신자 호스트까지 경유해야 하는
    데이터링크 및 라우터에 관한 물리적 세부 사항을 알지 못해도
    데이터그램을 전송할 수 있도록 해줌.

비연결(Connectionless) 서비스

  • 인터넷 계층의 투명성
    • IP 역할 : 호스트의 주소 지정 및 데이터그램 전송
    • 경유해야 하는 데이터 링크 및 라우터 정보를 무시
    • 신뢰성이 없는 데이터 전송

데이터그램

  1. 버젼 (4비트) : IP version 식별 번호
  2. 헤더길이 (4비트) : 20 ~ 60 bytes
    • 5 : 20 bytes
    • 15 : 60 bytes
    • (1 word = 4 bytes)
  3. 서비스 유형(8 비트) : QoS
    • 3 개 비트 : 우선순위
    • 4 개 비트 : 서비스 유형
      • 0000 : 기본
      • 0001 : 비용 최소
      • 0010 : 신뢰성 최대
      • 0100 : 처리량 최대
      • 1000 : 지연 최소
    • 1 개 비트 : 사용하지 않음
  4. 전체 길이 (16 비트) : 데이터그램 길이
  5. 식별자 (16 비트) : 데이터그램이 단편되었을 때 각 단편은 동일한 식별자를 가짐
  6. 플래그 (3 비트)
    • 1 개 비트 : 사용하지 않음
    • 1 개 비트 (DF)
      • 1 : More Fragment
      • 0 : Fragment
    • 1 개 비트 (MF)
      • 1 : More Fragmetn
      • 0 : 마지막 단편, 유일한 단편
  7. 단편 오프셋(13 비트) :
    메세지가 단편 되었을 때 데이터 그램 내의 데이터가 원래 메세지의 어느 위치에 있었는지 나타냄
  8. TTL (8bit) : Time To Live
    • 데이터그램이 폐기되기 전까지 활동 기간
    • 거쳐야 하는 최대 라우터 수를 나타내는데, 보통 두 호스트 사이의 라우터 수의 두 배로 설정함.
    • 라우터를 지날 때마다 1 씩 감소
    • 0이 되면 폐기됨.
  9. 프로토콜 (8 비트)
    • 상위계층 프로토콜 식별
      • '1' : ICMP
      • '6' : TCP
      • '17' : UDP
  10. 헤더 검사 합(16 비트)
    • 헤더만의 검사합

IP 단편화 (Fragmentation)

  • IP 데이터그램의 분할
  • MTU (Maximum Transfer Unit)
    • 네트워크 링크에서 허용하는 프레임당 데이터의 최대 길이
      • Ethernet LAN : MTU = 1,500 byte
      • CCITT X.25 : MTU = 128 byte
  • IP 데이터그램은 전송 중 각 네트워크의 MTU에 적합한 크기로 분할되었다가
    목적지 호스트에서 각 fragment들을 재조립함.

인터넷상에서의 라우팅

Routing

  • IP 데이터그램이 목적지 호스트까지 진행하면서 경유할 경로를 결정하는 것
  • 비교
    • IP :
      송신자, 수신자 그리고 그 사이의 경로 상에 있는 모든 라우터들이 IP 데이터그램 전달에 관여
    • TCP :
      송신자와 수신자만 TCP 세그먼트 전달에 관여

라우팅

라우팅 테이블

  • 호스트는 자신의 물리적 네트워크에 연결된 라우터에 대한 정보를 자신의 라우팅 테이블에 관리함

동일한 물리적 네트워크에서의 데이터그램 전송

다른 물리적 네트워크에서의 데이터그램 전송


요약

  1. TCP/IP는 OSI(Open System Interconnection) 모델이 제정되기 전에 개발된 DoD 모델에 기반하여 여러 프로토콜 집합으로 구성.
  2. TCP/IP 구조의 특징은
    연결형(connection-oriented)과 비연결형(connectionless) 서비스 제공, 패킷 교환, 동적 경로 할장, 공톨의 응용 프로그램 제공임.
  3. TCP/IP 프로토콜을 이용한 인터넷에서는 물리(링크)주소, 인터넷(IP) 주소, 포트 주소가 있으며
    인터넷 주소는 32비트로 구성되며 클래스 A, B, C, D, E로 나눈다.
  4. IP(Internet Protocol)는 TCP/IP의 인터넷 계층에서 동작하고, 네트워크 계층의 투명성을 제공함으로써
    송신자 호스트는 각 데이터그램이 수신자 호스트에 도착하기 위해 경유해야 하는 데이터 링크 및 라우터에 관한 물리적 세부 사항을 알지 못해도 인터넷 상에서 데이터 그램을 전송할 수 있도록 해 준다.
  5. 비연결 서비스는 각각의 패킷을 독립적으로 전송하기 때문에 서로 다른 경로를 통하여 전달될 수 있으므로 신뢰성을 보장할 수 없다.
  6. 데이터그램(datagram)은 IP 계층의 패킷으로 가변길이를 가지며 헤더와 데이터 부분으로 구성된다.
  7. IP 단편화는 데이터그램이 송신자로부터 수신자까지의 중간 네트워크를 경유할 대마다 각 중간 네트워크의 MTU에 적합한 세그먼트로 분할되는 것을 말한다.
  8. 라우팅(routing)은 IP 데이터그램이 목적지 호스트까지 진행하면서 경유할 경로를 결정하는 것으로
    전송 계층 프로토콜은 송신자와 수신자 호스트만이 TCP 세그먼트 전달에 관여하는 데 반해,
    네트워크 계층 프로토콜은 송신자, 수신자 및 송신자와 수신자 호스트의 경로 상에 있는 모든 라우터들이 IP 데이터그램 전달에 관여함.

 

출처 : 방송통신대 강의 자료실 정보통신망 강의록

 
728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

LAN; 근거리 통신망 - II  (0) 2022.06.12
LAN; 근거리 통신망 - I  (0) 2022.06.12
TCP/IP - III  (0) 2022.06.12
TCP/IP - II  (0) 2022.06.12
OSI 참조 모델  (0) 2022.05.02

ISO및 CCITT에서 권고하는 개방형 시스템 상호 접속 (OSI:Open System Interconnection)을 위한 참조 모델(reference model)
OSI 참조 모델은 컴퓨터 통신망 구조의 기본 모델이며 7계층으로 구성되어 있다

주요 용어

  • OSI 모델 :
    서로 개방되어 있는 시스템 간에 정보를 교환하기 위한 표준
  • 캡슐화 :
    데이터에 각 계층의 제어정보를 추가하는 것
  • 역캡슐화 :
    캡술화의 반대 개념으로 최하위 물리 계틍에서 퇴상위 응용 계틍까지 데이터 전달에서 각 계층의 제어정보를 제거하는 것
  • CASE :
    공통 응용 서비스 요소로 응용에 무관하게 개방 시스템 접속을 위한 방법 제공

OSI 참조 모델의 개요

OSI 참조 모델의 목적

  • ISO 7498 (198년)
    HW/SW 관계없이 서로 다른, 개방되어 있는 시스템 간에 통신을 용이하게 하는 데 목적
  • 개방형 시스템의 상호접속을 위한 참조 모델
  • 이기종(heterogeneous) 시스템간의 통신이 가능하도록
  • 개방(형) 시스템 : 적용 가능한 표준을 상호 인정하고 지원

OSI의 계층

  • 7계층 OSI 참조 모델
    • 응용 계층 (Application Layer)
    • 표현 계층 (Presentation Layer)
    • 세션 계층 (Session Layer)
    • 전송 계층 (Transport Layer)
    • 네트워트 계층 (Network Layer)
    • 데이터링크 계층 (Data Link Layer)
    • 물리 계층 (Physical Layer)
  • 중계 개방 시스템을 갖는 계층
    • 네트워크
    • 데이터링크
    • 물리

계층의 분리원칙

  1. 너무 많은 계층으로 분리함으로써 각 계층에 대한 설명과 이들에 대한 조합이 필요 이상으로 많지 않아야 한다.
  2. 서비스의 양이 적고 최소의 상호 작용이 일어나도록 경계를 정해야 한다.
  3. 수행하는 일의 측면에서나 필요로 하는 기술의 측면에 있어서 명백히 서로 다른 기능들을 다룰 수 있도록 계층을 설정한다.
  4. 비슷한 기능들은 같은 계층에 존재하도록 한다.
  5. 과거의 경험에 의해 성공적이라 판단되는 곳에 경계를 설정한다.
  6. 쉽게 세분화되는 기능을 하나의 계층으로 한다.
  7. 필요한 경우 표준화된 인터페이스를 가질 수 있는 곳에 경계를 설정한다.
  8. 데이터에 대한 조작, 즉 구문(syntax), 의미(semantic) 등의 추상적 개념에 대해 서로 다른 수준을 필요로 하는 곳에서 계층을 설정한다.
  9. 각 계층은 단지 상위 계층과 하위 계층에 경계를 갖도록 한다. 즉, 다른 계층과는 전혀 무관하도록 한다.

각 계층이 필요한 이유

  • 물리 계층 :
    종단 간을 연결 하려면 다양한 물리적 매체를 사용하는 구조가 필요
  • 데이터링크 계층 :
    전화회선, 광섬유 등 물리적 통신 매체를 사용할 결루에 서로 다른 데이터링크 제어 절차가 필요함
  • 네트워트 계층 :
    전송주체(송/수신자) 사이에 중간 노드가 있는 경우에도 전송 주체 간의 연결 통로(네트워크 연결)를 제공해야 함
  • 전송 계층 :
    발신지 시스템에서 목적지 시스템까지의 신뢰성 있는 데이터 이동을 제어할 필요가 있음
  • 세션 계층 :
    대화를 조직하고 동기화하거나 데이터 교환을 관리할 필요가 있음
  • 표현 계층 :
    응용 프로그램의 구조화된 데이터를 표현하고 조정하는 기능이 필요함
  • 응용 계층 :
    응용 프로그램을 위한 프로토콜을 함께 관리할 필요가 있음

캡슐화

데이터에 각 계층의 제어정보를 추가하는 것
Service Data Unit + Protocol Control Information => Protocol Data Unit
SDU + PCI = PDU

  • 응용 계층 : Data
  • 표현 계층 : APDU
  • 세션 계층 : PPDU
  • 네트워트 계층 : SPDU
  • 전송 계층 : TPDU
  • 데이터링크 계층 : NPDU
  • 물리 계층 : DLPDU

각 계층의 목적 및 기능

응용 계층

  • 기본적인 서비스
    • 각 사용자에게 속하는 서비스
    • 각 응용에 속하는 서비스 요소
    • 공통 응용 서비스 요소
  • CASE(Common Application Service Element) :
    응용에 무관하게 개방 시스템 접속을 위한 방법 제공
  • 응용 계층의 기능
    • 응용 계층 기능들의 그룹화
    • 응용 프로세스 관리
    • 시스템 관리
    • 응용계층 관리

표현 계층

  • 응용 계층과 세션 계층 사이
  • 목적 : 응용체들 사이의 데이터 교환
    • 응용체들이 통신하거나 참조할 수 있도록 정보를 표현하는 기능을 제공
    1. 응용체간에 교환되어야 할 데이터를 표현
    2. 응용체들의 총신에서 참조할 수 있는 데이터 구조를 표현
  • 구문독립성 (syntac independence) 제공
    • 표현 계층은 데이터가 표현되는 구문(syntax)에만 관계하며, 응요 계층과 관계있는 의미(semantics)와는 무관
    1. 구문 변환(syntax transformation) :
      코드와 글자의 변환, 데이터 구조의 변환, 데이터 구조에 대한 연산의 결정등
    2. 구문 선택(syntax selection) :
      초기에 알맞는 구문을 선택하고 선택한 구문을 수정하는 것을 포함
  • 표현 계층의 기능
    • 구문의 변환
    • 구문의 절충
    • 주소지정과 다중화
    • 표현 계층 관리

세션 계층

  • 표현 계층과 전송 계층의 사이
  • 목적 : 표현체들 사이의 데이터 교환
    • 표현 계층들의 대화(dialogue) 세션의 형성과 동기, 정상적인 데이터의 교환
  • 세션 계층의 기능
    • 세션 연결 설정 (end-to-end 세션 연결 구성)
    • 정상적인 데이터 통신 (흐름 제어 등 포함)
    • 세션 연결 해제
    • 신속 데이터 (expedite data) 전송
    • 세션 연결 복구
    • 세션 계층 관리

전송 계층

  • 세션 계층과 네트워크 계층의 사이
  • 목적 : 세션 계층들 사이의 데이터 교환
    • 세션을 갖고 있는 두 이용자 사이의 정확한 데이터 전송 서비스를 제공
  • end-to-end message delivery
  • 가능한 네트워크 서비스를 최대로 이용하여 최소의 경비로 각 세션 계층의 요구 사항을 수행
  • 전송 계층의 기능
    • 주소 변환 (전송 주소를 네트워크 주소로 변환)
    • end-to-end 전송 연결 구성
    • 다중화와 분리(splitting)
    • 전송 연결의 설정과 해제
    • 각각의 연결에 대해서 양 종단간의
      • 순서제어, 오류 검출, 오류 복구, 흐름 제어
      • segmenting, blocking, concatenation
    • 신속 데이터 전송
    • 전송 계층 관리

네트워트 계층

  • 전송 계틍과 데이터 링크 계층 사이
  • 목적 : 전송체들 사이의 데이터 교환
    • 라우팅(routing) 전략을 사용하여 데이터를 송신지 컴퓨터로부터 여러 네트워크를 거쳐 수신지 컴퓨터까지 전달
  • 네트워크 계층의 기능
    • 경로선택과 중계(routing and relaying)
    • 네트워크 연결(network connection)
    • 네트워크 연결의 다중화
    • 세그멘팅과 블로킹
    • 오류 검출 및 오류 통보
    • 순서 냐열(sequencing)
    • 흐름제어
    • 신속 데이터 전송 서비스
    • 네트워크 계층 관리

데이터링크 계층

  • 네트워크 계층과 물리 계층의 사이
  • 목적 : 네트워크체들 사이의 데이터 교환
    • 네트워크체들 사이에 데이터링크 연결을 설정, 유지, 해제하여 데이터(데이터링크 SDU)를 교환
    • node-to-node delivery
  • 데이터링크 계층의 기능
    • 데이터링크 연결의 설정 및 해제
      • node-to-node 데이터링크 연결 구성
    • 데이터 링크 SDU의 전송
    • 네트워크 연결 종단 확인명 제공
    • 순서나열(sequencing)
    • 오류 검출, 오류 복구 및 오류 통보
    • 흐름 제어
    • 데이터 링크 계층의 관리

물리 계층

  • 데이터링크 계층 아래
  • 목적 : 데이터링크체들 사이의 데이터 교환
    • 물리적 연결의 설정, 유지, 해제를 통해 하나의 노드에서 다음 노드까지 각 비트를 전송
  • 물리 계층의 기능
    • 물리적 연결(physical connection) : 물리적 매체와의 인터페이스
    • 물리적 서비스 데이터(PSDU)의 전송 : 비트의 복호화 및 부호화, 비트 전송 속도, 비트 동기화
    • 물리적 연결 종단 확인명(endpoint identifier) 제공
    • 물리 계층 관리

요약

  1. OSI 모델의 목적은 특정 시스템의 하드웨어나 소프트웨어에 관계 없이 서로 다른 시스템 간에 통신을 용이하게 하는 것.
  2. OSI의 참조 모델은 7개의 계층으로 구성됨.
    응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리
  3. OSI 참조 모델에서 계층화란 계층과 계층을 구문하는 것으로 경계가 어디서 어떻게 이루어져야 하는 지 등에 관한 일반적인 원틱을 따름.
    이 원칙이란 크게 보면 컴퓨터과학에서 사용해오는 체계적인 접근방법에서 중요시하는 원칙임.
    System approach : modular design, component-based design, object-oriented design
  4. 캡슐화란 전송하고자 하는 데이터에 해당 계층의 제어정보를 추가하는 것임.
    이때 전송하고자 하는 데이터는 SDU(Service Data Unit)이라 하고, 제어정보는 PCI(Protocol Control Information), SDU에서 PCI를 추가한 데이터를 PDU(Protocol Data Unit)라고 부름.
  5. 응용 계층은 사용자에게 OSI 모델로서의 액세스와 분산정보 서비스를 제공함.
  6. 표현 계층은 데이터의 표현상에 존재하는 상이점으로부터 응용 프로세스에 독립성을 제공함.
  7. 세션 계층은 응용 간의 통신을 위한 제어구조를 제공하며, 서로 연관된 응용 간의 접속을 설정, 유지, 종결함.
  8. 전송 계층은 종점 간의 신뢰성 있고 투명한 데이터 전송을 제공, 두 종점 간 오류 복구와 흐름제어를 제공함.
  9. 네트워크 계층은 시스템 간을 연결하는 데이터 전송과 교환기법으로부터의 독립성을 유지하여 상위 계층에 제공하며, 접속의 설정, 유지, 종결의 책임을 짐.
  10. 데이터링크 계층은 물리적 링크 간의 신뢰성 있는 정보 전송을 제공하며, 필요한 동기화, 오류제어, 흐름제어를 담당, 데이터의 블록을 전송함.
  11. 물리 계층은 물리적 전송매체상의 비트 스트림 전송에 관한 기능을 담당함. 물리적 전송매체에 접속하기 위한 기계적 / 전기적 / 절차적 특성을 취급함.

 

출처 : 방송통신대 강의 자료실 정보통신망 강의록

 
728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

LAN; 근거리 통신망 - II  (0) 2022.06.12
LAN; 근거리 통신망 - I  (0) 2022.06.12
TCP/IP - III  (0) 2022.06.12
TCP/IP - II  (0) 2022.06.12
TCP/IP - I  (0) 2022.06.12

+ Recent posts