인터넷 네트워크
2023. 10. 25. 01:44ㆍLECTURES/모든 개발자를 위한 HTTP 웹 기본 지식
모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의
실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술
www.inflearn.com
인터넷 통신
- 클라이언트와 서버 어떻게 통신?
- 인터넷 망을 통해 통신하는데 인터넷에는 수많은 노드 존재
IP(인터넷 프로토콜)
- 컴퓨터 간 통신이 가능하려면 먼저 IP 주소를 부여 받아야 함
IP 역할
- 지정한 IP 주소에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
IP 패킷 정보
- 출발지 IP
- 목적지 IP
- 전송 데이터
- 기타…
클라이언트 패킷 전달
- 패킷을 인접 노드에 전달하면 패킷 정보에 따라 이동해서 서버에 도달
서버 패킷 전달
- 위와 마찬가지로 동작
IP 프로토콜의 한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성
- 중간에 패킷이 사라지면?
- 패킷이 순서대로 안오면?
- 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
- TCP가 위의 문제 해결
TCP, UDP
인터넷 프로토콜 스택의 4계층
- 애플리케이션 계층 - HTTP, FTP
- 전송 계층 - TCP, UDP
- 인터넷 계층 -IP
- 네트워크 인터페이스 계층
프로토콜 계층

TCP/IP 패킷 정보

TCP 특징
- 전송 제어 프로토콜(Transimission Control Protocol)
- 연결지향 - TCP 3 way handshake (가상 연결)
- 데이터 전달 보증
- 순서 보장
- 신뢰할 수 있는 프로토콜
- 현재 대부분 TCP 사용
TCP 3way handshake
- 클라이언트가 서버에 SYN 전달
- 서버가 클라이언트에 SYN + ACK 전달
- 클라이언트가 서버에 ACK 전달
- 데이터 전송
- SYN : 접속 요청
- ACK : 요청 수락
데이터 전달 보증

순서 보장

UDP 특징
- 사용자 데이터그램 프로토콜(User Datagram Protocol)
- 기능이 거의 없음
- 연결지향 - TCP 3 way handshake X
- 데이터 전달 보증 X
- 순서 보장 X
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
- IP와 거의 같음 +PORT +체크섬 정도 추가
- 애플리케이션에 추가 작업 필
PORT
- 한번에 둘 이상 연결해야 하면?
- PORT로 같은 IP 내에서 프로세스 구분
- 패킷 정보를 보면 PORT를 알 수 있음
- 0 ~ 65535 : 할당 가능
- 0 ~ 1023 : 잘 알려짐 포트, 사용하지 않는 것이 좋음
- FTP - 20, 21
- TELNET - 23
- HTTP - 80
- HTTPS - 443
DNS
- IP는 기억하기 어려움
- IP는 변경될 수 있음
- DNS(Domain Name System)
- 전화번호부
- 도메인 명을 IP주소로 변환
DNS 사용
- 도메인명을 DNS 서버에 등록
- 클라이언트가 DNS 서버에 도메인명 전송
- DNS 서버가 도메인 명으로 IP를 찾아서 클라이언트에 응답
- IP주소로 서버에 접속
- 나중에 IP 주소가 바뀌더라도 DNS는 동일하므로 클라이언트가 변경된 IP를 알 필요 없음
'LECTURES > 모든 개발자를 위한 HTTP 웹 기본 지식' 카테고리의 다른 글
HTTP 상태코드 (1) | 2023.10.25 |
---|---|
HTTP 메서드 활용 (1) | 2023.10.25 |
HTTP 메서드 (0) | 2023.10.25 |
HTTP 기본 (0) | 2023.10.25 |
URI와 웹 브라우저 요청 흐름 (0) | 2023.10.25 |