네트워크

전현진·2025년 3월 17일

Spring

목록 보기
1/14

초기 네트워크

  • 초기 컴퓨터 간 네트워크 연결은 물리적인 형태.
  • 케이블과 같은 형태로 물리적으로 연결되어야 데이터를 주고 받음.
  • 아주 먼 곳은 물리적으로 연결하기 어려움.

인터넷

인터넷은 '인터넷 프로토콜 스위트(TCP/IP)'를 기반으로 하여 전 세계적으로 연결되어있는 컴퓨터 네트워크 통신망을 일컫는 말이다.

  • 해저 광케이블 : 해저를 통해 빛의 속도로 먼 곳까지 데이터를 주고 받으나, 물리적인 연결이다.

  • 인공위성 : 통신을 이용하여 물리적인 연결 없이도 컴퓨터 간 데이터를 주고 받는다.

유/무선 방식으로 이름에 걸맞은 World Wide Web(WWW)가 구축되었다.

IP(Internet Protocol)

인터넷 프로토콜은 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약을 의미한다.

192.168.0.1 형태는 'ip'가 아닌 'ip주소'로 다른 개념이다. 쉽게 말하면 각 기기 간의 통신을 식별할 수 있는 전화번호 이다.

Packet

  • 소스 IP(출발지), 대상 IP(도착지)를 포함하고 있어서 어떤 컴퓨터에 데이터를 전송할지 판별할 수 있다.
  • Packet은 크게 헤더, 페이로드, 트레일러(수신여부 포함)로 구분된다.
  • 데이터를 주기만 하는 것이 아닌 받고 응답한다.(중요)

IP 방식의 문제점

  • 애플리케이션 구분 : 대상 컴퓨터의 어떤 프로그램에 사용될 데이터인지 구분 할 수 없다.
  • 비연결성 : 수신 대상의 현재 상태에 상관없이 데이터를 전송한다.
  • 비신뢰성 : 패킷이 소실되는 경우가 발생하며 패킷의 손상여부를 송신, 수신측 모두 알 수 없다. 또한 패킷의 순서가 뒤죽박죽이 되어 섞여서 들어오는 경우가 발생한다. (용량이 큰 데이터의 경우 패킷이 여러개로 나뉘어져 전송 되어 생기는 문제)

TCP(Transmission Control Protocol)

서버와 클라이언트 간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜.

3 Way HandShake

장점

  • 데이터 전송 여부를 서로 확인 할 수 있다.
  • 패킷이 나눠 전송 되어도 순서를 보장한다.

단점

  • 데이터 전송에 시간이 많이 소요 되어 실시간 데이터 교환에는 불리하다.

UDP(User Datagram Protocol)

비연결형, 신뢰성이 없는 전송 프로토콜이다. TCP의 신뢰성 보장 기능은 많은 애플리케이션에 유용했지만, 실시간 통신이나 스트리밍 애플리케이션에서는 빠른 전송이 중요했기 때문에 UDP는 이러한 요구를 충족하기 위해 개발되었다.

UDP의 특징

  • IP 방식과 거의 비슷하다 :
    3 way handshake를 하지 않으며 데이터 전송, 응답, 순서를 보장하지 않는다.(비신뢰성)

  • 추가적인 기능이 거의 없다 :
    기능이 없고 연결을 하지 않는 대신 속도가 빠르다.

  • IP와 차이점으로 PORT가 존재한다 :
    TCP에도 PORT가 존재한다.

  • 데이터 무결성 검사, 체크섬(Checksum)을 포함하고 있다 :
    잘못된 데이터가 전송되지 않도록 만들어준다.

PORT

같은 IP 내에서 프로세스 구분을 하기 위해서 사용한다.

TCP/IP Packet 구조

  • 소스 PORT, 대상 PORT를 포함한다.

- 자주 사용되는 PORT

  1. 0~65535 할당 가능
  2. 이미 사용되고 있는 포트 (0~1023)
  • 국제 도메인 관리기구에 의해 관리된다, 사용하지 않는것이 좋다.
  • FTP - 20, 21 (TCP)
  • SSH - 22 (TCP)
  • 텔넷 - 23 (TCP)
  • SMTP - 25 (TCP)
  • DNS - 53 (TCP/UDP)
  • DHCP - 67 (UDP)
  • HTTP - 80 (TCP)
  • HTTPS - 443 (TCP)
  • RDP - 3389 (TCP/UDP)

실제 개발을 진행할 때 사용되지 않는 나머지 포트를 사용.

profile
안녕하세요

0개의 댓글