본문 바로가기
반응형

Computer Science/컴퓨터 네트워크7

웹 브라우저에 URL을 입력했을 때 발생하는 일 우리는 네이버에 접속하기 위해서 웹 브라우저를 열고 주소창에 www.naver.com를 입력하여 Enter를 누른다. ​그렇다면 Enter를 눌렀을 때 내부적으로 어떠한 과정을 통해 해당 웹사이트의 내용들이 화면에 보이게 되는 것일까? 각 과정들을 살펴보도록 하자. ​ 1. 브라우저의 URL 파싱 우리는 주소창에 URL만 입력하였으며 브라우저는 입력한 URL을 활용하여 해당 웹사이트의 서버와 통신하여 웹사이트의 내용을 우리에게 보여주게 된다. 즉, 브라우저의 입장에서는 입력된 URL 내에서 필요한 모든 정보를 파악해야 한다. 그렇다면 URL은 어떤 구조로 이루어져 있으며 어떤 정보를 얻을 수 있는 것일까? ​ URL의 구조는 다음과 같이 Protocol, URL, Port로 이루어져 있다. 근데 사실 네.. 2021. 7. 9.
라우팅 알고리즘 라우팅 알고리즘은 송신자부터 수신자까지 라우터의 네트워크를 통과하는 최적의 경로를 결정하는 방법이다. 일반적으로 최적의 경로는 최소 비용 경로를 뜻한다. 라우팅 알고리즘을 분류하는 방법은 세 가지가 존재한다. 알고리즘이 중앙 집중형인지 분산형인지 정적 알고리즘인지 동적 알고리즘인지 부하에 민감한지 아닌지 각 라우팅 알고리즘을 대표하는 다양한 라우팅 프로토콜이 존재한다. 그럼 라우팅 프로토콜들은 어떤 상황에 사용될까? 크게 두 가지로 분류된다. ​네트워크 집합을 몇 개의 그룹으로 나누었을 때 동일 그룹 내에서 라우팅 정보를 교환할 때 사용하는 라우팅 프로토콜을 IGP(Internal Gateway Protocol)라 하고, 다른 그룹과 라우팅 정보를 교환하는 프로토콜을 EGP(Exterior Gateway.. 2021. 7. 9.
인터넷 프로토콜(IP) : IPv4, IPv6 오늘날 사용 중인 IP는 IPv4, IPv6 두 가지 버전이 존재한다. 하나씩 알아보자. 참고로 IP는 비신뢰적인 서비스를 제공하는 네트워크 계층의 프로토콜이며 네트워크 계층의 데이터 단위는 패킷이다. ​ 먼저 IPv4의 데이터 구조를 살펴보자. 13비트 단편화 오프셋 필드는 IPv4의 특징 중 하나인 단편화를 위한 필드이다. Time-to-live 필드는 데이터그램이 다른 라우터로 전송되지 않고 네트워크 상에서 무한히 순환하는 경우 제어하기 위한 필드이다. 나머지 다른 필드들은 대충 어떤 의미인지 알 것이다. ​ 다음은 단편화에 대해서 알아보자. 단편화란 하나를 여러 개로 나누는 것을 의미한다. 데이터 링크 계층의 전달할 수 있는 최대 데이터양을 MTU(Maximum Transmission Unit)이.. 2021. 7. 8.
TCP & UDP 이전 글들을 통해 전송 계층에서 신뢰적인 데이터를 전송하기 위해 어떠한 상황들을 고려하고 구축했는지 간단하게 살펴봤다. 이번에는 최종적으로 구축한 프로토콜을 토대로 현재 TCP/IP 전송계층에서 사용되는 대표적인 프로토콜 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)에 대해서 알아보자. ​ TCP와 UDP는 전송계층의 프로토콜로 모두 세그먼트를 한 컴퓨터에서 다른 컴퓨터로 전달해 주는 IP 프로토콜(비신뢰적)을 기반으로 구현되어 있는 프로토콜이다. 하지만 두 프로토콜은 상당히 다른 특징을 가지고 있다. 하나씩 살펴보자. ​ TCP(Transmission Control Protocol) TCP는 연결 지향형, 신뢰적인 데이터 전송 서비스를.. 2021. 7. 8.
rdt3.0의 성능과 N부터 반복(Go-Back-N, GBN) & 선택적 반복(Selective Repeat, SR) 이전 글에서 rdt3.0이 기능적으로는 정확한 프로토콜이지만 성능이 오늘날의 고속 네트워크에선 만족스럽지 못하다고 언급하였다. 그 이유는 전송-후-대기(Stop-and-Wait) 프로토콜이기 때문이다. 그렇다면 왜 전송-후-대기 프로토콜이 성능이 좋지 못한지 한 번 알아보자. ​ 전송-후-대기의 단점은 송신자가 수신자에게 패킷을 한 번 보내면 송신자는 수신자의 반응을 확인하기 전까지는 다른 패킷을 수신자에게 보낼 수가 없다는 것이었다. 간단하게 그림으로 이해해 보자. ​A, B 두 종단 호스트가 존재한다고 하자. 두 종단 시스템 사이의 광속 왕복 전파 지연(RTT)은 대략 30 msec이다. 또한 1 Gbps(초당 10^9 비트) 전송률(R)을 가진 채널에 의해 연결되어 있다고 가정하자. 헤더 필드와 데.. 2021. 7. 8.
신뢰적인 데이터 전달 프로토콜의 구축 이전에 TCP/IP 4계층 전송 계층에서 데이터를 전송하기 위해 사용되는 대표적인 프로토콜은 TCP, UDP가 있다고 하였다. TCP, UDP의 차이 중 하나는 신뢰적인 서비스를 제공해 주냐이다. TCP는 신뢰적인 서비스를 제공해 주는 반면, UDP는 비신뢰적인 서비스를 제공해 준다. TCP, UDP를 배우기 앞서 최종적인 신뢰적인 데이터 전송 프로토콜(Reliable Data Transfer Protocol : rdt)이 어떠한 과정을 통해 구축되었는지 한 번 짚고 넘어가도록 하자. 완전한 신뢰적 데이터 전송 프로토콜에 도달하기 위해서는 총 4가지 단계를 거친다. 천천히 살펴보도록 하자. 단, 단방향 데이터 전송(Unidirectional Data Transfer)의 경우인 송신 측으로부터 수신 측까지.. 2021. 7. 8.
프로토콜, OSI 7계층, TCP/IP 4계층 OSI는 Open System Interconnection의 약자로써 다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약(Protocol)이다. TCP/IP는 Transmission Control Protocol의 약자로써 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜이다. 그렇다면 여기서 말하는 프로토콜(Protocol)은 무엇을 뜻하는 걸까? 프로토콜이란 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약이다. 이게 무슨 말이냐면 예를 들어 우리는 상대방과 의사소통하기 위해 먼저 인사를 한다. 상대방이 의사소통을 이어나가길 원한다면 똑같이 인사를 해줄 것이고 아니라면 무시하거나 부정적인.. 2021. 7. 8.
반응형