[CODE-STATES-BE] SEC-2 네트워크 기초

유형찬·2022년 9월 30일
0

Code States

목록 보기
10/21

네트워크

프로토콜

인터넷에 연결된 컴퓨터들 사이에서 데이터를 주고 받기 위한 통신규약을 프로토콜이라고 한다.

즉 , 약속이 필요하다는 것이다. 현재 네트워크에 연결된 컴퓨터들은 다양한 프로토콜을 사용하고 있지만

주로 사용되는 프로토콜은 TCP/IP 프로토콜이다.

TCP/IP 프로토콜

인터넷 통신 스위트 (Internet Communication Suite) 라고도 불리는 TCP/IP 프로토콜은 인터넷에서 사용되는

프로토콜의 집합이다. TCP/IP 프로토콜은 네트워크 계층, 전송 계층, 응용 계층으로 구성되어 있다.

IP

IP 주소의 구조

IP 주소는 000. 000. 000. 000 형태로 구성되어 있다. 10진수로 표현하면 0 ~ 255 사이의 숫자로 구성되어 있다.

IP 주소는 네트워크 주소와 호스트 주소로 구성되어 있다. 네트워크 주소는 네트워크를 식별하는 주소이고 호스트 주소는

네트워크 내의 특정 컴퓨터를 식별하는 주소이다.

IP의 한계

IP는 비연결성이라는 특징을 가지고 있다.

즉, 데이터를 보내기 전에 먼저 연결을 설정하지 않고 데이터를 보낼 수 있다는 것이다.

장점이자 단점이라고 말할 수 있지만 , 서비스 불능 , 상태 파악 불가 등의 문제가 발생할 수 있다.

주소

네트워크에 연결된 컴퓨터들은 각각의 주소를 가지고 있다. 이 주소를 IP 주소라고 한다.

IP 주소는 public IP 주소와 private IP 주소로 나뉜다.

public IP 주소는 인터넷에 연결된 컴퓨터들이 가지고 있는 주소이다.

private IP 주소는 인터넷에 연결되지 않은 컴퓨터들이 가지고 있는 주소이다. LAN 네트워크 내부에서 사용하는 주소이다.

MAC 주소

IP 주소로만 네트워크에서 컴퓨터를 구분할 수 없다.

이유는 IP 주소는 컴퓨터가 인터넷에 연결되어 있을 때만 사용되기 때문이다.

따라서 MAC 주소라는 물리적 주소를 사용한다. MAC 주소는 네트워크 카드에 부여되는 고유한 주소이다.

이더넷에서는 MAC 주소를 사용하여 네트워크에 연결된 컴퓨터를 구분한다.

패킷

기기의 통신에는 두 가지 방식이 있다.

회선 교환 방식과 패킷 교환 방식이다.

회선 교환 방식은 전화를 통해 통신할 때 사용하는 방식이다.

패킷 교환 방식은 인터넷을 통해 통신할 때 사용하는 방식이다.

패킷 교환 방식은 데이터를 패킷이라는 작은 조각으로 나누어 전송한다.

패킷은 출발지 주소, 목적지 주소, 데이터, 제어 정보 등으로 구성되어 있다.

TCP/UDP

인터넷에서 데이터를 안전하게 전송하기 위해 사용하는 프로토콜이다.

IP 프로토콜 계층인 인터넷 계층의 상위인 전송 계층에서 사용하는 프로토콜이다.

TCP (Transmission Control Protocol)

  • 서비스 타입 : 연결형 서비스
  • 신뢰성 : 높음
  • 전송 순서 : 보장
  • 사용자 데이터 전달 효율 : 낮음
  • TCP 헤더 : 20바이트
  • 3-way handshaking 과정을 통해 연결을 설정한다.
  • 연결을 종료하기 위해서는 4-way handshaking 과정을 거친다.
  • 연결을 설정하고 해제하는 과정이 오버헤드가 크다.
  • HTTP, FTP, SMTP, Telnet 등에 사용된다.

3-way handshaking

  1. 클라이언트가 서버에게 연결 요청을 보낸다. (SYN = 1, ACK = 0)
  2. 서버는 클라이언트에게 연결 요청을 수락한다. (SYN = 1, ACK = 1)
  3. 클라이언트는 서버에게 연결 요청을 수락한다. (SYN = 0, ACK = 1)
  4. 클라이언트와 서버는 연결이 되었다는 것을 확인한다.
  5. 클라이언트와 서버는 데이터를 주고 받을 수 있다.

4-way handshaking

  1. 클라이언트가 서버에게 연결을 종료하겠다는 요청을 보낸다. (FIN = 1, ACK = 0)
  2. 서버는 클라이언트에게 연결을 종료하겠다는 요청을 수락한다. (FIN = 1, ACK = 1)
  3. 서버가 클라이언트에게 연결을 종료하겠다는 요청을 보낸다. (FIN = 1, ACK = 0)
  4. 클라이언트는 서버에게 연결을 종료하겠다는 요청을 수락한다. (FIN = 1, ACK = 1)
  5. 클라이언트와 서버는 연결이 종료되었다는 것을 확인한다.

UDP (User Datagram Protocol)

  • 서비스 타입 : 비연결형 서비스 , 데이터 그램 서비스
  • 신뢰성 : 낮음 , 도착을 보장하지 않음
  • 전송 순서 : 보장하지 않음 , 패킷의 순서가 바뀔 수 있음
  • 사용자 데이터 전달 효율 : 높음
  • UDP 헤더 : 8바이트
  • 연결을 설정하지 않고 데이터를 전송한다.
  • 연결을 설정하지 않기 때문에 TCP보다 빠르다.
  • 신뢰성이 낮기 때문에 신뢰성이 중요한 데이터를 전송할 때는 TCP를 사용한다.

마치며 생각해볼 주제

비디오 스트리밍에는 어떤 프로토콜이 쓰일까?

비디오 스트리밍의 경우는 실시간의 경우 UDP를 사용하고, 실시간이 아닌 경우 TCP를 사용한다.

DNS 서버가 TCP 를 사용하면?

DNS 서버는 기본적을 UDP 프로토콜으르 사용한다.

  • 일반적으로 DNS 질의 및 응답에 사용 된다.

하지만, DNS 서버는 TCP 프로토콜을 사용할 수 있다.

  • Zone Transfer (DNS Zone 파일을 다른 DNS 서버로 전송)에 사용 된다.
  • 메세지 크기가 512바이트를 넘어가는 경우에 사용 된다.
profile
rocoli에요

0개의 댓글