통신의 기본 용어 정리

Jan 08, 2024
통신의 기본 용어 정리

통신

통신의 사전적 의미는 전화나 문자, 우편 등의 매체를 통해 정보를 전달하는 것이다.
프로그래밍에서의 통신은 발신자, 수신자, 매체, 프로토콜이 필요하다.

Host

인터넷이 되는 모든 장치

DNS(Domain Name System)

호스트 이름은 네트워크 상에서 컴퓨터의 이름이다. 호스트 이름은 DNS 를 이용해서 생성하는데 보통 인간에게 친근한 문자열을 사용한다. www.naver.com 과 같다.
통신을 위해서는 IP 주소가 필요하다. 따라서 DNS 를 IP 주소로 변환해주는 서버가 DNS 서버이다.

URL (Uniform Resource Locator)

URL은 인터넷 상의 파일이나 데이터베이스 같은 자원에 대한 주소를 지정하는 법이다.

포트

논리적 접속 장소. 프레임을 통해 전달된 패킷은 IP 주소와 함께 포트가 포함된다. IP 주소는 위치를 나타내지만 어떤 프로그램에 전달될지는 알 수 없기 때문에 포트 값이 표시되어야 정보를 전달될 수 있다.
 
notion image

IP

Internet Protocol 의 약어. IP 주소는 네트워크 상에서 기기를 식별하는 용도로 사용된다.
IPv4 에서는 32비트를 사용하며, 000.000.000.000 의 구조를 가진다.
127.0.0.1 은 내 pc의 IP로 실제 다른 PC 와 통신은 불가능하다. 루프백, 로컬 호스트라고도 부른다.
 
 
notion image

소켓(Socket)

안전하게 데이터를 전달하기 위한 역할을 한다. TCP 통신을 위해 서로 연결을 할 때 연결 끝점이 소켓이다. 소켓은 포트를 이용하여 만들어야 한다.

라우터(Router)

논리적 혹은 물리적으로 분리된 망 사이에서 패킷의 위치에 따라 최적화된 경로를 찾는 기능을 수행하는 장치

통신 방식

 
단방향(Simplex) 방식
정보의 전달이 한쪽 방향으로만 전달된다. TV나 라디오 같은 방식이다.
 
반이중 통신(Half Duplex)
두 대의 장치에서 서로 정보 전달은 가능하나, 동시 전달은 불가능하다. 무전기처럼 한쪽의 얘기가 끝나면 다른 쪽이 응답하는 방식이다.
 
전이중 통신(Full Duplex)
두 대의 장치에서 동시에 정보 전달이 가능한 방식이다. 전화나 채팅의 방식이다.

TCP, UDP 통신

 
TCP(Transmission Control Protocol) 통신
 
notion image
TCP 통신은 컴퓨터와 다른 컴퓨터 간의 통신을 위한 프로토콜이다. TCP 구조는 그림과 같다.
우선 발신자가 메세지(SYN)를 보낸다. 그럼 수신자는 수신을 했다는 것을 확인시켜주기 위해
응답(SYN-ACK) 을 한다. 그럼 발신자는 다시 재응답(ACK)으로 마무리한다. TCP 통신은 서로간의 수신응답을 하기 때문에 데이터 신뢰도가 높다. 수신속도가 느려지는 단점은 있지만 장점이 커 대부분의 통신은 TCP 방식을 이용한다.
3way handshake 방식이라고도 한다.
 
UDP(User Datagram Protocol) 통신
notion image
UDP 통신은 일방적인 데이터 전송이다. 따라서 TCP 보다 속도가 빠르다는 장점은 있으나, 수신 확인은 되지 않기 때문에 신뢰성이 떨어진다. 전화 통화나 동영상 스트리밍의 경우 중간 자료가 누락이 되어도 보는 사람은 큰 문제가 되지 않기 때문에 속도가 빠른 UDP 를 사용한다.
 

데이터 교환 방식 - 서킷 스위칭, 패킹 스위칭

 
서킷 스위칭(circuit switching)
 
notion image
서킷 스위칭의 구조는 그림과 같다. 각 호스트 간에 직접 연결된 구조이다. 그래서 대기없이 통신이 가능하다. 하지만 자원과 경로를 미리 확보해야 하기 때문에 비용의 문제가 있다. 그리고 장치가 많아지면 연결이 연결이 어렵기 때문에 비효율적이다.
 
패킷 스위칭(Packet switching)
 
notion image
패킷 스위칭은 각 호스트들 간에 가장 가까운 라우터라는 장치로 데이터를 보낸다.
효율적인 데이터 전송을 위해 데이터를 세그먼트 단위로 분해한 후 데이터를 전송하고 수신받은 호스트에서 재조립이 이루어진다. 서로간의 수신 응답이 필요하기 때문에 발신자의 IP, 수신자의 IP 정보가 포함되어 전송된다.
 
전달되는 과정은 다음 블로그에서 자세하게 설명하겠다.
 
Share article

{CODE-RYU};