전체 글 (84) 썸네일형 리스트형 CH6 : Data Link Layer (2) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * MAC Sublayer IEEE 표준에서 데이터 링크 레이어는 두개의 레이어로 나뉜다. IP주소를 담당하는 LLC와 MAC주소를 담당하는 MAC레이어 두개로 나뉘게 된다. 우리가 살펴볼 레이어는 MAC레이어이다. MAC레이어 에서는 현재 나에개 할당된 bandwidth를 여러 사용자에게 어떻게 할당해줄지에 대한 스케쥴링을 담당한다. (LTE네트워크나 5G네트워크에서도 MAC레이어에서 이 스케쥴링을 담당한다.) MAC레이어에는 여러가지의 프로토콜들이 있다. 뒤에서 차차 알아볼 것이다. 가장 이상적인 RATE분배는 모두에게 최대한 공평하게 나누어주는 것이다. R rate만큼.. CH6 : Data Link Layer (1) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 이번 챕터에서는 데이터링크 레이어에 대해서 알아보겠다. Data Link Layer 데이터 링크 레이어는 라우터간의 링크에서 작동한다. 링크들에는 여러 종류가 있다.(유선, 무선, LAN..) 이 레이어에서의 데이터는 frame단위로 부른다. 때문에 데이터 링크 레이어의 궁극적인 목표는 링크로 연결된 노드와 노드간의 프레임전달이라고 볼 수 있다. 앞서 MAC주소와 그 필요성에 대해 알아보았다. 데이터 링크 레이어에서는 이 MAC주소가 중요하다. 메시지를 실제로 어떤 host에게 보낼지 정해야 하기 때문인데, 그래서 frame의 헤더부분에 MAC주소를 넣어 보낸다. 이는 .. 패킷 전송(Packet Delivery)_ARP 그동안 패킷전송의 여러 이론적 측면을 살펴보았다. 그렇다면 패킷전송은 실제로 어떻게 이루어질까? 전송 데이터는 각 Layer를 거치며 여러 헤더가 붙는다. Layer 7부터 내려와 여러 헤더가 붙은 DataLink Layer에서의 데이터는 다음과 같다. 이때 데이터를 frame이라고 한다. Layer 2의 헤더내용에서 DA와 SA가 있는데 이는 각각 Destination Address, Source Address이다. IP Address는 부족한 IP주소체계를 해결하기 위해 서브넷 마스킹이나 여러 작업들을 거치기 때문에 전세계적으로 unique하다고 볼 수 없다. 그렇다면 이 지구에서 나만의 핸드폰을 나타내기 위해선 어떤 주소가 필요할까? 이럴때 사용하는 것이 MAC Address이다. IP 주소는 gl.. C++ 백준 13160 (최대 클리크 구하기) 백준 13160 (최대 클리크 구하기) https://www.acmicpc.net/problem/13160 13160번: 최대 클리크 구하기 그래프 이론에서 클리크란, 완전 그래프인 부분 그래프를 의미한다. 즉, 정점으로 이루어진 집합 중 모든 두 정점 사이에 간선이 있는 집합을 의미한다. 최대 클리크는 그러한 집합 중 크기가 가 www.acmicpc.net 클리크란 어떤 그래프내에 존재하는 sub 완전그래프이다. 여기서 완전그래프란 모든 노드가 서로 연결되어있는 그래프를 뜻한다. 설명 문제에서 가져온 그림이다. 직선들을 쭉 나열했을 때 가장 많이 겹치는 부분에서의 포함되는 숫자를 찾으면 되는 것이다. 위의 경우에는 빨간 세로선일때 1 2 4가 겹쳐지면서 가장 많이 겹쳐질 때 이므로 최대 클리크는 1 2.. CH5 : Network Layer Control Plane (2) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 지난 강의에서는 라우팅 알고리즘들 (링크-스테이트, 벡터-디스턴스)에 대해서 알아보았다. 그러나 그 내용들은 그저 이론적인 이야기이다. 예를 들어 링크-스테이트 알고리즘에서는 모든 네트워크의 트래픽 정보를 알아야 하는데, 실제 인터넷 네트워크는 너무너무 방대하고 크다. 이전 글에서는 모든 네트워크가 flat한(계층적이 아닌)구조를 가지고 있다고 가정하고 생각했는데 위에서 말했듯이 실제 인터넷 네트워크는 매우 크기때문에 실질적으로 구현은 불가능하다. 또한 인터넷은 sub network들의 network인데 각 sub network의 관리자들은 자신의 네트워크 안에 있는 h.. TCP 소켓프로그래밍으로 웹서버 구현하기 네트워크 강의를 들으면서 배운 TCP 소켓프로그래밍을 통해 간단한 웹서버를 구현하였다. 일단 이 내용을 따라오기 위해선 소켓프로그래밍에 대한 이해가 필요한데 내 블로그에 자세한 설명이 있으므로 읽고오자! 또한 전문지식이 부족한 내가 직접 구현한 코드이므로 살짝 조잡하긴 하다. 1. 소켓프로그래밍 (1) (링크) Socket Programming (소켓 프로그래밍) (1) API API란 시스템이 어플리케이션에 제공하는 인터페이스이다. API에는 여러 종류가 있는데 우리는 TCP/IP에서 쓰이는 다양한 API중 Sokcet에 대해 알아 볼 예정이다. TCP/IP에 쓰이는 API는 Socket말고도 TL tjdahr25.tistory.com 2. 소켓프로그래밍 (2) (링크) Socket Programmin.. CH5 : Network Layer Control Plane (1) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * Routing 목적지까지 데이터를 보낼 때 어떤 경로를 거쳐 보내야 할지 정하는 것은 매우 중요하다. 실제로 src에서 dst까지 다양한 경로가 존재할 수 있기 때문에 최적의 path를 찾기 위한 방법을 제시해주는 것이 Routing Algorithm이다. 이때 라우터와 그 간의 링크들은 그래프에서 vertex와 edge로 표현될 수 있다. 이렇게 각 링크의 트래픽양이 다르고 어떤 경로를 통해 데이터를 보냈을 때 가장 적은 트래픽의 영향을 받으며 보낼 수 있을까? 알고리즘 파트에서 배웠던 그래프에서의 최단거리 알고리즘들이 떠오른다. (벨만포드, 다익스트라, 플로이드..... CH4 : Network Layer (4) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * IPv6 IPv6가 나오게된 배경은 그동안 말했듯이 IPv4의 주소부족현상 때문이다. 때문에 주소의 bit수를 늘려서 더 많은 주소를 처리할 수 있게끔 한다. 또한 IPv4에 비해 헤더도 바뀌었는데, 목적은 더 빠른 프로세싱과 QoS를 지원하기 위해서다. 헤더의 변화는 다음과 같다. 한눈에 보기 편한 그림이 있어서 가져왔다. 일단 헤더의 길이는 기존 IPv4에서는 가변이었다. (20~60) 그러나 IPv6에서는 헤더의 크기가 40으로 고정이기 때문에 헤더의 길이에 대한 부분과 옵션에 대한 부분이 없어졌다. 또한 IPv6는 fragmentation을 지원하지 않는다. 때문.. 이전 1 2 3 4 5 6 7 ··· 11 다음