[CS] 인터넷과 네크워크

do_large·2021년 1월 15일
0

cs

목록 보기
8/9
post-thumbnail

https://www.edwith.org/cs50/lecture/22869

IP

인터넷 프로토콜은 인터넷의 정보들이 어떻게 전송되는지를 정의하기 위한 규칙들이다.
프로토콜이란 규칙들의 집합을 의미한다.

IP주소

인터넷상에 있는 장치들은 IP주소를 할당받는다.
IP주소는 인터넷에 연결된 장치들을 식별할 수 있도록 해주고, 인터넷상의 다른 장치들이 특정 장치를 찾을 수 있도록 해준다.

IPv4

IPv4시스템에서 IP는 마침표로 구분된 4개의 10진수로 표현된다.
#.#.#.# 의 형태로 구성되어 있으며
각 #에는 10진수로 0부터 255까지의 숫자(2진수로는 8자리 > 8*4 = 32비트)가 들어갈 수 있고, 약 43억개의 주소를 사용할 수 있다.
하지만 인터넷에 연결된 장치들이 많아지면서 주소가 점점 부족하게 되면서,
어떤 장치들에는 사설 IP주소를 할당해 하나의 공인 IP주소를 공유할 수 있도록 한다.

사설IP주소란?
인터넷 상의 모든 IP주소들이 다 접근가능한 것은 아니다.
사설IP주소는 특정 로컬 네트워크 내에서 사용되도록 따로 떼어놓는다.
사설IP주소는 로컬 네트워크에 있는 컴퓨터들과는 통신이 가능하지만, 외부 네트워크에서는 접근할 수 없다.
보통, 사설IP를 갖는 장치들은 공인IP 주소를 공유한다.

IPv6

인터넷 장치의 수가 증가하는것을 대비하기위한 대책으로,
IPv6라고 불리는 128비트 주소 방식이 개발되었다.

IPv6에서 IP주소는 콜론으로 구분된 8개의 숫자로 구성되고 각각 128bit를 저장한다.
af21:10a8:1253:abd3:3019:0c2e:0b80:12a0 와 같이 #:#:#:#:#:#:#:# 형태로 나타낸다.

DNS

URL, 즉 도메인 주소는 IP주소보다도 사람이 읽기 쉽고 기억하기 쉬운 웹주소이다.
사용자가 URL을 사용하더라도 궁극적으로는 접근하려는 IP주소를 알아야 한다.
여기서 DNS가 사용되는데, DNS는 도메인을 그와 상응하는 IP주소로 바꿔준다.

웹브라우저에 URL을 치면 컴퓨터는 DNS서버에 접속한다. 그리고 DNS서버는 어느 도메인 이름이 어떤 IP주소와 대응하는지에 대한 정보를 저장하고 있다.

DNS에서 관리하고 있는 도메인은 트리형태의 계층구조로 이루어져 있다.


기본 최상위 도메인 집합(TLD)이 있는데,
TLD는 웹사이트 주소의 마지막 부분(com, net, org...)이다.
웹사이트의 URL을 이러한 최상위 도메인들 중 하나로 부터 가지를 뻗어나간다.
이러한 가지들을 서브 도메인이라고 한다.
예를 들어 maps.google.com 또는 images.google.com 등이 있다.

DHCP

컴퓨터는 IP 주소를 할당받는 방법이 있어야하는데 동적 호스트 구성 프로토콜(DHCP)가 이 일을 자동으로 해준다.


DNS와 DHCP를 사용하면 인터넷상의 장치들은 자신의 IP주소를 받을 수 있고, 장치들은 사용자가 방문하려는 웹사이트가 어느 IP주소와 대응하는지 알 수 있다.

인터넷에 연결

  • 무선장치(노트북이나 휴대폰)을 인터넷에 연결하기 위해서는 먼저 엑세스포인트(AP)에 무선으로 연결해야 한다. AP는 무선공유기의 형태로 보여지는데 무선공유기 역시 AP의 한 종류이다.
    AP는 스위치에 연결되고, 스위치는 라우터에 연결되고, 라우터는 인터넷의 나머지 부분과 연결된다.

라우터

인터넷은 한 장치에서 다른 장치로 정보를 보낼 수 있는데,
인터넷에서 데이터를 쉽게 전송하도록 돕기 위해 라우터를 사용한다.

라우터는 인터넷의 구성요소로, 데이터를 다양한 네트워크로 보내준다.

라우팅 모델

라우팅이란?
어떤 네트워크안에서 통신 데이터를 보낼 경로를 선택하는 과정.
라우팅은 전화 통신망, 전자 정보 통신망(인터넷 같은) 그리고 교통망 등 여러 종류의 네트워크에서 사용됨.

인터넷에 연결된 모든 장치들은 다른 인터넷에 연결된 장치들과 통신할 수 있어야한다.

이렇게 모든 컴퓨터가 다른컴퓨터와 물리적으로 연결하는 방법은 전송속도가 빠르지만,
현실적으로 수십억개 이상의 컴퓨터를 모두 연결하는 것은 불가능 하다.

대신, 인터넷은 라우터를 사용해서 연결된다.

각 라우터는 다른 라우터와 연결되어있고, 컴퓨터는 하나 이상의 라우터를 거쳐 데이터를 인터넷상의 다른 컴퓨터로 보낼 수 있다.


이때 전송되는 데이터를 패킷이라는 단위로 라우터를 통해 인터넷을 거쳐 보낸다. (패킷은 0과 1을 포함하는 디지털 정보를 담은 봉투이다.)

각 라우터는 목적지 컴퓨터와 연결되어 있는 라우터 중에 목적지에 가까운 라우터로 패킷을 보낸다.

라우터는 각 테이블 패킷이 목적지 IP주소에 따라 어디로 보내져야하는지를 알 수 있돌고 만들어졌고, 이러한 데이터는 라우팅테이블에 저장되어 있다.

TCP와 IP

컴퓨터들이 인터넷을 통해 통신하기 위해서는 통신을 어떻게 해야 하는지, 인터넷상의 한 지점에서 다른 지점으로 어떻게 데이터가 도달하는지 알려주는 표준 집합 혹은 프로토콜이 필요하다.
프로토콜 없이는 수신 장치가 정보를 받게끔 보장하거나 받은 정보로 무엇을 해야할지 보장해줄 수 없다.

프로토콜에는 TCP(전송제어 프로토콜)과 IP로 알려진 인터넷 프로토콜이 있다.

TCP

한 컴퓨터가 다른 컴퓨터로 데이터를 보낼 때 커다란 하나의 패킷을 작은 패킷들로 나누어 보내게 된다.
전송 제어 프로토콜(TCP)는 데이터를 순서 있는 패킷들로 분해하는 일을하는데, 패킷들이 같은 시간에, 같은 순서로 목적지에 도착한다는 보장이 없기 때문에 TCP는 각 패킷에 대해 순서에 맞게 번호를 매긴다.
이러한 방법으로 수신 컴퓨터는 받은 패킷들을 올바른 순서로 재조립할 수 있게 되는 것이다.

패킷 번호를 할당하는 것 외에도, TCP는 데이터가 어떤 유형의 인터넷 서비스에 사용되는지를 나타내기 위해서 데이터에 포트 번호를 할당한다.
예를 들어, SMTP(이메일)는 25번 포트를 사용하지만 HTTP(일반 웹 검색)는 80번 포트를 사용한다.

IP

정보가 한 컴퓨터에서 다른 컴퓨터로 어떻게 전송되는지에 대한 규칙들을 모아놓은 것

TCP/IP

인터넷이 통신하기 위한 과정
1. 인터넷을 통해 데이터를 받기 위해서 우선 데이터가 더 작은 패킷들로 분해되어야 하고,
TCP는 각 패킷에 포트 번호와 패킷 번호를 매긴다.
2. IP가 패킷의 목적지를 알려주면
3. 라우터들을 통해 데이터가 전송된다. 즉, 라우터들은 마침내 패킷을 목적지로 보내줄 것입니다.

HTTP

웹브라우저가 웹서버와 대화하기 위한 프로토콜이다.
사용자가 웹 페이지를 방문할 때, 웹브라우저는 웹서버에 웹페이지에 대한 내용을 요청해야 한다.
웹서버는 그 요청에 응답하기 위해 요청을 해석하고, 요청된 페이지를 클라이언트에게 돌려준다.
HTTP는 이 과정을 용이하게 해주며, 요청을 보내고 받는 표준적인 방법을 정해준다.

상태코드

웹 서버가 클라이언트로 부터 HTTP 요청을 받으면, 서버는 클라이언트로 응답을 돌려보내는데, 요청의 결과를 나타내는 상태코드를 함께 보내주면서 응답한다.

  • 상태코드 200은 요청이 성공적으로 처리되었다는 의미
  • 상태코드 404는 웹서버에 존재하지 않는 페이지를 요청할 경우
  • 상태코드 403은 사용자가 접근권한을 갖고 있지 않은 웹페이지에 접근하려고 시도한 경우
  • 상태코드 500은 사용자의 요청을 처리하는 중에 서버에 오류가 발생하는 경우

0개의 댓글