Computer Communication 1 - Signal & Protocol

컴퓨터 통신에 있어서 국제 표준은 인터페이스만 맞춰주면 되고, 내부 구현은 회사마다 다르다. 이런 구성품들이 모여 OSI 7계층으로 불리는 선형적인 layered architecture를 만들게 된다.

Service - IP - ATM - SONET/SDG - WDM

TCP/IP address = Physical address + IP address + Port address
전세계 컴퓨터가 가지는 유니크한 주소가 IP, 해당 컴퓨터 내의 프로세스마다 가지는 주소가 Port(http는 80. 이 표준은 고정)
ip와 port는 논리적 주소.

packet : 작은 패키지. 전달되는 데이터 덩어리를 담고 있으며 주소를 가지고 있음.
physical address는 source, destination으로 패킷 뒤에 부착되어 어디로 갈지 가리킨다. mac address와 이 값을 비교하여 자신에게 온 것을 받아오는 것이 물리적 주소 프로토콜.

이를 네트워크로 확장시키면 어떤 라우터는 받은 패킷의 번호를 보고 어디로 보내야 할지를 알고 있다. (라우팅 프로토콜 - 다익스트라 알고리즘을 사용해 구현) 그리고 부착된 주소 번호를 다시 다른 값으로 교환한다. 그렇게 여러 라우터를 거치며 목적지에 도착할 수 있다. (physical address를 계속 교환하며 릴레이 하며 전달)

시작/목적인 논리적 주소는 바뀌지 않지만 물리적 주소는 계속 변환되며 전송됨. 어디로 가기 위해서는 어디로 보내야 한다는 것은 전체 라우팅 프로토콜에 의해 결정되어 있으므로 각각의 라우터는 전체를 알 필요 없이 그냥 받은 번호에 따라 어디로 보내는지만 결정하면 된다.

*이게 안되던 시절은 실제로 전화 교환원이 일일이 손으로 목적지를 설정해줬던 것.

여기서 더 나아가, 컴퓨터 끼리의 전송 이후에 원하는 프로세스에까지 도달해야 하므로 뒤에 포트번호까지 추가로 붙는다. 따라서 transport - network - data link 의 각각의 layer를 거치며 port번호(TCP헤더), IP주소, 헤더(physical주소, 데이터가 전송되고 있다는 것을 알려주는 것들) 가 차례로 붙게 되고, 각각을 거치며 전환되며 올바른 위치로 전달되게 된다.

* 실제로 정보 패킷은 각 꼬리주소가 붙을 때 마다 어떤 전달체 안에 담기게 된다. 그리고 각각의 단계에서는 이들을 더 잘게 잘라 여러 개의 전달체에 나누어 담아 전달한다. 

 

 Protocol : 여러 서로 다른 정보 통신 교환을 하는 객체(Entity)들 사이 통용되는 규칙. (set of rule that govern data communication)

통신 표준 : 데이터를 주고받는데 필요한 기준을 제공. De facto (사실상의 표준) / De jure (법적인 표준). 법으로 규정된 것과 실제 시장 논리에 적용되는 기준이 약간씩 다를 수 있다.
TCP/IP 표준은 De facto에 해당된다.

ITU-T 통신 표준 : 통신 아키텍처, 주소 체계, 프로토콜
- 통신 아키텍처 : 시스템의 구조, 구성요소 간의 상호작용 정의. 네트워크 계층 구조, 데이터 흐름, 각 계층의 기능 등
- 주소 체계 : 네트워크 내에서 장치, 사용자 간의 통신을 가능케하는 주소 지정 방법을 정의. (IP 혹은 전화번호 등)
- 프로토콜 : 데이터 전송을 위한 규칙과 절차를 정의. 데이터 패킷의 형식, 전송 방법, 오류 검출 및 수정 방법 등. 이를 정의하는 표준은 entity들의 인터페이스만 정의 (내부 구현은 회사마다 달라도 됨)
ex) 외계와 통신할 경우 주파수만 알 수 있지 해당 신호를 소리나 화면으로 출력할 수 없음 ->왜냐하면 서로 통신규약 - 프로토콜이 다르기 때문. (해당 신호를 어떻게 출력해야 된다는 합의가 되어야 신호가 정보로 교환될 수 있다)

Network Protocol
- IP : 각 은행 지점번호
- Port : 각 은행의 서로 다른 창구 (예금, 대출 등등..)

기능과 연산, 함수로 선형 layered 연결되어 있는 것. (Service - ip - WDM)

네트워크는 마치 고속도로 처럼 구성되어 있어 출발지와 도착지만 지정되면 내부 알고리즘에 의해 표지판을 따라 알아서 이동하게 된다. 이 중간 중간 각각의 게이트의 위치에서 다음으로 이송해주는 것이 Physical address이다. 이 때 어느 길로 갈 지는 그 때 그 때 다를 수 있다.

* 대부분의 IP protocol은 오픈소스로 풀어져 있으므로 iptime과 같은 라우터를 직접 제작하여 저렴하게 제작할 수도 있다.

패킷이 다수 들어오게 되면 빠른 처리가 필요하므로 주로 병렬처리를 해주고, 상기의 ip - atm -sonet-wdm 등을 잘 설계 해주어야 한다.

protocol = syntax + semantics + timing
- syntax : structure or format of the data (주로 구조체를 패킷에 사용)
- semantics : meaning of each section (문맥 상 의미, 가가 가가? - 각 '가'가 나타내는 의미, state machine으로 해당 값을 저장)
- timing : data의 전송 속도와 전송 시기를 결정
Physical address
각 장치의 interface card 별로 ip 주소를 가짐(연결 포트). 각 ip 주소마다 physical address도 가짐. 이들은 decoding을 통해 받은 패킷의 주소와 자신의 주소를 비교하여 맞으면 OS가 처리하도록 하고, 다르다면 계속 이동하도록 두는 방식으로 운영된다.

*해당 주소가 자신의 것이 아니더라도 열어보게 되면 해킹을 하거나, 방화벽의 역할이 될 수 있다. (어디로 가는지, 보내는 이가 무엇인지, 안에 들어 있는 내용이 무엇인지) 그러나 전체 내용이 패킷으로 분리되어 전송되므로 병렬처리를 하거나 매우 빠른 처리 속도가 필요하다.

이 물리적 주소는 회사마다 할당되는 값이 있다. (왜냐하면 통신은 기본적으로 1:1로 이루어지기 때문) 그래서 LAN을 꼽으면 내 pc의 hardware address와 hub의 hardware address 두 개가 사용된다. (앞서 배운 것 처럼 이 address는 망과 게이트를 지나며 서로 다른 미디어를 거쳐 계속 바뀌게 된다. 반면 ip 주소는 출발지와 도착지의 값으로 계속 유지된다.)

국제 표준 기구
ITU-T(Telecom) : V/X series
ITU-R(Radio)
ISO : OSI 7계층

라우팅 프로토콜 : 도로 표지판을 제작
IP 프로토콜 : 도로를 따라 가는 것



Electronics & Signals
- ground : 쇼트가 났을 때 땅보다 사람이 저항이 더 높으므로 사람으로 전기가 흐르지 않도록 한 것. 또한 외부 철판으로 연결되어 신호의 값이 0인지 1인지 판별하게 되는 기준이 된다.
- 오실로스코프 : 신호의 파형/모양을 표시
- 멀티미터 : 전압/저항/전류 등 측정
- Fourier synthesis : sin 파를 합성하여 사각파(구형파)를 제작가능 -> 디지털 신호로 사용

통신에서 발생할 수 있는 문제점
- Attenuation : 전자기파 형태로 전달되는 신호는 속도가 유한하고 (25만km in electric) 에너지가 소실되어 감쇠, 반사, 노이즈가 포함될 수 있어 0과 1의 구분에 오류가 나타날 수 있다.
-> 특정 거리 마다 Repeater(증폭기)를 두어 해결해야 한다. ex)스위칭 허브

또한 임피던스를 맞추어 레조넌스를 발생시켜 신호를 증폭시켜주어야 한다.(반사 해결)
큰 대역폭 및 중요한 통신은 접지에 따라 외부 노이즈가 들어올 수 있기 때문에 (ex 냉장고가 네트워크에 영향) 접지를 따로 뺴거나 변압기를 따로 사용하는 등 분리를 하기도 한다. (건물에는 주로 접지 및 전원 공급 하는 곳이 따로 존재함)
- dispersion/jitter/latency : 신호가 늘어져 연속적인 신호를 잘못 읽거나 0/1을 구별하지 못하는 경우, cpu clock이 예상하는 신호 전달 시점과 실제 전달이 달라질 경우, 물리적인 한계로 지연이 발생하는 경우가 있을 수 있다.
-> 데이터 및 신호를 잃어버리게 됨.

* 열을 받을 경우 전자가 random 하게 움직이기 때문에 통신 장비에서는 열에 의한 잡음도 발생한다. (라디오, 통신 장비 등에서 기본적으로 존재하는 백색 소음이 이것으로 인한 것)
* Round-Trip Propagation Time(RTT) : 두 entity 사이 신호가 왕복하는 시간.
S/N ratio : 신호 대비 잡음의 비율.

- EMI/RFI : Electromagnetic/radiofrequency interference. 형광등 및 라디오의 방해전파로 인한 노이즈 발생. 최근에는 전자기의 차폐가 잘되어 있기 때문에 이들에 대한 문제는 적다.  (이를 인위적으로 대량 발생시키면 EMP가 된다.)
통신선도 서로 반대 방향의 전류가 흐르는 두 개를 꼬아 놓아 자기장이 서로 반대 방향으로 발생되므로 상쇄되어 노이즈를 줄이는 방식으로 작동한다.

 

 

 

 

댓글

이 블로그의 인기 게시물

IIKH Class from Timothy Budd's introduction to OOP

Compiler 9 - Efficient Code generation

Software Engineering 10 - V&V, SOLID principle