인터넷과 네트워크
인터넷
인터넷 프로토콜 스위트(TCP/IP)를 기반으로 하여 전 세계적으로 연결되어있는 컴퓨터 네트워크 통신망
- 해저광케이블과 인공위성으로 World Wide Web(WWW)를 구축
네트워크
IP(인터넷 프로토콜)
인터넷이 통하는 네트워크에서 정보를 수신하고 송신하는 통신에 대한 규약
데이터 전달 방식
-
IP 방식
- IP 주소를 바탕으로 데이터를 Packet이라는 단위로 전달
- Packet : 소스 IP(출발지) + 대상IP(도착지) 포함
: 헤더, 페이로드, 트레일러(수신여부 포함)으로 구분
- 데이터를 주기만 하는 것이 아니라 응답한다.
- 단점 : 자세한 송신지 애플리케이션 구분 X, 수신 대상 상태 상관X, 패킷 소실가능성(손상여부 확인X), 패킷 순서 섞일수 O, 용량 큰 데이터는 나뉨, 통신 중 오류가 나도 재전송 X 등
-
TCP (Transmission Control Protocol)
-
UDP (User Datagram Protocol)
- 비연결형, 신뢰성은 없지만 전송이 빨라 실시간 통신이나 스트리밍에 강한 전송 프로토콜
- IP 방식과 거의 비슷
- 추가적인 기능 X 속도 O
- IP와의 차이점으로 PORT가 존재 (TCP에도 존재)
- 데이터 무결성 검사 -> 체크섬(Checksum) 포함
*PORT : IP 내의 프로그램 구분을 위한 주소 (0~65535 할당가능)
: 예) HTTP -> 80(TCP) , HTTPS -> 443(TCP)
Web
DNS : 도메인 네임 시스템
- 도메인 이름과 IP주소를 서로 변환하는 역할을 수행
- DNS 서버 : 이를 관리하며 변환해주는 곳
- 대표적으로 URL이 DNS를 활용한 예임
- URL : 자원의 위치를 의미하는 고유 식별자 -> Uniform Resource Locator
URI
인터넷 자원을 나타내는 고유 식별자
ex) URL과 URN, ISBN 등
URL
-
URL의 구조
scheme://(user:password@)host(:port)(/path)(?query)(#fragment)
ex) https://velog.io:443/write?id=1234
-
scheme
- 주로 프로토콜을 사용. 웹에서는 http, https, ftp를 주로 사용
- https는 http에 보안(secure)을 더한 것
-
user
-
host(:port)
- 호스트명 : 도메인명(velog.io) 또는 IP주소
- PORT -> http: 80, https: 443
- 포트는 일반적으로 생략
-
/path
-
?query
- Query Parameter 또는 Query String 이라고도 함
- key = value 형태로 구성
- ?로 시작하고 &로 구분
- ex) ?key1=value1&key2=value2&key3=value3
-
#fragment
URN
- 자원의 이름
- 리소스의 위치가 변경되어도 이름으로 찾을 수 있음
- 프로토콜 포함 X
- 대중화 X