Computer Science(15)
-
[Pygame] 파이썬으로 게임을 만들어 봅시다 : 0, intro
이번 학기에 과제로 파이썬을 이용해 게임을 만드는 것이 있어 겸사겸사 블로그에 pygame 강의를 연재해 보려고 합니다. 물론 저도 C#만 만지다가 갑자기 파이썬을 하려니까 어지럽긴 하지만... 어쨋든 최선을 다하겠읍니다. 그나저나 다른 친구들은 얼마나 잘 만들지 기대되네요.. 저같은 개복치 하등생물 보다는 잘 만들지 않을까용
2024.09.09 -
Multiple access protocols
Multiple Access Protocols- 때는 바야흐로 무선 인터넷의 시대, 개나 소나 NIC를 들고 다니는 시대가 되었다. 그러나 꿈만 같은 무선 인터넷에도 희대의 문제가 있었으니, 바로 한 Channel에 여러대의 디바이스가 접근해야 하는 경우가 생긴 것이다.- 두개나 그 이상의 노드에서 동시에 전송하게 되면 이는 Collision이라고 칭해진다.- 이에 노드들이 어떻게 채널들을 북치고 장구치게 분배할지 결정할 필요가 생겼고, 분산적으로 작동하는 알고리즘인 MAP가 탄생하게 되었다. (다만 채널을 나누는 통신은 그 채널 자체에서 해결해야만 한다.) - Channel Partitioning 방식의 경우 TDMA, FDMA 방식이 존재한다. 이중 TDMA는 시간을 슬롯으로 쪼개서 패킷을 보낼 때 ..
2024.06.04 -
Software Defined Networking
Software Defined Networking?- 때는 바야흐로 21세기, 컴퓨터 한대만 있으면 Interface를 통해서 북치고 장구치고를 다 할 수 있는 세상이 도래했다. 즉 기존에는 특정 기능을 위한 Hardware가 존재했다면(ASIC랑 유사한 느낌) 이제는 소프트웨어단에서 처리할 수 있게 된 셈이다.- 라우터 또한 시대의 흐름에 따라 그렇게 변하고야 말았으니, 이를 Software Defined Networking이라고 한다. - 이때 특징적으로 SDN은 Remote Controller에 의해서 Table들이 Logically Centralized되는게 특징이다.- 이는 네트워크 관리가 쉽고, Table을 조정하면서 라우터를 마치 "프로그래밍" 할 수 있게 해준다.- 또한 Traffic En..
2024.05.31 -
Control Plane - OSPF, BGP
- 지난 시간에 설명한 다익스트라 모시깽이 알고리즘과 DV 알고리즘에는 커다란 문제점이 있으니, 라우팅 테이블에 어떻게 수많은 인터넷 상의 라우터 정보를 저장하고 교환하겠는가?- 또한 인터넷은 네트워크들의 집합이니, 각 네트워크의 관리자들은 특정 IP를 차단한다거나 등의 행동을 하고 싶을 수도 있다. - 그래서 Scalable한 Routing을 위해서 특정 라우터들 끼리 Autonomous라는 명목 하게 알잘딱깔센으로 종합했으니, 이를 줄여서 AS(Autonomous Systems)라고 한다. (AS의 대표적인 예로는 ISP를 생각해 볼 수 있다.)- AS는 intra-AS(내부)와 inter-AS(외부간)으로 생각해 볼 수 있다.- intra-AS 내부의 라우터들은 반드시 같은 도메인 프로토콜로 돌아..
2024.05.30 -
Control Plane - Routing Protocols
Routing Protocols- 자고로 라우팅 프로토콜이라 함은, 패킷을 호스트에서 호스트로 보내는데에 있어서 최적의 경로를 찾는 것을 의미한다. 이때 최적이란 "비용이 적고, 빠르고, 덜 혼잡한" 것을 의미한다고 볼 수 있다. - 이때, 라우터들 간의 경로를 찾을때는 그래프가 사용된다. 또한 각각의 링크에는 코소트를 붙여서 계산하게 된다. 이때, Ca_b를 a와 b사이에 직접적인 연결 비용이라 한다. (만약 Ca_b가 infinity면 직접적으로 접근하는 경로 X)Dijkstra's link-state routing alogrithm- 만약 네트워크의 link cost가 모든 노드들에게 알려져 있고, 각각이 동일하다고 가정해보자. 그러면 한 노드에서 다른 노드로 가는데 까지 걸리는 최소한의 cost를..
2024.05.30 -
Data Plane - NAT, DHCP
NAT?- 때는 바야흐로 절망의 21세기, 42억 모시깽이 밖에 안되는 IP주소의 개수로는 70억 인구의 수요를 감당하기 힘들어졌다. 이에 여러개의 디바이스가 하나의 IPv4주소를 공유하는 장치가 탄생했으니, 그것을 우리는 공유기(NAT)이라고 하기로 했다.- NAT 라우터는 반드시 아래의 사항을 준수해야 한다. - 1. 라우터에서 나가는 Datagram에 대해서는 반드시 (Source IP, Port) -> (NAT IP, new Port)와 같은 과정을 거쳐야 한다.- 2. NAT Translation Table을 통해서 반드시 ((Source IP, port), (NAT IP, new port))의 쌍을 기억해야 한다.- 3. 라우터로 들어오는 Datagram애 대해서는 반드시 (NAT IP, n..
2024.05.30