CS
-
NAT (network addess tanslation)CS 2021. 2. 6. 17:16
NAT 위키 네트워크 주소 변환(영어: network address translation, 줄여서 NAT)은 컴퓨터 네트워킹에서 쓰이는 용어로서, IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다. 패킷에 변화가 생기기 때문에 IP나 TCP/UDP의 체크섬(checksum)도 다시 계산되어 재기록해야 한다. NAT를 이용하는 이유는 대개 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다. 많은 네트워크 관리자들이 NAT를 편리한 기법이라고 보고 널리 사용하고 있다. NAT가 호스트 간의 통신에 있어서 복잡성을 증가시킬 수 있으므로 네트워크 성능에 영향을 줄 수 ..
-
프로세스와 쓰레드CS 2020. 8. 30. 17:35
프로세스 메모리에 적재되어 실행되고 있는 프로그램. 프로그램의 인스턴스 라고 부르기도 한다. 프로그램이란 실행할 수 있는 명령어의 집합이다. 프로세스는 커널에 의해 관리되는데, 프로세스의 정보들을 담은 **PCB**(Process Control Block) 자료구조를 통해서 프로세스들을 제어한다. PCB 정보들은 커널 메모리에 있다. 프로세스는 운영체제로부터 독립적인 아래 메모리들을 할당 받는다. Code - 실제 실행 코드를 담은 영역 Data - 전역 변수 및 Static 변수들을 담은 영역 Heap - 프로세스에서 동적으로 할당 되는 변수들을 담은 영역 Stack - 호출된 함수의 복귀 주소와, 지역 변수 등이 쌓이는 영역 각 프로세스는 운영체제에 의해 독립적으로 관리된다. 그러므로 서로 겹치거나 ..