HTTP 강의 정리 1 - 인터넷 네트워크
Updated:
김영한님의 인프런 강의 - 모든 개발자를 위한 HTTP 웹 기본 지식
위 강의를 정리한 내용입니다.
I. IP(인터넷 프로토콜)
기능
- 클라이언트와 서버는 각각 IP를 부여
- 지정한 IP주소에 패킷 통신 단위로 데이터를 전달
- 패킷 내에 출발IP, 목적IP, 메세지 등을 담아 인터넷으로 전달
- 인터넷 내의 노드들이 패킷을 다른노드로 전달하며 최종적으로 목적IP에 도달
한계
-
비연결성
패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 -> 마치 일방적으로 편지를 보내듯 -
비신뢰성
패킷을 전송했을 때, 확실히 도착했다는 것을 보장할 수 없음
순서대로 도달하지 않을 수 있음 -
프로그램 구분
같은 IP로 여러 애플리케이션을 사용할 때, 어떤 애플리케이션에 도착한 패킷인지 알 수 없음
II. TCP
기능
- IP패킷 내부에 TCP정보를 넣어 전달
- 출발지PORT, 목적지PORT, 전송 제어, 순서, 검증 정보, 전송 데이터 등으로 구성
특징
-
연결지향
일단 목적지와 연결이 이루어진 후에 데이터 전달 -
데이터 전달 보증
메세지가 정상적으로 전달됐는지 알 수 있음 -
순서 보장
보낸 정보가 순서대로 도착
TCP 3 way handshake (논리적인 가상 연결)
-
SYN - 클라이언트가 서버에게 접속 요청
-
ACK + SYN - 서버가 클라이언트에게 요청 수락 / 접속 요청
-
ACK - 클라이언트가 서버에게 요청 수락 -> 서로 신뢰할 수 있다.
-
데이터 전송 (3번과정에서 이루어지기도 함)
III. UDP
특징
- TCP와 같은 계층이지만, 기능이 거의 없음
- 데이터 전달 및 순서가 보장되지 않으나, 단순하고 빠름
- IP와 거의 같으나, PORT와 체크섬 정도만 추가
- 애플리케이션에서 추가 작업이 필요
IV. PORT
기능
- IP만 사용한다면 패킷이 전송됐을 때 어느 애플리케이션이 필요로하는지 알 수 없음
- 같은 IP 내에서 프로세스를 구분하는 역할
구분
- 0~65535 : 할당 가능
- 0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것이 좋음
V. DNS (Domain Name System)
역할
- IP주소는 기억하기 어렵고, 변경될 수 있다.
- DNS서버에게 도메인명을 전송하면, 접속할 수 있는 IP주소를 응답해준다.
Leave a comment