반응형

Software Courses 113

Transport : Segment의 크기

본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다. Segment의 크기 - Segment의 크기는 크면 좋다. 왜냐하면, header가 TCP의 40byte이므로 데이터가 크면 overhead가 적기 때문이다. - 200byte를 보낼 때, 2개로 (40 + 100)byte, (40 + 100)byte 나누어 보내는 것보다 (40 + 200)byte로 보내는 것이 낫다. 1) Sender 측면에서 segement 크기 조절 - Nagle's algorithm * TCP/IP에서 사용 * 네트워크 상황과 application에서 보내는 속도를 고려..

Transport : TCP

본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다. TCP 개요 - Point to Point : TCP 연결에서 양쪽의 TCP가 한쌍을 이룬다. - Reliable , in-order byte stream : 신뢰성과 순서를 유지하는 전송 - Pipelined : 메시지를 한 번에 여러 개 보내고 받을 수 있는 통신. 하나 보내고 응답 받고 다른 거 보내는 방식이 아니다. - Full-duplex data : TCP 연결에서 양쪽의 TCP는 receiver와 sender의 역할을 모두 수행 - Connection-oriented - Flow co..

Transport : RDT (Reliable Data Transfer)

본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다. 들어가기 전에 대전에서 독일 뮌헨으로 데이터를 보낸다고 하자. 본인이 대전에서 메시지를 보내면 수 많은 라우터를 지나갈 것 입니다. 아마도 서울을 지나 도쿄, LA, NW, 베를린 등을 거칠 것 입니다. 그렇다면, 전송 중에 데이터에 문제가 발생하지 않을까요? 발생할 것입니다. 이전에 배운 TCP에서는 신뢰성 특성이 있었습니다. 어떻게 신뢰성을 보장할까요? 이 how에 대한 방법을 여기서 배우겠습니다. TCP는 너무 복잡하니 RDT로 설명하겠습니다. RDT는 실제로 사용하지 않지만, 신뢰성을 보장..

Transport : UDP

본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다. Header - 데이터 블록의 맨앞에 위치한 보충 데이터 - Header의 종류는 header가 생성된 프로토콜의 기능을 나타냄 UDP segment header - source port number : multiplexing과 demultiplexing을 위해서 존재 - dest port number : multiplexing과 demultiplexing을 위해서 존재 - length : segment의 길이 - checksum : 전송 중 오류 여부 - header로 알 수 있는 UDP의 기능..

Transport : Multiplexing, Demultiplexing

본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다. Multiplexing, Demultiplexing - Multiplexing : 여러 socket에서 데이터를 모아서 보내는 일 - Demultiplexing : 수신된 세그먼트에서 header를 참조하여 각각의 socket으로 보내주는 일 - TCP와 UDP에서 용어는 같지만 다른 과정이 수행 UDP Multiplexing, Demultiplexing - 한 개의 소켓에 여러 소켓이 연결 가능 1:N 관계 - Port 번호만 보고 데이터 전송 - Port 번호에 따라 고유한 socket이 존재..

Application : Socket programming

본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다. Socket - 두 프로그램이 네트워크를 통해 서로 통신을 수행할 수 있도록 양쪽에 생성되는 인터페이스 - 주로 TCP 기반 소켓과 UDP 기반 소켓을 사용 동작 - Server의 socket() : 소켓을 생성 - Server의 bind() : 생성된 소켓에 IP address와 port 번호를 묶음 - Server의 listen() : 서버는 클라이언트에서 연결 요청이 올 때까지 대기 - Server의 accept() : 미결정 큐에 있던 연결 요청을 꺼내서 연결 생성 - Server의 sen..

Application : DNS

본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다. DNS - Domain Name System - Domain Name : 넓은 의미로는 네트워크상에서 컴퓨터를 식별하는 호스트 이름을 가리키며, 좁은 의미에서는 도메인 레지스트리에게서 등록된 이름을 의미 - 역할 : Domain Name과 IP 주소를 연결. 마치 전화번호부에서 이름으로 전화번호를 찾는 것과 동일 - 예시 * Name : Domain name * Value : IP address * Type : 어떻게 기록할 것인지 (밑에서 설명) * TTL : 만료 기간을 기록하여 만료가 끝나면..

Application : Proxy server

본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다. Proxy server - Proxy : server와 client 사이에 중계하는 대리 통신 - Proxy server : 대리 통신을 하는 컴퓨터 시스템이나 응용 프로그램 - Proxy server는 proxy server에 요청된 내용들을 캐시를 이용해서 저장 - Client에게 빠른 데이터 전송 가능 - Server에 몰리는 트래픽 감소 Proxy server가 필요한 이유 - 저렴한 비용으로 속도 개선 - 문제 상황 : 사용자가 브라우저를 클릭해서 요청을 보내고 응답을 받는 시간이 오래 ..

Application : HTTP

본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다. HTTP (Hyper Text Transfer Protocol) - 인터넷에서 데이터를 주고 받을 수 있는 프로토콜 - Hyper Text : 사용자가 한 문서에서 다른 문서로 접근할 수 있는 텍스트 - TCP 기반 * TCP connection 생성 - Stateless * 서버는 이전 clients의 요청에 대한 정보를 기록하지 않음 * 단지 요청이 오면 보내기만 함 - 동작 * 간단한 동작 * Client는 Hyper Text를 요청 * Server는 Hyper Text를 보냄 HTTP co..

Application layer : 개요

본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다. Application layer - Application이라고 하면, 흔히 사용하는 프로그램, 프로세스, 소프트웨어 등 - 예시 : 브라우저 소프트웨어와 웹 서버 소프트웨어 통신 통신 - 네트워크에서 서로 다른 프로세스들이 다른 호스트 안에서 서로 통신해야 하기 때문에 상대 호스트의 IP주소와 port를 알아야 함 - IP 주소 : 어떤 호스트(컴퓨터) 인지 아는 주소 - Port : 호스트(컴퓨터) 안에서 어떤 프로세스 인지 아는 주소

반응형