본문 바로가기
IT 실무

네트워크란 무엇인가. 그리고 TCP, UDP

by Raffin 2020. 5. 24.
반응형
SMALL

IT 운영에 있어서 실무적인 부분을 주로 다루고 있습니다.

교재, 서적에서 배운 것과는 어느정도의 차이가 있을 수 있습니다.

또한 명령어(Command) 위주가 아닌, 단어의 의미이론에 관한 것에 대한 내용이 많습니다.


 

네트워크의 어원은 그물을 뜻하는 network 의 합성어. 그물을 짜는 행위를 가리키는 명사에서 임의의 연결망을 지칭하는 용어로 그 범위가 확장된 단어이다.

 

네트워크의 수많은 의미중에서 우리가 알아볼 의미는 통신망이다.

테스트 통신을 이곳 저곳에서 하다가 얼떨결에 전 세계를 연결하게 되버린 망이며

정확한 영문 명칭은 Computer Network 혹은 Data Network라고 명시되어있다.

 

Node(노드)라는 게 있는데, 네트워킹을 할 수 있는 하나의 객체를 일컫는다.

휴대폰, PDA, PC까지도 하나의 노드로 취급이 된다.

 

네트워크는 종류에 따라

WAN(광역 통신망, Wide Area Network),

MAN(도시권 통신망, Metropolitan Area Network),

LAN(근거리 통신망, Local Area Network),

PAN(개인 통신망, Personal Area Network) 등으로 불린다.

 

여기서 중요한 점은 Network는 데이터를 전송하기 위함.

즉 장비간의 데이터 전송, 즉 통신하기 위해서였다.

장비끼리 통신을 하기 위해 Protocol(약속, 규약)이 탄생했다.

 

그러한 Protocol중에서

TCP신뢰성 기반의 통신 규약이다. 컴퓨터로 사용하게 되는 어플리케이션(프로그램)에서 전반적으로 사용된다.

 

UDP는 비 신뢰성 기반의 통신 규약이다. 주로 사용되는 곳은 모바일 게임, 스트리밍에 사용된다.

예를 들어 이동식 장비(휴대폰)을 가지고 자동차로 이동중이라면, 우리는 계속해서 주변에 있는 와이파이나, 데이터에 연결하게 될 것이다. 데이터 역시 와이파이처럼 주변에서 가까운 통신탑에서 연결을 하게 된다.

그렇다면 우리는 이동중일 때마다 새로운 AP에 연결되는데 매번 IP가 달라지게 되는 것이다.

TCP로 연결하게 되면 Three Way Hand Shaking이 일어나고, 이로 인해 데이터가 한번 끊기게 되면 세션이 끊겨 새롭게 연결해야되는 번거로움이 발생하게 된다. 프로그램적으로 계정이라던가 개개인을 확인 할 수 있는 방식을 체택하게 되면, UDP로 사용해도 본인임을 확인 할 수 있어, 오히려 더욱 안정적이다.

 

본래 TCP는 서로를 신뢰하기 위해서였다. 

약간의 설명을 하자면, 흐름제어, 오류제어, 혼잡제어를 이용해서 신뢰할 수 있도록 데이터를 전송한다.

 

그리고 TCP 통신을 위해서 필요한 3가지가 존재하는데,

이는 IP, PORT, FLAG이다.

IP와 PORT를 알아야 FLAG를 전송할 수 있다.

  1. 데이터를 전송하기 전 SYN을 전송한다.
  2. ServerSYN을 받았다면, Client 측에 SYN/ACK를 전송한다.
  3. Client에서 확인 후 ServerACK를 전송한다.
  4. Eshtablished 상태가 되면 데이터 전송을 시작한다.

대충 요런 느낌

 

2번에서 Server에서 ACK를 전송하게 되는데 이 때의 Src ip 즉 소스아이피는 Server 본인의 주소값이 들어가게 된다.


주석

Server : 장비로 사용되는 Server가 아니라 출발지, 즉 Source를 의미한다.

Client : 사전적 정의는 네트워크로 연결된 서버로부터 정보를 제공받는 컴퓨터라고 지칭되어 있으며 위 내용에서는 SYN FLAG를 먼저 보낸 쪽이다.

반응형

댓글