[CN] 4장: IP: the Internet Protocol (Datagram Format, Addressing)
·
🖥️ Computer Science/Network
IP: the Internet Protocol (Datagram Format, Addressing)Datagram Format네트워크 계층 기능 & IP Datagram Format네트워크 계층 기능네트워크 계층은 비 신뢰적임경로선택 알고리즘라우팅 프로토콜 (RIP, OSPF, BGP)SDN 컨트롤러IP 프로토콜Datagram FormatAddressingPacket Handling RulesICMP 프로토콜상태 진단/디버깅패킷 손실의 위치를 찾음IP Datagram FormatIP 헤더는 20byteIP 단편화/재결합링크 계층마다 MTU가 달라서네트워크 계층에서 IP 데이터그램을 단편화(분할)함목적지 호스트에서 재결합하여 데이터그램을 합침단편화식별자원본 데이터그램 구분플래그 - 3bit첫 번째 비트 -..
[CN] 4장: What’s inside a router (input, output, buffer 관리, 스케줄링)
·
🖥️ Computer Science/Network
What’s inside a router (input, output, buffer 관리, 스케줄링)라우터 구조 개요일반 라우터 구조 개요입력 포트라인종단 + 링크 계층 프로토콜 + 데이터그램 큐잉스위치입력포트/출력포트 연결스위칭 속도: 입력 → 출력 속도 조절N개 입력포트 = 속도는 N * R메모리/공유버스/상호연결네트워크 종류 3가지출력 포트데이터그램 큐잉 + 링크 계층 프로토콜 + 라인종단입력 포트라인종단 - 물리계층링크 계층 프로토콜 - 링크 계층 (데이터 링크 처리)‘검색’, 전달, 큐잉 - 데이터그램이 분산되어 있음헤더필드의 값으로 출력 포트를 조회함입력링크에 들어온 속도로 출력 해주는 것이 목표입력포트 큐잉: 데이터그램이 스위치 구조로 전달되는 속도보다 빨리 도착하는 경우목적지 기반 포워딩: ..
[CN] 4장: Network Layer: Overview (데이터 평면, 제어 평면)
·
🖥️ Computer Science/Network
Network Layer: Overview (데이터 평면, 제어 평면)세그먼트를 송신 호스트 → 수신 호스트로 전달송신자: 세그먼트를 데이터그램으로 캡슐화 후, 링크 계층으로 전달수신자: 세그먼트를 수신하면 트랜스포트 계층 프로토콜로 전달네트워크 계층 프로토콜은 모든 호스트와 라우터에 존재함라우터통과하는 모든 IP 데이터그램의 헤더 필드를 검사함종단 간 경로를 따라 데이터그램 전송을 위해,데이터그램을 입력 링크에서 적절한 출력 링크로 전달네트워크 계층의 기능포워딩: 입력 포트에서 출력 포트로 패킷 이동라우팅: 출발지부터 목적지까지 패킷이 이동할 경로 결정라우팅 알고리즘을 통해 결정Data Plane | Control PlaneData Plane (데이터 평면)로컬, 라우터별 제어라우터의 입력 링크에 도착..
[CN] 3장: UDP (User Datagram Protocol)
·
🖥️ Computer Science/Network
UDP (User Datagram Protocol)💡 UDP는 다중화-역다중화, 오류체크 위 2가지말고 아무것도 지원안함또한, 비연결형이 특징임→ 송신자-수신자의 핸드쉐이킹 XUDP 특징간단함 → 송신자-수신자 상태 연결 없음버퍼, 파라미터 X작은 헤더 사이즈혼잡 제어가 없음 + 빠르게 전송네트워크 혼잡이 발생해도 동작함UDP 사용 사례스트리밍 서비스DNSHTTP 3.0신뢰성 있는 UDP가 되려면→ 앱 계층에 혼잡 제어 추가→ 앱 계층에 안정성 추가UDP 세그먼트 헤더 & 체크섬💡 체크섬의 목표: 전송된 세그먼트에서 반전된 비트를 감지한다.→ 패킷 손실과 다르게 데이터가 변형된 경우를 말함
[CN] 3장: 다중화 & 역다중화
·
🖥️ Computer Science/Network
다중화 & 역다중화다중화메세지 수집 및 분리해서 캡슐화 한 후,네트워크 계층으로 전달역 다중화헤더 정보를 확인하여수신된 메세지를 올바른 소켓에 전달UDP 역다중화수신 호스트가 UDP 세그먼트를 수신할 때,목적지 포트번호 확인 후 알맞은 소켓에 전달다른 호스트가 보냈더라도,목적지 포트번호만 같으면 동일 소켓으로 전달목적지 포트번호만 같으면출발지가 어떻든 잘 도착함TCP 역다중화출발지 IP주소출발지 포트번호도착지 IP주소도착지 포트번호위 4가지가 모두 일치해야 같은 소켓에 감서버는 동시에 많은 TCP 소켓 지원 가능목적지 IP주소, 포트번호는 같지만출발지 IP주소, 포트번호에 따라 소켓이 다르게 결정됨요약헤더 필드값(IP주소, 포트번호)을 읽어 목적지 소켓을 정하게 됨UDP = 목적지 포트번호만 사용TCP ..
[CN] 2장: CDNs
·
🖥️ Computer Science/Network
CDNsStreaming stored video: Client Buffer서버가 비디오를 보내면, 유저는 다음과 같이 보면 됨근데, 클라이언트-서버 간 대역폭은 네트워크 혼잡이 발생가능즉, 클라이언트 측의 버퍼가 필요함클라이언트 측 버퍼링 및 재생 지연을 위해네트워크 추가적인 지연과 지연 변이를 보상DASH 프로토콜비디오 품질이 좋을수록 더 높은 대역폭이 필요해서 만든 프로토콜클라이언트클라이언트-서버 간의 대역폭을 주기적으로 측정매니페스트 파일을 참조하여,비디오 조각을 요청함대역폭 상황에 따라 최대 품질 버전의 청크를 선택함서버비디오 파일을 여러 조각으로 분할각 조각은 여러 품질 버전으로 인코딩HD, FHD, 4K ..여러 품질 버전의 비디오 조각은 여러 서버에 저장됨매니페스트 파일: 여러 품질 버전의 ..
[CN] 2장: Peer-To-Peer Applications
·
🖥️ Computer Science/Network
Peer-To-Peer ApplicationsP2P 개요클라이언트가 송신, 제공 다 하는 역할 → 자기 확장성항상 동작하지 않고, 피어의 IP 주소는 바뀔 수 있음파일 분배: 클라이언트-서버 vs P2P한 서버에서 F크기의 파일을 N개의 피어로 배포하는데 걸리는 시간?클라이언트-서버: N이 증가함에 따라 선형적으로 시간 증가→ 서버가 N명한테 다 주는 방식서버 전송파일 1개: F/u파일 N개: N*F/u클라이언트최소분배시간: F/d(min)d(min) = 다운 로드가 가장 느린 클라이언트의 속도P2P: N이 증가해도, u(i)도 증가해서 효율적임서버 전송반드시 1개 파일,F/u 시간 걸림클라이언트최소분배시간: F/d(min)P2P 파일 분배: BitTorrent토렌트: 특정 파일 분배에 참여하는 피어의 ..
[CN] 2장: The Domain Name System, DNS
·
🖥️ Computer Science/Network
The Domain Name System, DNSDNS 개요1IP Address일반적인 IP 주소(IPv4)는 32비트,0~255 사이의 4개 숫자로 표시 됨IP 주소는 기억하기 어렵지만,google.com과 같은 호스트 이름은 기억하기 쉬움DNS (Domain Name System)DNS 서버들의 계층 구조로 구현된 분산 데이터베이스애플리케이션 계층 프로토콜로 구현된 핵심 인터넷 기능호스트가 분산 DB로 질의 허용UDP 상에서 수행되고, 포트번호는 53번사용자가 웹 서버의 호스트 이름을 입력하여, 웹 서버의 IP 주소를 얻는 절차유저 컴퓨터에 DNS 클라이언트가 계속 돌고있음URL로부터 호스트 이름을 DNS 클라이언트에 보냄DNS 클라이언트가 DNS 서버에 호스트 이름을 포함한 쿼리 보냄DNS 클라이언..
[CN] 2장: E-mail, SMTP, IMAP
·
🖥️ Computer Science/Network
E-mail, SMTP, IMAP전자메일 (E-mail)3개의 주요 구성요소사용자 에이전트메일 메세지 작성, 편집, 읽기메일 서버메일 큐에 메일 메세지들 담고 있음SMTP (Simple Mail Transfer Protocol)클라이언트: 보내는 메일 서버둘 다 서버를 갖고 있음서버: 받는 메일 서버메일 서버 간의 이메일 메세지 전송 규율SMTPTCP를 사용하여 이메일 메세지를 클라이언트에서 서버로 전송포트번호 25 사용3가지의 단계를 따름SMTP handshaking = 연결SMTP tansfer of message = 메세지 전송SMTP closure = 종료HTTP와 유사하게, 아스키 코드를 사용함응답 또한, 상태코드 사용SMTP 동작SMTP를 통해 엘리스 메일 서버에 도착메일 서버의 메세지 큐에 ..
[CN] 2장: Web and HTTP
·
🖥️ Computer Science/Network
Web and HTTP웹 Web객체들로 구성됨웹 페이지는 여러 참조 객체를 포함하는 base HTML 파일각 객체는 URL로 주소 지정 가능HTTP 개요Stateless, 과거에 대한 정보 XHTTP Message는 Request | Response 2가지 종류ASCII 코드 형식이다.포트번호 80 사용HTTP 1.0 (비지속 연결)클라이언트가 TCP 연결 요청서버가 TCP 연결 승인클라이언트가 메세지 요청서버가 메세지 응답HTTP 서버 닫음클라이언트가 응답 받고 데이터 얻음비 지속 연결의 경우, 총 10개의 이미지면 11번의 연결과 해제가 필요함RTT (Round - Trip - Time)서버한테 패킷을 보내고 돌아오는 시간비 지속 연결의 경우HTTP 응답시간 = 2RTT + 파일전송시간HTTP 1.1..