컴퓨터네트워크

앞서 다룬, 위의 Data Path 구현방식은 모든 명령을 처리할 수 있지만, 비효율적이기에 쓰이지 않는다. 그러면 어떤 방법을 사용해야할까? Pipelining 여러 가지 작업을 동시에 작동시킨다. pipelining의 각 단계를 stage라고 한다. stage란 명령어를 처리하는 동안 하드웨어 유닛에서 수행하는 활동이다. - 처리량(throught - 단위 시간 내 처리할 수 있는 작업 수) 향상시킴 - 응답시간(response time - 각각의 단일 작업 수행 시간) 은 같음 IF(Instruction fetch) : 메모리에서 명령을 가져옴 ID(Instruction decode/register file read) : 명령을 해독하면서 레지스터를 읽음 EX(Excute/address calcul..
AIMD 손실을 감지할 때까지(타임아웃, 3 중복 ACK) 윈도우를 1씩 증가시키다가 손실이 감지되면 절반으로 줄인다. - 3 중복 ACK가 발생하면 윈도우를 절반으로 줄임 - 타임아웃이 발생하면 윈도우를 1 MSS(가장 큰 세그먼트 크기)로 줄임 TCP rate는 cwnd/RTT (bytes/sec)쯤이다. TCP sender 전송의 최대치는 LastByteSend - LastByteAcked
UDP: User Datagram Protocol 간소화된(no frills), 최소한의(bare bones) 기능만 제공하는 internet transport protocol best-effort 방식을 사용하기에, 손실 또는 순서가 바뀌는 상황이 발생할 수 있다. connectionless: - UDP sender/receiver 간의 handshaking이 없다. - 각각의 UDP 세그먼트는 다른 세그먼트와 독립적이다. UDP를 왜 사용할까 - 연결 설정이 없음(RTT 지연이 추가되지 않음) - 송신자 및 수신자에 연결 상태가 없어서 간단함 - 헤더 크기가 작음 - 혼잡 제어(congestion control)이 없음 - * 빠르게 전송 가능하고, 혼잡이 발생해도 동작할 수 있다. 신뢰성이 필요한 ..
multiplexing at sender : 여러 소켓으로부터 데이터를 받고, 전송 헤더를 추가함. demultiplexing at receiver : 헤더 정보를 사용해서 수신된 세그먼트를 올바른 소켓에 전달함. demultiplexing 호스트는 IP 데이터그램을 receive한다. - 각 데이터그램은 송신지(source) IP주소와 목적지(destination) IP주소를 가진다. - 각 데이터그램은 한 개의 전송 계층 세그먼트를 전송한다. - 각 세그먼트는 송신지, 목적지 포트번호를 가진다. 호스트는 IP주소와 포트번호를 사용해서 세그먼트를 적절한 소켓으로 전달한다. receiving host가 UDP segment를 수신하면, 세그먼트의 목적지 포트 번호를 확인하고 해당 포트 번호를 갖는 소켓으..
Transport-layer services and protocols 서로 다른 호스트에서 실행중인 애플리케이션 프로세스간에 논리적인 통신(logical communication)을 제공 transport protocols은 end system에서 실행된다. - sender : 애플리케이션 메시지를 세그먼트로 분할해서 네트워크 계층에 전달 - receiver : 세그먼트를 메시지로 재조립해서 애플리케이션 계층에 전달 인터넷 애플리케이션에서 사용가능한 transport protocols : TCP / UDP network layer는 호스트 간의 논리적인 통신임에 반해 transport layer는 프로세스 간의 논리적인 통신이다. network layer service에 의존하고 이를 향상시킨다. sen..
Multimedia: video video : 일정한 속도로 표시되는 image sequence digital image : array of pixels, 각각의 픽셀은 비트로 표시됨 coding: 이미지를 인코딩하는데 사용되는 비트 수를 감소시키기 위해 이미지 내부 및 이미지 간 중복성 활용함 - spatial(공간적, 이미지 내부에서) - temporal(시간적, 한 이미지에서 다음으로) CBR(constant bit rate): 비디오 인코딩 속도를 고정시킨다. VBR(variable bit rate): 공간적 및 시간적 코딩 양에 따라 비디오 인코딩 속도가 변경된다. Streaming stored video 서버-클라이언트 대역폭(bandwidth)은 네트워크 혼잡 수준(network conges..
Peer-to-peer architecture 서버가 항상 켜져있지 않음 임의의 end-systems가 직접 통신한다. 다른 피어에게서 서비스를 요청하고, 다른 피어에게 서비스를 제공한다. - 자체 확장성(self scalability): 새로운 피어는 새로운 service capacity와 새로운 service demands(수요)를 가져옴 피어는 간헐적으로 연결되고 ip주소가 변경된다. - 관리하기 복잡하다 File distribution: client-server vs P2P 크기 F의 파일을 한 서버에서 N개의 피어로 분산하는 데 필요한 시간은?? - 피어의 업로드/다운로드 용량은 제한된 리소스이다. client-server에서, server transmission : 순차적(sequentiall..
Internet hosts, routers: - IP address (32bit) - 데이터그램에 대한 주소 지정에 사용된다. DNS 많은 name servers의 계층 구조로 구현된 분산 데이터베이스(distributed database) application-layer protocol : 호스트, DNS 서버가 이름 (address / name translation)을 해결하기 위해 통신한다. 중요한 인터넷 기능으로, application-layer protocol로 구현된다. 네트워크의 edge에서 complexity가 있다. DNS services - 호스트 이름에서 IP 주소로 변환 - 호스트 별칭(aliasing) : 정식(canonical) 및 별칭(alias) 이름 - 메일 서버 별칭 - ..
푸더기
'컴퓨터네트워크' 태그의 글 목록