인터넷 네트워크

JooHeon·2022년 3월 6일
0

인터넷 네트워크

복잡한 인터넷 서버망을 거치기 위해서는 어떻게 해야할까?

IP(Internet Protocol) 역할

  • 지정한 IP 주소(IP Address)에 데이터 전달
  • 출발지 IP, 목적지 IP 등의 정보로 패킷(Packet(package + bucket)) 구성

IP(Internet Protocol)의 한계

  • 비연결성

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

    • 중간에 패킷이 사라지는 상황일 때 해결 X
    • 패킷이 순서대로 안 오는 상황일 때 해결 X
  • 프로그램 구분

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

TCP(Transmisson Controll Protocol)

  • 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 등이 포함되어있는 정보로 패킷 구성
  • IP의 한계를 보안해준다.

    ->보내려는 정보를 IP 계층(Network Layer)에 보내기 전에 TCP/UDP 정보를 씌운다.
  • TCP 특징 -> 신뢰할 수 있는 프로토콜(데이터 양도 많고 느림)

    • 연결 지향 - 3 way handshake (가상 연결으로 전용 랜선 연결 개념 X)
      1. 클라이언트에서 서버로 SYN(접속 요청) 전달
      2. 서버에서 클라이언트로 SYN + ACK(요청 수락) 전달
      3. 클라이언트에서 서버로 ACK(+DATA) 전달
    • 데이터 전달 보증
    • 순서 보장
      • 최적화에 따라 다르지만 잘못된 패킷 순서 이후를 버리고 그 패킷부터 다시 보내라고 요청

UDP(User Datagram Protocol)

  • IP와 거의 유사하고 PORT + 체크섬 정도만 추가되어있다 -> 단순하고 빠르다.
  • 어플리케이션에서 추가 작업이 필요하다
  • TCP 최적화에 한계가 있어서 그런 경우에 UDP로 최적화 해 사용하는 방식

PORT

  • 같은 IP 내에서 프로세스 구분
  • 0 ~ 65535가 할당 가능한데 0 ~ 1023은 잘 알려진 포트로 사용하지 않는 게 좋다.

DNS(Domain Name System)

  • 존재 이유 -> IP는 기억하기 어렵고 변경될 수 있다.
  • DNS 서버에 도메인 명(ex google.com)을 등록할 수 있다. -> 통신시에 도메인 이름부터 찾고 IP를 찾는다.

0개의 댓글