본문 바로가기

5장 컴퓨터 과학61

[컴퓨터 네트워크] TCP의 흐름제어 네트워크에서 데이터를 전송할 때 만약 전송지가 수신지의 처리속도보다 더 빨리 전송한다면 제한된 용량을 초과해 이후에 도착하는 데이터가 손실되는 문제가 발생할 수 있다. 이 문제를 해결하려면 전송지와 수신지의 처리속도 차이를 해결해야 하는데, 이를 위해 수신지에서 자신의 상태에 대한 정보를 보내 데이터 전송을 조절하도록 하는 작업을 흐름제어라고 한다. TCP는 종단간 신뢰성을 보장하기 위해 흐름제어를 수행한다. 정지-대기 방식 정지-대기(Stop and Wait) 방식은 전송한 세그먼트에 대한 확인응답을 받은 후 그 다음 세그먼트를 전송하는 것이다. 전송지에서 세그먼트를 하나 보내면 수신지에서는 그 세그먼트의 오류 유무를 판단해 전송지에 ACK나 NAK를 보낸다. 전송지는 ACK를 수신했을 경우에만 다음 .. 2021. 6. 16.
[컴퓨터 네트워크] TCP의 특성 TCP와 스트림 전송 TCP(Transmission Control Protocol)는 TCP/IP 모델의 4계층인 전송 계층에서 사용하는 프로토콜로 하위 계층인 네트워크 계층에서 사용하는 IP와 엮어서 TCP/IP로 표현하는 경우가 많다. TCP나 UDP는 프로세스 대 프로세스 프로토콜이다. 여기서 프로세스는 응용프로그램의 하나로 생각하면 이해하기 쉬울 것이다. TCP에는 종단간(End-to-End, E2E)의 흐름제어 및 오류제어 등의 기능이 있어 이를 통해 데이터 전송의 신뢰성을 제공하는데, 이것이 IP와 구별되는 특성이다. '종단간'은 데이터 전송지 호스트 컴퓨터에서 최종 수신지 호스트 컴퓨터까지를 말한다. 데이터링크 계층에서 수행되는 오류제어 기능은 종단간이 아닌 이웃 노드 간의 오류제어라는 점에.. 2021. 6. 16.
[컴퓨터 네트워크] 포워딩 방식 포워딩이 최종 수신지로 전달되는 경로에 패킷을 위치시킨다는 의미라면, 라우팅에는 포워딩이 원활하게 이루어지도록 라우팅 테이블을 생성하고 참조한다는 의미가 있다. 어떤 호스트가 전송할 패킷을 갖고 있거나 라우터가 포워딩해야 하는 패킷을 수신한 경우, 최종 수신지에 이르는 최적의 경로를 찾기 위해 라우팅 테이블을 조사하게 된다. 이 방식은 비교적 간단하고 현재 널리 사용되고 있고, 이를 위해서는 라우팅 테이블이 꼭 필요하다. 그런데 오늘날과 같은 인터넷 환경에서는 라우팅 테이블에 들어가는 목록의 수가 너무 많아져 이를 해결하기 위해 다음과 같은 방식들이 추가로 개발되었다. 다음 홉 방식 다음 홉(Next Hop)이란 수신지까지 가는 경로에 있는 바로 다음 라우터를 말한다. 라우팅 테이블에 전체 경로에 대한 .. 2021. 6. 16.
[컴퓨터 네트워크] 네트워크 계층 OSI 참조모델의 3계층인 네트워크 계층(Network Layer)은 네트워크 시스템 상호 간에 패킷이 전달될 수 있도록 경로를 배정하고 중계하는 역할을 한다. 네트워크 계층이 반드시 수행해야 하는 두 가지 기능은 라우팅(Routing)과 포워딩(Forwarding)이다. 라우팅은 전송지에서 수신지까지의 경로를 결정하는 것이고 포워딩은 그 경로에 패킷을 위치시키는 것이다. 라우팅은 패킷을 전송할 수 있는 무수히 많은 경로 중에서 최적의 경로를 라우팅 알고리즘으로 선택해 라우팅 테이블에 저장하는 작업이고, 포워딩은 포워딩 테이블에 적힌 수신지 주소에 대응된 출력 포트로 패킷을 이동시키는 작업이다. 이때 패킷의 이동은 직접 전달(Direct Delivery)과 간접 전달(Indirect Delivery)의 .. 2021. 6. 16.
[자료 구조] 이진 탐색 트리 (Binary Search Tree) 개념 이진 탐색 트리(Binary search tree)는 맵의 엔트리를 저장하기에 훌륭한 자료구조이다. 이진 탐색 트리는 트리의 일종으로 한 엔트리 (k, v)에 대해 다음과 같은 특성을 같는다. k보다 작거나 같은 값을 갖는 노드는 v의 왼쪽 서브 트리에 저장된다. k보다 크거나 같은 값을 갖는 노드는 v의 오른쪽 서브 트리에 저장된다. 이진 탐색 트리는 비어 있는 외부 노드를 어떻게 표현하더라도 순서화된 맵을 표현한다. 즉, 이진 탐색 트리는 부모-자식 간의 관계를 사용하여 그 키의 순서를 계층적으로 표현할 수 있다. 특히 이진 탐색 트리를 중위 순회(Inorder traversal)하면 맵의 키들을 오름차순으로 방문할 수 있다. 추상 데이터 타입(ADT) find(k): 근(root) 노드에서 탐.. 2021. 6. 15.
반응형