목록CS (41)
센로그
※ 참고 포스팅 https://grace7040.tistory.com/34 Chapter 23. TRANSPORT LAYER : UDP AND TCP ◆ Process-to-Process Delivery 데이터 링크 계층은 node-to-node (hop-to-hop) 네트워크 계층은 host-to-host 전송 계층은? process-to-process 서버-클라이언트 의 관계를 갖고 있음. (서버-클라이언트 프로세스는 서로 grace7040.tistory.com ◆ Socket 소켓은 L3과 L4 사이의 커뮤니케이션 인터페이스이다. API. 어플리케이션은 소켓을 열고, 소켓에 정보를 주어서 상대 어플리케이션까지 가고.. 하면서 통신함. 소켓을 사용한 프로그램들은 bidirectional을 지원한다. ..
◆ [L4] Transport 계층 에러 검출 및 복구, 흐름 제어, 혼잡 제어 process-to-process 통신 이제 메세지는 L3을 거쳐 내 컴퓨터 안에 들어왔다. 그럼, 컴퓨터 위에서 실행중인 많은 프로세스들 중에 어느 프로세스로 보내야 할지를 결정해야 할 것임. → L4에서 port 번호를 통해 process를 식별하도록 한다. (L3은 ip주소를 통해 host를 식별했고, L2는 MAC주소를 통해 node를 식별했다.) 포트는 운영체제 위에 올라온 여러 프로그램과 운영체제 사이의 연결 구멍으로, 포트 번호를 통해 어떤 프로세스를 유일하게 식별할 수 있다. 포트 번호는 0~65,535까지 존재하는 16비트 정수이다. - 0~1,02..
※ 참고 포스팅 https://grace7040.tistory.com/17 Chapter 12. MULTIPLE ACCESS ◆ Data Link - Sublayer 데이터 링크 계층의 두 부계층(sublayer) ㆍDLC(Data Link Control sublayer) 흐름 및 오류를 제어하는 부분 ㆍMAC(Media Access Control sublayer) : 실제 매체에 접근하는 부분 Chapter 10~11까지 DLC에 grace7040.tistory.com ◆ 통신을 위한 기본 용어 Sender(Transmitter) : 수신자 컴퓨터 Receiver : 송신자 컴퓨터 Medium : (유/무선) 통신 매체 Message(Packet) : 매체를 통해 주고받는 내용물 Protocol : 서..
◆ 규모에 따른 네트워크 분류 각각의 요구사항이 다르기 때문에 각 네트워크를 설명한 것 LAN: 건물을 구성하는 정도의 규모인 네트워크. 보통 유/무선을 통칭해서 LAN이라 이름. 경희대학교 국제캠퍼스. 이런거 다 LAN. 일반적으로 소유주가 같은 경우의 네트워크 MAN: LAN들을 연결한 네트워크 대표적으로 이동통신. WAN: 떨어져있는 두 네트워크의 거리가 굉장히 멀 때, 이를 선으로 연결하는 경우. (이때 선은 논리적인 선) 초고속 통신 ◆ 컴퓨터 네트워크의 가장 중요한 원칙 우편 서비스의 계층관계를 상상해보자. 우편 송수신은 크게 3가지 단계로 나눌 수 있다. 3: Listen/talk 2: Write/read 1: Send/receive 이때 상하 레이어끼리는 내부적으로 상관 관계가 없다! → ..
정렬 문제의 계산 복잡도는 O(n lg n)이라는 걸 7장에서 증명했었다. 이번에는 검색 문제에 대해서 알아보자! ◆ 키를 비교함으로만 검색을 수행하는 경우의 하한 검색 문제란, n개의 키를 가진 배열 S와 어떤 키 x가 주어졌을 때, x = S[i]가 되는 인덱스 i를 찾는 것. 만약 x가 배열 S에 없을 때는 오류(F)로 처리한다. 이분 검색의 경우, 시간복잡도가 W(n) = floor(lg n) + 1이 되는데, (floor은 바닥 함수를 의미함) 정렬되어있을 때 키를 비교함으로만 검색을 수행하는 경우 이분 검색보다 더 좋은 알고리즘은 없다! 이진 검색과 순차 검색의 결정 트리를 비교하면서 이를 살펴보자. ■ 이진 검색의 결정 트리. 큰 마디(내부마디) – 키와 각 아이템을 비교하는 마디 작은마디(..
◆ 계산 복잡도 문제가 갖고있는 본연의 계산량. 최소한 얼마나 많은 계산을 해야 그 문제가 풀리는지 문제풀이 접근하는 2가지 방법 (1) 문제를 푸는 더 효율적인 알고리즘을 개발 (2) 더 효율적인 알고리즘 개발이 불가능함을 증명 (예) 정렬문제인 경우 Θ(n log n) 보다 좋은 알고리즘은 불가능함이 입증 되었음. 일반적으로 “계산 복잡도 분석”이란 “문제의 분석”을 지칭 (not "알고리즘의 분석") 어떤 문제에 대해서 그 문제를 풀 수 있는 모든 알고리즘의 효율의 하한(lower-bound)을 결정한다. (최소한 이것보다는 오래걸리거나 비슷하게 걸린다.) ex) 예를들어 행렬 곱셈 문제를 보자. - 알고리즘의 분석 ✓ 일반알고리즘: Θ(n³) ✓ Strassen의 알고리즘: Θ(n^2.81) ✓ ..