인터넷의 아키텍처
인터넷은 LAN과 WAN의 전 세계적 집합체이다.
인터넷 연결 내부
- 컴퓨터는 모뎀을 통해 ISP의 LAN에 연결한다.
- ISP (Internet Service Provider)
- ISP 교환 센터는 POP이라고 불린다.
- POP (Point of Presence)
- POP은 더 큰 POP을 통해 대형 ISP에 연결한다.
- 대형 ISP 국가 백본 제공업자 (NBP)라고 불리는 국가적 또는 국제적 ISP에 연결한다.
이해하기 위해서는 네트워크 장비와 프로토콜에 대한 이해가 필요하다.
프로토콜
프로토콜은 통신을 원활하게 하기 위한 규칙들의 집합이며 네트워킹에 필수적이다.
인터넷과 관련된 주요한 프로토콜은 HTTP, SMTP, FTP 등이 있다.
TCP/IP
TCP는 보내야 하는 데이터를 고정된 크기의 패킷으로 나눈다.
패킷에 대한 정보를 포함하는 헤더와 데이터 세그먼트로 구성된다.
패킷들은 네트워크의 서로 다른 경로들을 통해 전송된다.
IP계층은 TCP 패킷에 주소 헤더를 추가한다.
가장 널리 사용되는 IPv4는 32비트의 주소를 사용한다. 반면 IPv6는 128비트 주소를 갖는다.
IP 주소 클래스에는 A, B, C, D, E가 있다
클래스는 기관의 크기와 IP 주소 할당을 표시한다.
IANA: 전 세계 IP 주소의 최상위 등록 기관이다.
KRNIC: 한국의 IP 주소와 도메인 관리를 맡고 있다.
서브넷이란? 주소의 일부분을 공유하는 네트워크의 일부이다.
서브넷 마스크란? 255.255.255.0 은 IP 주소의 처음 세 부분의 숫자가 같은 장치들을 서브넷으로 정의한다.
DHCP
DHCP는 IP 주소의 할당을 자동화하는 걸 말한다.
컴퓨터는 DHCP를 사용하여 라우터로부터 IP 주소를 할당받는다.
라우터는 패킷을 목적지와 가까운 회선으로 라우팅 해주며, 때에 따라서 메시지를 다른 경로를 통해서 전송한다. 우체국과 유사한 방법으로 작동한다.
HTTP
HTTP: Hypertext Transfer Protocol의 약자이다.
1990년 Tim Berners-Lee에 의해 개발되었다.
웹 브라우저와 웹 서버 사이의 통신을 가능하게 한다.
월드 와이드 웹 아이디어의 핵심이다.
“http” 는 브라우저에게 웹 페이지를 검색하기 위해 HTTP 프로토콜을 사용하고 있다는 사실을 알려준다. ex) http://www.systorage.tistory.com
URL과 DNS
DNS에 대한 자세한 내용은 아래 링크를 참조하자.
URL: Uniform Resource Locator의 약자이다.
URL은 도메인 이름, 폴더, 파일 이름으로 구성된다.
DNS 서버는 URL의 도메인 이름을 IP 주소로 번역한다.
포트번호
하나의 IP 주소를 갖는 컴퓨터가 여러 프로토콜을 사용하기 위해 포트 번호의 개념이 등장했다.
IP 계층 아래 주소를 명시한다. ex) http://www.systorage.tistory.com:3000
자주 사용하는 포트는 아래 표와 같다.
포트번호 | 프로토콜 |
21 | FTP |
23 | Telnet |
25 | SMTP |
53 | DNS |
68 | DHCP |
80 | HTTP |
110 | POP3 |
139 | NETBIOS |
NAT
NAT 프로토콜은 여러 컴퓨터가 하나의 인터넷 연결을 공유하는 걸 말한다.
DHCP와 포트 번호를 사용한다.
NAT의 내부 주소 범위는 192.168.0.0에서 192.168.255.255이다.
인터넷에는 하나의 IP 주소만 할당된다.
내부 노드 들은 IP 주소와 포트 번호를 사용한다.
TCP는 메시지를 해당되는 포트 번호를 갖는 컴퓨터로 전달한다.
HTML
HTML은 Hyper Text Markup Language의 약자이다.
텍스트 정보와 HTML 태그들을 포함한다.
HTML 태그는 포매팅 명령이다. 브라우저는 태그를 사용해서 그래픽 형태로 디스플레이한다.
'Computer Science > Computer Basic' 카테고리의 다른 글
[CS] 컴퓨터 기초 - 자료구조 (0) | 2022.08.25 |
---|---|
[CS] 컴퓨터 기초 - 데이터베이스 (2) | 2022.08.25 |
[CS] 컴퓨터 기초 - 네트워크 (0) | 2022.08.25 |
[CS] 컴퓨터 기초 - 운영체제 (0) | 2022.08.25 |
[CS] 컴퓨터 기초 - 컴퓨터의 수 체계와 데이터 표현 (0) | 2022.08.21 |