기타 용어들
목록
1. dns
DNS(도메인 네임 시스템)는 .com 또는 .net과 같은 특정 최상위 도메인(TLD)의 모든 도메인 네임 및
해당하는 IP 주소를 저장하는 데이터베이스입니다. DNS는 인터넷에서 컴퓨터 시스템과 리소스를 식별하고
찾습니다. 예를 들어, 웹 주소 또는 URL을 입력하면 DNS가 입력된 이름과 해당 위치의 IP 주소를
일치시키고 사용자를 해당 사이트에 연결시켜 줍니다.
2. subnet
-
서브넷(subnet)은 “subnetwork”을 줄인 말로서 어떤 기관에 소속된 네트웍이지만 따로 분리되어 있는 한 부분으로 인식될 수 있는 네트웍을 말한다.
-
일반적으로 하나의 서브넷은 하나의 지역, 한 빌딩 또는 같은 근거리통신망 내에 있는 모든 컴퓨터들을 나타낼 수 있다.
-
여러 개의 서브넷으로 나뉘어진 어떤 조직의 네트웍은 인터넷에 하나의 공유된 네트웍 주소로 접속될 수 있다. 만약 서브넷이 없다면, 그 조직은 물리적으로 분리된 서브 네트웍마다 하나씩, 여러 군데의 인터넷 접속을 가지게 될 것이며, 그렇게 함으로써 한정된 량의 인터넷 주소가 쓸모 없이 낭비될 수도 있게된다.
-
인터넷은 네트웍 사용자들 간에 서로 커뮤니케이션을 하기 위한 네트웍의 집합이다.
-
커뮤니케이션을 위해서는 양측의 사용자 또는 호스트가 관련되어 있는 발신지와 도착지 네트웍, 그리고 네트웍 내의 특정한 컴퓨터의 주소가 있어야 한다. 이 주소를 IP 주소라고 부른다.
-
32 비트의 IP 주소는 크게 두 부분으로 나뉘는데, 하나는 네트웍을 식별하는 네트웍 번호이고, 다른 하나는 네트웍 내의 특정한 컴퓨터나 호스트를 식별하는 호스트 번호이다.
-
한 기관에서 특정한 서브넷을 확인시키기 위해 컴퓨터나 호스트를 식별하는 주소 내의 비트들을 일부 사용할 수 있다.
-
그러므로 실제로는 IP 주소에는 네트웍 번호, 서브넷 번호, 그리고 컴퓨터 번호 등 세 부분이 포함되어 있는 셈이다.
3. NAT (= Network Address Translation)
-
NAT는 외부 네트웍에 알려진 것과 다른 IP 주소를 사용하는 내부 네트웍에서, IP 주소를 변환하는 것이다.
-
일반적으로, 한 회사는 자신의 내부 네트웍 주소를 하나 또는 그 이상의 공인 IP 주소로 사상한다. 그리고 들어오는 패킷들 상의 공인 IP 주소를 다시 사설 IP 주소로 변환한다.
-
이렇게 함으로써 나가거나 들어오는 각 요구들은 주소 변환과정을 반드시 거쳐야 하기 때문에,
-
보안문제를 확실하게 하는데 도움이 되며, 또한
-
요구를 제한하거나 인증하고, 또
-
이전의 요구와 일치시키는 기회를 제공한다.
-
NAT은 또한 회사에서 필요한 공인 IP 주소의 수를 보존하며, 회사가 외부 네트웍과의 통신에서 단 하나의 공인 IP 주소를 사용할 수 있게 한다.
-
NAT은 라우터의 일부로서 포함되며, 종종 통합된 방화벽의 일부가 되기도 한다.
-
네트웍 관리자들은 공인 IP 주소에서 사설 IP 주소로, 사설 IP 주소에서 공인 IP 주소로 사상하기 위한 NAT 표를 만든다.
-
NAT은 라우팅 정책과 함께 사용될 수도 있다.
-
NAT은 IP 주소를 정적으로 정의하거나, 또는 동적으로 변환하도록 설정될 수 있다. 시스코에서 만든 NAT 버전은 관리자가 다음과 같은 것들의 사상을 위한 표를 만들도록 해 준다.
4. port
네트워크의 입출력단자들을 포트(PORT)라고 하며 번호로 지정되는데 포트의 번호는 0에서 65535까지 입니다. TCP/IP 네트웍에서 포트 번호는, 들어오는 트래픽을 컴퓨터 내에서 실행되고 있는 적절한 프로그램에 분배시키기 위해 할당되는 숫자를 말한다. 이것은 물리적인 플러그나 소켓이 아니며, 다만 논리적인 할당일 뿐이다
- 프로그래밍에서, 포트는 “논리적인 접속장소”이며, 특히 인터넷 프로토콜인 TCP/IP를 사용할 때에는 클라이언트 프로그램이 네트웍 상의 특정 서버 프로그램을 지정하는 방법으로 사용된다.
- 웹 프로토콜인 HTTP와 같이, TCP/IP의 상위 프로토콜을 사용하는 응용프로그램에서는 미리 지정된 포트번호들을 가지고 있다.
- 이런 것들은 IANA에 의해 지정되었으며, “잘 알려진 포트들”이라고 불린다.
- 다른 응용프로그램 프로세스들은 매번 접속할 때마다 포트번호가 동적으로 부여된다. 서버 프로그램이 처음 시작되면, 지정된 포트번호로 바인드된다. 그 서버를 사용하려는 모든 클라이언트 프로그램들은 지정된 포트번호에 바인드해야만 한다.
- 바인드가 되면 두개의 컴퓨터간 네트워크를 이용한 통신시 발신지 컴퓨터에서 출발한 사용자 데이터(패킷)는 TCP/IP의 각 계층을 거치면서 최종적으로 목적지 주소(IP)를 가지고 있는 컴퓨터에 도착하게 됩니다. 패킷을 수신한 컴퓨터는 전송시에 사용되었던 주소필드를 제거하고, 패킷 안에 있는 데이터만을 응용프로그램에 넘겨줍니다.
이 포트들은 크게 세 가지 영역으로 나누어서 지정되어 있습니다.
1. 0번 포트에서 1023포트 까지
well-known port number 라고 하며 미리 특수용도로 지정되어 있습니다. (IANA(Internet Assigned Numbers Authority)에서 관리한다.)
21번: FTP 22번: SSH 23번: TELNET 25번: SMTP(이메일송신) 53번: DNS 61번: SNMP(네트워크관리) 80번: HTTP(웹페이지를 열기 위한 용도) 110번: POP3(이메일수신) 115번: SFTP 135번: RPC 139번: NetBIOS 143번: IMAP 194: IRC 443: SSL 445: SMB
2. 등록된 포트로 사용할 경우 1024~49151번을 사용합니다.
1433: MSQL 3306: MySQL 3389: Remote Desktop 5632: PCAnywhere 5900: VNC 6112: Warcraft III
3. 개인적 용도라면 49152~65535번을 사용하도록 규정되어 있습니다.
클라이언트/서버 방식의 프로그램에서 포트의 사용
- 서버/클라이언트 프로그램에서는 서버에서 사용하는 포트번호를 클라이언트 프로그램에서도 동일하게 맞추어 주어야 합니다.
- 서버/클라이언트 프로그램에서 사용하는 포트가 개방되도록 라우터 또는 공유기 등의 설정메뉴에서 개방해야 합니다.
- 서버/클라이언트 프로그램에서 포트를 설정하지 않으면 임의로 포트를 설정해 주는 프로그램이 일부 있습니다.
5. socket
-
두 프로그램이 네트워크를 통해 서로 통신을 수행할 수 있도록 양쪽에 생성되는 링크의 단자입니다.
-
두 소켓이 연결되면 서로 다른 프로세스끼리 데이터를 전달할 수 있습니다.
-
결국 소켓이 구현됨으로써 네트워크 및 전송 계층의 캡슐화가 가능해집니다.
-
소켓은 원래 캘리포니아 버클리 대학 분교에서 UNIX용으로 개발되었으며, UNIX에서의 입출력 메소드의 표준인 개방/읽기/쓰기/닫기 메커니즘을 따릅니다.
-
소켓 함수는 동기모드(블록킹) / 비동기 모드 (논블록킹)으로 동작합니다.
-
차이점은 만약 데이터가 도착하지 않는 상태에서 recv()로 데이터를 수신하고자 했을 때 데이터가 올 때까지 대기(block)하느냐 , 그냥 수신된 데이터가 없다는 정보만 리턴하고 넘어가느냐 입니다.
-
실제로 대기한다는 의미는 시스템을 멈추고 기다린다는 것이 아니라 다른 쓰레드나 프로세스(process)로 실행 권을 넘기는 것이기 때문에 프로세서는 항상 적절한 동작을 하게 됩니다.
-
비동기 모드로 데이터가 올 떄까지 풀링(polling)하면서 대기하는 것과는 기다린다는 의미에서는 동일하지만 프로세서를 활용한다는 면에서는 하늘과 땅 차이라고 할 수 있습니다. 이런 병렬적인 처리에 대한 고려가 필요하게 됩니다.
-
그리고 직접적인 소켓 통신을 처리하는 함수는 아니지만 소켓 처리에 대해서 Multiplex처리(하나의 쓰레드, 혹은 적은 수의 쓰레드에서 여러 개의 소켓을 처리)를 해주는 select , epoll , IOCP 같은 기능적인 함수군도 염두해 두어야겠습니다.
6. MAC address (= Media Access Control Address)
MAC 주소는, 무선 LAN 카드 또는 무선 LAN 기능 내장 기기에 개별적으로 부여되는 16진수 12자리의 단말 식별 번호(예:12:34:56:78:90:AB)입니다. OS에 따라 “물리적 주소” 또는”Wi-Fi 주소”라고 표시됩니다.
DHCP
- 동적 IP 할당
- 특정 IP에서 오는 것 차단
- ex. 특정 사이트 차단. 접속을 못하게 함.
- 공유기 안에 혹은 라우팅 컴퓨터 안에서 설정.
- 특정 포트만 전송 가능
참고링크
- https://www.verisign.com/ko_KR/website-presence/online/domain-name-system/index.xhtml
- https://www.verisign.com/assets/DNS101_ko_KR.pdf
- http://www.terms.co.kr/subnet.htm
- http://www.terms.co.kr/NAT.htm
- http://egloos.zum.com/Esunny/v/4130787
- http://popbox.tistory.com/66
- https://ko.wikipedia.org/wiki/MAC_%EC%A3%BC%EC%86%8C
- http://popbox.tistory.com/66