Computer Science

    Window Size란?

    : TCP에서는 신뢰성 보장을 위해 패킷마다 Sequence 번호를 붙인다. 패킷이 제대로 갔는지를 확인하기 위해 Receiver는 ACK를 보내서 어디까지 받았는지를 응답해준다. => 이렇게 한번 데이터를 보내면 ACK을 받을 때까지 기다리고, ACK이 도착해야만 다음 데이터를 한번 보내는 방식을 Stop & Wait 방식이라고 한다. 이는 TCP의 신뢰성 하나 때문에 택하는 방식으로, 시간이 오래 걸리고 비효율적이다. 이를 트럭 운송업에 비유한다면, 트럭 한대를 인천에서 부산으로 보내고, 빈 트럭이 돌아와야만 다음 트럭을 보내는 프로세스와 유사하다고 볼 수 있다. => 이때, 트럭을 한대씩 보내고 받기 보다는 트럭을 한꺼번에 10대를 보낸다면 약간 더 효율적일 것이다. : 하지만 트럭을 100대, 1..

    Time-wait은 왜 발생하는가?

    주로 두가지 이유가 존재한다. 1) client가 보낸 요청이 유실되었을 때를 대비하기 위해서이다. - client 입장에서는 마지막으로 ack를 보내면 클라이언트가 할 일은 모두 종료된다. - 그렇지만, 이때 중간에 마지막 ack K+1 이 없어지면 상황은 복잡해진다. => TCP는 신뢰성 보장을 위해서 데이터를 보내면 응답을 받아야 되기 때문에 일정 시간 지나도 응답이 오지 않으 면 신뢰성 보장을 위해 다시 재전송한다. - 마지막 ACK가 유실되었다는 것은 server가 보낸 FIN에 대한 ACK이므로 서버는 FIN을 다시 보내게 된다 => 사실 서버 입장에서는 서버 자신이 보낸 FIN이 없어진건지, 상대방이 보낸 ACK이 없어진 것인지 구별이 불가하다. # 이 상황에서 client가 기다리지 않고 ..

    Ch 11. Mass Storage structure

    => 이번 단원에서는 방대한 양의 데이터들을 저장하는 storage에 대해 배워볼 것이다. # Disk Structure ( Hard-disk drive) : 일명 HDD라고 하는, 주로 많은 컴퓨터에서 흔히 사용하는 물리적 disk storage이다. HDD 는 크게 spindle, platter, arm, arm assembly, read/write head로 이루어져 있고, platter안이 여러개의 track으로 구성되어있다. track의 최소 단위를 sector라고 한다. 1) Spindle : 시스템 부팅 후에 Disk의 내용을 읽고 쓰기 위해서는 반드시 Spindle이라는 회전축으로 disk를 회전시켜야 한다. 따라서, 노트북을 절전 모드로 돌리거나 하면 spindle의 회전을 멈춰서 데이터..