Data Analysis/Computer Science(10)
-
Network Layer : Data Plane
Network LayerNetwork Layer는 TCP 5 Layer에서 identified end system간 frame을 교환하는 역할을 하고,이를 위한 두 가지 핵심 요소는 다음과 같다.Routing : 각 pkt의 route를 결정하고, routing algorithm이 필요함.Forwarding : router에서 packet을 이동시키며, routing table에 기반함 Router가 위의 역할을 수행하는데, router에서는 routing algorithm을 작동시키고, datagram을 forwarding 한다. 1. Input port2. Output port3. Switching fabric4. Routing processor Virtual Circuit Packet Switch..
2024.06.15 -
Transport Layer - TCP Congestion Control
Overview of TCP Congestion ControlPacket을 주고받는 방법에는 크게 Circuit Switching과 Datagram Packet Switching이 있다. 먼저, Circuit Switching은 다음과 같은 3가지 단계로 이뤄진다.Circuit EstablishmentData TransferCircuit DisconnectCircuit을 주고받는 두 stations은 Connection Oriented이기 때문에, delay or loss의 문제가 없지만,모든 channel이 꽉 차는 Congestion(Call Blocking) 발생할 가능성이 있다. 반면, Datagram Packet Switching에서는 Connectionless한 방법으로,Each packet..
2024.06.15 -
void 포인터와 const 포인터
void 포인터void라는 키워드는 보통 함수 앞에서 반환형이 없을 때 쓰인다.그렇다면 (int *), (char *)형 포인터와 어떤 차이가 있을까? 다음 코드를 살펴보자int a = 100;int *b = &a;이 코드가 의미하는 바는 다음과 같다.b는 a의 주소를 저장하고 있고, b를 통해 a를 참조할 수 있는데, 그곳에는 int형 데이터가 있다. 그렇다면 void 포인터를 선언하는 코드 역시 다음과 같이 해석할 수 있을 것이다.int a = 100;void *b = &a;b는 a의 주소를 저장하고 있고, b를 통해 a를 참조할 수 있는데, 그곳에는 void형 데이터가 있다. 그러나 void는 "빈공간'. 즉 자료형을 가지고 있지 않기 때문에 컴파일러는 데이터를 참조할 수 없을 것이다.왜냐하면 자..
2023.12.26 -
[C] 메모리 할당 방법
9살 때 집에서 생일파티를 한 적이 있다. 친구들이 많이 올 것이라 예상하고, 치킨, 피자 등 여러가지 음식을 준비했으나 갑자기 친구들이 일이 생겨서 2명 밖에 오지 않았고, 그래서 음식을 다 남겼던 아직까지도 슬픈 기억이 있다.. 누군가는 이 이야기를 듣고 다음과 같이 얘기할 수 있다. 제목을 메모리 할당으로 지어놓고 갑자기 생일파티? 오늘 얘기할 메모리 할당과 연관지어 보자. 동적 할당 vs 정적 할당 정적 (Statics) 처음 내 생일 파티에 참석할 친구 수는 미리 알려져 있었다. 따라서, 생일 파티 전날에 친구 수를 확인하고, 정해진 친구 수에 맞게 음식과 접시를 미리 준비하면 된다. 파티가 시작되면 이미 준비된 음식과 접시를 사용하며, 나중에 친구가 오더라도 새로운 준비를 할 필요가 없는 것!..
2023.12.24