IP( 인터넷 프로토콜 )
- 지정한 IP 주소( IP Address )에 데이터 전달
- 패킷( Packet )이라는 통신 단위로 데이터 전달
- 출발지 IP, 목적지 IP, 전송 데이터, ...
IP 프로토콜의 한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성
- 중간에 패킷이 사라질 수 있다.
- 패킷이 순서대로 안 올 수 있다.
- 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
※ 이런 한계들을 극복할 수 있게 도와주는 게 TCP, UDP
인터넷 프로토콜 스택의 4계층
- 애플리케이션 계층
- HTTP, FTP
- 전송계층
- TCP, UDP
- 인터넷 계층
- IP
- 네트워크 인터페이스 계층
1. TCP( 전송 제어 프로토콜, Transmission Control Protocol )
- 패킷정보
- 연결 지향
- TCP 3 way handsahke( 가상연결 )
- 데이터 전달 보증
- 순서 보장
- 신뢰할 수 있는 프로토콜
- 현재는 대부분 TCP 사용
2. UDP( 사용자 데이터그램 프로토콜, User Datagram Protocol )
- 하얀 도화지에 비유( 기능이 거의 없음 )
- 연결지향
- TCP 3 way handshake X
- 데이터 전달 보증 X
- 순서 보장 X
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
- 정리
- IP와 거의 같다. +Port, +체크섬 정도만 추가
- 애플리케이션에서 추가 작업이 필요
3. PORT
- 패킷정보
- 같은 IP내에서 프로세스 구분
특징
- 0 ~ 65535 할당 가능
- 0 ~ 1023 : 잘 알려진 포드, 사용하지 않는 것이 좋음
- FTP - 20, 21
- TELNET - 23
- HTTP - 80
- HTTPS - 443
4. DNS
- IP주소는 외우기 힘들고, 변경될 수 있다. 그렇게 되면 접근하기가 힘들다.
- DNS 사용
정리
- 인터넷 통신
- IP( Internet Protocol )
- 복잡한 인터넷 망에서 메세지를 보내기 위해서는 IP가 필요하다.]
- IP 만으로 메세지를 주고 받을 경우 아래와 같은 문제가 발생한다.
- 비연결성
- 비신뢰성
- 프로그램구분 X
- TCP, UDP
- TCP
- IP의 문제점을 해결해 준다.
- UDP
- IP와 거의 동일하다.
- PORT정보가 추가되었다.
- 필요하다면 어플리케이션에서 기능 확장이 가능하다.
- TCP
- PORT
- 같은 IP안에서 동작하는 애플리케이션을 구분하기 위해서 사용한다.
- DNS
- IP는 변하기 쉽고 외우기 어려운데 도메인을 등록해서 해결해준다.
출처
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard
'Web > HTTP' 카테고리의 다른 글
[모든 개발자를 위한 HTTP 웹 기본 지식] 5.HTTP 메서드 - PUT, PATCH, DELETE ( 2/3 ) (0) | 2021.07.23 |
---|---|
[모든 개발자를 위한 HTTP 웹 기본 지식] 4.HTTP 메서드 - 기본, GET, POST ( 1/3 ) (0) | 2021.07.22 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 3.HTTP 기본 (0) | 2021.07.22 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 2.URI와 웹 브라우저 요청 흐름( URI - Uniform Resource Identifier) (0) | 2021.07.22 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 들어가며 (0) | 2021.07.22 |