School Lecture Study/컴퓨터 통신

1. 네트워크 기본 개념 - 요구사항

vㅔ로 2022. 10. 25. 02:51
728x90

요구사항

  • 네트워크가 제공해야 하는 것
  • 결국, 네트워크에 대한 기능적 정의

연결

 

  • 통신의 첫 단계는 통신 주체를 연결하는 것이다.
    • 통신측 : 단말(기), terminal
    • 컴퓨터 : 호스트(host)
    → 통신망이 해야 하는 제 1업무는 ‘연결’이다.
  • 통신 주체
    • 전화기 등 단말기 (엄밀히 말하면 기기가 아닌 응용이 주체가 된다.)
    • 좀 더 일반적으로는 통신 응용이 있다. (카톡, 브라우저 …)
    • 당분간은 단말기로 가정하고 생각한다.
  • 연결 방법
    • 선을 연결하거나 무선으로도 연결할 수 있다.
    • 선 연결은 케이블로 가능하지만, 거리, 크기로 인해 어렵다.
  • 통신망 구성 요소 (물리적 연결 제공을 위한)
    • 노드 : 단말기, 범용 워크스테이션, 라우터, 공유기, 스위치 등
      • 다른 주체와 연결되는 것을 노드라고 한다.
      • 노드가 단말을 포괄하는 넓은 개념
    • 링크 : 동축케이블, 광케이블, 무선채널 등
      • active 하지 않고 신호를 전달하는 역할만 수행한다.

요구사항

  • 네트워크가 제공해야 하는 것
  • 결국, 네트워크에 대한 기능적 정의
    •  

연결 : 직접 링크 (Direct Links)

링크만 존재하는 단말간 연결이다.

  • 점대점 연결 (point-to-point)
    • 가장 간단한 네트워크 (개수가 증가할 수록 link도 같이 늘어난다)
    • Host가 Terminal을 직접 연결한다.
  • 다중 접근 (multiple access)
    • 링크 하나를 여러 노드가 공유한다. (동시에 사용하는 것 X)
    • A-B-C-D가 다중 접근으로 연결되어 있을 때 A-C가 통신하면 B-D는 통신할 수 없다. (신호 충돌 때문)
    • → 해결하기 위해서는 신호등과 비슷한 역할을 하는 장치가 필요하다.
    • 거리와 숫자에 한계를 갖는다.

간접 연결 : Switched Networking

  • 간접 연결 (Indirect Connectivity): Switched Networks
    • 스위칭 네트워크 (switching network, Network of Node)
      • 단말이 특정 스위치에 연결된다.
      • 스위치는 recursive하게 연결된다.
      • 장점
        1. 거리 문제가 해결된다.
        2. 상대방이 여러 명이어도 중계기(노드)가 해결해준다.
    • 인터네트워킹 (internetworking) → Network of Networks
      • 완전히 기술이 다른 네트워크, 연결하는 망 자체가 다른 경우
      • 네트워크간 이질성 극복을 위해 노드가 어떤 추가 조치를 해야 함 (번역 말고)

간접 연결 방법 : 스위칭 정책

  • 회선 스위칭 (circuit switching) : 전화 네트워크
    • 스위치가 data 전송 이전에 output link에 전용 회선(용량) 확보
    • 비트 스트림을 중단/간섭 없이 송/수신 (흘려보낸다)
    • 기본적으로 point-to-point 연결 (결국 link는 하나)
    • circuit 연결이 안 되는 경우는 모두 할당 되었을 때이다.
    • 컴퓨터 통신에는 부적합하다. 컴퓨터 통신 트래픽의 bursty한 특징 때문에 데이터가 많을 때는 엄청 많고, 없을 때는 없다. 따라서 회선 스위칭 시 대기 시간이 길어지면 효율이 떨어진다.
  • 패킷 스위칭 (packet switching) : 인터넷/우편
    • 데이터를 묶음으로 전송한다. (패킷) → 약간은 불안정할 수 있다.
    • 스위치 동작 : store-and-forward (다 받고 보내기)
    • switch는 패킷 전달 할 때만 active하고, 사전에는 아무것도 하지 않는다. ‘link’가 노는 시간이 없다. (circuit 방식은 전용 회선을 만드는 시간 때문에 노는 시간이 존재하고, 효율성이 떨어진다)
  • 컴퓨터 통신에는 무엇이 적합할까?
    • 사용자 입장 : circuit이 좋음. QoS가 유지 되기 때문에 (나의 전용 회선 존재)
    • 네트워크 입장 : packet이 좋음. link를 최대한 효율적으로 써먹어야 하기 때문에. but 간섭과 성능의 안정화가 해결되어야 한다.
    • bursty traffic 처리에 적합한 것은? → packet. circuit switching 을 사용하게 되면 circuit을 확보하는 시간 대비 실제로 데이터를 보내는 시간이 더 적을 수 있어 효율이 떨어진다.

어드레싱 (Addressing) 및 라우팅 (Routing)

  • Addressing : 상대방을 지정한다. 즉, ID를 지정하는 것 (단순히 지정하는 것)
  • Address(주소, port, 통신망의 ID) : 노드를 식별하는 바이트열로, 대개 유일하다.
  • 라우팅: 목적지 노드를 향해 메시지를 어떻게 포워딩할지를 주소에 입각해서 결정하는 작업 (어느 경로가 더 나은가? 최단 경로 찾기)
  • 주소의 종류 (연결 형태)
    • 유니캐스트 (unicast) : 특정 노드를 지정한다. 상대를 unique하게 지정해서 unicast address를 입력 받는다.(1:1)
    • 방송/브로드캐스트 (broadcast): 네트워크의 모든 노드. broadcast-address 필요. (1:all)
    • 멀티캐스트 (multicast): 네트워크의 일부 노드 집합을 지정한다. 그룹을 정해서 multicast address가 필요하다. (1:N, N:N)

비용 효율적인 자원 공유 (Resource Sharing)

연결할 때 기준.

  • 여러 사용자들이 네트워크 자원(노드 및 링크)을 공유하도록 하여야 한다. 통신 용어로 다중화(multiplexing == resource sharing) 지원
    • 데이터는 보낼 때 하나로 묶어 보내지만 섞이지 않아야 한다.
    • 받을 때는 합쳐진 데이터를 나눠서 제대로 분리해야 한다.
  • 흔히 사용되는 다중화 정책
    • 시분할 다중화 (Time-Division Multiplexing: TDM)
    • 주파수분할 다중화 (Frequency-Division Multiplexing: FDM)

Multiplexing

주파수분할 다중화 (FDM)

  • 채널이 분리되어 있어서 서로 섞이지 않는다. (채널 사이에는 gap이 존재 → 효율이 낮다.)
  • 적은 양을 동시에 보낼 수 있다.
  • 주파수 사이에 혼선 구간이 존재해서 gap이 필수적이다.

시분할 다중화 (TDM)

  • 동기식 (Synchronous) 시분할 다중화
  • 주파수는 모두 사용하고, 할당된 시간동안 쓴 후에 다른 source를 진행한다.
  • FDM보다 gap이 작다.
  • 최근 장비가 싸져서 TDM을 활용하기 좋다.

다중화 : FDM & TDM

  • FDM : 고속으로 갈 수 없어서 안정성이 높다.
  • TDM : 고속으로 갈수록 안정성이 낮다. 단위 시간당 전송량이 FCM에 비해 크다.

통계적 다중화 (Statistical Multiplexing)

  • 시분할 방법의 일종 : 고정 분할이 아닌 요구에 의한 분할. Async TDM. 비동기적 TDM, 비동기식 다중화
  • Demux key/select
  • 항상 좋은가? → 비동기는 overhead가 꼭 필요하다. (Demux를 위해서) Demux를 위한 Key로 사용된다. 데이터가 끊임없이 들어오는 경우에는 동기식이 더 좋을 수 있다.
    • overhead : pure한 data에 extra로 추가되어야 하는 것
  • 동기식 다중화 : time slot이 고정적으로 배분된다.
  • 비동기식 다중화 : 시간의 인자가 정해지지 않는다.

Splitting

  • Multiplexing 과 반대 개념
  • 큰 input을 받고, 작게 split 한 후, 한 번에 (merge) 보내는 방식

통계적 다중화와 패킷 스위칭

  • 통계적 다중화는 링크를 공유하는 방법이다. 여러 개가 같은 링크를 공유하기 때문에 링크를 어떻게 관리하는 지에 대한 내용.
  • 패킷스위칭은 노드가 목적지를 향해 데이터를 전달하는 방법이다.
  • 패킷 스위칭 : 패킷 단위로 링크 사용을 재스케줄링
    • 패킷 스위칭의 결과, 링크는 (거의) 통계적 다중화
  • 다른 출발지/소스(sourve)로부터의 패킷들이 링크에서 섞이게 된다.
  • 링크로 나가기 위해 경쟁하는 패킷들을 저장하는 것 → 버퍼링 (buffering)
  • 패킷은 FIFO로 처리되거나, 기타 다른 방식으로 처리 → 스케줄링
  • 버퍼 오버플로우를 혼잡 (congestion)이라고 부른다.
    • buffer overflow : store를 더 이상 할 수 없다는 뜻. 단말은 계속해서 refresh 하고, 계속해서 막히는 현상이 발생하는 것을 congestion이라 한다.
    • 패킷이 너무 많으면 일정 수준에서 버리지 않고 저장한다.

서킷 스위칭 ⇒ 다중화?

  • 서킷 + (TDM/FDM)
  • FDM으로 미리 회선을 생성하고, MUX로 다중화를 진행한다.

통신 서비스 제공

  • 통신의 주체는 응용 프로그램이다.통신 기술을 기반으로 응용 프로그램이 요구하는 기능을 구현/제공하고, 호스트 간의 연결을 프로세스 간의 통신 형태로 변환한다. (Network Transparency)
    • Network Transparency : 네트워크의 존재성이 투명하다. 네트워크가 개입하지 않은 연결 정도의 수준으로 통신망이 작동해야 한다.
    • 네트워크는 프로세스와 프로세스 간의 채널을 지원한다.
  • 동시에 쓸만한 수준으로 통신 서비스를 제공해야 한다. (단순 연결 이상의 서비스)
  • ⇒ 네트워크는 응용 프로그램이 원활히 통신할 수 있는 기능을 제공한다.

통신 서비스 : 통신 장애 극복

  • 네트워크가 정상적으로 동작하지 않는 경우
    • 비트수준 오류 (전자기 간섭/방해)
    • 패킷 수준 오류 (혼잡)
    • 링크/노드 고장
    • 메시지의 지연
    • 메시지의 순서가 바뀌어 전달 (out of order)
    • 제삼자의 도청
  •  
728x90

'School Lecture Study > 컴퓨터 통신' 카테고리의 다른 글

6. 프레이밍 (Framing)  (0) 2022.10.25
5. 인코딩 (Encoding)  (0) 2022.10.25
4. 점대점(Point-To-Point) 링크 - 하드웨어 구성요소  (0) 2022.10.25
3. 네트워크 성능  (0) 2022.10.25
2. 네트워크 구조  (0) 2022.10.25