23. 라이브러리 1

https://www.opentutorials.org/course/1688/9480



1) 라이브러리 1 : 개론

지금까지 살펴본 기술의 발전 방향은? 중복의 제거


중복의 제거로 인한 효과

- 유지보수의 편의성

- 코드의 양 감소

- 가독성 향상


소프트웨어에 있어서 코드란? 

- 코드 == 설계도 (false)

  코드 == 제품 (true)  → 코드를 작성하는 것이 곧 제품을 만드는 것이다.


코드의 중복 제거 → 생산성의 향상


'중복을 제거한다' 와 '제거한 코드를 여러 곳에서 재사용한다' 라는 것은 뗄레야 뗄 수 없는 관계

- 중복 제거 ↔ 재사용


프로그래밍에서 라이브러리란?

- 중복해서 사용되는 로직을 재사용 할 수 있도록 부품화(모듈화) 시킨 것


라이브러리의 사용

- 하나의 프로젝트에서 재사용

- 자신의 프로젝트에서 재사용

- 모두의 프로젝트에서 재사용



2) 라이브러리 2 : 직접 만들기


/lib/db.php

1
2
3
4
<?php
  $conn = mysqli_connect('localhost''root''');
  mysqli_select_db($conn'opentutorials');
?>
cs

- 중복을 제거한 수준


1
2
3
4
5
6
7
<?php
    function db_init($host$duser$dpw$dname){
          $conn = mysqli_connect($host$duser$dpw);
          mysqli_select_db($conn$dname);
          return $conn;
    }
?>
cs

- 재활용성을 높이도록 수정


/config/config.php

1
2
3
4
5
6
7
8
<?php
$config = array(
    "host" => "localhost",
    "duser"=>"root",
      "dpw"=>"111111",
      "dname"=>"opentutorials"
);
?>
cs


index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
  require("config/config.php");
  require("lib/db.php");
  $conn = db_init($config["host"], $config["duser"], $config["dpw"], $config["dname"]);
  $result = mysqli_query($conn"SELECT * FROM topic");
?>
 
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
    <link rel="stylesheet" type="text/css" href="/style.css">
  </head>
  <body id="target">
    <header>
      <img src="https://s3.ap-northeast-2.amazonaws.com/opentutorials-user-file/course/94.png" alt="생활코딩">
      <h1><a href="/index.php">JavaScript</a></h1>
    </header>
    <nav>
      <ol>
      <?php
        while($row=mysqli_fetch_assoc($result)) {
          echo '<li><a href="/index.php?id='.$row['id'].'">'.htmlspecialchars($row['title']).'</a></li>'."\n";
        }
      ?>
      </ol>  
    </nav>
    <div id="control">
      <input type="button" value="white" onclick="document.getElementById('target').className='white'"/>
      <input type="button" value="black" onclick="document.getElementById('target').className='black'"/>
      <a href="write.php">쓰기</a
    </div>
    <article>
      <?php
        if(empty($_GET['id']) === false) {
          $sql='SELECT topic.id, title, name, description FROM topic LEFT JOIN user ON topic.author = user.id WHERE topic.id='.$_GET['id'];
          $result = mysqli_query($conn,$sql);
          $row = mysqli_fetch_assoc($result);
          echo '<h2>'.htmlspecialchars($row['title']).'</h2>';
          echo'<p>'.htmlspecialchars($row['name']).'</p>';
          echo strip_tags($row['description'], '<a><h1><h2><h3><h4><h5><ul><ol><li>');
        }
      ?>
    </article>
  </body>
</html>
cs


write.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
  require("config/config.php");
  require("lib/db.php");
  $conn = db_init($config["host"], $config["duser"], $config["dpw"], $config["dname"]);
  $result = mysqli_query($conn"SELECT * FROM topic");
?>
 
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
    <link rel="stylesheet" type="text/css" href="/style.css">
  </head>
  <body id="target">
    <header>
      <img src="https://s3.ap-northeast-2.amazonaws.com/opentutorials-user-file/course/94.png" alt="생활코딩">
      <h1><a href="/index.php">JavaScript</a></h1>
    </header>
    <nav>
      <ol>
      <?php
        while($row=mysqli_fetch_assoc($result)) {
          echo '<li><a href="/index.php?id='.$row['id'].'">'.$row['title'].'</a></li>'."\n";
        }
      ?>
      </ol>  
    </nav>
    <div id="control">
      <input type="button" value="white" onclick="document.getElementById('target').className='white'"/>
      <input type="button" value="black" onclick="document.getElementById('target').className='black'"/>
      <a href="write.php">쓰기</a
    </div>
    <article>
      <form action="/process.php" method="post">
        <p>제목 : <input typt="text" name="title"></p>
        <p>작성자 : <input typt="text" name="author"></p>
        <p>본문 : <textarea name="description"></textarea>
        <input type="submit" name="name">
      </form>
    </article>
  </body>
</html>
cs


process.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
  require("config/config.php");
  require("lib/db.php");
  $conn = db_init($config["host"], $config["duser"], $config["dpw"], $config["dname"]);
  
  $title = mysqli_real_escape_string($conn$_POST['title']);
  $author = mysqli_real_escape_string($conn$_POST['author']);
  $description = mysqli_real_escape_string($conn$_POST['description']);
 
  $sql = "SELECT * FROM user WHERE name='".$author."'";
  $result  = mysqli_query($conn$sql);
 
  if($result->num_rows == 0){
      $sql = "INSERT INTO user (name, password) VALUES('".$author."', '111111')";
     mysqli_query($conn$sql);
      $user_id = mysqli_insert_id($conn);
  } else {
      $row = mysqli_fetch_assoc($result);
      $user_id = $row['id'];
  }
 
  $sql = "INSERT INTO topic (title,description,author,created) VALUES('".$title."', '".$description."', '".$user_id."', now())";
  $result = mysqli_query($conn$sql);
  header('Location: http://localhost/index.php');
?>
cs










http://happybean.naver.com/crowdFunding/Intro/H000000141816?p=p&s=f



구세군과 롯데가 함께 나누는 마음온도 37


평범한 우리의 체온 36.5℃에 아이들도 따뜻했으면 좋겠다는 마음 0.5℃를 더해

함께 따뜻함을 느끼는 소외아동들의 난방비 및 난방물품 지원 캠페인







구멍 내는 법이나 마무리 하는 방법을 몰랐는데,

목도리 키트 안에 들어있는 설명서와 QR코드를 스캔하면 나오는 동영상

참고하면서 뜨다보니 완성할 수 있었습니다.






완성된 목도리를 소외된 이웃에게 선물하고 싶은 경우,

 키트에 포함 된 우편 봉투에 엽서와 목도리를 넣어서 구세군자선냄비본부(착불)로 보내면 됩니다.


따뜻한 온기와 함께 전달된 목도리는 소외 아동에게 전달되어지고,

목도리를 보내주신 분들께는 VMS 봉사활동 시간 4시간을 드린다고 합니다.




 



서툰 솜씨, 작은 일이지만

따뜻함을 전해줄 수 있어서 감사했습니다 :)







이시다 이라 장편소설   스무살을 부탁해




7명의 청춘들이 '전원 언론사 합격'이라는 목표로

취업 동아리를 결성하고, 취업에 도전하는 내용이 담겨있다.


취업을 준비하는 사람, 준비했던 사람

모두 공감할 수 있는 책인 것 같다.



무슨 시험이든지 합격한 사람의 몇 배나 되는 불합격자가 있는 법이지.

그러니까 꿈을 이룬 사람은 꿈을 이루지 못한 사람들 몫까지 열심히 일해야만 하는 거야.

책 속에서 보여진 일본의 취업 프로세스도 우리나라와 비슷한 것 같았다.

서류 > 필기시험 > 여러 단계의 면접

위의 말처럼 이 과정 속에서 합격한 사람들보다는 불합격한 사람들이 더욱 많을 것이다.

그들의 몫까지 열심히 해야 한다는 말이 마음에 많이 와닿았다.



만약에 도쿄에서 취업에 실패하면 고향으로 돌아와.
설령 취업에 완전히 실패한다 해도,
너에겐 돌아갈 고향이 있고 기다려주는 가족이 있다는 걸 잊지마라.

취업 준비를 하다보면 본인이 가장 힘들고 지칠 것이다.

하지만, 걱정과 응원의 마음으로 그 과정을 함께해주는 가족, 친구들의 존재를 기억해야 한다.




스무살을 부탁해
국내도서
저자 : 이시다 이라 / 박승애역
출판 : 노블마인 2009.09.15

상세보기





'raoooon > 독서' 카테고리의 다른 글

[에세이] 빨강머리N  (0) 2017.08.01

IEEE 802.6


1. 도시 통신망(MAN : Metropolitan Area Network)

도시 통신망의 특징

- IEEE 802.6 표준

- 도시 전체를 대상으로 하는 통신망

ex) 도시나 규모가 큰 대학

- 단일 기업의 LAN이 넓은 지역에 분산되어 있을 때 LAN과 LAN 사이의 고속통신망의 역할

- 근거리통신망(LAN) < 도시통신망(MAN) < 광대역통신망(WAN)

- 데이터, 음성, 화상을 종합적으로 전송하는 통신망으로 50km 정도의 범위까지 가능

- 전송매체는 광섬유 


도시 통신망의 서비스 종류

- 분산 큐 이중버스

- 교환 다중메가비트 데이터 서비스


2. 분산 큐 이중버스(DQDB : Distributed Queue Dual Bus)

특징

- 도시통신망에서 사용되도록 설계된 것으로 이중버스 구조를 사용하여 데이터 전송방향은 서로 다른 단방향으로 전송

- 이중 버스 구조로 구성되며 2개의 단방향 버스 접속형태를 사용

- 2개의 버스는 각각 한방향으로만 전송하며 두 버스의 트래픽 방향은 서로 반대

- 데이터 스트림 방향에는 상향 스트림과 하향 스트림이 존재하며 송신측은 수신측이 하향스트림이 되는 버스를 선택해야 함

- 전송슬롯은 패킷이 아닌 단순한 연속적인 비트 스트림으로 구성

- 상향 스트림에 있는 노드들이 empty slot을 독접하는 것을 방지하기 위하여 슬롯 예약을 사용


데이터 전송

- 데이터는 각 버스에서 53바이트 단위의 스트림으로 전송

- 각 버스의 시작 노드는 데이터를 전송할 "empty slot"을 생성

- 각 버스의 마지막 노드는 목적지까지 전송을 한 slot을 폐기

- 데이터를 보내고자 하는 송신 노드는 수신 노드가 하향 스트림이 되는 버스를 선택하여 전송


3. 교환 다중메가비트 데이터 서비스(SMDS : Switched Multimegabit Data Service)

특징

- 도시 통신망에서 고속통신을 제공하는 서비스

- MAN에 연결되어 있는 LAN 간 고속 데이터 교환을 제공하기 위해 개발

- SMDS 이전에는 LAN 간 데이터 교환을 위해 T1 또는 T3 전용회선 사용

→ 고가의 비용

→ 여러 개의 LAN을 연결하기 위해 많은 점대점 연결 필요

→ 통신망을 100% 사용하지 않기 떄문에 대역폭 낭비

→ 교환회선을 이용한 회선 공유가 유리

- 스위치를 통해 LAN 연결



회선교환기술


1. 교환망

교환기의 발전사

- 수동식 교환기 → 기계식 교환기 → 반전자식 교환기 → 전전자식 교환기


교환망의 목적

- 네트워크 전체 자원을 공유

- 효율적이고 경제적인 통신


교환방식의 종류

- 회선 교환

- 패킷 교환

- 메시지 교환


2. 교환통신망의 구조

교환노드(Switching Node)

- 통신을 제공하기 위한 교환 디바이스

- 데이터의 내용에 관여하지 않음

- 노드로부터 목적지에 도달할 때까지 데이터를 이동시키는 교환 편의를 제공


통신망(Network)

- 노드들의 집합


스테이션(Station)

- 통신하기를 원하는 종단 디바이스

ex) 컴퓨터, 전화, 터미널, 기타 통신기기


3. 회선교환

회선교환(Circuit Switching)

- 데이터를 보내기 전에 송수신측 사이의 통신경로를 미리 확보하는 방식

- 두 스테이션 사이에 하나의 전용 통신로가 있음을 의미하며 각 물리적 링크마다 연결을 위해 한 개의 논리적 채널이 전용으로 사용


회선교환의 통신 절차

- 회선교환은 회선설정을 하여 데이터를 전송하고, 보낸 후에는 설정해 놓은 경로를 모두 해제함

→ 회선을 해제하는 이유는 데이터 전송을 위해 설정한 경로를 풀어주어 다른 사용자가 그 경로를 사용할 수 있도록 하기 위함


- 회선 설정

: 데이터가 전송되기 전에 스테이션간 전용회선이 설정되어야 함

: 연결을 요구하는 요청을 통해 회선을 설정

- 데이터전송

: 전이중 방식으로 데이터를 서로 주고 받는 형식의 연결

- 회선해제

: 전송을 위한 논리적 채널을 해제


회선교환의 장점

- 회선을 마치 전용선처럼 사용하기 때문에 많은 양의 데이터 전송에 적합

- 통신 경로가 일단 설정되면 교환기에서의 처리 지연이 거의 없음

- 사용자에게 시간적으로 투명한 데이터 전송을 제공

- 음성이나 동영상 같이 연속적이면서 실시간 전송이 요구되는 통신에 적합


회선교환의 단점

- 회선의 독점적 사용으로 인한 회선 이용률이 떨어짐

- 통신 경로가 설정되면 데이터를 그대로 전송하기 때문에 교환망 내에서 에러 제어 기능이 어려움


회선 교환의 종류

- 공간 분할 교환

- 시간 분할 교환


회선교환 노드의 요소

- 입력장치

: 전화기, 컴퓨터, 스위칭 노드

- 네트워크 인터페이스

: 디지털 디바이스들을 네트워크에 연결하는데 필요한 함수와 하드웨어를 나타냄

: 디지털신호로 변환시킬 수 있는 회로가 있으면 아날로그 신호도 연결 가능

: 외부 시스템의 연결은 트렁크(Truck)로 가능

: 다른 디지털 교환기로 연결되는 트렁크(Truck)는 시분할 다중화 기법(TDM) 신호 운반

: 다중 노드 네트워크를 구성하기 위한 링크를 제공

- 제어장치

: 발생(요청), 유지, 해제를 수행 및 관리

- 디지털 스위치

: 회선과 회선의 연결을 담당


회선교환 디바이스의 중요한 특성

- 블로킹 회선교환 디바이스

: 두 스테이션 사이의 모든 경로가 사용 중이어서 연결할 수 없으면 Blocking 상태

- 논블로킹 회선교환 디바이스

: 사용 중이 아닌 두 스테이션의 회선이 언제나 연결 가능하면 Non-Blocking 상태 


4. 공간 분할 교환기

공간 분할 교환기(Space Division Switching)

- 회선을 공간적으로 분리

- 원래 아날로그 망에서 사용되었으나 현재는 디지털 방식에서도 사용

ex) 전화 시스템에서 사용


공간 분할 교환기의 종류

- 크로스바 교환기(Crossbar Swiching)

- 다단교환기(Multistage Switch)


크로스바 교환기

- 격자형태로 n개의 입력과 m개의 출력을 연결

- 각 교차점(Crosspoint)에는 전기적인 마이크로 스위치가 존재

- 교차점의수 = (입력 라인의 수)^2


크로스바 교환기의 장점

- 논블로킹 스위치


크로스바 교환기의 단점

- 하나의 교차점이 손실될 경우 해당되는 두 장치 사이의 연결을 차단

- 교차점의 수가 너무 많아짐으로 비용이 높아짐

ex) 1000x1000 스위치인 경우 교차점의 수는 1000000개

- 사용률이 25% 미만이므로 비효율적


크로스바 교환기 단점의 해결책

- 다단교환기는 크로스바 교환기를 여러 단계로 결합할 수 있기 때문에 크로스바 교환기의 단점 극복 가능


다단교환기(Multistage Switch)

- 크로스바 교환기의 단점을 해결하기 위해 크로스바 교환기를 여러 단계로 결합한 형태

- 장치들은 교환기에 연결되고 이 교환기는 차례로 다른 교환기에 계측적으로 연결되어 있음


다단교환기의 장점

- 신뢰성 및 교차점 효율 향상

- 규모가 클수록 유리

- 비용 감소


다단교환기의 단점

- 복잡한 제어체제가 요구됨

- 블로킹 발생 가능성 존재


5. 시분할 교환기

시분할 교환기(Time Division Switching)

- TDM(Time-Division Multiplexing)을 이용하는 기법

- 주로 사용되는 다중화 기법으로는 TSI(Time-Slot Interchange)TDM 버스 방식이 있음

* TSI 방식 : 원하는 연결을 바탕으로 TSI 장치를 이용하여 슬롯의 순서를 바꿔줌

- 전화 시스템에서 사용


TSI의 동작과정

- RAM과 제어 장치로 구성

- 슬롯으로부터 들어오는 데이터를 순서대로 RAM에 저장

- 제어장치에 의해 결정된 순서에 따라 출력


TDM 버스

- 입출력 회선은 입출력 스위치를 통해 고속의 버스에 연결

- 각 입력 스위치는 4개의 슬롯 마다 한번 닫히고 같은 슬롯 동안 하나의 출력을 보냄

- 스위치만 닫혀서 버스를 통하여 데이터 전달


6. 공간분할과 시분할교환의 결합

공간분할의 특징

- 교환이 빠름

- 블로킹(Blocking)이 발생하지 않도록 하기 위해 많은 교차점이 요구됨


시분할의 특징

- 교차점이 필요하지 않음

- TSI의 경우 연결 처리하는데 시간 지연이 발생하고 RAM에 의해 저장, 검색, 전달되어야 함


공간/ 시분할 결합

- 공간분할 교환기와 시분할 교환기의 장점을 최대한 활용해서 최적화시킴

물리적인 면 : 교차점의 수

시간적인 면 : 지연 시간

- 형태

시간 - 공간 - 시간 (TST)

시간 - 공간 - 공간 - 시간 (TSST)

공간 - 시간 - 시간 - 공간 (STTS)


7. 공중교환전화망(PSTN : Public Switched Telephone Network)

회선설정

- 가입자는 종단국에 직접 연결하며, 서로 다른 종단국에 연결된 가입자는 트렁크 및 중간 교환국을 이용하여 연결됨


구성요소

- 가입자(Subscriber) : 네트워크에 부착된 디바이스

- 지역 루프(Local Loop) : 가입자와 네트워크 사이의 링크로 트위스트 페어 케이블 사용

- 교환기(Exchanger) : 네트워크에서의 교환 센터로 일반적으로 종단국부터 계층적으로 구성

- 트렁크(Trunk) : 교환기 사이의 전송로로 FDM이나 동기 TDM을 활용

- 음성 트래픽에 대한 핵심요구 사항은 전송지연이 없어야 하며 지연의 변화가 적어야 함


공중교환 전화망의 계층 구조

- 교환기는 네트워크에서의 교환센터로 일반적으로 종단국(End Office)부터, 집중국(Toll Center), 중심국(Primary Center). 구간국(Setional Center), 총괄국(Regional Center)으로 계층적 구성을 이룸


다이얼(Dialing) 방식

- 예전 방식

- 전화번호를 돌리면 번호에 해당하는 디지털 신호가 단국으로 전송

- 일관성이 없는 다이얼링의 경우 오류 발생 가능성 있음


 터치 톤(Touch-Tone) 방식

- 현재 사용하는 방식

- 이중 톤(Dual Tone)이라 불리는 2개의 아날로그 신호를 단국으로 전송

- 보내지는 신호는 전화기 패드 내에 눌려진 번호 위치의 행과 열을 나타냄

- 펄스식 보다 안전



패킷교환과 메시지 교환


1. 패킷교환

패킷교환(Packet Switching)

- 메시지를 패킷(Packet)이라는 데이터 단위로 나누어 주소를 붙여 전송하는 기법

- 축적 - 전달(Store-and-Forward) 방식을 사용

- 패킷은 헤더와 데이터로 구성되며 크기는 가변적


패킷교환의 구성

- 교환기와 이들을 연결하는 링크들로 구성

- 회선 이용률이 좋음

- 전송량 제어와 전송속도 변환 가능

- 전송 오류의 정정할 수 있는 기능 있음


종류

- 데이터그램 접근법

- 가상회선 접근법

→ 교환가상회선

→ 영구가상회선


장점

- 하나의 링크를 공유하므로 경로이용 효율이 높음

- 전송에 실패한 패킷에 대해서 재전송 요구 가능

- 데이터 전송률 변환이 이루어질 수 있기 때문에 서로 다른 전송률을 갖는 스테이션간의 전송 가능

- 통신에 과부하가 발생하면 전송지연이 발생하지만 패킷의 송신은 가능

- 패킷에 대한 우선 순위 부여 가능


단점

- 패킷 전송 지연으로 인해 다량의 데이터 전송에는 부적합

- 패킷 단위로 헤더를 추가하기 떄문에 오버헤드 발생

- 수신지에 도착한 패킷의 순서가 바뀔 수 있기 때문에 실시간 전송에는 부적합


2. 데이터그램 접근방식

특징

- 패킷을 데이터그램(Datagram)이라 부름

- 축적 - 전달(Store-and-Forward) 방식을 사용

- 데이터 경로 설정 방법은 비연결형 서비스 방식

- 메시지를 패킷으로 쪼개어 보낼 때 각 패킷은 노드에서 독립적으로 처리

- 다른 경로로 전송되는 패킷은 수신지에서 순서가 바뀔 수 있기 때문에 수신지는 패킷들의 순서를 정렬하는 기능 필요


장점 

- 몇 개의 패킷으로 구성된 짧은 데이터 전송에 적합

- 네트워크의 혼잡에 따라 적절한 경로로 패킷을 전송하기 때문에 융통성이 좋음

- 한 노드 실패에 대한 다른 경로 구성 가능


단점

- 각 패킷이 전송되는 경로가 서로 다를 수 있으며 목적지 노드에서 입력되는 차례가 다를 수 있음   


3. 가상회선 접근방식

가상회선 접근방식

- 패킷이 전송되기 전에 논리적인 경로를 설정하여 패킷을 전달하는 방식


특징

- 회선 교환에서와 같은 독점적인 통신 경로는 아니지만 패킷 전송을 위해서 설정된 논리적 경로를 의미

- 데이터 경로 설정 방법은 연결형 서비스 방식

- 축적 - 전달(Store-and-Forward) 방식을 사용

- 패킷을 전송하기 전에 송/수신측 사이의 경로를 설정하고, 그 경로를 통해서 패킷을 전송

- 통신과정 : 회선 교환과 동일하게 회선 설정, 데이터 전송, 회선 해제의 3단계 과정으로 이루어짐

- 모든 패킷은 동일한 통신 경로를 통해서 전송

- 고정된 통신 경로를 사용하지만 패킷 단위로 전송하기 때문에 노드 지연 시간이 발생하여 회선교환보다 빠를 수 없음


교환가상회선

- 필요할 때마다 경로를 설정하고 특정기간만 존재하게 되는 방식


교환가상회선 통신과정

1. 가상회선 설립

: 데이터 전송 전에 네트워크에 가상회선 요청하고 상대방으로부터 가상회선 확인 응답을 받으면 송/수신단 사이에 가상회선이 설립

2. 데이터전송

: 전이중 방식으로 데이터를 서로 주고 받는 형식의 연결

3. 가상회선 해제 요청

: 데이터 전송이 종료되면 가상회선 해제를 요청

4. 회선해제

: 회선이 해제되면 지금까지 사용했던 가상회선 자원은 원래대로 복구되어 다른 가상 회선 설립 시 사용할 수 있음


영구가상회선

- 특정 사용자에게 전용으로 제공하여 그 외의 다른 어떤 사용자도 사용할 수 없고 항상 설정되어 있어 원할 때 데이터 전송을 할 수 있는 방법


영구가상회선의 특징

- 회선교환에서의 전용회선과 비교할 수 있음

- 같은 가상회선이 두 사용자 사이에 연속적으로 제공

- 항상 설정 상태이기 때문에 연결설정과 연결종료 없이 사용 가능

- 영구가상회선 사용자는 항상 같은 경로로 데이터 전송


4. 메시지교환

메시지 교환 방식

- 전송하고자 하는 데이터를 일정한 길이로 분할하지 않고 전송하는 것으로 교환기의 메모리를 이용하여 데이터를 축적 후 전송하는 방식


특징

- 1960 ~ 1970년대 널리 사용

- 메시지 단위로 전송 및 교환하는 방식

- 축적 - 전달(Store-and-Forward) 방식을 사용

- 교환기가 일단 송신측의 메시지를 받았다가 수신측에게 보내주는 방식

- 전송 메시지의 길이에 제한이 없음

- 교환기는 송신된 내용을 병경하지 않고, 타인의 통신을 매개하거나 교환하는 방식

- 각 교환기는 긴 메시지를 저장하기 위한 보조기억장치를 구비해야 함

- 메시지의 크기에 따라 대용량의 저장장치 필요

- 메시지의 길이가 길기 때문에 짧은 반응 시간을 요하는 대화형 통신에는 부적합

- 실질적으로 많이 사용하지 않음


장점

- 회선 효율 증대

- 연결 설정 불필요

- 다중 전달 용이


단점

- 메시지의 길이가 길기 때문에 응답시간이 빠른 데이터 전송에는 부적합

- 연결 시 시간지연이 큼

- 음성신호 전송에는 사용 불가


5. 교환방식의 비교

회선교환

- 두 지점 사이에 물리경로를 설정

- 경로설정 시 사용되는 회선은 두 통신기기만 사용이 가능하며 다른 연결에는 사용 불가능

가상회선

- 두 지점 사이에 가상회선 설정

- 경로 설정 시 사용되는 가상회선은 다른 연결과 공유 가능

- 축적 - 전달(Store-and-Forward) 방식을 사용

- 가상 경로를 사용


회선교환연결, 가상회선, 데이터 그램 방식의 비교



+ Recent posts