728x90
반응형

CS 67

3-4-3 TCP Flow control & Connection Management

TCP 3. Flow Control TCP layer는 data만 추출하여 TCP socket receiver buffer에 저장 application process는 그 buffer 에서 데이터를 읽음 flow control은 sender가 너무 많이 보내서 이 buffer에 넘치도록 하는 것을 방지하는 것 receive buffer size는 OS가 지정 보통 4096을 할당 대부분의 OS는 RcvBuffer를 auto-adjust할 수도 있음 rwnd : receive window in TCP header free buffer space sender는 unacked된, 즉 inflight data의 양이 receiver의 rwnd 값을 넘지 않도록 조절 계산식 : RcvBuffer - buffere..

CS/Network 2021.12.03

Reliable data transfer - TCP

Mechanism of reliable data transfer reliable transfer를 위해 ack. mechanism 사용이 반드시 필요한데, 이러한 ack. mechanism 사용을 위해서는 sequence number 사용이 필요하고, ack. mechanism을 사용하면서 bandwidth 활용을 높이기 위해서는 window를 활용한 pipelining 을 해야 한다. checksum detect bit error acknowledgement (ACK) 잘 받았다고 sender에게 알림 sender는 다음 segment를 보내면 됨 방식 individual : receiver가 받은 각 packet에 대해서 ack를 일일이 보냄 cumulative : n번까지 라고 퉁쳐서 ack 하나 ..

CS/Network 2021.10.16

Connectionless Transport : UDP (checksum)

UDP: User Datagram Protocol UDP에 의해 배송하면 loss 나 out of date 발생 가능 streaming multimedia를 다뤄서 loss 문제는 상관 없음 rate에 민감하여 일정하게 보낼 수 있음 handshaking 없음 각 UDP segment는 독립적으로 다뤄짐 UDP use 1 time transaction oriented application, ( 한 번 하고 끝인 경우 ) multimedia streaming이 필요한 application, (비디오 스트리밍) 혹은 periodic message exchange를 (주기적으로 하는 경우) 사용하는 application들은 주로 UDP를 사용 1. streaming multimedia apps (비디오 스트리..

CS/Network 2021.10.16

Transport Layer - MUX, DeMUX

Transport Services and Protocols transport 계층에서 만드는 data unit의 이름 - segment 서로 다른 host에서 실행되는 app process 간 logical communication을 제공 send 측 : 앱에서 내려보낸 메시지를 부숴 network layer로 보냄 받는 측: 메시지를 다시 모아서 app layer로 보냄 Transport vs Network layer network layer host 간 logical communication을 제공 transport layer network layer 기능에 의존하여 process 간 logical communication을 제공 앤의 집에 12명이 빌의 집의 12명에게 편지를 보낸다면, host =..

CS/Network 2021.10.16

Socket programming with UDP, TCP

Socket programming socket : application layer 와 transport 레이어의 통과문 같은 역할 각 end-system마다 부착 application layer는 개발자가, 나머지는 OS가 통제 목표 : socket을 이용한 클라이언트/서버 통신 application을 위해 application 프로그램 동작 방식 클라이언트가 키보드로부터 한 줄의 코드를 읽어서 서버에게 전송 서버는 그것을 모두 대문자로 바꾸고 수정하여 클라이언로 전송 클라이언트가 수정된 정보를 화면에 띄움 Socket types for two transport services UDP와 TCP 모두 client socket을 만들때는 port 번호를 프로그램 상에서 지정하지 않는다. OS가 해준다. UD..

CS/Network 2021.10.16

Video Streaming and CDNs (Content Distribution Networks)

!! 정리 이 둘이 모두 발생 DASH : 클라이언트의 현재 상황에 맞추어 streaming하는 방법 CDN : 지역 별로 비디오를 빠르게 찾을 수 있도록 하기 video가 인터넷 대역폭에서 가장 많이 차지 youtube는 1B, netflix는 75M 1B의 유저를 지원을 어떻게 해… scale 문제 제각각인 유저들 wired이냐 모바일이냐 대역폭이 넉넉치 못한 사람들이 비디오 스트리밍을 원한다면 대역폭이 왔다갔다 하는 사람들은 Video 비디오는 단위 시간당 일정 개수의 이미지를 보내는 것 이 디지털 이미지는 픽셀들의 배열. 픽셀을 비트로 표현 즉, 단위 시간 당 일정 개수의 비트가 전달되어야 함 이미지 간 또는 내부의 중복을 사용하여 bit 수 줄이기 spatial coding within imag..

CS/Network 2021.10.16

P2P

이전처럼 server-client 구조가 아님 Pure P2P 구조 서버가 항상 켜져 있지 않음 end system == peer 간 직접 통신 peer는 간헐적으로 네트워크에 연결되고 IP 주소가 시시각각 바뀜 ex File Distribution : client-server VS P2P 질문 : 하나의 서버로 n명에게 F 크기의 파일 보내기 File Distribution : client-server 서버가 각 사용자에게 차례대로 전송 한 개를 전송하는 데 걸린 시간 = F/us n 개라면 N*(F/us) (N에 따라 linear하게 증가) dmin이 클라이언트의 다운로드 속도라면 클라이언트가 다운받는데 걸린 시간 = F/dmin (상수) 서버가 업로드하고 클라이언트가 다운로드하는 것은 병렬적으로 할..

CS/Network 2021.10.15

DNS

DNS domain name system Internet host와 router를 식별하기 위한 식별자 사람이 IP 주소로 식별하기엔 어려워서 도메인 주소 체계가 만들어짐 32 BIT Distributed Database를 이용 많은 name server의 계층 구조로 구현된 분산 데이터 베이스 Application-layer의 protocol로 구현됨 host, name server는 이름을 확인하기 위해 application layer에서 구현된 기능을 사용 모든 network application에 의해 사용되는 application 계층 protocol DNS가 제공하는 기능 host aliasing 별명과 실제 이름을 맵핑해줌 ( hostname to IP address translation )..

CS/Network 2021.10.15

Electronic Mail

Electronic mail 주요 요소 user agent : 메일을 작성 mail server : mailbox : 받은 메일함 message queue : 보낸 메일함 SMTP : simple mail transfer protocol mail server 간 메시지를 주고받는 데 필요한 프로토콜 이 때의 client와 server는 모두 mail server. 대신 client == sending mail server server == receiving mail server SMTP TCP를 이용 하나의 TCP connection을 유지하며 내용 전송 (persistent network) 포트번호 25 직접 전송 : sending server to receiving server SMTP의 서버와 클라..

CS/Network 2021.10.15
728x90
반응형