본문 바로가기

컴퓨터 네트워크

(30)
CH3 : Transport Layer (4) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * Reliable Data Transfer - TCP는 SR ARQ방식과 비슷한 매커니즘을 사용한다. 그러나 SR처럼 WS를 정해놓지 않고 이 WS는 dynamic하게 변한다. 이때 이 WS는 flow control과 congestion control의 영향을 받는다. - cumulatvie ACK을 사용하고 다음에 받아야할 seq num을 보낸다 예를 들어 현재 seq num 1000번까지의 데이터를 받았다면 ack(1001)을 보낸다. - 재전송을 지원한다. timeout이 일어나면 재전송을 하는데 이때 이미 온 ACK에 대해서 똑같은 ACK이 3번오게되면 timeou..
CH3 : Transport Layer (3) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 이전글에서는 UDP와 ARQ에 대해서 배웠다. 이번글에서는 TCP에 대해 자세하게 다룰 예정이다. TCP(Transmission Control Protocol) - 여러번 얘기했듯이 TCP는 연결지향형 프로토콜이다. 3-handshaking을 통해 상호간의 connection을 생성한 뒤 소통한다. - 1:1방식의 프로토콜이다. - full-duplex data 방식을 지원한다. full-duplex와 다른 개념에는 half-duplex, simplex가 있다. simplex : 단방향 통신, A는 B에게 또는 B는 A에게로만 통신할 수 있음 half-duplex : 양..
CH3 : Transport Layer (2) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * Reliable data transfer 데이터전송을 reliable하게 하는 방식에는 두가지가 있다. 1. Forward Error Correction (FEC) - 반복되는 bit를 더해 리시버가 에러를 체크하게끔 한다. - 예를들어 센더는 1을 보낼때 111을 보내고, 2를 보낼때 222를 보낸다. 만약 111이 가는중에 에러가 발생하여 101이 도착했다면 리시버는 많이나왔던 1을 실제로 온 데이터로 받아들여 1이라고 인식한다. 2. Retransmission - 에러가 나면 재전송하는 기능이다. - ARQ(Automatic Reapeat Request)라고도 하며..
CH3 : Transport Layer (1) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 저번 챕터2에서는 Application Layer에 대해 공부했었다. 이번 챕터부터는 그 하위레이어 Transport Layer에 대해서 공부하겠당 Transport Services 트랜스포트 레이어는 app간의 논리적인 소통을 담당한다. 이 레이어는 end system에서 작동한다. sender side : app의 메시지를 segment단위로 잘라 하위레이어인 network layer로 보낸다. receiver side : segment단위의 데이터를 message로 합쳐 상위레이어인 application layer로 보낸다. 나중에 다시 배우겠지만 네트워크 레이어는..
CH2 : Application Layer (6) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * Internet Video 최근 Netflix, YouTube등 비디오에 대한 수요가 높아지면서 이에 따른 네트워크상의 처리문제도 중요해졌다. 영상의 크기가 매우 클 경우에 하나의 서버에서는 다루기 힘들 수도 있다. 또한 각각의 유저가 가지고있는 네트워크상의 Capability가 다르기 때문에 이에 대한 처리도 고민해야한다. 때문에 distributed하고 application-level의 infrastructure가 생겨났다. Video Encoding 비디오 인코딩에는 두가지 방식이 있다. - CBR(Constant Bit Rate) : 인코딩의 rate가 고정되어있..
CH2 : Application Layer (5) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * P2P Properties - central databse가 없다. - 계층적 구조가 아니다. (모든 노드가 클라이언트/서버가 될 수 있다.) - 확장성이 있다. - 모든 피어에 접근할 수 있다. - Unreliable하다. 1. Napster 냅스터는 기본적으로 hybrid p2p 방식이다. 이 방식에서 서버는 diretory의 역할만 한다고 했었다. - 피어가 연결되면 central server에 IP address와 content를 알린다. - Almost distributed system이다. 파일의 위치는 centralized 되어있지만, 직접적인 통신은 pee..
CH2 : Application Layer (4) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 이번 글에서는 email에 대해 알아볼 예정이다. Electronic Mail 이메일에는 세개의 중요한 요소들이 있다. - user agents - mail servers - STMP(Simple Mail Transfer Protocol) 1. User Agent - mail reader라고도 한다. - 메일을 쓰고, 읽고 결합하는 역할을 한다. - e.g. Outlook, Messenger 2. Mail Servers - outgoing message queue와 user mailbox로 이루어져있다. - mailbox는 유저로부터 들어온 메시지를 저장한다. - mes..
CH2 : Application Layer (3) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * HTTP는 stateless한 protocol이다. - 서버는 응답을 보내고 나면 클라이언트에 대한 정보를 잊어버린다. HTTP의 이러한 성질은 user의 identity를 이용하는 여러 과정에서 불편함을 겪는다. 이러한 HTTP의 stateless한 성격을 해결하기위해 cookie라는 아이디어를 사용한다. 이미 익숙한 사람들도 많이 있을 것이다. Cookie cookie의 기본아이디어는 다음과같다. - 서버가 한 유저를 indentify하면 응답할 때 헤더(identifier for user)를 붙여 보낸다. - 클라이언트는 해당 헤더를 디스크에 저장하고, 같은 서버에..