목록네트워크 (12)
혼자 정리
(Computer Networking a top-down Approach 책의 내용입니다) 3.4 Principles of Reliable Data Transfer 이번 절에서의 가정 패킷 전달 순서가 바뀔 일은 없음 단방향 데이터 전송(unidirectional data transfer) 만 고려 양방향 데이터 전송(bidirectional data transfer) 은 개념적으로는 비슷하지만 more tedious to explain 단방향 데이터 전송에서도 제어 패킷은 서로 주고 받음 FSM으로 설명 3.4.1 Building a Reliable Data Transfer Protocol 완벽하게 신뢰 가능한 채널 상에서의 신뢰적 데이터 전송 비트 에러 x 패킷 손실 x 보내는 쪽이나 받는 쪽이나 특..
(Computer Networking a top-down Approach 책의 내용입니다) UDP가 IP에 더해서 하는 일은 multiplexing/demultiplexing, 에러 체크 두 가지뿐 UDP는 connectionless DNS가 UDP를 사용하는 프로토콜의 예시 UDP가 TCP보다 유리한 점 RTT delay를 더할 수 있는 커넥션 수립이 없음 커넥션 state가 없음(TCP의 신뢰적인 데이터 전송, 혼잡 제어에 사용됨) 더 작은 헤더 사이즈 혼잡 제어가 없음(빠르게 제한 없이 데이터를 보낼 수 있음) UDP가 사용되는 곳 멀티미디어 스트리밍 애플리케이션 (손실 감내 가능하고 속도에 민감한 서비스) DNS SNMP HTTP/3 HTTP/3와 같이 UDP에서 신뢰적인 데이터 전송이 필요하면 ..
(Computer Networking a top-down Approach 책의 내용입니다) 프로세스는 한 개 이상의 소켓을 가질 수 있음 네트워크는 이를 통해 프로세스와 데이터를 주고 받음 모든 소켓은 유일한 식별자를 가짐 식별자 포맷은 UDP인지 TCP인지에 따라 조금 다르다 수신 측 트랜스포트 계층은 메시지를 전달해야 하는 수신 소켓을 식별하기 위해 segment의 필드를 확인함 트랜스포트 계층 segment 데이터를 적절한 소켓으로 전달하는 작업을 역다중화(demultiplexing) 라고 함 송신 측 트랜스포트 계층은 소켓에서 데이터를 모아 각 chunk에 헤더 정보(역다중화에 사용됨)를 붙여서 캡슐화하고 네트워크 계층올 전달 다중화(multiplexing) 라고 함 각 segment는 출발지 포..
(Computer Networking a top-down Approach 책의 내용입니다) 트랜스포트 계층은 서로 다른 호스트의 애플리케이션 프로세스 사이에 논리적 통신(logical communication) 을 제공한다. 트랜스포트 계층 프로토콜은 end system에만 존재하고 네트워크 라우터에는 존재하지 않음 관련된 데이터 흐름 : 송신 측의 트랜스포트 계층은 애플리케이션 계층 메시지를 받아서 chunk로 조각낸 다음, 트랜스포트 계층 헤더를 각 chunk에 붙여서 트랜스포트 계층 segment로 만든다. 트랜스포트 계층은 네트워크 계층으로 segment를 전달 네트워크 계층에서는 이를 캡슐화해서 목적지로 전달 (라우터는 데이터그램의 네트워크 계층 필드에 대해서만 동작함) 송신 측의 네트워크 계층..
(Computer Networking a top-down Approach 책의 내용입니다) 비디오 매체의 특징 이미지의 연속 압축되지 않은 디지털 인코딩된 이미지는 픽셀의 배열로 구성. 각 픽셀은 luminance와 색상을 나타내는 비트들로 인코딩됨. 압축될 수 있다는 특징 비디오 퀄리티를 bit rate에 맞출 수 있음 높은 bit rate typically 100 kbps for low-quality video to over 4 Mbps for streaming high-definition movies end-to-end throughput이 비디오 스트리밍 성능 측정에 충요한 요소 끊김없는 영상을 제공하려면 최소한 압축된 영상의 bit rate 이상의 평균 throughput을 제공해야 함 여러 버..
(Computer Networking a top-down Approach 책의 내용입니다) 항상 on인 서버가 필수 x 임의의 end system간의 통신 다른 피어에게 서비스를 요청하기도 하고, 다른 피어에게 대가로 서비스를 제공하기도 함 self scalability : 새 피어의 추가는 서비스 capacity를 증가시키고 서비스 demands를 증가시킴 피어끼리 간헐적으로 연결되고 IP 주소도 바뀔 수 있음 -> 관리의 어려움 examples : P2P file sharing (BitTorrent) Streaming (KanKan) VoIP (Skype) Clinet-Server vs. P2P 가정 파일 크기 : $F$ 서버의 업로드 속도 : $u_{s}$ 클라이언트의 업로드 속도/다운로드 속도 :..
(Computer Networking a top-down Approach 7th 내용입니다) Domain Name System distributed database implemented in hierarchy of many name servers 애플리케이션 계층 프로토콜 : 호스트, DNS 서버들이 name을 resolve하기 위해 통신 애플리케이션 계층 프로토콜로 구현된 코어 인터넷 기능 네트워크 가장자리의 complexityDNS services hostname-to-IP-address translation host aliasing canonical names(정식 네임), alias names mail server aliasing load distribution 분산, 계층 구조 Root / To..
(Computer Networking a top-down Approach 7th 내용입니다) 2.3 인터넷 전자메일 구성 요소 유저 에이전트 메일 서버 SMTP : Simple Mail Transfer Protocol유저 에이전트 mail reader 메일 메시지 구성, 편집, 읽기 등을 담당 ex) Outlook, 아이폰 메일 클라이언트메일 서버 mailbox : 유저에게 들어오는 메일을 보관 message queue : 보낼 메일들을 대기시키는 큐SMTP 프로토콜 메일 서버 사이에 메일 메시지를 주고받는 프로토콜 클라이언트 : 메일을 보내는 메일 서버 서버 : 메일을 받는 메일 서버 SMTP RFC (5321) TCP 사용 (port 25) Three phases of transfer SMTP Han..
(Computer Networking a top-down Approach 7th 내용입니다) HTTP 개요 HTTP: HyperText Transfer Protocol 웹의 애플리케이션 계층 프로토콜 클라이언트/서버 모델 : 클라이언트 : 웹 객체를 요청하고 받아서 보여주는 주체 서버 : 요청에 맞게 웹 객체를 보내주는 주체TCP 사용 클라이언트가 서버에 TCP 커넥션을 init 서버가 TCP 커넥션을 수락 둘 사이에 HTTP 메시지(애플리케이션 계층 프로토콜 메시지)를 교환 TCP 커넥션 closedStateless 기본적으로 서버는 클라이언트의 지난 요청에 대한 정보를 유지하지 않는다 Non-persistent HTTP / Persistent HTTP Non-persistent HTTP TCP 커넥션..
(Computer Networking a top-down Approach 7th 내용입니다) 네트워크 앱의 특성 (서로 다른) End system 위에서 동작 & 네트워크를 통해 통신 ex) 브라우저, 웹 서버 프로그램 네트워크 코어 장치에서 동작하는 프로그램이 아님 네트워크 애플리케이션 아키텍쳐 '네트워크 아키텍쳐'와 헷갈리지 않게 주의 네트워크 5 layer 네트워크 애플리케이션 개발자 입장에서 '네트워크 아키텍쳐'는 고정되어 있고 '네트워크 애플리케이션 아키텍쳐'를 설계(or 선택)할 수 있음.클라이언트-서버 아키텍쳐 서버 항상 켜져 있는 호스트 클라이언트의 요청을 핸들링 클라이언트 서버에게 요청 특징 : 클라이언트끼리 직접적으로 통신하지 않음 서버는 고정 IP 주소를 가짐 (well-known) ..