전체보기
[Network] 하향식 접근 네트워크 - 6. Mobile Networks
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. 이 글에서는 다음과 같은 내용들을 살펴본다. wireless basics multiple access protocol CSMA/CA CDMA mobility - indirect routing wireless vs mobile 둘은 비슷하지만 엄밀하게는 다르다. wireless는 link가 wireless하게 연결된 경우를 말하고, mobile은 사용자가 움직이는 것을 의미한다. Wireless Basics Wireless Network Element wireless network는 아래 3개의 ..
[Network] 하향식 접근 네트워크 - 5. Link Layer
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. link layer에서는 다음과 같은 내용들을 살펴본다. MAC addressing ARP web request senario MAC address network layer에 있는 IP까지는 32bit의 IP address를 사용해 destination을 표현했고, 이 정보를 사용해 forwarding table에 정보를 작성했다. network layer 아래에 있는 link layer는 datagram을 frame으로 encapsulate한다. internet의 경우 MAC layer가 en..
[Network] 하향식 접근 네트워크 - 4. Network Layer - (6) Broadcast, Multicast
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. network layer principles virtual circuit, datagram network router의 내부 IP datagram format IPv4 addressing ICMP IPv6 routing algorithm link state distance vector hierarchical routing routing in the internet RIP OSPF BGP broadcast, multicast broadcast와 multicast는 간단하게 개념만 짚고 넘어간다. ..
[Network] 하향식 접근 네트워크 - 4. Network Layer - (5) Routing in the Internet
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. network layer에서는 다음과 같은 내용들을 살펴본다. network layer principles virtual circuit, datagram network router의 내부 IP datagram format IPv4 addressing ICMP IPv6 routing algorithm link state distance vector hierarchical routing routing in the internet RIP OSPF BGP broadcast, multicast 지난 포스..
[Network] 하향식 접근 네트워크 - 4. Network Layer - (4) Routing Protocol
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. network layer에서는 다음과 같은 내용들을 살펴본다. network layer principles virtual circuit, datagram network router의 내부 IP datagram format IPv4 addressing ICMP IPv6 routing algorithm link state distance vector hierarchical routing routing in the internet RIP OSPF BGP broadcast, multicast Routi..
[Network] 하향식 접근 네트워크 - 4. Network Layer - (3) Internet Protocol
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. network layer에서는 다음과 같은 내용들을 살펴본다. network layer principles virtual circuit, datagram network router의 내부 IP datagram format IPv4 addressing ICMP IPv6 routing algorithm link state distance vector hierarchical routing routing in the internet RIP OSPF BGP broadcast, multicast IP, I..
[Network] 하향식 접근 네트워크 - 4. Network Layer - (2) Router의 내부
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. network layer에서는 다음과 같은 내용들을 살펴본다. network layer principles virtual circuit, datagram network router의 내부 IP datagram format IPv4 addressing ICMP IPv6 routing algorithm link state distance vector hierarchical routing routing in the internet RIP OSPF BGP broadcast, multicast Route..
[Network] 하향식 접근 네트워크 - 4. Network Layer - (1) Principles, Virtual Circuit & Datagram Network
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. network layer에서는 다음과 같은 내용들을 살펴본다. network layer principles virtual circuit, datagram network router의 내부 IP datagram format IPv4 addressing ICMP IPv6 routing algorithm link state distance vector hierarchical routing routing in the internet RIP OSPF BGP broadcast, multicast Netwo..
23.07.29. 풀었던 문제들 복기
백준 14906 스러피 : 50분 사실상 regular expression을 구현하는 문제인데, regular expression만으로는 구현할 수 없기 때문에 무조건 string parse를 해야 하는 문제이다. 일단 slump와 slimp를 판별하는 것은 간단한데, 문제에서 주어진 조건을 그대로 풀면 된다. 그리고 slump의 경우에는 내부에 slump가 있고, slimp의 경우에는 내부에 slimp나 slump가 있다. 때문에 각 조건을 판별할 때 재귀로 slump인지 slimp인지 판별하기는 쉽다! 귀찮을 뿐이지. 이후, 전체 string은 slimp + slump로 구성되기 때문에 slump의 시작 지점을 잘 잡아야 한다. 그러나 어느 지점에서 시작하기 잡기 까다롭다. slimp 내부에 slum..
[Network] 하향식 접근 네트워크 - 3. Transport Layer - (2) TCP
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. Transport Layer에서는 아래와 같은 내용들을 살펴본다. transport layer service principle multiplexing, demultiplexing UDP : connectionless transport TCP: connection oriented reliable transport reliable data transfer connection, disconnection flow control, congestion control performance TCP에 관한 내용..
[Network] 하향식 접근 네트워크 - 3. Transport Layer - (1) Principles & UDP
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. Transport Layer에서는 아래와 같은 내용들을 살펴본다. transport layer service principle multiplexing, demultiplexing UDP : connectionless transport TCP: connection oriented reliable transport reliable data transfer connection, disconnection flow control congestion control Transport Layer Princip..
[Network] 하향식 접근 네트워크 - 2. Application Layer - (6) Socket Programming
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. Application Layer에서는 크게 3가지를 살펴본다. application principle client-server 구조 peer-to-peer (P2P) 구조 transport layer service model internet protocol - HTTP, electronic mail(SMTP, POP3, IMAP), DNS, P2P network application의 작성을 위한 interface - socket, UDP, TCP 이 글에서는 socket interface를 살..
23.07.27. 풀었던 문제들 복기
2141. Maximum Running Time of N Computers binary search로 푸는 문제. 일단 제일 문제가 됐던 것은 time만에 batteries를 사용해서 n개의 computer를 동시에 돌릴 수 있는지를 O(b) 시간 안에 푸는 것이었다. 여기서 핵심은 time보다 큰 용량을 가진 battery들은 계속 컴퓨터에 꽂아두면 time만큼 쓸 수 있다. 그러면, 나머지, time보다 작은 용량을 가진 battery들로 나머지 컴퓨터의 사용 시간을 채워야 한다. 이 둘을 합친 것이 sum += min(time, b)이다. 만약 sum이 n*time보다 크다는 것은 battery들로 time만큼 쓸 수 있다는 것을 의미한다. // Runtime 160 ms Beats 95.32% /..
[Network] 하향식 접근 네트워크 - 2. Application Layer - (5) P2P
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. Application Layer에서는 크게 3가지를 살펴본다. application principle client-server 구조 peer-to-peer (P2P) 구조 transport layer service model internet protocol - HTTP, electronic mail(SMTP, POP3, IMAP), DNS, P2P network application의 작성을 위한 interface - socket, UDP, TCP 이 글에서는 P2P가 왜 빠른지, 그리고 P2P..
[Network] 하향식 접근 네트워크 - 2. Application Layer - (4) DNS
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. Application Layer에서는 크게 3가지를 살펴본다. application principle client-server 구조 peer-to-peer (P2P) 구조 transport layer service model internet protocol - HTTP, electronic mail(SMTP, POP3, IMAP), DNS, P2P network application의 작성을 위한 interface - socket, UDP, TCP 이 글에서는 DNS를 살펴본다. DNS에 관한 ..
[Network] 하향식 접근 네트워크 - 2. Application Layer - (3) SMTP, POP3, IMAP
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. Application Layer에서는 크게 3가지를 살펴본다. application principle client-server 구조 peer-to-peer (P2P) 구조 transport layer service model internet protocol - HTTP, electronic mail(SMTP, POP3, IMAP), DNS, P2P network application의 작성을 위한 interface - socket, UDP, TCP 이 글에서는 electronic mail을 위한..
[Network] 하향식 접근 네트워크 - 2. Application Layer - (2) HTTP
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. Application Layer에서는 크게 3가지를 살펴본다. application principle client-server 구조 peer-to-peer (P2P) 구조 transport layer service model internet protocol - HTTP, electronic mail(SMTP, POP3, IMAP), DNS, P2P network application의 작성을 위한 interface - socket, UDP, TCP 이 글에서는 internet protocol 중..
[Network] 하향식 접근 네트워크 - 2. Application Layer - (1) Application Principle
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. Application Layer에서는 크게 3가지를 살펴본다. application principle client-server 구조 peer-to-peer (P2P) 구조 transport layer service model internet protocol - HTTP, electronic mail(SMTP, POP3, IMAP), DNS, P2P network application의 작성을 위한 interface - socket, UDP, TCP 이 글에서는 application princip..
23.07.26. 풀었던 문제들 복기
Leetcode 1870. Minimum Speed to Arrive on Time 문제를 읽다 보니, binary search라는 느낌이 딱 왔다. 그리고 정리를 하다 보니, 아래와 같은 flow로 이건 무조건 binary search (parametric search)라는 생각이 들었다. 1. 불가능한 조건은 언제 나올까? 아무리 큰 speed로 dist[i]를 나누어도 올림한다. 즉, dist[i] 하나당 최소 1시간은 필요하다는 의미이다. (단, 마지막 dist[i]는 예외이다.) 따라서, hour 안에 도착하기 위해서는 n-1보다 큰 시간이 필요하다. 만약 hour 최대 10^7로 잡으면 된다는 것 같다. 여기서 binary search가 맞다는 것을 확신했다. 첫 접근 // Runtime 47..
[Network] 하향식 접근 네트워크 - 1. Introduction
이 글은 이화여자대학교 이미정 교수님의 2014년 2학기 컴퓨터 네트워크 강의를 기반으로 재구성한 것입니다. 삽화는 링크를 출처로, 저작권은 J.F Kurose and K.W. Ross에게 있다는 것을 밝힙니다. 이 글에서는 internet network와 protocol을 전체적으로 살펴보며 network, 특히 internet에서 사용하는 단어와 간단한 개념을 살펴본다. OSI 7계층 OSI는 위와 같이 7개의 layer로 나뉘는데, 이 강의에서는 application layer, presentation layer, network layer 3개를 중점적으로 살펴본다. Internet이란? Internet Component internet은 크게 3가지 component로 구성된다. host, lin..
[Network] 1%의 네트워크 - 6. 마무리 : Web Server Response
이 글은 성공과 실패를 결정하는 1%의 네트워크 원리 책(이도희 역)을 기반으로 재구성한 것입니다. 이전 포스팅에서 인터넷에서 나온 packet이 server의 load balancer나 방화벽, proxy를 거쳐 server에게 도달하는 것까지 살펴봤다. 이 장에서는 server가 어떤 과정을 거쳐 packet을 수신하는지 다뤄 볼 것이다. 대부분 내용은 앞에서 설명한 내용을 받는 내용이기 때문에 거의 유사할 것이다. Server request message에서 data 위치를 파악하고 그 값을 client에게 넘긴다는 것이 web server의 기본적인 동작이다. client와의 차이점 일단, server는 client가 보낸 요청을 처리하고 거기에 답을 한다. 그렇지만 LAN adapter, OS ..
[Network] 1%의 네트워크 - 5. Firewall, Proxy, Load Balance
이 글은 성공과 실패를 결정하는 1%의 네트워크 원리 책(이도희 역)을 기반으로 재구성한 것입니다. 이전 포스팅에서 인터넷 내부로 들어간 packet이 access 회선과 provider의 PoP/NOC를 거쳐 목적지로 도달했다. packet은 server 앞에 있는 방화벽/cache server/load balancer를 거친다. 이 장에서는 방화벽, cache server, load balancer를 설명한다. keywords : 방화벽, packet filtering, load balancer, proxy, cache server, redirect web server 설치 장소 server를 설치하는 위치는 크게 3가지이다. 사내 LAN에 server를 설치하고 인터넷에서 직접 access하는 경우..
23.07.23. 전역 D-14, 복학까지 계획 - 끝!
24일에 할 일 1%의 network 마무리 - 끝! 포스팅 처음부터 끝까지 한 번 읽어보고 좀 애매한 부분 수정하기 - 끝! 이대 네트워크 강의 한 번 살펴보기 링크 - 끝! 알고리즘 계획 잡기 - daily leetcode + 백준 실/골 랜던디펜스 4-5문제 - 프로그래머스 lv2 lv3 DB 작성 견적내기 - 한 2주 반 걸릴 것 같음. 기말 범위가 내용도 많고 어렵기도 하다. CPS 예선 - 끝! 전역까지 남은 14일간 할 일 : 졸업논문 어떤 랩에서 할지 고민해 보기, 어떤 과정으로 진행되는지 간략하게나마 찾아보기. - 끝! AI는 잘 모르겠는데... SD나 알고리즘, media computing lab? 생각중. 1순위는 PL랩(분산컴퓨팅), 2순위는 SV랩(검증) 이대 네트워크 강의 듣고 ..
[Network] 1%의 네트워크 - 4. 인터넷 내부
이 글은 성공과 실패를 결정하는 1%의 네트워크 원리 책(이도희 역)을 기반으로 재구성한 것입니다. 지난 포스팅에서는 LAN adapter에서 보낸 전기 신호가 어떻게 hub와 router를 거쳐 이동하는지 살펴봤다. 이 글에서는 access 회선과 인터넷 내부가 어떻게 동작하는지 살펴본다. 사실 CS를 공부하는 입장에서 이부분은 크게 중요한 것 같지는 않지만, 그래도 지식을 위해 정리한다. access 회선 access 회선이란 인터넷과 LAN을 연결하는 통신 회선이며, 종류가 매우 많다. 이 글에서는 ADSL, FTTH만 살펴본다. ADSL을 사용한 access 회선 (Asymmetric Digital Subscriber Line) ADSL을 사용한 access 회선은 위 그림과 같은 순서로 인터넷에..
[Network] 1%의 네트워크 - 3. Cable, Hub, Router
이 글은 성공과 실패를 결정하는 1%의 네트워크 원리 책(이도희 역)을 기반으로 재구성한 것입니다. 지난 포스팅에는 OS의 protocol stack과 LAN adapter의 역할인, packet을 전기 신호로 변환하고 송출하는 부분을 살펴봤고 ethernet에서 packet이 어떻게 움직이는지 아주 간단하게 살펴봤다. 이 글에서는 packet이 hub와 router를 거쳐 어떻게 인터넷으로 움직이는지 살펴본다. LAN adapter가 발송한 전기 신호는 hub와 router가 중계해서 목적지로 이동한다. 이 때 hub와 router는 packet header와 내부에 있는 table을 참고해 움직인다. 이 때 hub와 router는 data 부분은 보지 않는기 때문에 TCP header나 HTTP he..
[Network] 1%의 네트워크 - 2. OS Protocol Stack과 LAN Adapter
이 글은 성공과 실패를 결정하는 1%의 네트워크 원리 책(이도희 역)을 기반으로 재구성한 것입니다. application은 OS의 protocol stack에 request message를 보내달라고 한다. server와 client는 다음 과정을 통해 연결된다. 1. server가 socket을 만들고 대기한다. 2. client가 socket을 만든다. 3. client가 server의 socket에 연결한다. 4. client와 server가 socket을 통해 데이터를 주고받는다. 5. socket 연결을 끊는다. 이전 포스팅에서 웹 브라우저가 request message를 작성하고 OS에게 송신을 맡긴다고 했다. 이 글에서는 OS의 protocol stack과 LAN driver가 어떻게 mes..
[Network] 1%의 네트워크 - 1. 웹 브라우저가 하는 일
이 글은 성공과 실패를 결정하는 1%의 네트워크 원리 책(이도희 역)을 기반으로 재구성한 것입니다. 이 글에서는 client가 웹 브라우저에 URL을 입력했을 때 제일 처음으로 무슨 일이 벌어지는지 설명한다. 크게 다음 단계로 나뉜다. 웹 브라우저가 HTTP request message를 작성한다. 이후 OS에게 DNS server를 통해 name resolution을 맡긴다. 이후 OS protocol stack에게 request message를 보내달라고 한다. keywords : browser, web server, URL, URI, HTTP, protocol, resolver, socket, DNS server, name resolution HTTP Request Message 작성 사용자가 웹 ..
[Network] 1%의 네트워크 - 0. 서론
이 글은 성공과 실패를 결정하는 1%의 네트워크 원리 책(이도희 역)을 기반으로 재구성한 것입니다. 이 책은 사용자가 웹 브라우저에 URL을 입력해 웹 서버에 도착할 때까지 어떤 일이 일어나는지 개괄적으로 소개한다. 모든 것을 한 번에 보았을 때 위 그림에 있는 요소들을 거친다. [사용자의 웹 브라우저 - TCP/IP - LAN 드라이버 - hub - router] | [전화국 - 통신사 - 인터넷 - 통신사 - 전화국] | [방화벽, 캐시 서버] | [웹 서버의 LAN 드라이버 - TCP/IP - 웹 서버 소프트웨어] 잘못된 내용이나 오탈자에 대한 지적, 질문 등은 언제나 환영합니다.
[OS] Storage Device
이 글은 포스텍 박찬익 교수님의 운영체제(CSED312) 강의를 기반으로 재구성한 것입니다. 이 글에서는 storage device에 대해 다룬다. Storage - RAM & Disk 포스팅에서와 유사한 부분이 많기에 비슷한 부분은 생략하거나 간단하게 적을 것이다. 요새 사용하는 storage는 크게 아래 2가지로 나뉜다. Hard Disk Drive (magnetic disk) reliable하다. 가격이 싸다. block level random access이다. sequential access의 성능이 좋다. Flash Memory (SSD) reliable하다. 가격이 비싸다. block level random access이다. read의 성능은 좋지만 random write의 성능이 나쁘다. D..
[OS] File System 구현
이 글은 포스텍 박찬익 교수님의 운영체제(CSED312) 강의를 기반으로 재구성한 것입니다. 이 글에서는 File System & Directory 포스팅에서 다룬 file system의 구현에서 고려할 점을 살핀다. File System 구현 file system의 구현을 알아보기 전에 몇 가지 먼저 살펴보자. inode in UNIX file header를 담는 data structure를 inode라고 하며, UNIX에서 사용한다. 모든 file은 각각의 inode를 가지며 inode는 이름 빼고 file의 모든 정보를 담고 있다. inode는 fixed size array로 관리하는데, 이 때 index를 inode number(i-number)라고 한다. 한편, directory는 filenam..