본문 바로가기

컴퓨터 기초/네트워크

cs50 5 : 인터넷과 네트워크 4강 라우터

라우터는 출발지에서 목적지까지, 혹은 송신 장치에서 수신 장치까지 정보를 보내는 일을 한다.

패킷은 0과 1을 포함하는 디지털 정보를 담은 봉투이다.

 

TCP - 전송 제어 프로토콜

이 기술을 통해 데이터가 잘 전송될 확률을 높일 수 있다.

왜냐하면 인터넷은 불안정하기 떄문에 무조건 맞는 방향으로 간다고 보장하지 못하기 때문이다.

인터넷상에서 실제로 정보가 라우터에 의해 버려지기도 한다.

데이터가 버려질 확률을 낮추기 위해 송신 컴퓨터는 데이터를 4개의 세그먼트 나누어 각 봉투에 정보를 더 추가한다.

'4개 중 첫번째', '4개 중 두번째', '4개 중 세번째', '4개 중 네번 째' 이런식으로.

인터넷에 있는 서버들은 다양한 서비스를 제공한다.

스카이프나 이메일, 저장소 서비스 등 다양한 일을 할 수 있으므로

수신 컴퓨터는 이메일 서버, 웹서버, 챗 서버가 될 수도 있다.

따라서 메시지들의 내용물을 미리 알아야한다. 웹페이지인지, 이메일인지 등등

패킷들에 정보를 추가하여 어떤 프로그램을 사용해서 이 정보를 보여줄 것인지 알아야한다.

TCP 표준은 자주 쓰는 몇 가지 서비스에 고유한 수를 부여했다.

 

이 봉투를 가장 가까운 라우터에게 보내면 라우터는 목적지의 IP 주소를 보고 그 방향에 있는 가장 가까운 라우터에게 전달한다.

라우터에서 그 옆 라우터로, 또 그 옆 라우터에서 그 옆 라우터로 전달하고 전달하다 보면 목적지까지 전달되는 것이다.

 

만약 예상치못한 사고로 하나 또는 하나 이상의 패킷이 보내지지 않을 경우

수신 컴퓨터는 '4개 중 몇 번째' 정보를 보고 어떤 세그먼트가 빠졌음을 알게 된다.

패킷이 누락되었을때 TCP를 지원하는 컴퓨터라면 수신 컴퓨터는 송신 컴퓨터에게 네개 중 몇번 째가 누락되었다고 알린다

메시지를 받은 송신 컴퓨터는 다시 패킷의 해당 세그먼트를 다시 보낸다.

 

나의 컴퓨터와 다른 서버 사이에 라우터들을 추적하고 싶다면 터미널에

traceroute  -q 1 www.mit.edu 이런식으로 적으면 된다.  

가장 먼저 보이는 것은 목적지의 도메인 이름과 IP주소이다.

## hops max 는 목적지까지 30홉 내로 도달할 것이라고 약속하는 것이다.

이는 라우터가 30개 이하로 있음을 의미한다.

그 밑으로 있는 행들은 라우터를 의미한다. IP주소와 해당 지점까지 가는데 걸리는 시간이 써져있다.

라우터

인터넷에서 데이터를 쉽게 전송하도록 돕기 위해서 라우터가 사용된다.

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

라우터는 보낸 데이터가 올바른 목적지에 잘 도착하도록 보장하기 위해 특정 명령어 집합을 따른다.

 

라우팅 모델

인터넷에서 인터넷에 연결된 모든 장치들은 다른 인터넷에 연결된 장치들과 통신 가능해야한다.

이 네트워크 상에 모든 컴퓨터가 다른 모든 컴퓨터와 물리적으로 연결되면 이것이 가능하다.

이 방법은 정보를 곧장 목적지로 보내기 때문에 전송 속도가 빠르다.

그러나 비현실적으로 많은 물리적 연결을 필요로 한다.

따라서 인터넷은 장치들 사이의 중재자 역할을 하는 라우터를 사용한다.

모든 컴퓨터는 그림2처럼 어떤 라우터 하나와 연결되어있고 각 라우터는 다른 라우터들과 연결되어있다.

컴퓨터는 하나 이상의 라우터를 거쳐 데이터를 인터넷상의 다른 컴퓨터로 보낸다.

전송되는 데이터들은 패킷이라는 단위로 라우터를 통해 보내진다. 

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

 

라우팅 테이블

라우터는 각 패킷을 목적지 IP 주소에 따라 어디로 보내야하는지 알 수 있는 정보를 라우팅 테이블에 저장한다.

라우터는 IP 주소의 앞 숫자를 보고 패킷을 어느 방향으로 보내야할 지 판단한다.

하지만 라우터는 데이터 패킷이 목적지로 도달하는 데 필요한 정확한 경로 정보를 갖고 있지 않아도 된다.

라우터는 그저 패킷을 목적지까지 한 단계 더 가까이 보내주고 나머지 일은 다음 라우터에게 맡긴다.

따라서 데이터가 가는 경로는 하나로 정해져있지 않다.

라우터는 같은 목적지일지라도 서로 다른 경로로 보낼 수도 있는 것이다.