인터넷 네트워크

Genie·2021년 11월 19일
0

IP (인터넷 프로토콜)

  • 지정한 IP 주소에 데이터 전달
  • 패킷이라는 통신 단위로 데이터 전달

IP 프로토콜의 한계

  • 비연결성

    • 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다.
  • 비신뢰성

    • 중간에 패킷이 사라져도 모른다.
    • 패킷이 순서대로 안오면
  • 프로그램 구분

    • 같은 IP 를 사용하는 서버에서 애플리케이션이 둘 이상이면?

    이를 해결하기 위해 TCP , UDP 등장

인터넷 프로토콜 스택의 4계층

1) 애플리케이션 계층 - HTTP , FTP
2) 전송 계층 - TCP , UDP
3) 인터넷 계층 - IP
4) 네트워크 인터페이스 계층 ( 랜카드, 랜드라이버 등등 )

IP 패킷 정보 : 출발지, 목적지, 데이터

패키지 + 버킷 = 패킷

TCP/IP 패킷 정보 : 출발지 port , 목적지 port , 전송 제어, 순서, 검증 정보

TCP 특징

  • 전송 제어 프로토콜 , Transmission Control Protocol
  • 연결지향 - TCP 3 way handshake(가상연결)
  • 데이터 전달 보증 ( 전달이 누락된 것을 알수 있음 )
  • 순서 보장
  • 신뢰할 수 있는 프로토콜
  • 현재는 대부분 TCP 사용

3 Way Handshake (개념적인 연결)

  1. 클라이언트에서 서버로 SYN (싱크로나이즈) 라는 메세지를 보냄.
  2. 서버에서 클라이언트로 ACK 와 SYN 을 같이 보냄.
  3. 클라이언트에서 ACK(알았어) 를 보낸다.

클라이언트와 서버사이에 있는 수많은 노드들은 서로 연결이 되어있는지를 모른다.

데이터 전달 보증, 순서 보장

클라이언트가 서버로 데이터를 전송하고, 서버에서 데이터를 잘 받았다고 메세지를 보내준다.

클라이언트가 패킷 1, 패킷2, 패킷3 순서로 서버에게 전송하면, 서버는 패킷1, 패킷3, 패킷2 순서로 도착한 경우에 패킷2부터 다시보내라는 응답을 클라이언트로 준다.

UDP 특징

  • 사용자 데이터그램 프로토콜 (User Datagram Protocol)
  • 하얀 도화지, 기능이 거의 없음
  • IP 와 거의 같다. + 포트 , + 체크섬
    : 여러 어플리케이션(음악, 게임 등) 을 구분하기 위해 포트가 존재함
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다.
  • 애플리케이션에서 기능을 확장해볼 수 있다.

포트

클라이언트는 하나인데 한번에 둘 이상 연결하려고 하면?

  • 게임, 화상통화, 웹 브라우저 요청 ...
  • 내 IP 로 패킷이 날라올 텐데, 이게 게임에 필요한지, 화상통화에 필요한지 .. 어떻게 구분을 할 수 있는가 ?
  • 같은 IP 내에서 동작하는 애플리케이션,프로세스를 구분할 수 있게 해준다.
  • 아파트를 IP로 본다면, 몇동 몇호 정보가 포트임

0 ~ 65535 : 할당 가능
0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것이 좋음
FTP : 20,21
TELNET - 23
HTTP - 80
HTTPS - 443

DNS - 도메인 네임 시스템 (Domain Name System)

  • IP 는 기억하기 어렵다.
  • IP 는 변경될 수 있다.
    도메인 명 : google.com
    IP : 200.200.200.2
  • DNS 서버만 있으면, 기억이 어렵거나 변경될 수 있는 문제를 해결할 수 있다.
profile
차근차근

0개의 댓글