인터넷에서 컴퓨터 둘은 어떻게 통신할까?
수많은 중간 노드(서버)들을 거쳐서 전달됨

어떤 규칙으로 어떻게 넘어갈까?
어떻게 수많은 복잡한 상황을 잘 헤쳐서 목적지까지 안전하게 도착할까?
IP( 인터넷 프로토콜 )
IP주소( IP Address )
클라이언트, 서버 모두 IP주소 있어야함
지정한 IP주소에 데이터 전달

패킷( Packet )
패킷이라는 통신 단위로 데이터 전달

노드들이 IP프로토콜 규약을 따르고 있음, 노드끼리 전달


IP프로토콜만 있을경우의 문제점들
- 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성 : 중간에 패킷이 사라질수도( 중간 노드에 문제 생길수도 ), 패킷이 순서대로 안갈수도
- 프로그램 구분x : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일때
PORT
같은 IP내에서 프로세스를 구분
일반적으로 TCP/IP 기반의 통신에서만 port가 사용됨
다른 네트워크 프로토콜이나 통신 방식에서는, 해당 방식에 맞는 식별자를 사용됨

• 0 ~ 65535 : 할당 가능
• 0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것이 좋음
• FTP - 20, 21
• TELNET - 23
• HTTP - 80
• HTTPS - 443
프로토콜 계층




TCP( Transmission Control Protocol, 전송 제어 프로토콜 )
• 연결지향 - TCP 3 way handshake (가상 연결)
일단 연결하고 메세지 보냄

• 데이터 전달 보증
전송된 패킷이 중간에 누락되면, 보낸이가 알수 있음

• 순서 보장

• 신뢰할 수 있는 프로토콜( 현재는 대부분 TCP 사용 )
UDP( User Datagram Protocol , 사용자 데이터그램 프로토콜 )
• 기능이 거의 없음( 하얀 도화지에 비유 )
• 단순하고 빠름( 데이터 전달 및 순서가 보장되지 않음 )
• IP와 거의 같음( + PORT + 체크섬? 정도만 추가 )
• 최근 각광 받고있음
TCP는 인터넷이 이미 TCP기반으로 다 쓰고있어서 손을 못댐
애플리케이션에서 추가 최적화 가능
DNS( Domain Name System, 도메인 네임 시스템 )
IP는 기억하기 어려움( 200.200.200.2??? ) + IP는 변경될 수 있음
• 도메인 명을 IP 주소로 변환( 전호번호부와 유사 )

'김영한님 인강듣고 > HTTP 웹 기본지식' 카테고리의 다른 글
| 쿠키 (0) | 2024.05.27 |
|---|---|
| HTTP 메서드 (0) | 2024.03.28 |
| HTTP 기본 (0) | 2024.03.27 |
| URI 와 웹브라우저 요청 흐릅 (1) | 2024.03.25 |