Notice
Recent Posts
Recent Comments
Link
관리 메뉴

look-forest

인터넷 네트워크 본문

Web/HTTP

인터넷 네트워크

studyHub 2021. 5. 17. 17:55

HTTP 중요한가?

앱과 서버의 통신이든 서버와 서버의 통신이든 전부 HTTP 기반 위에서 동작하기 때문이다.

앞으로 실무에 필요한 HTTP 이론의 전체 흐름을 정리하겠다.

 

먼저 HTTP 네트워크 프로토콜이므로, 네트워크부터 간략히 복습하겠다.

 


인터넷 상에서 컴퓨터 간 통신 과정

먼저, 인터넷 프로토콜(IP)이 필요하다

IP의 역할: 라우터를 거쳐 지정한 IP 주소에 Packet 단위로 데이터 전달

 

클라이언트의 패킷 전달

 

서버의 패킷 전달

 

 

그런데, 인터넷 프로토콜(IP)만으론 부족하다

# IP의 한계

  1. 비연결성
    패킷을 받을 대상이 없거나, 서비스 불능 상태에도 패킷을 전송한다
    대상 서버가 패킷을 받을 수 있는 상태인지 모르기 때문이다
  2. 비신뢰성
    중간에 패킷이 사라지거나, 패킷 순서가 바뀔 수 있다
  3. 프로그램 구분 불가
    같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 여러 개인 경우 구분할 수 없다

이를 보완하기 위한 것이

더보기

TCP 통신!

 


 

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

계층 역할 프로토콜
애플리케이션 계층 애플리케이션에서 쓰는 계층 / 메시지 생성 HTTP, SMTP, FTP, Telnet, DNS
전송 계층 IP 보완 TCP, UDP
인터넷 계층 다른 네트워크의 목적지에 데이터 전달 / 라우팅, 포워딩 IP, ICMP, DHCP
네트워크 인터페이스 계층 RAN에서 데이터 송수신 / 전기 신호로 변환 Ethernet, Token Ring

 

프로토콜의 계층 구조

소켓은 OS에 메세지를 보내고, OS는 메세지에 TCP/IP 정보를 덧붙여 LAN 카드를 통해 내보낸다

- 트랜스포트 프로토콜: 메시지를 수신 프로세스의 소켓으로 전송

- Socket: 애플리케이션 프로세스와 전송 프로토콜 간의 인터페이스. 소켓은 port 번호로 식별.

 

 


 

트랜스포트 프로토콜

TCP/UDP

TCP는 IP를 보완한다

구체적인 출발/목적지 프로세스로 정확히 보낼 수 있도록 부가 정보를 붙인다

 

TCP: 전송 제어 프로토콜(Transmission Control Protocol)

신뢰할 있는 프로토콜.

다만 느리다.

 

보완 수단

1. 연결 지향: 3 way handshake

연결하고 메세지를 보낸다 → 상대 컴퓨터가 꺼져 있으면 연결되지 않아 전송 x

 

2. 데이터 전달 보증: 확인응답번호, 타임아웃

 

3. 순서 보장: 순서번호, Sliding window

(Selective Repeat) pkt2를 수신하면 수신 윈도우는 pkt 2,3,4,5를 전부 애플리케이션에게 보낸다.

 

그 외 기능

4. 흐름 제어: 수신자가 소화할 수 있을 정도로만 데이터 전송

5. 혼잡 제어: 네트워크 혼잡을 막기 위해 송신자 억제

 

 

UDP: 사용자 데이터그램 프로토콜(User Datagram Protocl)

기능이 거의 없다(하얀 도화지에 비유된다).

단순하고 빠르다.

  • 연결지향X, 데이터 전달 보장X, 순서 보장X
  • 기본 기능만 수행: Multiplexing/Demultiplexing(PORT), 오류검출(checksum)
  • 애플리케이션에서 추가 작업으로 커스텀 가능

 

 

PORT

[문제 상황] IP 가지고는 프로세스를 구분할 없다.

[해결] Port Number 같은 IP 내에서 프로세스 구분

IP는 목적지 컴퓨터 구분, PORT는 애플리케이션 프로세스 구분

0~65535까지 포트 번호로 사용하나,
0~1023번은 잘 알려진 포트로 이미 쓰이고 있다.
▷ HTTP-80 / HTTPS-443 / FTP-20,21 / TELNET-23

 

 

 


 

DNS(Domain Name System) - 인터넷의 디렉터리 서비스

 

like 전화번호부 서버

[문제 상황] IP기억하기 어렵고 변경있다

[해결] 전화번호부 역할을 하는 DNS 서버가, 도메인 명을 IP 주소로 변환해준다

 

 

 

 

 

 


 

 

참고 자료 & 이미지 출처
모든 개발자를 위한 HTTP 웹 기본 지식 (김영한 님)
컴퓨터 네트워킹 : 하향식 접근 7판 (JAMES F.KUROSE)

 

'Web > HTTP' 카테고리의 다른 글

HTTP 메서드 활용  (0) 2021.05.24
HTTP 메서드  (0) 2021.05.24
HTTP 기본  (0) 2021.05.17
URI와 웹 브라우저 요청 흐름  (0) 2021.05.17
Cookie  (0) 2021.01.28