http 학습을 위한 인터넷 네트워크 기본 상식알아보기
1. 인터넷 통신
복잡한 인터넷 망을 통해서 메세지를 전송하기
2. IP(인터넷 프로토콜)
- IP 주소 부여 (ex: 100.100.100.1)
- 지정한 IP주소에 데이터 전달
- 패킷이라는 통신 단위로 데이터 전달
- IP 패킷 정보: 출발지 IP, 목적지 IP, 기타..
- IP프로토콜의 한계
- 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성: 중간에 패킷이 사라지거나 패킷이 순서대로 안올 수 있음
- 프로그램 구분: 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 프로그램 구분 어려움
3. TCP / UDP
인터넷 프로토콜 스택의 4계층
애플리케이션 계층 - HTTP, FTP
전송 계층 - TCP, UDP
인터넷 계층 - IP
네트워크 인터페이스 계층- LAN드라이버, LAN장비
TCP/IP 패킷 정보
IP 패킷: 출발지 IP, 목적지 IP, 기타..
TCP 세그먼트: 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보..
전송 제어 프로토콜(TCP: Transmission Control Protocol) 특징
- 연결지향 - TCP 3 way handshake (가상 연결)
- 클라이언트 -> SYN(접속요청) -> 서버
- 클라이언트 <- SYN+ACK(접속요청+요청수락) <- 서버
- 클라이언트 -> ACK(요청수락) -> 서버
- 데이터 전달 보증
- 클라이언트에서 데이터를 전송하면 서버에서 데이터를 받았다고 응답 보내줌
- 순서 보장
- 서버에 순서가 잘 못오면 잘못 온 부분부터 다시 보내달라고 클라이언트한테 요청함
- 신뢰할 수 있는 프로토콜
- 현재는 대부분 TCP 사용
사용자 데이터그램 프로토콜 (UDP: User Datagram Protocol) 특징
- 기능이 거의 없음
- IP와 거의 같고 추가로 PORT, 체크섬 정도만 추가됨
- 애플리케이션에서 추가 작업 필요
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
4. PORT
- 한번에 둘 이상 연결 하려면? port 를 나눠서 설정함.
- port: 같은 IP 내에서 프로세스 구분
- ex ) IP가 아파트고 PORT는 몇동 몇호
- 0~65535 할당 가능
- 0 ~ 1023: 잘 알려진 포트, 사용하지 않는것이 좋음
- FTP- 20,21
- TELNET - 23
- HTTP - 80
- HTTPS - 443
5. 도메인 네임 시스템 (DNS: Domain Name System)
- IP는 기억하기 어렵고, 변경 될 수 있어서 사용하는게 DNS
- 전화번호부
- 도메인 명을 IP주소로 변환
'개발 공부 > http' 카테고리의 다른 글
HTTP 활용 - HTTP API 설계 예시 (0) | 2023.04.09 |
---|---|
HTTP 메서드 활용 - 클라이언트에서 서버로 데이터 전송 (0) | 2023.04.09 |
HTTP 메서드 (0) | 2023.04.09 |
HTTP기본 (0) | 2023.03.11 |
URI이란 (0) | 2023.03.11 |