01 Internet Network

shin·2023년 5월 22일
0

HTTP Web

목록 보기
2/12

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

1) 인터넷 프로토콜 역할

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


2) IP 프로토콜의 한계

  • 비연결성
    • 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
    • 이렇게 전송된 경우에 확인 어렵다는 문제가 있음
  • 비신뢰성
    • 중간에 패킷이 사라지거나(패킷 소실) 패킷이 순서대로 오지 않는 경우가 생길 수 있음
    • 전송 중에 노드가 꺼져버린 경우
    • 소실되거나 순서가 다르게 전송이 되어도 확인 어렵다는 문제가 있음
  • 프로그램 구분
    • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상인 경우에 구분하기 어려운 문제가 있음

2. 인터넷 프로토콜 스택

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

  • 애플리케이션 계층 : HTTP, FTP
  • 전송 계층 : TCP, UDP
  • 인터넷 계층 : IP
  • 네트워크 인터페이스 계층 : LAN

2) 프로토콜 계층

  • SOCKET 라이브러리를 통해서 OS 계층에 메시지 전달
  • 메시지에 TCP 정보를 포함함(바깥에 감싸는 구조)
  • IP와 관련된 데이터를 포함함
  • LAN 카드를 통해서 나갈 때 Ethernet frame까지 포함해서 내보냄

3) TCP/IP 패킷 정보

  • IP 패킷 : Source IP, Destination IP, 기타, ...
  • TCP Segment : Source PORT, Destination PORT, 전송 제어, 순서, 검증 정보, ...
  • 전송 데이터

2. TCP 특징

1) 전송 제어 프로토콜

  • 연결지향 : TCP 3 way handshake(가상 연결)
    • 이때의 연결은 물리적인 연결이 아니라 논리적인 연결을 의미함
  • 데이터 전달 보증
    • 패킷이 중간에 소실되면 파악이 가능함
  • 순서가 보장됨
  • 신뢰할 수 있는 프로토콜
  • 현재는 대부분 TCP를 사용함

2) TCP 3 way handshake

SYN(접속 요청) > SYN + ACK(요청 수락) > ACK > 데이터 전송

  • 연결이 완료되면 데이터가 전송됨
  • 데이터를 전송 받았다는 것을 응답으로 보내주기 때문에 서버와 클라이언트가 서로 신뢰할 수 있게 됨
  • 따라서 데이터 전달을 보증할 수 있음
  • 만약 패킷이 1, 3, 2 순서대로 전송이 되면 패킷 2부터 다시 전송하도록 요청하기 때문에 패킷의 순서가 보장됨

3. UDP 특징

1) User Datagram Protocol

  • 기능이 거의 없기 때문에 하얀 도화지에 비유됨

단점

  • 연결 지향 : TCP 3 way hankshake가 아님
  • 데이터 전달이 보증되거나 순서가 보증되지 않음

장점

  • 단순하고 빠름

정리

  • IP와 거의 같고, PORTcheckSum(검증용)이 추가된 정도임
  • 애플리케이션에 추가적인 작업이 필요함

4. PORT

  • 한 번에 둘 이상을 연결해야 하는 경우
  • PORT(Source Port, Destination Port)를 이용해서 같은 IP 내에서 프로세스 구분이 가능함
    • 패킷 전송시 Source IP/PORTDestination IP/PORT 정보를 포함하여 전송함
  • 0 ~ 65535까지 Port 번호 할당 가능
  • 0 ~ 1023 : 잘 알려진 포트
    • 20 : FTP(data)
    • 21 : FTP(control - 연결 시 인증과 컨트롤을 위한 포트)
    • 22 : SSH(ssh scp, sftp)
      - 23 : TELNET(인터넷을 통해 원격지의 호스트 컴퓨터에 접속 시 사용)
    • 25 : SMTP(이메일 전송 시 사용)
    • 53 : DNS
    • 80 : HTTP(웹 페이지 전송)
    • 443 : HTTPS(SSL 위의 HTTP(암호화 전송))

5. DNS

  • Domain Name System
  • IP는 기억하기 어렵고 변경될 가능성이 있음
    • 따라서 IP 주소보다 domain 명을 사용하는 것이 편리함
    • 그리고 DNS는 도메인 명 사용 시 이를 IP 주소로 변환해줌
  • domain name : google.com > IP : 200.200.200.2

강의 출처 : 인프런 : 모든 개발자를 위한 HTTP 웹 기본 지식

profile
Backend development

0개의 댓글