본문 바로가기
웹/Network

인터넷 네트워크

by 두잇베스트 2021. 4. 4.

인터넷 네트워크

  • IP
  • TCP, UDP
  • PORT
  • DNS

IP

IP 프로토콜의 역할

  • 지정한 IP에 데이터(메시지)를 담아서 전달
  • 패킷이라는 통신 단위로 데이터를 (메시지)를 전달

IP 패킷 정보 (출발지 IP, 목적지 IP, 기타 등등)

 

image

 

그러나 이 IP 프로토콜에는 한계가 있다

IP 프로토콜의 한계

  • 비연결성
    • 패킷을 받을 대상이 없거나, 대상이 그 패킷을 받을 수 없는 상태여도 패킷을 전송한다( 목적지 IP 상태를 알지 못한다)
  • 비신뢰성
    • 패킷 소실 (소실되어도 모름)
    • 패킷 전달 순서 문제 발생 (서버에 클라이언트가 보낸 순서와 다르게 도착함)
  • 프로그램 구분
    • 같은 IP를 사용하는 서버에서 여러 애플리케이션을 사용하고 있을때 (ex. 게임과 음악듣기 등) 이 애플리케이션들을 구분 짓지 못한다.

그래서 이를 해결하기 위해 TCP 등장

TCP, UDP

인터넷 프로토콜 4계층

 

image

TCP/IP 패킷 정보

  • IP 패킷 정보 : 출발지 IP, 목적지 IP, 기타 … + 전송 데이터(http 전송 메시지)
  • TCP/IP 패킷 정보: IP패킷 + 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보

TCP 특징

  • 연결 지향 - 3 way handshake
  • 데이터 전달 보증
  • 순서 보장

신뢰할 수 있는 프로토콜이다. 현재 대부분 TCP 사용

3 way handshake

image

 

SYN: 접속 요청
ACK: 요청 수락
요새는 최적화가 잘되서 ACK와 함께 데이터를 함께 전송한다.

TCP 3 way handshake는 가상연결이다. 물리적으로 연결되어 있는것이 아니라 논리적으로 연결됐다고 치는 거다.

 

데이터 전달 보증

image

 

데이터를 전송하고 , 서버 입장에서 데이터를 잘 받았다고 응답 메세지를 보냄

 

순서 보장

image

 

기본적으로 패킷이 2번이 도착해야하는데, 패킷 3번이 먼저 도착했으면 2번 부터 다시 보내라고 요청하고 클라이언트는 다시 2번부터 다시 전송하게 된다.

UDP (특징)

  • 기능이 거의 없다.
  • 3 way handshake X
  • 데이터 전달 보증 X
  • 순서 보장 X
  • IP + PORT + 체크섬

TCP는 데이터 양도 크고, 전송속도도 빠르게 만드는 것에 한계가 있다. 그러나 UDP는 데이터 전달 및 순서가 보장되진 않지만, 단순하고 빠르다. 좀더 최적화하고 싶을때 TCP는 그대로 두고 UDP를 활용한다. 애플리케이션에서 추가로 작업이 필요하다.

PORT

한번에 여러개의 서버에서 애플리케이션을 사용하고 있으면, 하나의 IP에서 게임, 화상통화, 웹브라우저 요청 등을 사용하고 있을때, 서버에서 게임 패킷, 화상통화에 필요한 패킷, 등등 이것을 구분짓고 싶을때 PORT를 사용한다

서버 안에서 돌아가는 애플리케이션을 구분 하는 것이 PORT다.

image

 

  • 0~ 65536 할당 가능
  • 0 ~ 1023: 잘 알려진 포트라서, 사용하지 말자
    • TELNET - 23
    • HTTP - 80
    • HTTPS - 443

DNS

IP는 기억하기 어렵고, 변경될 수 있다는 어려움이 있다!!!?
그래서

DNS이 있다

  • 전화번호부 서버와 같다
  • 도메인명을 IP주소로 변환

image

 

도메인으로 접근하고, 서버에 도메인명에 해당하는 IP를 요청하고 , 그 IP를 받아서 접근한다.

 

 

 

Reference

인프런 - 김영한 강의 http

댓글