Network
네트워크
Last updated
Was this helpful?
네트워크
Last updated
Was this helpful?
호스트(Host)는 네트워크에 연결된 어떠한 장치를 일컫는 말로, 이는 컴퓨터, 서버, 스마트폰, 태블릿 등 다양한 장치가 될 수 있습니다. 호스트는 자체적인 IP 주소를 가지며 네트워크 상에서 데이터를 송수신할 수 있습니다.
단말기는 네트워크의 끝에 위치하는 장치를 의미합니다. 주로 사용자가 직접 사용하는 장치들이 여기에 해당됩니다.
Client:
서버에서 제공하는 서비스나 리소스를 요청하는 호스트입니다.
예를 들면, 웹 브라우저를 실행하는 컴퓨터나 모바일 장치 등이 여기에 해당됩니다.
Server:
요청된 서비스나 리소스를 제공하는 호스트입니다.
웹 서버, 파일 서버, 메일 서버 등이 이에 해당됩니다.
Peer:
피어-투-피어 (P2P) 네트워크에서, 클라이언트와 서버의 역할을 동시에 수행하는 호스트입니다.
예를 들면, BitTorrent 같은 P2P 파일 공유 시스템에서 사용되는 장치들이 여기에 해당됩니다.
스위치는 데이터 링크 계층에서 작동하는 장치로, 연결된 장치들 간의 데이터 프레임을 전송하는 역할을 합니다.
Router:
네트워크 계층에서 작동하는 장치로, 다양한 네트워크 간의 데이터 패킷을 라우팅하는 역할을 합니다. IP 주소를 기반으로 패킷의 경로를 결정하며, 인터넷과 같은 큰 네트워크에서 핵심적인 역할을 합니다.
IPS (Intrusion Prevention System):
네트워크 트래픽을 모니터링하며 악성 트래픽을 감지하고 차단하는 보안 장치입니다. IPS는 실시간으로 네트워크 트래픽을 분석하며, 악성 행위를 감지하면 해당 트래픽을 차단합니다.
Tap (Network Tap):
네트워크의 특정 지점에서 통과하는 트래픽을 복제하여 분석 목적으로 사용하는 장치입니다. 네트워크 모니터링, 문제 진단, 보안 분석 등의 용도로 사용됩니다.
Interface 선택: 스위치에는 여러 개의 네트워크 인터페이스 (포트)가 있습니다. 인터페이스는 연결된 장치와의 통신 경로를 제공합니다.
Switching:
스위치는 데이터 링크 계층에서 MAC 주소를 기반으로 프레임을 전송합니다. 스위치는 연결된 장치 간의 프레임 전송을 최적화하여 네트워크의 효율성을 높입니다.
L3 Switching:
일반적인 L2 스위치와는 달리, L3 스위치는 네트워크 계층에서 IP 주소를 기반으로 패킷을 전송할 수 있습니다. 즉, 라우팅 기능도 포함되어 있습니다.
단위 Packet: 패킷은 데이터를 전송하는 기본 단위입니다. 자동차에 비유하면, 도로를 이동하는 개별 차량과 같습니다.
Router: 네트워크 계층에서 작동하며, 다양한 네트워크 간의 데이터 패킷을 라우팅하는 장비입니다. 교차로에 비유하면, 여러 길 중에서 가장 효과적인 길을 선택하여 자동차를 안내하는 역할과 유사합니다.
L3의 Switch 일종:
L3 스위치는 기본적으로 라우팅 기능을 갖춘 스위치로 볼 수 있습니다.
Router Table:
라우터 테이블은 패킷을 전송할 최적의 경로를 결정하기 위한 정보를 저장하고 있습니다. 이정표에 비유하면, 목적지까지의 거리나 방향 등의 정보를 제공하는 것과 유사합니다.
네트워크에서의 비용은 특정 경로를 선택하는 데에 필요한 리소스나 지연 시간을 의미할 수 있습니다.
비용 주제 Matric 값:
라우팅 프로토콜에서는 경로의 비용을 나타내는 메트릭 값을 사용합니다. 메트릭 값이 낮을수록 해당 경로는 더 선호되는 경로로 간주됩니다.
NIC (Network Interface Card)는 컴퓨터나 다른 네트워크 장치에 설치되어, 해당 장치를 물리적으로 네트워크에 연결하는 하드웨어 컴포넌트입니다
NIC의 주요 특징 및 기능
물리적 연결:
NIC는 네트워크 케이블 (예: 이더넷 케이블, 광섬유 케이블) 또는 무선 연결 (Wi-Fi NIC)을 통해 장치를 네트워크에 연결합니다.
MAC 주소:
NIC는 고유한 MAC (Media Access Control) 주소를 가지고 있습니다. MAC 주소는 네트워크 내에서 장치를 고유하게 식별하는 데 사용됩니다.
데이터 링크 계층:
NIC는 OSI 모델의 데이터 링크 계층에서 작동합니다. 따라서 프레임의 생성 및 캡슐화와 같은 데이터 링크 계층의 기능을 수행합니다.
속도 및 기능:
NIC는 다양한 속도와 기능으로 제공됩니다. 예를 들어, 10Mbps, 100Mbps, 1Gbps, 10Gbps 이상의 속도를 지원하는 이더넷 NIC가 있습니다.
드라이버:
NIC는 제대로 작동하기 위해 특정 드라이버가 필요합니다. 드라이버는 NIC 하드웨어와 컴퓨터의 운영 체제 간의 인터페이스 역할을 합니다.
무선 NIC:
무선 네트워크에 연결하기 위해 설계된 NIC입니다. Wi-Fi 표준 (예: 802.11a/b/g/n/ac)을 준수하며, 일반적으로 무선 라우터나 액세스 포인트와 통신하기 위해 사용됩니다.
정의: LAN은 일반적으로 한 건물 또는 근접한 건물 내의 작은 지역에 분포하는 컴퓨터와 장치들을 연결하는 네트워크입니다.
특징:
거리: LAN은 일반적으로 제한된 거리 (예: 몇 킬로미터 이내) 내에서 작동합니다.
전송 속도: LAN은 높은 데이터 전송 속도를 제공하며, 일반적으로 1 Gbps 이상의 속도로 작동합니다.
소유: LAN은 일반적으로 개인 또는 기업이 소유하며, 전체 인프라를 제어합니다.
기술: Ethernet 및 Wi-Fi는 LAN을 구축하는 데 주로 사용되는 기술입니다.
정의: MAN은 더 큰 지역, 예를 들면 도시 전체나 지역 사회를 커버하는 네트워크입니다.
특징:
거리: LAN보다 크지만 WAN보다 작은 범위에 걸쳐 있습니다.
구성: MAN은 여러 LAN을 연결하는 데 종종 사용되며, 대형 도시나 대학 캠퍼스와 같은 큰 지역을 포함할 수 있습니다.
기술: MAN을 구축하는 데 사용되는 기술에는 ATM, FDDI 및 SMDS가 포함될 수 있습니다.
정의: WAN은 광대한 지역 (예: 국가, 대륙 또는 전 세계)에 걸쳐있는 네트워크입니다.
특징:
거리: WAN은 국가 간 또는 대륙 간에 걸친 네트워크를 포함할 수 있습니다.
구성: WAN은 여러 LAN 및 MAN을 연결하여 구성됩니다.
소유: 일반적으로 통신사 또는 큰 기업이 WAN을 소유하거나 운영합니다.
기술: WAN을 구축 및 운영하는 데 사용되는 기술에는 MPLS, Frame Relay, X.25 및 ISDN이 포함될 수 있습니다.
예시: 가장 대표적인 WAN 예시는 인터넷입니다.
End-point와의 연결:
이 스위치는 네트워크의 최종 사용자나 장치들과 직접 연결됩니다.
MAC 주소 기반 스위칭:
스위치는 내부의 MAC 주소 테이블을 기반으로 어느 포트로 데이터 프레임을 전송할지 결정합니다.
주황색:
네트워크에서 충돌이 감지되었을 때 이 LED가 켜집니다.
녹색:
네트워크 연결이 활성화되고 정상적으로 작동할 때 이 LED가 켜집니다.
uplink:
일반적으로 스위치나 라우터와 같은 상위 계층의 장비로의 연결을 나타내는 포트입니다.
스위치를 위한 스위치:
여러 개의 Access 스위치들을 연결하는 중간 장비로, 네트워크의 효율성과 성능을 높이는 데 중요한 역할을 합니다.
단위 데이터:
패킷은 OSI 모델의 네트워크 계층에서의 데이터 단위입니다.
Header와 Payload:
패킷의 구성 요소로, 헤더에는 라우팅과 관련된 정보가, 페이로드에는 실제 전송할 데이터가 포함됩니다.
MTU (Maximum Transmission Unit):
특정 네트워크 경로를 통해 전송할 수 있는 데이터의 최대 크기입니다.
전형적인 이더넷의 MTU는 1500 바이트입니다.
Process 생성:
응용 프로그램에서 데이터를 생성합니다 (예: 웹 브라우저, 이메일 클라이언트 등).
Socket/Interface:
응용 프로그램은 OS의 소켓 인터페이스를 사용하여 데이터를 TCP/IP 스택에 전달합니다.
TCP Header 추가 (Segment 생성):
데이터는 전송 계층(TCP)에서 세그먼트로 변환됩니다.
TCP는 헤더를 추가하여 데이터를 세그먼트로 만듭니다.
이 헤더에는 포트 번호, 순서 번호, 확인 응답 번호 등의 정보가 포함됩니다.
IP Header 추가 (Packet 생성):
세그먼트는 네트워크 계층(IP)에서 패킷으로 변환됩니다.
IP는 헤더를 세그먼트 앞에 추가합니다.
이 헤더에는 출발지 및 목적지 IP 주소, TTL(Time To Live) 등의 정보가 포함됩니다.
Frame 추가 (L2 정보):
패킷은 데이터 링크 계층에서 프레임으로 변환됩니다.
이 때, 이더넷 헤더와 트레일러가 추가됩니다. 이더넷 헤더에는 MAC 주소와 같은 정보가 포함됩니다.
L2 Access:
스위치와 같은 L2 장비는 MAC 주소를 기반으로 프레임을 전달합니다.
Router:
라우터는 IP 주소를 기반으로 패킷을 전달합니다. 필요한 경우, 라우터는 패킷의 경로를 결정하기 위해 라우팅 테이블을 사용합니다.
Cloud (일반적으로 인터넷을 의미):
패킷은 여러 네트워크 장비와 링크를 거쳐 목적지로 전달됩니다.
Host:
패킷이 수신 호스트에 도착하면, 프로세스의 반대 순서로 데이터가 추출되고, 최종적으로 응용 프로그램까지 전달됩니다.
Port 번호:
패킷이 수신 호스트의 특정 응용 프로그램으로 전달되기 위해, TCP 헤더에서 포트 번호를 사용합니다.
Stream: 연속적인 데이터 흐름으로, 이 계층에서는 데이터의 끝이 정의되어 있지 않습니다. 즉, 데이터의 시작은 있지만 언제 끝날지는 미리 알 수 없습니다. 이러한 특성 때문에 필요에 따라 데이터 스트림을 적절한 크기로 잘라서 다른 계층으로 전달할 수 있습니다.
Segment: TCP에서 데이터를 전송할 때 사용하는 단위입니다.
MSS (Maximum Segment Size): TCP 세그먼트의 최대 크기로, 보통 1460바이트로 설정됩니다. MTU (Maximum Transmission Unit) 값에서 TCP 헤더의 크기를 뺀 값이 MSS가 됩니다.
Packet: IP에서 데이터를 전송할 때 사용하는 단위입니다.
MTU (Maximum Transmission Unit): 네트워크 통신에서 한 번에 전송할 수 있는 최대 데이터의 크기입니다. 일반적인 Ethernet 환경에서는 1500바이트로 설정됩니다.
Frame: 데이터 링크 계층에서 사용하는 데이터 전송 단위입니다.
캡슐화는 데이터를 전송하기 위해 데이터에 필요한 각 계층의 헤더를 추가하는 과정입니다.
Process:
데이터가 생성되는 프로세스. 프로그래머가 정의한 버퍼의 크기로 데이터를 관리합니다.
파일 또는 다른 입력 소스에서 데이터를 복사하여 버퍼에 저장합니다.
Socket:
애플리케이션 계층과 트랜스포트 계층 사이의 인터페이스.
송수신되는 데이터는 I/O 버퍼에 저장됩니다.
TCP (L4):
데이터는 세그먼트라는 단위로 나누어집니다.
IP (L3):
세그먼트는 패킷으로 캡슐화됩니다.
Frame (L2):
패킷은 프레임으로 변환되어 물리적 네트워크를 통해 전송됩니다.
디캡슐화는 수신된 데이터에서 각 계층의 헤더를 제거하여 원본 데이터를 복원하는 과정입니다.
TCP:
프레임에서 패킷을 추출하고, 패킷에서 세그먼트를 가져옵니다.
데이터가 올바르게 도착했는지 확인 후, ACK를 송신자에게 보냅니다.
Window Size는 TCP의 흐름 제어를 위한 정보로, 수신 가능한 버퍼의 크기를 나타냅니다.
Process:
세그먼트에서 원본 데이터를 추출하여 애플리케이션에 제공합니다.
데이터는 Read 또는 Receive 명령을 통해 애플리케이션 버퍼로 전송됩니다.
Loss (유실):
네트워크의 문제로 인해 패킷이 손실되는 현상.
Re-transmission + ACK-Duplication:
패킷 손실을 감지하면, 해당 패킷을 재전송합니다. 중복 ACKs는 재전송을 유발할 수 있습니다.
Out of Order:
패킷들이 전송 순서와 다르게 도착하는 현상.
Zero window:
수신자의 버퍼가 가득 차서 더 이상의 데이터를 받을 수 없을 때 발생하는 현상.
IP 프로토콜의 버전을 나타냅니다. IPv4의 경우 이 값은 4입니다.
헤더의 길이를 32비트 단위로 나타냅니다. 일반적인 IPv4 헤더의 길이는 20바이트이므로 이 값은 5입니다.
서비스 품질을 위한 정보를 제공합니다.
전체 데이터그램의 길이 (헤더 + 데이터)를 바이트 단위로 나타냅니다. 최대 값은 65535바이트입니다.
각 데이터그램에 고유한 ID를 부여합니다. 이는 단편화된 패킷을 재조립하는 데 사용됩니다.
데이터그램의 단편화와 관련된 정보를 제공합니다.
단편화된 데이터그램에서 해당 단편의 시작 위치를 나타냅니다.
패킷이 네트워크에서 살아있는 시간을 나타냅니다. 매 홉마다 감소되며, 0이 되면 패킷은 폐기됩니다.
상위 계층의 프로토콜을 나타냅니다 (예: TCP, UDP).
헤더의 오류 검사를 위한 체크섬입니다.
송신자의 IP 주소입니다.
수신자의 IP 주소입니다.
필요에 따라 사용되는 추가적인 옵션 필드입니다. 모든 데이터그램에서 사용되는 것은 아닙니다.
실제 전송할 데이터입니다. 전체 데이터그램의 길이에서 헤더의 길이를 뺀 만큼의 바이트를 가질 수 있습니다.
여기서 MTU는 일반적으로 1500바이트로 설정되어 있으며, 이 중 IPv4 헤더는 20바이트를 차지합니다. 옵션 필드는 최대 40바이트까지 가능하며, 이를 포함할 경우 헤더의 최대 크기는 60바이트가 됩니다.
단편화는 패킷의 크기가 네트워크의 MTU보다 클 경우, 패킷을 여러 개의 작은 단편으로 나누는 과정을 의미합니다.
Subnet mask는 IP 주소와 함께 사용되어 IP 주소의 네트워크 부분과 호스트 부분을 구분합니다. 일반적으로 IPv4 주소와 마찬가지로 32비트로 표현되며, 이진수로 표현할 때 네트워크 주소 부분은 1로, 호스트 주소 부분은 0으로 채워집니다.
예:
IP 주소: 192.168.1.10
Subnet Mask: 255.255.255.0
(이진수로 11111111.11111111.11111111.00000000
)
Subnetting은 큰 네트워크를 여러 개의 작은 서브넷으로 분할하는 과정입니다. 이를 통해 IP 주소를 효율적으로 할당하고 네트워크 관리를 용이하게 합니다.
예: 192.168.1.0/24
의 네트워크를 4개의 서브넷으로 분할하려면:
2 bits 추가로 사용 (4 서브넷 = 2^2)
Subnet Mask는 255.255.255.192
또는 /26
가 됩니다.
서브넷:
192.168.1.0/26
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26
CIDR는 IP 주소를 할당하고 네트워크를 표현하는 데 사용되는 방식입니다. 전통적인 클래스 기반 네트워크 지정 방식을 대체하기 위해 도입되었습니다. CIDR는 IP 주소와 슬래시(/
) 다음에 오는 숫자(prefix length)로 표현됩니다.
예: 192.168.1.0/24
여기서 /24
는 앞쪽 24비트가 네트워크 주소 부분을 나타내며, 나머지 8비트가 호스트 주소 부분을 나타냅니다.
브로드캐스트 주소는 네트워크 내의 모든 장치에 패킷을 전송하기 위한 특수한 IP 주소입니다. 브로드캐스트를 사용하여 메시지는 네트워크의 모든 호스트에 도달하게 됩니다.
예: 192.168.1.255
는 192.168.1.0/24
서브넷의 브로드캐스트 주소입니다.
멀티캐스트는 특정 그룹의 리스너에 데이터를 전송하는 방법입니다. 브로드캐스트와는 달리, 멀티캐스트는 모든 호스트가 아닌 그룹의 멤버에만 데이터를 전송합니다. 멀티캐스트 주소 범위는 IPv4에서 224.0.0.0
에서 239.255.255.255
입니다.
각 호스트는 자신을 가리키는 특수한 IP 주소를 가지고 있습니다. 이것은 루프백 주소 또는 로컬호스트 주소로 알려져 있습니다.
127.0.0.1
은 호스트의 루프백 주소입니다. 이 주소로 전송된 데이터는 네트워크 인터페이스를 거치지 않고 직접 다시 해당 컴퓨터로 반환됩니다. 이것은 주로 네트워킹 테스트와 디버깅에 유용합니다.
인터넷은 수많은 컴퓨터와 네트워크 장치의 글로벌 네트워크입니다. 이러한 네트워크는 라우터들에 의해 연결되며, 라우터는 패킷을 적절한 목적지로 전달하기 위해 서로 통신합니다.
"hop"은 패킷이 소스에서 목적지까지 도달하기 위해 거쳐야 하는 라우터나 네트워크 장치를 의미합니다.
예를 들어, 패킷이 소스에서 목적지까지 3개의 라우터를 거쳐야 한다면, 이것은 3 hops로 간주됩니다. "traceroute"와 같은 도구를 사용하면 패킷이 특정 목적지에 도달하기 위해 거치는 모든 hop을 볼 수 있습니다.
TTL은 데이터그램이 네트워크에서 얼마나 오래 "살아 있을" 수 있는지를 결정하는 값입니다. 매 hop(라우터)마다 1씩 감소하고, TTL이 0이 되면 패킷은 폐기됩니다.
"텔로미어" 비유는 텔로미어가 세포의 수명을 결정하는 것처럼, TTL도 패킷의 수명을 결정한다는 점에서 유사성이 있습니다.
MTU (Maximum Transmission Unit)는 네트워크 장치가 한 번에 전송할 수 있는 최대 데이터의 크기입니다. 패킷의 크기가 MTU보다 크면, 패킷은 여러 조각으로 "단편화"됩니다.
수신측에서 이러한 단편들은 다시 원래대로 조립됩니다.
VPN (Virtual Private Network)은 암호화된 연결을 통해 원격 네트워크에 안전하게 연결할 수 있게 해줍니다.
IPSec (Internet Protocol Security)는 VPN 연결을 보호하기 위한 프로토콜입니다. 때로는 패킷의 크기가 증가하여 단편화가 발생할 수 있습니다.
인터넷 서비스 제공자는 고객에게 인터넷 접속 서비스를 제공하는 기업 또는 조직입니다.
DHCP는 네트워크에 연결된 장치들에게 동적으로 IP 주소를 할당하는 프로토콜입니다.
ARP는 IP 주소를 해당하는 MAC 주소로 변환하는 프로토콜입니다.
ARP 요청을 통해 특정 IP 주소에 해당하는 MAC 주소를 찾을 수 있습니다.
ARP -a
명령은 현재 시스템의 ARP 캐시를 보여줍니다.
Ping은 네트워크 상의 다른 장치와의 연결을 테스트하기 위한 도구입니다.
RTT (Round Trip Time)는 패킷이 목적지에 도달하고 응답이 돌아오기까지의 시간을 의미합니다.
Ping은 ICMP (Internet Control Message Protocol)를 사용하여 동작합니다.
DoS 공격은 목표 시스템의 리소스를 과도하게 사용하게 만들어 서비스 거부 상태를 초래하는 공격입니다.
TCP는 데이터 전송 전에 연결을 설정하며, 데이터 전송 후 연결을 종료합니다. 이는 핸드쉐이크 과정을 포함하여 연결을 유지 관리합니다.
TCP는 데이터의 순서, 정확성 및 전달을 보장합니다. 패킷이 손실되거나 순서가 바뀌면, TCP는 이를 수정합니다.
TCP는 송신측과 수신측 사이의 데이터 전송 속도를 조절하여 네트워크의 혼잡을 방지합니다.
TCP에서 데이터 단위는 "segment"입니다.
UDP는 데이터를 전송하기 전에 연결을 설정하지 않습니다. 이로 인해 빠르게 데이터를 전송할 수 있습니다.
UDP는 데이터의 순서나 손실에 대해 보장하지 않습니다. 이로 인해 애플리케이션 레벨에서 필요한 경우 오류 수정을 처리해야 합니다.
UDP에서 데이터 단위는 "datagram"입니다.
Stream: 소켓 프로그래밍에서, TCP 소켓은 일반적으로 스트림 지향적입니다. 이는 데이터가 연속된 바이트 스트림으로 전송되며, 메시지 경계가 없다는 것을 의미합니다.
TCP는 신뢰성과 흐름 제어를 통해 "배려"하는 반면, UDP는 이러한 것들 없이 빠르게 데이터를 전송하므로 "배려가 없는 나쁜 남자"로 비유될 수 있습니다.
서버는 특정 포트에서 연결을 기다리며, 클라이언트는 그 포트로 연결을 요청합니다.
각 프로세스에는 고유한 프로세스 ID (PID)가 있습니다.
이 PID를 사용하여 운영 체제는 프로세스를 구별하고, 각 프로세스에게 할당된 리소스를 관리합니다.
TCP 연결에서는 포트 번호가 사용되며, 이 포트 번호를 통해 특정 프로세스와의 통신을 구분할 수 있습니다.
DNS(Domain Name System)는 인터넷의 핵심 구성 요소 중 하나로, 사용자 친화적인 도메인 이름을 IP 주소로 변환하는 역할을 합니다. 여러분이 웹 브라우저에 'www.google.com'과 같은 주소를 입력하면, DNS는 이 주소를 해당 서버의 IP 주소로 변환합니다. DNS에 관한 주요 개념 및 사항은 다음과 같습니다:
분산 구조형 데이터베이스:
DNS는 분산된 네임서버로 구성된 시스템입니다.
각 도메인 영역(zone)의 데이터는 독립적으로 해당 도메인을 관리하는 기관에 의해 관리됩니다.
트리 구조의 도메인 네임 체계:
DNS 네임스페이스는 트리 구조로 구성됩니다.
최상위 도메인(TLD) 예: .com, .org, .net 아래에는 각기 다양한 하위 도메인이 위치합니다.
URL 주소:
URL은 주소 스키마, 호스트 이름 및 도메인 이름, 옵션으로 경로 및 쿼리 구성 요소를 포함합니다.
DNS 주소 설정:
특정 ISP는 사용자의 기기에 자체 DNS 서버 주소를 제공합니다.
Google의 공용 DNS 주소는 8.8.8.8 및 8.8.4.4입니다.
DNS 캐시:
DNS 쿼리 결과는 일정 시간 동안 로컬 시스템 또는 DNS 서버에 저장되므로, 동일한 주소에 대한 후속 쿼리가 빠르게 처리될 수 있습니다.
이 캐시에는 TTL(Time to Live)이라는 유효 기간이 있습니다.
ISP와 DNS:
대부분의 사용자는 ISP가 제공하는 DNS 서버를 사용합니다.
PC의 hosts
파일에는 특정 도메인 이름과 IP 주소의 매핑이 포함될 수 있으며, DNS 쿼리 전에 이 파일이 먼저 조회됩니다.
루트 DNS 서버:
루트 DNS 서버는 전 세계에 13대가 있으며, 이 서버들은 주요 TLD에 대한 정보를 가지고 있습니다.
이 루트 서버들은 주기적으로 동기화되며, 도메인 이름 체계의 권위있는 참조로 작동합니다.
IANA(Internet Assigned Numbers Authority)는 루트 DNS 서버 시스템과 관련된 중요한 역할을 합니다.
웹은 기본적으로 HTML 문서와 이러한 문서를 전송하는 프로토콜인 HTTP로 구성됩니다.
웹 자원의 위치를 지정하는 주소입니다.
예: https://www.openai.com/about/
웹 자원을 식별하는 문자열입니다. URL은 URI의 하위 집합으로 간주될 수 있습니다.
구조: Protocol://Address:PortNumber/Path(orFileName)?Parameter=value
Protocol: 통신 규약 (예: HTTP, HTTPS, FTP)
Address: 도메인 이름 또는 IP 주소
PortNumber: 서버에서 서비스를 제공하는 포트 번호 (기본 HTTP 포트는 80)
Path(orFileName): 서버 내 자원의 경로 또는 파일 이름
Parameter=value: URL의 쿼리 문자열 부분에 사용되는 파라미터
웹 자원을 가져와 사용자에게 보여주는 애플리케이션입니다.
브라우저는 웹 페이지를 렌더링하기 위해 다음 과정을 거칩니다:
구문 분석: HTML, CSS, JavaScript 코드를 읽고 이해
렌더링: 구문 분석된 내용을 기반으로 웹 페이지를 그래픽 형태로 렌더링
JavaScript 엔진: JavaScript 코드를 실행하여 동적 기능을 활성화
HTML: 웹 페이지의 구조를 정의하는 마크업 언어
CSS: 웹 페이지의 디자인과 레이아웃을 지정하는 스타일 규칙
JPG (및 기타 이미지 형식): 웹 페이지에 포함된 이미지
JavaScript: 웹 페이지에 동적 기능을 추가하는 프로그래밍 언어
결론적으로, 웹 브라우저는 URL을 통해 웹 서버에서 HTML, CSS, JavaScript 및 기타 리소스를 다운로드하고 이를 구문 분석 및 렌더링하여 사용자에게 웹 페이지를 보여줍니다.