728x90

1. 전송과 교환의 개념을 설명하시오

 

2. 점대점 방식과 브로드캐스팅 방식을 차이점 위주로 비교하여 설명하시오.

3. 멀티포인트 유니캐스팅 방식과 멀티캐스팅 방식을 비교하여 설명하시오.

4. 데이터 링크 계층에서 전송 오류 문제를 해결하기 위해 필요한 응답 프레임, 타임아웃, 순서 번호 등의 기능을 설명하시오.

5. 데이터 프레임이 전송되었을 때 발생 가능한 오류의 종류와 이를 해결하기 위한 방안을 설명하시오.

6. 데이터 프레임의 정보 중에서 순서 번호가 제공되지 않았을 때 문제점을 순서 번호가 있는 경우와 비교해서 설명하시오.

7. 문자 프레임에서 문자 스터핑의 필요성과 원리를 설명하시오.

8. 비트 프레임에서 비트 스터핑의 필요성과 원리를 설명하시오.

9. 패리티 비트의 목적과 사용 방법을 설명하시오.

10. 다항 코드 1001011을 사용하는 프로토콜에서 데이터 101101001을 전송할 때의 체크섬 값을 구하고, 송수신 호스트가 오류 제어 기능을 수행하는 방법을 설명하시오.

728x90
728x90

1. 교환 시스템의 종류인 회선 교환 방식과 패킷 교환 방식을 차이점 위주로 설명하시오.

  • 회선 교환 방식
    • 데이터 전송 전 미리 연결 경로 설정
    • 고정 대역의 전송 선로 할당받음. 이 때문에 전송 선로 독점으로 인한 비효율 발생
    • 안정적인 데이터 전송률
  • 패킷 교환 방식
    • 패킷이라는 단위로 데이터를 전송
    • 동적 방식으로 전송 대역을 공유하여 전송 선로의 효율 극대화. 보내는 패킷마다 경로가 달라 전송에 걸리는 시간이 일정치 않음
    • 고정 대역 할당이 없으므로 이론상 호스트를 무한히 수용 가능. 하지만, 호스트가 늘면 혼잡도가 높아져 패킷 전송 지연 심화.
    • 패킷에 전송 우선순위를 부여하여 전송할 수 있음.
    • 회선 교환 방식에 비해 더 많은 지연 발생. 예를 들어, 라우터 내부 버퍼에 패킷 보관하는 과정에서의 지연, 대기 큐를 거치는 과정에서의 지연 등으로 가변적인 지연이 발생한다. 이런 가변적인 전송 지연의 분포를 지터(jitter)라고 함.

2. 패킷 교환 시스템에서 제공하는 가상 회선 방식과 데이터그램 방식을 설명하시오.

  • 가상 회선 방식 : 연결형 서비스를 지원하기 위한 기능으로 가상의 논리적 통신 매체(파이프)를 설정하는 것. 동일 경로로 패킷이 전달되므로 보낸 순서와 도착 순서가 같다.
  • 데이터그램 방식 : 전송할 정보의 양이 적거나 신뢰성이 중요하지 않은 비연결형 서비스의 경우 사용하는 방식. 미리 경로를 설정하지 않고 패킷들이 독립적인 경로로 전달된다. 따라서 출발한 순서와 도착한 순서가 다를 수 있다. 각 전송 경로의 속도는 네트워크 혼잡도에 따라 가변적이다.

3. 프레임 릴레이에서 전송 효율을 높이는 원리를 설명하시오.

  • 프레임 릴레이(Frame Relay) 방식은 데이터링크 계층에서 동작하며, 기존 패킷 교환 방식보다 단순한 방식으로 동작하여 전송 효율을 높인다.
  • 기존 패킷 교환 방식은 각 홉(라우터)마다 흐름 제어와 오류 제어를 수행하며, 이를 위해 매번 응답(ACK) 프레임을 회신해야 하므로 전체 트래픽이 증가한다.
  • 반면, 프레임 릴레이는 중간 노드(라우터)는 프레임을 단순히 중계(relay)하는 역할만 수행하며, 오류 제어나 흐름 제어는 송·수신 호스트 간 종단 간(end-to-end)에서만 처리한다.
  • 이로 인해 중간 노드에서의 제어 오버헤드가 줄어들고, 전체 네트워크를 흐르는 제어용 트래픽이 감소하여 전송 효율이 향상된다.

4. 버스형과 링형의 구조를 설명하고, 충돌 문제를 해결하는 방안을 비교하시오.

  • 공통 : 둘 다 공유 통신 매체(버스, 링)를 사용하며, 여러 호스트가 하나의 통신 매체(버스, 링)를 사용하여 데이터를 전송한다.
  • 버스형 구조
    • 구성: 하나의 공유 버스에 여러 호스트가 직접 연결된다.
    • 전송 방식: 브로드캐스트 방식으로, 모든 호스트에게 데이터가 전달된다.
    • 데이터 처리: 목적지 호스트만 수신, 나머지는 폐기.
    • 충돌 문제:
      • 문제점: 두 호스트가 동시에 전송하면 충돌(Collision) 발생.
      • 해결 방식:
        • 사후 해결 방식 사용.
        • 대표적 프로토콜: CSMA/CD (Ethernet)
        • 충돌 발생 → 대기 후 재전송 (랜덤 백오프)
  • 링형
    • 구성: 각 호스트가 순환 구조로 연결되어 있고, 데이터는 한 방향으로 순환.
    • 전송 방식: 한 호스트가 보낸 데이터는 링을 타고 순환하며 전달됨.
    • 데이터 처리:
      • 각 호스트는 경유하되, 목적지 호스트만 수신
      • 전송 호스트는 자신에게 되돌아온 데이터는 회수해야 함.
    • 충돌 문제:
      • 해결 방식: 사전 제어 방식
      • 토큰 패싱(Token Passing) 기법 사용
      • 네트워크 내에 하나의 토큰만 존재전송 권한을 분산 제어하여 충돌 방지

5. 네트워크 연동을 위한 게이트웨이의 역할을 설명하시오.

게이트웨이는 서로 다른 네트워크 간 데이터 통신을 중계하고, 필요 시 프로토콜 변환을 수행하는 장비이다. 일반적으로 하나의 네트워크가 외부 네트워크와 통신할 수 있도록 해주는 출입구 역할을 하며, 이기종 네트워크 연동, 주소 변환, 보안 통제 등의 역할도 함께 수행할 수 있다.

6. 브리지의 역할을 헤더 정보를 중심으로 설명하시오.

브리지는 OSI 모델의 데이터 링크 계층에서 동작하는 네트워크 장비로, 서로 다른 LAN을 연결하여 통신을 가능하게 한다. 예를 들어 LAN1과 LAN2가 각각 이더넷과 토큰링을 사용한다고 가정할 때, 브리지는 LAN1로부터 수신한 데이터 프레임의 MAC 계층 헤더를 해석하고 제거한 후 LAN2로 전송할 때 토큰링 형식에 맞는 MAC 헤더를 재구성한다. 따라서, 브리지는 연결된 LAN의 종류만큼 MAC 계층과 물리 계층을 해석할 수 있어야 하며, 프레임 포맷 변환 기능을 수행한다.

또한, 동작 방식에 따라 다음과 같이 분류된다.

  • 트랜스페런트 브리지 : 목적지 MAC 주소를 학습하고, 해당 MAC 주소가 있는 포트로만 프레임을 전달하여 불필요한 브로드캐스트를 줄이는 방식
  • 소스 라우팅 브리지 : 프레임을 전소할 때 발신 측에서 경로를 지정하여 해당 경로를 따라 전달하는 방식. 주로 토큰링 네트워크에서 사용한다.

 

7. 트랜스페런트 브리지에서 데이터를 중개하는 방식을 설명하시오.

브리지가 가진 라우팅 테이블의 정보를 이용하여, 송신 호스트와 수신 호스트가 같은 방향이라면 데이터 프레임은 중개하지 않고 폐기하고, 다른 LAN으로 가야할 경우 수신 호스트가 있는 방향의 포트로 프레임을 중개한다.

호스트와 LAN의 매핑 정보를 보유하기 위해서 플러딩 알고리즘을 이용한다. 플러딩 알고리즘이란 입력된 프레임을 모든 포트 방향으로 전달하여 수신 받는 위치에 호스트가 있음을 인지하고 라우팅 테이블에 MAC주소와 수신 포트를 기록하는 방식이다.

8. 역방향 학습 알고리즘을 설명하고, 이 방식의 문제점과 해결 방안을 제시하시오.

  1. 역방향 알고리즘이란 트랜스페런트 브리지가 사용하는 프레임 전달 방식이다. 수신된 프레임의 출발지 MAC 주소와 수신 포트 정보를 학습하여 라우팅 테이블을 자동 구성한다. 이 때, 테이블에 정보가 없다면, 모든 포트로 프레임을 전송하는 플러딩(Flooding)을 수행한다.
  2. 이 방식에서 이중 경로 존재로 순환 구조가 불가피하게 만들어지면 브리지로 연결된 네트워크에서 프레임이 무한히 반복 전송되는 문제가 발생한다.
  3. 이를 해결하기 위해 비순환 형태로 간주하도록 스패닝 트리 프로토콜(STP)을 사용하여 비순환 구조를 구성한다.
    1. 스패닝 트리 알고리즘은 고유 번호가 가장 낮은 브리지를 트리 구조의 최상위 브리지인 루트로 지정한다.
    2. 각 브리지는 루트 브리지까지 도달하는 최단 경로를 계산한다
    3. 루프를 유발할 수 있는 포트는 차단 상태(blocked)로 전환하여 순환 구조를 제거한다.

9. 인터넷 라우팅의 원리를 예를 들어 설명하시오.

라우터의 역할은 수신된 IP 데이터그램을 적절한 경로로 전달하는 것이다. 대표적인 라우팅 방식은 고정 경로 배정과 적응 경로 배정이 있다.

  • 고정 경로 배정(Fixed Routing)

송수신 호스트 사이에 영구불변의 경로를 배정한다. 단점은 전송 경로가 고정되므로 트래픽 변화에 따른 동적 경로 배정이 불가능하다는 점이다. 그러나 송수신 호스트 사이의 트래픽을 미리 측정하여 고정 경로를 적절히 배정하면 간단하고 효율적인 라우팅이 가능하다.

  • 적응 경로 배정(Adaptive Routing)

인터넷에서 사용되는 라우터는 적응 경로 배정 방식을 채택한다. 인터넷 연결 상태가 변하면 이를 데이터그램의 전달 경로에 반영한다. 이 때 결정에 영향을 주는 2가지 요소가 있다. 하나는 특정 네트워크나 라우터가 정상적으로 동작하지 않는 경우, 다른 하나는 네트워크의 특정 위치에서 혼잡이 발생하는 경우이다.

네트워크의 변화 발생을 정보 불일치성을 해소하기 위해 라우터 사이의 정보교환이 빠르게 자주 이뤄지게 되면, 이는 트래픽을 증가시켜 라우터의 부담을 늘리는 단점이 있다.

10. 자율 시스템이 연동하는 원리를 간단히 설명하시오.

자율 시스템은 공통의 프로토콜을 사용하여 정보를 교환하는 라우터들의 논리적인 단일 구성체로 볼 수 있다. 자율 시스템 내부에서는 내부 라우팅 프로토콜(Inerior Routing Protocol)을 사용하여 라우터 간 정보를 교환한다. 외부 자율 시스템과의 통신을 위해서는 외부 라우팅 프로토콜(Exterior Routing Protocol)을 사용한다. IRP에는 RIP, OSPF 등이 있고, ERP에는 BGP 등이 있다.

11. 대표적인 QoS 매개변수를 나열하고, 각각을 설명하시오.

  • 연결 설정 지연(Connection Establishment Delay) : request 프리미티브 발생과 confirm 프리미티브 도착 사이의 경과 시간
  • 연결 설정 실패 확률(Connection Establishment Failure Probability) : 임의의 최대 연결 설정 지연 시간을 기준으로 연결 설정이 이루어지지 않을 확률
  • 전송률(Throughput) : 초당 전송할 수 있는 바이트 수
  • 전송 지연(Transit Delay) : 송신 호스트가 전송한 데이터가 수신 호스트에 도착할 때까지 경과한 시간
  • 전송 오류율(Residual Error Rate) : 전송된 총 데이터 수와 오류 발생 데이터 수의 비율
  • 우선순위(Priority) : 다른 연결보다 먼저 처리함을 의미. 우선순위가 높은 연결은 더 좋은 서비스를 제공받음.
728x90
728x90

문제 : Function Module 수정 후 FTP 테스트가 잘 진행이 안 되었음. 이상하게 다른 Function module은 잘 테스트가 되었는데 특정 FM만 안되어서 문제가 뭔지 찬찬히 뜯어봄.

 

결론 : 원인은 아래 SAPFTP 의 설정이 "Start on Front-End Work Station" 으로 되어 있던 것. 문제가 없던 FM은 SAPFTPA를 사용했고 SAPFTPA"Start on Application Server"로 되어 있었기 때문에 문제가 없었던 것이었음.

 

설명

- Start on frontend workstation : SAP GUI를 실행한 사용자의 PC에서 FTP 프로그램(SAPFTP)을 실행하겠다는 뜻

- SAP GUI가 깔린 사용자의 컴퓨터에 SAP GUI 설치 디렉토리로 가면 sapftp.exe(C:\Program Files (x86)\SAP\FrontEnd\SAPgui 경로에 있음) 프로그램이 있다. 즉, 이 로컬 프로그램을 실행하여 FTP 기능을 사용한다는 것

- SAP 어플리케이션 서버가 아닌 로컬 PC로 FTP를 하려던 것이 문제. 당연히 내 로컬 PC는 상대방 호스트와 방화벽이 해제가 안 되어 있었기 때문에 연결이 안되었을 것이다. 

 

또 다른 의문. 그런데 연결 에러가 발생하지 않았다

- 결론적으로 연결 에러가 발생하지 않은 이유는, 연결 에러 발생 전 put 명렁어 실행을 위해 put aaa/bbb/ccc/ddd/eee/test.txt 라는 명령어를 날릴 때 문법 에러가 먼저 발생했기 때문이다. 유닉스 계열 운영체제는 슬래시(/)를 사용하지만 윈도우의 디렉터리 주소는 백슬래시(\)를 이용해 표시한다. 

- 따라서 리눅스의 디렉터리 주소 표현 형식으로 윈도우에 명령어를 내렸기 때문에 경로 문법 오류로 상대방 호스트에 연결하기도 전에 에러가 발생한 것이다. ( errno 22  Invalid argument 발생 )

 

SAP의 FTP 실행 흐름

 

- FTP_CONNECT function은 말그대로 FTP를 사용하기 위한 주로 SAP Application Server가 FTP 실행파일(즉, FTP 클라이언트)과의 연결을 위한 세션 설정(상대 호스트, 로그인 정보는 이 때 미리 등록) 

- FTP_COMMAND function으로 실제 put 명령어를 실행하면 그 때 상대방 호스트로 TCP 연결 후 파일 전송. 이 때, put 실행 전 open, user 명령어 먼저 내부적으로 실행되어 연결 시도 후 put을 실행하게 됨.

 

CALL FUNCTION 'FTP_CONNECT'
  EXPORTING
    user     = 'ftpuser'
    password = 'secret'
    host     = '192.168.1.100'
  IMPORTING
    handle   = lv_handle.

CALL FUNCTION 'FTP_COMMAND'
  EXPORTING
    handle  = lv_handle
    command = 'put /usr/sap/tmp/test.txt'.

 

 

참고할 만한 글, 해당 글에서는 SAPFTP는 보통 local 용 FTP라고 한다.(내가 일하는 환경에서 SAPFTP도 운영에서는 SAP Application Server가 사용하도록 설정해둔 듯)

https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-members/sap-ftp-connection/ba-p/13440361

  • SAPFTP uses frontend/Local computer internet to access the FTP server.
  • SAPFTPA uses backend/SAP server internet to access the FTP server.

 

728x90
728x90

1. 모듈화된 계층 구조 프로토콜의 장점을 설명하시오.

  • 기능별로 작게 분류하여 간단하고 작은 시스템으로 재구성할 수 있다. 이는 전체 시스템을 이해하기 쉽고, 설계하고 구현하기에도 편리하게 해준다.
  • 분할된 모듈이 연동할 수 있는 표준 인터페이스를 제공한다. 각 모듈이 분할되어 독립성을 가지게 되면 전체 시스템 구조가 단순해진다.
  • 전송 매체 양단에 있는 호스트가 사용하는 프로토콜은 좌우 대칭구조이다. 따라서, 동일 계층 사이의 프로토콜을 단순화할 수 있다.
  • 각 계층의 기능 오류를 수정하거나 개선해야 하는 경우에 해당 계층의 모듈만 수정하면 된다. 계층 간의 인터페이스를 유지하면 특정 계층 모듈 내부의 변경이 다른 모듈의 동작에 영향을 미치지 않게 된다.

2. 계층 구조의 네트워크 프로토콜을 설계할 때 고려할 사항을 나열하시오.

주소 표현 방법, 오류 제어, 흐름 제어, 데이터 전달 방식 등

  • 주소 표현 방법 : 호스트(시스템)을 구분하여 지칭하기 위한 주소체계
  • 오류 제어(Error Control) : 데이터 변형 오류와 데이터 분실 오류를 해결하는 오류제어 기능. 데이터 링크 계층이 물리적인 전송 오류를 해결하고, 상위 계층이 논리적인 전송 오류를 해결한다.
    • 데이터가 변형되어 수신 호스트에게 도착하는 데이터 변형 오류는 수신 호스트가 오류를 검출하고, 데이터가 도착하지 않는 데이터 분실 오류는 송신 호스트가 재전송을 통해 해결한다.
  • 흐름 제어(Flow Control) : 수신 호스트의 버퍼 처리 속도보다 송신 호스트의 전송 속도가 빠르면 논리적인 데이터 분실 오류가 발생할 수 있다. 수신 호스트가 송신 호스트에게 전송 허가를 내주는 방식으로 흐름을 제어하는 방식으로 오류를 해결할 수 있다.
  • 데이터 전달 방식 : 단방향(Simplex), 전이중(Full Duplex), 반이중(Half Duplex) 방식이 있다. 일반적인 프로토콜은 전이중 방식을 지원한다.

3. 임의의 송신 호스트가 수신 호스트에 데이터를 전송했을 때 발생할 수 있는 오류에는 무엇이 있는가?

전송 오류에는 데이터가 깨져서 도착하는 데이터 변형 오류와 데이터가 도착하지 못하는 데이터 분실 오류가 있다.

  • 데이터 변형 오류는 수신 호스트가 주로 오류 검출 기법을 통해 감지
  • 데이터 분실 오류는 수신 호스트의 감지가 힘들어 보통 송신 호스트에서 오류를 감지하는 방법을 사용
  • 이러한 전송 오류들은 보통 데이터를 재전송하여 해소한다.

4. 흐름 제어 기능을 설명하시오.

수신 호스트의 버퍼 처리 속도보다 송신 호스트의 데이터를 전송하는 속도가 빠르면 수신 호스트가 버퍼에 수신한 데이터를 담지 못해 오류가 발생할 수 있다. 이를 해결하기 위해 흐름 제어 기능이 필요하다.

단순한 형태로는 송신 호스트가 수신 호스트로부터 명시적인 전송 허가를 받았을 때 데이터 전송을 하는 방식이다. 흐름 제어 기능은 보통 이렇게 수신 호스트에 의해 이루어진다.

5. 서비스 프리미티브에서 Request, Indication, Response, Confirm의 기능을 설명하시오.

  • 서비스 피리미티브란 OSI 7 Layer 및 TCP/IP의 상위 계층과 하위 계층의 서비스 요구, 지시, 응답, 확인 통한 계층 간 통신 기능을 논리적으로 표현한 모델링(실제 물리적 흐름과는 다름)
  • Request : 클라이언트가 서버에 서비스를 요청. N+1 → N 계층 간 통신
  • Indication : 서버에 서비스 요청이 도착했음을 통지. N → N+1 계층 간 통신
  • Response : 서버가 클라이언트 서비스 응답을 회신. N+1 → N 계층 간 통신
  • Confirm : 클라이언트에 응답이 도착했음을 통지. N → N+1 계층 간 통신

예시) 응용 계층(HTTP) ↔ 전송 계층(TCP) 통신 시 서비스 프리미티브

  • Request : 클라이언트 호스트의 웹브라우저(HTTP 계층)가 자신의 OS(TCP 계층)에게,(예: 사용자가 주소창에 URL 입력하고 Enter)
  • 상대 서버 호스트로 연결을 요청하는 서비스 요청을 보냄. (TCP 소켓 연결 요청)
  • Indication : 요청 패킷이 서버에 도달하면, 서버 호스트의 OS(TCP 계층)가 이를 받고,
  • 서버 응용 계층인 웹 서버(예: nginx)에게 “요청 들어왔음”이라고 전달함.
  • Response : 서버의 웹 서버(nginx)가 해당 요청을 처리하고,“이 응답을 클라이언트에게 보내” 라고 요청함.
  • 응답 메시지를 작성하여 서버의 OS(TCP 계층)에게
  • Confirm : 응답 메시지를 받은 클라이언트 OS(TCP 계층)가,“서버 응답 도착했어”라고 알려줌.
  • 클라이언트 웹브라우저(HTTP 계층)에게

6. OSI 7계층 모델에서 각 계층의 역할을 설명하시오

  • 물리 계층
    • 전송 매체의 물리적 인터페이스에 관한 사항을 기술. 즉, 개별 정보의 비트 교환 문제를 다룸.
    • 물리계층에서 다루는 전송 매체의 특성은 데이터 전송 속도, 호스트 사이의 클록 동기화 방법, 물리적 연결 형태 등이 있음.

*클록 동기화란 호스트 간 동일한 시간 기준을 갖도록 클록 신호를 일치시키는 과정

  • 데이터 링크 계층
    • 물리 계층을 통해 전송되는 데이터의 물리적 전송 오류를 해결.
    • 이 계층을 통해 전송되는 데이터 단위를 프레임이라고 부름.
    • 프레임 헤더에는 송수신 호스트의 LAN카드에 내장된 MAC 주소가 기록된다.
    • 호스트 간 전송 속도 차이를 고려한 흐름 제어 기능도 지원 가능.
  • 네트워크 계층
    • 송신 호스트가 전송한 데이터가 어떤 경로를 통해 수신 호스트에 전달되는지를 결정하는 라우팅 문제를 처리.
    • 이 계층을 통해 전송되는 데이터 단위는 패킷(packet).
    • 라우팅 과정에서 경로 선택의 기준이 되는 호스트 주소가 필요하며, 인터넷에서는 IP 프로토콜이 이 기능을 수행한다.
    • 네트워크 트래픽이 과도하게 증가하는 문제를 조절하는 혼잡 제어(Congestion Control) 기능도 담당.
  • 전송 계층
    • 송신 프로세스와 수신 프로세스를 직접 연결하는 단대단(End-to-End) 통신 기능 제공
    • 전송 계층 아래 하위 계층은 호스트 간 데이터 전송의 문제들을 처리하는 반면, 전송 계층은 호스트 내부의 통신 당사자인 프로세스 사이의 통신 문제를 다룸
    • 전송 오류율, 전송 속도 등을 고려하고, 흐름 제어 기능도 제공
  • 세션 계층
    • 전송 계층과 유사하지만, 파일 전송이나 로그인 등과 같은 상위적 연결 개념인 세션 기능 제공.
    • 토큰 제어, 동기화 기능 등을 제공
    • 토큰은 통신 양단에서 세션 연결을 관리하고 제어하기 위해 사용되는 특수한 메시지
    • ex) 동기 토큰을 사용하여 전송 중 오류 발생 시 복구 지점을 설정
  • 표현 계층
    • 데이터의 의미(semantic)와 표현 방법(syntax)을 처리. 즉, 데이터를 코딩하는 문제를 다룸.
    • 데이터 암호화 기술과 데이터 크기를 줄이는 암축도 표현 계층의 주요 기능
  • 응용 계층
    • 응용 환경에서 공통으로 필요한 기능. 인터넷에서 많이 사용하는 서비스는 FTP(File Transfer Protocol)의 파일 공유 서비스, Telnet이 제공하는 가상 터미널, 전자 메일 등이 그 예.

7. TCP/IP 모델의 구현 환경을 설명하시오.

  • 시스템 공간(OS, 커널)과 사용자 공간(응용 프로그램)으로 나눌 수 있다.
  • 시스템 공간
    • 인터넷 환경에서 사용하는 TCP/IP 모델은 LAN 카드 드라이버 루틴(물리 계층 인터페이스)부터 전송 계층(TCP, UDP)까지의 기능이 운영체제의 커널 공간에 구현되어 있다. TCP와 UDP는 커널 내부에 구현된 전송 계층 프로토콜로, 사용자 프로그램은 이를 사용하기 위해 소켓(socket) 이라는 전송 계층의 프리미티브를 시스템 콜 형태로 호출한다.
    • TCP는 연결형 서비스, UDP는 비연결형 서비스를 제공하며 IP는 네트워크 계층에서 동작하며, 전송 패킷의 경로 선택 및 전달 기능을 수행한다.
  • 사용자 공간
    • 세션 계층부터 응용 계층까지의 기능은 사용자 영역의 응용 프로그램에서 직접 구현된다. 응용 프로그램은 소켓을 통해 TCP/UDP 기능을 사용하며, 이때 소켓에는 포트 번호가 부여된다. IP 주소와 포트 번호의 조합은 각 인터넷 응용 프로그램의 고유 주소가 되며, 이를 통해 텔넷, FTP, 웹 브라우저 등 다양한 서비스가 통신할 수 있다.

 

8. ARP, RARP의 필요성을 설명하시오.

  • TCP/IP 모델에서 사용하는 주소는 데이터 링크 계층의 MAC주소, 네트워크 계층의 IP주소, 전송 계층의 포트 번호이다. 데이터 링크 계층 프로토콜을 이용해 데이터를 전송하려면 목적지의 MAC주소가 필요하다. IP주소는 응용 프로그램에서 입력되지만 MAC주소를 얻을 수 없기 때문에 상대방 호스트의 IP주소를 이용해 MAC 주소를 구하는 기능인 ARP가 필요하다.
  • 예시) www.naver.com에 접속할 때의 흐름에서 ARP 사용.
    • DNS로부터 알아낸 IP를 223.130.200.104 라고 한다.
    • PC는 자신이 속한 LAN에 해당 IP가 없어 게이트웨이에게 보내야 함. 이 때, 게이트웨이의 MAC주소를 모르니 ARP 브로드캐스트로 게이트웨이를 찾는다.
    • 게이트웨이의 MAC 주소를 받아서 이더넷 프레임이 완성되면, dest MAC = 게이트웨이 MAC, src MAC = 내 PC가 된다.
    • 게이트웨이는 다음 라우터로 패킷을 보내고 다음 홉이 같은 네트워크에 있으면 ARP로 해당 홉 라우터의 MAC 주소를 얻고 MAC 헤더만 바꿔서 보내고 이 과정을 반복하여 네이버 서버로 도달. 즉, 각 홉마다 ARP로 MAC을 얻어서 프레임 헤더를 바꿔가며 최종적으로 IP 패킷이 네이버 서버까지 도달.
  • RARP는 과거에 사용된 프로토콜. 자신의 MAC주소는 LAN 카드에 보관되어 있지만 IP는 자신의 시스템에 없을 때, 브로드캐스트로 RARP 요청을 같은 LAN의 RARP 서버에 보내 자신의 IP를 획득한다. 이 IP주소를 가지고 네트워크에 연결한다. RARP의 기능이 단순하고 확장성도 없기 때문에 현재에는 DHCP라는 기술을 사용한다.
  • DHCP : 부팅 시 MAC 주소 기반으로 IP 주소, 서브넷 마스크, 게이트웨이, DNS 까지 통째로 받아오는 방식, 대부분의 네트워크 환경이 사용한다.

9. ICMP의 역할에 대하여 설명하시오.

  • ICMP(Internet Control Message Protocol)는 사용자의 데이터 전송과정에서 발생한 오류에 알리기 위해 오류 메시지를 전송하는 기능을 담당하는 프로토콜. IP 패킷의 payload에 ICMP 메시지를 담아서 송신자에게 회신한다.
  • 예시) 라우터가 중간에 TTL 다 쓴 경우, 해당 라우터가 ICMP “Time Exceeded” 메시지로 알려준다. 중간 라우터가 라우팅 경로를 못 찾을 때 ICMP “Destination Unreachable” 메시지를 담아 송신자에게 회신한다.
  • 대표적인 예로는 명령어 ping, traceroute 등이 있다.
  • (TTL : Time To Live의 약자로, 네트워크에서 데이터 패킷 데이터가 유효한 시간)
728x90
728x90

1장 네트워크 관련 기초 용어

  1. 다음 용어를 설명하시오
    • 시스템, 인터페이스, 전송 매체, 프로토콜, 네트워크, 인터넷
  • 시스템이란 내부 규칙에 따라 능동적으로 동작하는 물리적인 대상이나 논리적인 대상
  • 인터페이스란 시스템과 시스템을 연결하기 위한 방법을 뜻함. 상호 간의 데이터 교환을 위한 논리적인 규격이나 물리적인 규격을 포함하는 개념.
  • 전송 매체(Transmission Media)란 시스템끼리 정해진 인터페이스를 연동해 데이터를 전달하기 위해 사용하는 물리적인 전송 수단. 예) 동축 케이블, 무선 신호
  • 프로토콜이란 상호 연동되는 시스템이 전송 매체를 통해 데이터를 교환할 때 따르는 표준화된 규칙. 프로토콜은 주고받는 정보의 형식과 그 과정에서 발생하는 절차적 순서에 무게를 둠.
  • 네트워크란 통신용 매체를 공유하는 여러 시스템이 프로토콜을 사용하여 데이터를 주고 받을 때, 이 시스템들을 하나의 단위로 묶어 표현하는 개념. 네트워크 간에는 라우터라는 중개 장비를 사용한다.
  • 인터넷이란 전 세계의 모든 네트워크가 유기적으로 연결되어 동작하는 통합 네트워크를 뜻함.
  1. 다음 용어의 차이점을 비교하여 설명하시오.
    • 노드, 호스트
    • 클라이언트, 서버
  • 노드는 인터넷에 연결되어 데이터를 주고받을 수 있는 모든 시스템을 통칭하는 용어. 호스트는 일반적으로 컴퓨팅 기능이 있는 시스템을 뜻함. 일반사용자가 네트워크에 접속하기 위해 사용하는 응용 프로그램이 실행되는 시스템을 호스트라고 부름.
  • 호스트를 세분화하여 호스트 사이에 제공되는 서비스를 기준으로 서비스를 이용하는 시스템을 클라이언트라고 하며, 서비스를 제공하는 시스템을 서버라고 한다.
  1. OSI 7계층 모델의 각 기능을 설명하시오.
  • 물리 계층(Physical Layer) : 호스트를 전송 매체와 연결하기 위한 인터페이스 규칙과 전송 매체의 특성을 다룸.
  • 데이터 링크 계층(Data Link Layer) : 물리적 전송 오류를 감지하는 기능 제공하여 호스트가 오류를 인지할 수 있도록 한다. 대표적인 물리적 오류에는 데이터 분실과 데이터 변형이 있다. 송신자는 오류를 재전송(Retransmission)하는 방식으로 주로 처리.
  • 네트워크 계층(Network Layer) : 데이터가 여러 개의 중개 시스템을 거치며 올바른 경로를 선택할 수 있도록 지원하는 계층. 중개 기능은 보통 라우터(Router)라는 장비가 수행. 네트워크에 부하가 높을 시 혼잡 제어(Congestion)를 담당하는 계층.
  • 전송 계층(Transport Layer) : 송신 프로세스와 수신 프로세스 간의 연결 기능을 제공. 프로세스 사이의 안전한 데이터 전송 지원.
  • 세션 계층(Session Layer) : 세션 연결 지원. 응용 환경에서 사용자 간의 대화 개념의 연결로 사용.
  • 표현 계층(Presentation Layer) : 전송되는 데이터의 의미(Semantic)를 잃지 않도록 표현(Syntax)하는 방법을 다룸. 데이터를 인식하는 표준화된 방법을 다룸. 압축(Compression)과 암호화 기능도 다룸.
  • 응용 계층(Application Layer) : 사용자를 위한 다양한 네트워크 응용 환경 지원
  1. 계층 구조 모델에서 프로토콜과 인터페이스의 차이를 설명하시오.

통신 양단의 한 쪽 호스트의 특정 계층 모듈과 상대 호스트의 특정 계층 모듈이 통신할 때 사용하는 규칙을 프로토콜이라고 하며, 한 호스트 안 에서 계층 간의 통신을 위한 규칙을 인터페이스라고 함. 이 떄 하위 계층이 상위 계층에 제공하는 인터페이스를 서비스라고 함

  1. 인터넷 환경에서 계층 구조 프로토콜을 구현하는 모델을 운영체제와 사용자 프로그램 환경으로 구분하여 설명하시오.

OSI 7계층 중 5~7계층(세션, 표현, 응용 계층)은 응용 프로그램과 같은 사용자 프로그램 환경에서 합쳐져서 구현되며, 1~4계층(물리, 데이터 링크, 네트워크, 전송)의 기능은 주로 운영체제에서 구현된다. 이 기능은 일반적으로 시스템 콜 형태로 상위 계층에 제공된다.

  1. 네트워크 연동을 위한 인터네트워킹 기능을 수행하는 장비의 종류를 나열하고, 각각에 대해 설명하시오.

인터네트워킹 기능을 수행하는 시스템을 게이트웨이라고 부른다.

  • 리피터(Repeater) : 물리 계층 기능 지원. 신호를 물리적으로 증폭하여 다른 쪽으로 중개하는 역할
  • 브리지(Bridge) : 리피터 기능에 데이터 링크 계층의 기능이 추가됨. 물리 계층에서 발생한 오류 해결
  • 라우터(Router) : 물리 계층, 데이터 링크 계층, 네트워크 계층의 기능을 지원한다. 네트워크 계층 기능을 지원하므로 경로 선택 기능 제공한다. 즉, 라우터는 특정 경로 사용 가능 여부와 빠른 데이터 전송 경로를 판단한다. 자신과 연결된 네트워크와 호스트들의 정보를 일반적으로 라우팅 테이블에 보관하여 관리한다.
  1. 호스트를 구분하는 구분자의 특징을 나열하시오.

유일성, 확장성, 판단성, 정보의 함축

  1. 32비트의 IP주소를 4개의 십진수로 축약하여 표현하는 방법을 설명하시오.

32비트의 이진수를 8비트씩 나누고 각각을 십진수로 변환한 후 점으로 구분한다.

예를 들면, 32비트 이진수 11010011 11011111 11001001 00011110을 211.223.201.30 으로 표기할 수 있다.

  1. 호스트 이름의 필요성과 이름의 구조를 설명하시오.

인터넷에서 특정 호스트에 연결하려면 해당 호스트의 IP 주소를 알아야 한다. IP 주소는 기억하기 힘드므로 의미 파악이 쉬운 문자로 된 이름을 사용하는 것이 일반적이다.

호스트 이름의 구조는 주로 국가 도메인, 단체 종류, 단체 이름, 호스트라는 4개의 계층 구조로 나누고 점으로 구분해서 표기한다. ‘zebra.korea.co.kr’은 ‘호스트.단체 이름.단체종류.국가 도메인’으로 의미를 나눌 수 있다. ‘www.naver.com’ 은 ‘호스트.단체이름.최상위도메인(TLD)’로 나눌 수 있다.

  1. 호스트 이름을 IP주소로 변환하는 DNS 시스템의 필요성을 설명하시오.

호스트 이름을 IP주소로 변환하는 방법에는 시스템 내부에서 직접 관리하는 방법이 있다. 하지만 이는 간단하지만 인터넷처럼 전 세계 컴퓨터가 연결된 네트워크 환경에서는 호스트 파일에 의한 주소와 이름의 변환 작업이 사실상 불가능하기 때문에 DNS라는 주소와 이름을 자동으로 유지하고 관리하는 분산 데이터베이스 시스템이 필요하다.

호스트 주소와 이름 정보는 DNS 시스템의 네임 서버라는 특정한 관리 호스트가 유지하고 주소 변환 작업이 필요한 클라이언트는 네임 서버에 요청해서 IP 주소를 얻는 방식으로 DNS 시스템이 동작한다.

  1. 네트워크에서 사용하는 MAC 주소, IP 주소, 호스트 주소, 포트 주소의 고유한 특징을 설명하시오.
  • MAC 주소 : 데이터 링크 계층에서 사용되는 네트워크 장치의 고유 식별 주소. 각 네트워크 인터페이스 카드(NIC)(LAN카드)에 할당된다.
  • IP 주소 : 네트워크 계층의 기능을 수행하는 IP 프로토콜에서 사용. IP 패킷이 지나가는 경로를 결정하는 라우팅의 기준이 된다.
  • 호스트 주소 : IP 주소 중에서 네트워크 안의 개별 장비를 식별하는 부분. 서브넷 내에서 고유한 장비를 구분하는 데 사용. 예) 192.168.1.15/24 → 15가 호스트 주소.
  • PORT 주소 : 전송 계층에서 사용. 호스트의 OS에서 실행 중인 프로세스를 식별하는 주소(번호). TCP와 UDP가 독립적으로 포트 주소 관리. 예) HTTP(80), HTTPS(443), SSH(22), DB(3306)
728x90
728x90
  • 2의 보수법은 음수를 0과 1만으로 표현하면서도 덧셈/뺄셈 연산을 단순하게 해주는 이진수 방식이다.
  • 보수(補數) : 어떤 수를 기준으로, 더했을 때 특정 값이 되도록 만들어진 짝수
  • 즉, "이 숫자랑 더하면 딱 기준값 되는 숫자" = 보수
  • 2의 보수법을 사용하는 컴퓨터는 "맨 앞 비트(MSB)"를 부호 판단용으로 사용한다.
    이진수  MSB  해석 방식 (2의 보수 기준)  결과
    01111111 0 양수 +127
    00000001 0 양수 +1
    10000000 1 음수 -128
    11111111 1 음수 -1
  • MSB = 0 → 양수, MSB = 1 → 음수

예시

기준값: 10

  • 3의 10의 보수는? → 7 (3 + 7 = 10)
  • 6의 10의 보수는? → 4
  • 0의 10의 보수는? → 10

2의 보수는?

  • 기준값이 2가 아니다.
    • ‘2진수에서의 보수’라는 뜻 → 즉, 기준값은 2ⁿ (4비트면 기준은 2⁴ = 16) 다시 말해, 어떤 이진수 A에 대해, A + A의 2의 보수 = 0 (모듈로 2ⁿ 기준) 되는 숫자
    구분 설명 만드는 법
    1의 보수 모든 비트를 반전 (0↔1) ~A (비트 반전)
    2의 보수 1의 보수 + 1 ~A + 1

예제1) 2의 보수로 -5 표현(8비트 기준)

1단계 : 양의 정수 5를 이진수로 바꾸기 5 → 00000101

2단계 : 1의 보수 (비트 반전) → 11111010

3단계 : 더하기 111111011

예제2) 5 + (-3) 계산하기

1단계 : 5 = 00000101

2단계 : -3 = 양수 3 = 00000011 → 1의 보수 취하기 = 11111100 → 2의 보수 11111101

3단계 : 두 수를 더하기

0 0 0 0 1 0 1
1 1 1 1 1 0 1
0 0 0 0 0 1 0

→ 정답 : 00000010

 

오버플로우(Overflow)란?

  • 컴퓨터가 표현할 수 있는 수의 범위를 넘었을 때 발생하는 현상.

예제1) 8비트 오버플로우

   0111 1111 = 127

+ 0000 0001 = 1

= 1000 0000 = -128오버플로우

  • 원인 : 정해 진 비트 수로 인해 더 큰 숫자를 담을 공간이 없어서 MSB가 뒤집어지는 현상이 발생

4비트, 16비트의 경우

예제1) 4비트

   0011 = 3

+ 1111 = -1

= 0010 → = 2

16진수, 16비트

0x란? 16진수 숫자라는 표기 방식임.

0x5 = 5

16진수 2진수 (16비트) 10진수 (2의 보수)
0x0001 0000 0000 0000 0001 +1
0xFFFF 1111 1111 1111 1111 -1
0xFFFE 1111 1111 1111 1110 -2
0x8000 1000 0000 0000 0000 -32,768
0x7FFF 0111 1111 1111 1111 +32,767

예제2) 16비트

0000 0000 0000 0011 (3)

1111 1111 1111 1101 (-3)

----------------------------

0000 0000 0000 0000 → 0

728x90
728x90

재무회계 모듈(FI) 개요

  • 재무회계 모듈은 기업의 경영활동을 기록 정리하여 재무제표 등의 보고서 작성을 지원한다.
  • 채권과 채무에 대하여 실시간 조회 및 분석 기능을 지원한다.
  • IFRS(국제회계기준)이 적용된 시스템이다.
  • 주요 지원기능
    • 총계정원장 관리
    • 채권관리
    • 채무관리
    • 고정자산 관리

재무회계란?

  • 기업의 경영활동을 확인, 기록(분개전표)하고 분류, 정리(결산)하여 재무제표라는 대외 공표 목적용 보고서들을 작성하는 회계
  • 세무회계도 포함한다.
  • 거래의 발생과 분개전표
    • 분개전표란 거래를 차변과 대변으로 나누어 기록한 서식
    • SAP의 SD, MM 모듈에서 자동으로 분개전표가 생성되어 보조원장에 해당하는 채무관리와 채권관리로 전송된다. 이후 회계담당자들의 확인을 거쳐 총계정원장으로 전표를 옮기는 행위를 전기(Posting)이라고 한다.
    • 모든 거래는 총계정원장에 통합기록된다.

총계정원장 관리

  • 총계정원장(General Ledger, GL)은 기업회계 상 모든 계정의 수입과 지출 등을 수록한 장부.
  • 총계정원장의 기능
    • 재무제표 생성 : 월말, 연말 결산을 통해 제무재표 생성.
      • 결산 : 회계연도 말에 외부에 공포하기 위한 재무제표를 생성하기 위한 계산절차
    • 예산통제 기능 : 총계정원장 내 계정별 부서단위로 예산정보를 가지고 있어 전표 입력 시 각 부서에 할당된 예산 자동체크 기능으로 예산 통제 가능.
      • 예산 : 기업활동에 사용되는 비용에 대한 구체적인 집행계획
  • 세무업무지원 : 주로 CBO로 만들어서 사용

채권관리

  • 채권관리(Account Receivable, AR)는 판매 행위와 관련하여 받을 금액 이외에 영업활동 이외에서 발생한 미수채권에 대하여도 관리한다.
  • 외상매출금 관리
  • 미수금 관리
  • 받을어음 관리
  • 선수금 관리
  • 입금 관리
  • 여신 관리

채무관리

  • 채무관리(Account Payable, AP)는 구매와 같은 영업행위와 관련하여 지급할 금액 이외에 다양한 기업활동에서 발생하는 모든 채무에 대하여도 관리한다.
  • 외상매입금 관리
  • 미지급금 관리
  • 지급어음 관리
  • 선급금 관리
  • 대금지급 관리

고정자산관리

  • 고정자산(Fixed Accsets, FA)은 기업이 장기간 보유하고 있는 비유동 유형자산
  • 자산이력관리 : 자산의 취득에서 처분에 이르기까지 전 과정을 관리
  • 감가상각비 계산
  • 리스자산 관리
  • 건설중 자산 관리 : 투입비용 분류 및 집계하고 완성 후 고정자산으로 대체

재무회계 조직구조, 마스터데이터

  • 계정과목표(Chart Of Accounts) : 한 회사에서 사용되는 계정과목들을 모아 놓은 목록이다. 조직구조는 아니지만 회사코드(Company Code)는 최소 하나 이상의 계정과목표(COA)가 필요하다.
  • 회사코드(Company Code) : 연결재무제표를 만드는 단위이다. 연결재무제표 생성을 위하여 여러 회사코드가 하나의 COA를 사용할 수 있다.
  • 사업영역(Business Area) : 재무상태표와 손익계산서를 생성할 수 있는 조직내 단위로 일반적으로 공장수준에서 정의되고 하나의 공장 혹은 다수의 공장을 사업영역으로 설정할 수 있다.
  • 여신관리 영역(Credit Control Area) : 고객의 신용한도를 통제하기 위한 영역으로 하나의 회사코드 수준에서 설정되나 여러 회사코드를 하나의 여신관리 영역으로 설정하는 것도 가능하다.
  • 계정 과목(GL accounts) : 계정과목표(COA)를 구성하는 계정과목들에 대한 데이터
    • 재무상태표 계정 : 자산, 부채, 자본 계정
    • 포괄손익계산서 계정 : 매출, 비용 계정
    • 조정계정 : 가계정(clearing account), 거래가 일어날 때 정확한 계정이 정해지지 않았을 때나 상대 거래(거래의 이중성 고려)가 아직 발생하지 않았을 때 임시로 사용하는 계정
728x90
728x90

728x90

+ Recent posts