컴퓨터통신 2

컴퓨터통신 2

1. Statistic Multiplexing (cont.)

- 통계적 다중화는 링크를 공유하는 방법이라고 했다.

- 패킷스위칭이랑 구분을 하자면 패킷 스위칭은 노드가 목적지를 향해 데이터를 전달하는 방법이다.

- 패킷 스위칭은 패킷 단위로 링크 사용을 다시 스케쥴링 하는 것이다.

- 여러 시작 노드들에서 패킷을 링크로 보내면 패킷 스위칭으로 스케쥴링을하고 링크를 나갈때는 대부분 통계적 다중화로 나간다.

- 따라서 링크에서 여러 패킷들이 링크에서 섞여있는 상태가 된다.

- 링크를 나가서 목적지로 도달하기 위해 패킷들이 경쟁을 하게 되는데 이 패킷들을 buffer에 저장하는 방법으로 안전성을 높인다. (buffering)

- 버퍼보다 큰 크기로 시작 노드에서 데이터를 보낸다면 buffer overflow가 일어날 수 있다.

2. 패킷 스위칭 (cont.)

- store and forward

- 패킷들을 일단 저장하고 목적지 주소를 봐가면서 전달

- 패킷들을 그때그때 목적지 노드로 전달하는 방법

3. 서킷 스위칭

- 사전에 회선을 연결해서 point to point로 두 노드를 연결한다.

- 물 흐르듯 bit를 전달한다.

- 아래 그림처럼 서킷스위칭과 다중화를 섞을 수 있다.

4. 통신 서비스 제공

- 기기 위에서 동작하는 응용프로그램들 간의 통신을 제공해야 한다.

- 즉 프로세스간의 channel을 지원해야한다.

- 또한 네트워크는 단순히 노드간 링크를 연결하는 것 뿐만 아니라 도청, 지연, 전자기 간섭 등의 통신 장애들을 극복할 수 있어야 한다.

5. 프로토콜

- 통신에 사용되는 모든 약속을 프로토콜이라고 한다.

- 수신호, 언어 등이 프로토콜의 일종으로 반드시 양쪽이 같아야 한다.

- 통신 프로토콜은 여러 계층으로 나누어서 정의 된다. (layering)

- API가 application과 system간의 소통을 위한 interface인 것 처럼 프로토콜도 인터페이스를 갖는다.

- Host1이 데이터를 줘라(GET)라고 하면 Host2는 file을 보내줘야 한다. 이런 동료간에 교환되는 메시지를 정의한 약속을 peer-to-peer interface라고 한다.

- service interface : 통신 프로토콜을 사용하기 위한 api를 말한다. 상,하위 계층간의 소통을 위한 interface이다.

- 반드시 두 동료는 대칭관계여야 한다.

- host1과 host2는 간접적으로 연결되어 있다. 맨 밑바닥 계층인 하드웨어 수준에서만 두 동료가 직접적으로 연결되어 있다.

- 이렇게 상위계층부터 추상화를 반복하면서 여러 계층 구조로 프로토콜이 만들어져있다.

6. 프로토콜 : 동작 원칙

- 결국 통신은 application끼리 데이터, 메시지, 이미지 등을 주고 받는 것이다.

- 두 어플리케이션은 하위계층을 통해 간접적으로 연결되어 있다. 즉 논리적으로 연결되어 있다.

1. application program은 데이터를 하위 계층으로 service interface를 통해 전달 한다.

2. 이 데이터를 받은 RRP는 논리적으로 상대 RRP로 보내줘야 한다. 같은 방식으로 하위계층으로 Data + RRP 데이터를 건넨다. (body에 header를 붙인다.)

3. 최하위 HHP가 RRP + Data를 받아서 HHP헤더를 붙여서 host2에게 보낸다. (header를 붙인다.)

4. Host2는 상대방이 보낸 데이터의 헤더를 보고 작업을 수행한 다음 header를 떼고 상위 계층으로 데이터를 보낸다.

- 이 header의 내용, 형식을 peer to peer interface라고 한다.

- host의 구성뿐 아니라 동작도 대칭적으로 이루어진다.

from http://jsdysw.tistory.com/153 by ccl(A) rewrite - 2021-09-13 16:26:27