Computer Science/Computer Network

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter3.3 UDP (Connectionless transport)

    UDP란 (User Datagram Protocol) 비교적 간단하다. 상위에서 받아 header을 붙여 아래로 전달하고, 하위에서 받아 header을 떼어 상위로 전달하다. 하는게 없어서 no frills, bare bones라고 부르기도 한다. “best effort” 서비스를 제공한다. "best effort" 란, 보내 놓고 잘 가기를 바라는 것으로 segmet가 lost 되거나 순서대로 전달되지 않을 수도 있다. connectionless 서비스를 한다. 미리 상대방과 링크 설정을 하지 않는다 = handshaking 하지 않는다. UDP segment는 독립적으로 다루어진다. 따라서 각각의 segment마다 IP주소 등을 다 적어주어야 한다. 장점 connection을 미리 설정하지 않아서(n..

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter3.1 Transport-layer services

    Transport services and protocols 서로 다른 host에서 일어나는 application process 사이에 logical communication을 제공한다. "transport layer 간 통신" 이라고 한다. "logical end-end transport" 이라고 한다. 이를 이용하기 위해 network layer 이용한다. transport protocol은 end system에만 존재한다. sender는 application에서 message를 받아 segment로 만든다. transport layer에서 다루는 것이 message인데, receiver는 segment를 모아 message로 만들어 application layer에게 전달한다. 총 2개의 protoc..

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter2.7 socket programming with UDP and TCP

    Chapter02. Application Layer Socket Programming Application과 Transport 사이에 있는 socket application process와 end-end-transport protocol 사이의 문 app 간의 통신이 가능하게 함 UDP unreliable datagram UDP에서 segment 생성 → IP로 보냄 Query 하는 애들은 씀 순서 변경은 안하지만 순서대로 도착 안할 수도 client와 server 사이에 미리 link 설정 X 데이터 보내기 전에 no handshaking 보내는 packet마다 도착지 주소가 적혀 있어야 함 (IP주소&Port번호) explicitly하게 = 서버만 data의 lost/receive 된 게 out of..

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter2.6 video streaming and content distribution networks

    Chapter02. Application Layer Video Streaming and CDNs: context video streaming 앞으로 play하는 동안 뒤를 download하여 바로바로 보자는 취지 CDN content가 user 가까이에 있을수록 delay가 적어서 좋다 여기저기 cluster을 만들어 저장 문제점 scale → distributed 방식 쓰자 heterogeneity → 사용자 환경이 달라서 같은 content를 주기 어려우니 service option이 필요 해결책 : distributed 환경, application-level infrastructure Multimedia : video video : 접지 이미지를 빠르게 지나가게 하여 움직인다고 인식 digital ..

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter2.5 P2P applications

    Chapter02. Application Layer Peer-to-peer architecture client가 server가 되기도 한다 server가 항상 켜져 있을 필요 없다 Host가 직접 소통하기도 한다 (server를 안 거친다) peer는 요구 받기도 요구 하기도 한다 → 다운로드/업로드 모두 한다 self-scalability : 잘 작동하고 있다고 알려주고, peer가 많아져도 문제 없다고 말할 수 있는 징표, 새로운 peer가 새로운 service capaciry를 가지고 옴 peer은 간헐적으로 연결되며 IP 주소를 자꾼다 Ex. P2P 파일 공유, 스트리밍, VoIP P2P file distribution : BitTorrent 상업용 cloesed protocol file dist..

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter2.4 The Domain Name System

    Cahpter02. Application Layer DNS : Domain Name Server 많은 DNS server들의 계층 구조로 구현된 분산된 DB application layer protocol : host가 통신하여 이름을 확인 DNS service 목록 hostname ↔ IP 주소 변환 host aliasing(별칭) : canonical(실제이름) 따로 존재 mail server aliasing load distribution : 서버가 많을 때 골고루 서버 이름 부여, 중복 웹 서버의 경우 여러 IP 주소가 하나의 정식 호스트 이름과 연관 → DNS가 이 IP 주소 집합을 가짐 centralize가 아닌 이유 single point of failure이 있을 수 있어서 → 서버가 1대..

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter2.3 Email, SMTP, IMAP

    Chapter02. Application Layer E-mail 가장 먼저 개발된 인터넷 application이다 3개의 주요 component를 가진다 user agent : 브라우저를 이용해 email을 작성/편집/송신/수신 mail server SMTP : simple mail transfer protocol : 서버끼리 주고 받기 위해 user agent = mail reader 작성, 편집, 읽기, 보내기 Ex. outlook, iphone mail client 서버에 저장된 메일을 보내거나 받음 mail server mailbox는 사용자의 수신(들어온) 메세지 유지/소유 송신(보낼) 메세지의 message queue 운영 email message를 보내기 위해 SMTP protocol은 ma..

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter2.2 Web and HTTP

    Chapter02. Application Layer Web and HTTP Web page는 URL로 주소를 지정할 수 있는 여러 참조 object를 포함하는 기본 HTML 파일로 구성 HTTP overview hypertext transfer protocol 의 약자 web의 application layer protocol client/server model client : browser가 web object들을 requrest, receive, display server : web server가 request에 응답하여 object send HTTP는 TCP 이용 client는 server(port 80)에 대한 TCP 연결(소켓 생성) 시작 server는 client의 TCP 연결 수락 → cont..