728x90
요구사항
- 네트워크가 제공해야 하는 것
- 결국, 네트워크에 대한 기능적 정의
연결
- 통신의 첫 단계는 통신 주체를 연결하는 것이다.
- 통신측 : 단말(기), terminal
- 컴퓨터 : 호스트(host)
- 통신 주체
- 전화기 등 단말기 (엄밀히 말하면 기기가 아닌 응용이 주체가 된다.)
- 좀 더 일반적으로는 통신 응용이 있다. (카톡, 브라우저 …)
- 당분간은 단말기로 가정하고 생각한다.
- 연결 방법
- 선을 연결하거나 무선으로도 연결할 수 있다.
- 선 연결은 케이블로 가능하지만, 거리, 크기로 인해 어렵다.
- 통신망 구성 요소 (물리적 연결 제공을 위한)
- 노드 : 단말기, 범용 워크스테이션, 라우터, 공유기, 스위치 등
- 다른 주체와 연결되는 것을 노드라고 한다.
- 노드가 단말을 포괄하는 넓은 개념
- 링크 : 동축케이블, 광케이블, 무선채널 등
- 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하게 연결된다.
- 장점
- 거리 문제가 해결된다.
- 상대방이 여러 명이어도 중계기(노드)가 해결해준다.
- 인터네트워킹 (internetworking) → Network of Networks
- 완전히 기술이 다른 네트워크, 연결하는 망 자체가 다른 경우
- 네트워크간 이질성 극복을 위해 노드가 어떤 추가 조치를 해야 함 (번역 말고)
- 스위칭 네트워크 (switching network, Network of Node)
간접 연결 방법 : 스위칭 정책
- 회선 스위칭 (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 |