정의

데이터를 송수신하기 위한 전송로를 1~2개 사용하여 데이터를 1비트씩 순차적으로 송수신하는 통신 방식이다.

특징

병렬(Parallel) 통신에 비해 적은 신호선으로 연결하기 때문에, 선재(線材)와 중계 장치의 비용이 적게 든다.

 

직렬 통신 규격

RS-232C 케이블

- PC에 표준으로 탑재되는 등 가장 널리 사용되는 규격이다.

- D-SUB 25핀 또는 9핀이 있다.

- IBM 호환 PC에서 쓰인다.

- 엔지니어들은 컴퓨터를 센서 또는 모뎀에 연결하거나 계측기와의 통신 등의 용도로 사용한다.

- PC 시리얼 포트와 디바이스간 Point to Point 연결로만 사용한다.

 

출처 : mc-t.co.kr/?mod=document&uid=390&page_id=75

 

시리얼 통신이란? RS232, RS422, RS485

시리얼통신이란? 데이터를 송수신하기 위한 전송로를 1개또는2개 사용하여 데이터를 1비트씩순차적으로 송수신 하는 통신방식입니다. 적은 신호선으로 연결이 가능하기 때문에, 선재(線材)와

mc-t.co.kr

 

반응형

'■ 웹 개발 > 네트워크' 카테고리의 다른 글

네트워크 개요  (0) 2021.04.13
VPN이란?  (0) 2020.12.09
소켓(Socket) 통신이란?  (0) 2020.12.08
포트(Port)란?  (1) 2020.12.08

정의

소켓은 프로세스가 네트워크를 통해 데이터를 송수신할 수 있도록 하는 창구이며,

떨어져 있는 두 호스트를 연결해주는 인터페이스의 역할을 한다.

역할에 따라 서버 소켓, 클라이언트 소켓으로 구분된다.

 

소켓 통신의 흐름

- 서버 소켓

1) socket() : 클라이언트와 서버를 연결할 연결용 소켓을 생성한다.

2) bind() : IP와 Port 번호를 결합한다.

3) listen() : 클라이언트의 접근 요청을 수신하는 대기열을 만들어 몇 개의 클라이언트를 대기 시킬지 결정한다.

               클라이언트가 connect() 해오기 전까지 대기하기 때문에 listen()은 별도 스레드를 만들어서 처리한다고 한다.

4) accept() : 새로운 소켓을 만들어 클라이언트와 실질적인 연결을 수행한다.

 

- 클라이언트 소켓

1) socket() : 소켓을 생성한다.

2) connect() : 통신할 서버에 설정된 ip와 port 번호에 통신을 시도한다.

3) 통신 시도 시, 서버가 accept() 함수로 클라이언트의 socket descriptor를 반환한다.

4) 이를 통해 클라이언트와 서버는 서로 send(), recv()하며 데이터를 송수신한다.

 

소켓 종류

1) 스트림 소켓(TCP)

- 양방향으로 바이트 스트림을 전송하며, 연결 지향성을 띤다.

- 오류수정, 전송처리, 흐름제어를 보장한다.

- 송신된 순서에 따라 중복되지 않게 데이터를 수신한다.

- TCP를 사용하여 소량의 데이터보다 대량의 데이터 전송에 적합하다.

 

2) 데이터그램 소켓(UDP

- 비연결형 소켓이다.

- 데이터의 크기에 제한이 있다.

- 전달이 확실하게 보장되지 않고, 데이터가 손실되어도 오류가 발생하지 않는다.

- 실시간 멀티미디어 정보를 처리하기 위해 주로 사용한다.

ex) 전화

 

소켓 통신의 특징

- 서버와 클라이언트가 특정 포트를 통해 실시간으로 양방향 통신을 하는 방식이다.

- 연결은 close()하기 전까지 유지된다.

- 실시간 데이터 송수신에 적합하다.

- 실시간 동영상 스트리밍이나 온라인 게임에 자주 사용된다.

 

출처 : helloworld-88.tistory.com/215#:~:text=SOCKET%20%ED%86%B5%EC%8B%A0%EC%9D%98%20%ED%8A%B9%EC%A7%95,%EA%B2%BD%EC%9A%B0%EC%97%90%20%EC%9E%90%EC%A3%BC%20%EC%82%AC%EC%9A%A9%EB%90%9C%EB%8B%A4.

 

[기본] 소켓(SOCKET)통신 이란?

소켓통신 소켓(SOCKET)이란? 소켓(Socket)은 프로세스가 드넓은 네트워크 세계로 데이터를 내보내거나 혹은 그 세계로부터 데이터를 받기 위한 실제적인 창구 역할을 한다. 그러므로 프로세스가 데

helloworld-88.tistory.com

 

반응형

'■ 웹 개발 > 네트워크' 카테고리의 다른 글

네트워크 개요  (0) 2021.04.13
VPN이란?  (0) 2020.12.09
직렬(Serial) 통신이란?  (0) 2020.12.08
포트(Port)란?  (1) 2020.12.08

정의

직역하면 '항구'라는 뜻으로, 컴퓨터 관련 분야의 의미로는 운영 체제 통신의 종단점을 뜻한다.

 

- 하드웨어 : 컴퓨터의 주변 장치와 연결하기 위한 연결단 (물리적 통로)

- 소프트웨어 : 네트워크 서비스나 특정 프로세스를 식별하는 논리적 단위 (논리적 통로)

 

소프트웨어적 의미

데이터 송수신시,

Datalink 계층에서는 호스트의 NIC*로 MAC Address를 판별하고,

Network 계층에서는 IP Address로 목적지를 판별한다.

Mac Address와 IP Address를 통해 목적지 호스트까지 도달한 후에는 어떤 프로세스에서 데이터를 받을 것인지를 알아야 하는데 이 때 쓰이는 것이 포트 번호이다.

* NIC(Network Interface Card) : 이더넷 카드 및 네트워크 어댑터라고도 하며, 응용프로그램에서 받은 데이터를 네트워크 형식에 맞게 변환하여 전송해 주는 기능을 하는 하드웨어 장치이다.

포트의 정확한 개념

- OSI 7 계층의 전송 계층에서 동작하는 TCP / UDP에서 Application이 상호구분을 위해 사용하는 번호이다.

- IP 내에서 프로세스 구분을 위해 사용하며, 각 프로토콜의 데이터가 컴퓨터 내부의 논리적 통로를 따라 흐른다.

- 네트워크를 통해 데이터를 주고받는 프로세스를 식별하기 위해 호스트 내부적으로 프로세스가 할당받는 고유한 값.

 

포트 번호

- Port Number는 16bits로 이루어져 있다.

- 2의 16승이므로 총 65536개의 번호가 존재할 수 있다.

- 번호는 크게 3가지로 분류한다.

1) Well-known Ports ( 잘 알려진 포트 ) : 0번 ~ 1023번

2) Registered Ports ( 등록된 포트 ) : 1024번 ~ 49151번

3) Dynamic Ports ( 동적 포트 ) : 49152번 ~ 65535번

- 사용자가 임의로 사용 가능한 포트 번호이다.

 

포트 번호 표기법

- 일반적으로 IP Address 뒤에 콜론 ( : )을 붙여 표기한다.

ex) 192.168.100.1:3053

 

포트 포워딩 ( Port Forwarding )

외부에서 공유기 내의 특정 장치로 접속하기 위해서는 IP Address를 알아야 하지만,

공유기 내부의 IP는 사설(Private) IP로 이루어져 있어 외부에서 IP만으로는 특정 PC를 지정할 수 없다.

따라서 공유기의 공인(public) IP로 접속한 후 특정한 PC로 연결되도록 포트 넘버를 공유기에서 정의해주는 작업이 필요하며, 이러한 과정을 포트 포워딩이라고 한다.

 

출처 :

bmind305.tistory.com/25

 

Port 란?

 Port ( 포트 ) 본래의 의미로 직역하면 '항구'라는 뜻으로, 컴퓨터 관련 분야에서의 의미로는 운영 체제 통신에서의 종단점을 뜻한다. 하드웨어적 의미 : 컴퓨터의 주변 장치와 연결하기 위한 연

bmind305.tistory.com

velog.io/@xldksps4/OSI-7%EA%B3%84%EC%B8%B5

 

OSI 7계층

OSI7계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다.통신이 일어나는 과정을 단계별로 파악하기 위함.7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨

velog.io

 

반응형

'■ 웹 개발 > 네트워크' 카테고리의 다른 글

네트워크 개요  (0) 2021.04.13
VPN이란?  (0) 2020.12.09
직렬(Serial) 통신이란?  (0) 2020.12.08
소켓(Socket) 통신이란?  (0) 2020.12.08

+ Recent posts