본문 바로가기
Book & Lecture Review/모든 개발자를 위한 HTTP 웹 기본 지식

섹션 1. 인터넷 네트워크

by iyos 2021. 1. 10.

http/웹은 인터넷네트워크를 기반으로 하기때문에 사전학습으로 알아보자.

 

1. IP (인터넷 프로토콜)

  • 인터넷 프로토콜의 역할

    클라이언트가 ip주소를 부여받고 지정한 ip주소에 데이터를 전달한다. 이때 패킷(Packet)이라는 통신 단위로 데이터를 전달하게 된다.

  • 한계

    1. 비연결성
      • 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다! 정확히는 대상 서버가 패킷을 받을 수 있는지 없는지의 상태를 알 수가 없기 때문에 그냥 일단 보냄.
    2. 비신뢰성
      • 중간에 패킷이 사라지거나 패킷이 순서대로 오지 않을 수 있다. 그럼 소실로 이어짐.
      • 메시지가 대략 1500 바이트가 넘으면 끊어서 보내게 되는데, 끊어진 2개의 순서가 보장되지 않음. 패킷들이 중간에 다른 노드를 탈 수 있기 때문이다.
      • ex) Hello, world가 각각 Hello, 와 world 로 각각 끊어져서 전달 되는 상황이라고 가정해보자. 이때 중간에 다른 노드를 통해 전달되면 world 가 Hello, 보다 먼저 도착 할 수도 있다.
    3. 프로그램 구분
      • 같은 ip를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일때, 인터넷 프로토콜 만으로는 구분하는데에 한계가 있다.
  • 이러한 한계를 TCP가 해결해준다.

2. TCP/UDP

  • IP계층에 위에 올려서 보완해주는 개념이라고 쉽게 생각할 수 있다.
  • TCP(전송제어 프로토콜 Transmission Control Protocol) 특징

    1. 연결지향
      • TCP 3 way handshake(가상연결)

      • 한마디로 SYN(접속 요청), ACK(요청 수락)을 통해 연결이 되어있는지를 확인하고 보낸다.

      • 추가로, 요즘엔 최적화가 되어 3번 ACK를 보낼때 4번 데이터 전송도 함께한다.

    2. 데이터 전달 보증
      • 누락이 된 패킷이 있으면 알 수 있다.
    3. 순서보장
  • UDP(사용자 데이터그램 프로토콜 User Datagram Protocol) 특징

    • PORT + 체크섬 정도만 추가
  • PORT

    • 같은 IP내에서 프로세스를 구분하는 역할이다.
  • DNS (도메인 네임 시스템 Domaion name System)

    • ip 주소가 바뀔 수 있기 때문에!

 

반응형