[네트워크] #5 성능 (손실, 지연, 처리량)
·
전공/네트워크
목차 손실 지연 및 발생 원인 패킷 지연의 4가지 요소 패킷 손실 End-to-End Delay Throughput 1. 손실 및 지연 발생 원인 라우터 버퍼의 패킷 대기열 - (일시적으로) 링크에 대한 패킷 도달률이 출력 링크 용량을 초과함 - 대기열의 패킷이 차례를 기다림 2. 패킷 지연의 네 가지 요소 Total nodal delay (\(d_{nodal}\)) \(d_{proc}\): 노드 처리 지연(nodal porcessing delay) 비트 에러 체크 출력 링크 결정 일반적으로 밀리초보다 작음 \(d_{queue}\): 대기열 지연(queuing delay) 전송을 위해 출력 링크에서 대기하는 시간 라우터의 혼잡 수준에 따라 달라짐 \(d_{trans}\): 전송 지연(transmissio..
[네트워크] #4 네트워크 코어 (패킷/서킷 스위칭, 인터넷 구조)
·
전공/네트워크
목차 네트워크 코어 패킷 스위칭 서킷 스위칭 패킷 스위칭 vs. 서킷 스위칭 네트워크 망 1. 네트워크 코어 2. Packet-Switching 네트워크 애플리케이션에서, 종단 시스템들은 서로 메시지를 교환 메시지에는 응용프로그램 설계자가 원하는 모든 내용 포함 가능 호스트가 긴 메시지를 패킷이라고 하는 작은 데이터 덩어리로 분할 각각의 패킷은 통신 링크 및 패킷 스위치(즉, 라우터 및 링크 계층 스위치)를 통해 이동 패킷은 각 통신 링크를 통해 링크 전체 전송 속도와 동일한 속도로 전송 소스 엔드 시스템 또는 패킷 스위치가 전송 속도가 R비트/초인 링크를 통해 L비트의 패킷을 전송하는 경우 패킷 교환 지연 = L비트 패킷을 링크로 전송하는 데 필요한 시간 = L(bits) / R(bits/sec) St..
[네트워크] #3 네트워크 엣지 (hosts, access net, physical media)
·
전공/네트워크
목차 네트워크 용어 액세스 넷 물리 매체 1. 네트워크 용어 호스트 - 클라이언트 및 서버, 연결된 수십억 개의 컴퓨팅 장치 통신 링크 - 케이블, 전파, 위성 등 패킷 스위치 - 패킷 전달, 라우터와 스위치 등을 통해 이루어짐 인터넷 - 네트워크, 연결된 ISP(Internet service provider)들을 말함 프로토콜 - 형식, 네트워크 엔티티 사이에서 주고받는 메세지의 순서, 전송, 수신에 대한 지침을 정의, TCP, IP, HTTP 등이 있음 인터넷 표준 - Internet Engineering Task Force (IETP)에서 Request for comment (RFC)라는 표준 문서들을 개발함 Network edge(종단 시스템) - 호스트 액세스 네트워크 -홈, 엔터프라이즈, 모바..
[네트워크] #2 OSI 7계층 정리
·
전공/네트워크
OSI 7계층 1계층: 물리 계층 상위 계층에서 전송된 데이터를 물리매체를 통해 다른 시스템에 전기적 신호로 전송함 LAN 카드, 캐이블, 허브, 라우터 등 물리적인 것과 데이터 전송에 사용하는 전압 등 물리 계층 관련 장비 리피터 네트워크를 연장하기 위한 장비 불분명해진 신호 세기를 다시 증가시키는 역할 최근에는 리피터가 모든 네트워크 장비에 공통으로 들어가는 기능이 됨 허브 요즘 쓰이는 스위치의 예전 형태 허브는 스위치와 형태나 사용 방법이 같지만 패킷을 모든 곳에 똑같이 복사해서 보내는 것이 다름(스위치는 목적지에만 데이터를 전송) 2계층: 데이터 링크 계층 물리적 링크를 이용하여 신뢰성 있는 데이터를 전송하는 계층 비트를 프레임이라는 논리적 단위로 구성 네트워크 계층에서 받은 데이터 단위(패킷)를..
[네트워크] #1 네트워크 정리
·
전공/네트워크
목차 네트워크 통신 방식 프로토콜 네트워크 계층 구조 OSI 7계층 vs. TCP/IP 4계층 네트워크 장비 1. 네트워크 통신설비들로 두 대 이상의 컴퓨터를 서로 연결한 것 근거리통신 (LAN, Local Area Network) 한 건물이나 학교 내 캠퍼스 처럼 비교적 가까운 지역에 한정된 통신망 컴퓨터 뿐만 아니라 가까운 거리에 있는 기타 네트워크 장비들 연결 가능 광역통신 (WAN, Wide Area Network) 수백에서 수천 km 이상의 매우 범위가 넓은 네트워크 ex) 인터넷 서버: 다른 컴퓨터에서 데이터 전송 서비스를 제공하는 컴퓨터 클라이언트: 서버에서 보내주는 데이터 서비스를 수신하는 컴퓨터 2. 통신 방식 유니캐스트 서버와 클라이언트 간의 일대일 통신 방식 자신의 MAC(Media ..
[42서울] 2023-2 라피신 후기
·
대외활동/42서울
2-1학기를 마치고 방학 중 7~8월 한 달 동안 참여했던 42서울 라피신에 대해 후기를 남겨보려 합니다. 42서울? 라피신? 42(Ecole 42)는 프랑스에서 설립된 교육기관으로서 교수, 교재 학비가 없는 교육을 진행합니다. 42는 전 세계적으로 역량을 인정받아 세계 각국으로 캠퍼스를 확장했고, 한국에는 42서울이라는 형태로 들어오게 되었습니다. 라피신은 42서울 본과정 전에 참여자들을 한 달간 본과정의 교육방식에 맞춰 적응시키는 집중교육 과정입니다. 이 기간에는 42서울의 공부 방식대로 공부를 하게 되며, 라피신이 끝난 후에는 지원자들을 종합 평가하여 본 과정에 선발합니다. 자세한 내용은 본문 아래쪽이나 홈페이지를 참고하세요. https://42seoul.kr/seoul42/main/view 42 ..
[백준][Java] 15650번 - N과 M (2)
·
백준/Java
https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 재귀함수를 사용하여 수열을 생성하고, 수열의 길이가 m이 되었을 때 출력 재귀함수의 깊이는 M이 됨 함수의 깊이 = M(m = 0)이면, 만들어 놓은 수열 출력 함수의 깊이 0)이면, 다음 깊이의 함수를 호출할 때 새로운 수열을 전달함 (새로운 수열 = 이번 함수에서 인자로 받은 수열 + 수열에 새로운 숫자 추가) k - 조합을 생성하기 위한 시작 수 n - 범위의 최대 수 ..
[백준][C++] 18111번 - 마인크래프트
·
백준/C++
https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 풀이 모든 땅의 높이만 같으면 되므로 N*M 크기의 땅을 선형변환 -> a[N*M] 모든 땅의 높이 중 최고 높이과 최저 높이 사이의 값이 땅을 고르는 높이가 될 수 있음 땅을 고르게 될 높이별로 땅을 고르는 시간 측정 -> 최솟 값 저장 이때 고르는 작업에 의한 인벤토리의 블록 개수 측정 -> 음수라면 불가능한 작업이므로 시간 측정 배제 -> 이때 작은 수에서 큰 수로 땅의 높이를 증가하면서 ..
[Swift] 스위프트 기본 문법 4 (조건문, 반복문)
·
프로그래밍 언어/Swift
조건문 if-else switch 반복문 for-in while repeat-while 1. 조건문 if-else 문 if condition { code } else if condition { code } else { code } 조건문의 condition에는 항상 Bool 타입을 사용 switch 문 switch value { case pattern: code case pattern: code default: code } 가능한 모든 case가 명시되어 있지 않은 경우, default 문을 포함시켜야 한다. case 문이 끝나면 자동으로 break가 적용 break 기능을 원하지 않다면 fallthrough를 사용 범위연산자 1..
[Swift] 스위프트 기본 문법 3 (함수)
·
프로그래밍 언어/Swift
함수 선언 함수 호출 매개변수 기본 값 전달인자 레이블 가변 매개변수 함수의 타입 표현 1. 함수 선언 func 함수이름 (매개변수1: 타입, 매개변수2: 타입, ...) -> 반환타입 { 함수 구현부 return 반환값 } func sum(a: Int, b: Int) -> Int { return a + b } 반환 값이 없다면 -> Void -> Void와 return 생략 가능 2. 함수 호출 sum(a: 3, b: 5) 매개변수가 없다면 괄호() 안쪽을 비워놓으면 된다. 3. 매개변수 기본 값 func 함수이름 (매개변수1: 타입, 매개변수2: 타입 = 매개변수 기본 값, ...) -> 반환타입 { 함수 구현부 return 반환값 } func sum(a: Int, b: Int = 0) { print..