[네트워크 프로그래밍 - TCP/IP]

Junyeong Fred Kim·2021년 12월 17일

3. 글로벌 IP 인터넷

글로벌 IP 인터넷은 internet을 성공적으로 구현한 가장 유명한 것이다.

Internet VS. internet
소문자 internet은 인터넷의 일반적인 개념을 나타내고,
대문자 Interent은 글로벌 IP Intenret을 나타낸다.

인터넷 어플리케이션의 하드웨어 및 소프트웨어 구성.

IP
IP는 기본 명명법과 데이터그램이라고 하는 패킷을 한 인터넷 호스트에서 다른 호스트로 보낼 수 있는 배달 매커니즘을 제공한다. IP매커니즘은 만일 데이터그램을 잃어버리거나 네트워크 내에서 중복되는 경우에 복구하기 위해 노력하지 않는다.

TCP/IP
TCP는 IP 위에 구현한 프로토콜 프로세스들 간에 안전한 완전 양방향 연결을 제공한다. 즉 전송이 딜레이되더라도 데이터 손실이 없도록 한다.

UDP
UDP는 IP를 확장해서 데이터그램이 호스트에서 호스트로 가는 대신, 프로세스에서 프로세스로 전송될 수 있다. IP와 마찬가지로 데이터그램이 손실되는 경우 복구하려고 노력하지 않지만 제 시간에 데이터를 전달한다.

IP의 특징은 다음과 같다.

  • 호스트의 집합은 32비트 IP주소 집합에 매핑된다.
  • IP 주소의 집합은 인터넷 도메인 네임이라고 부르는 식별자의 집합에 매핑된다.
  • 하나의 인터넷 호스트의 프로세스는 연결을 통해서 다른 인터넷 호스트의 프로세스와 통신할 수 있다.

3.1 IP 주소

IP 주소는 비부호형 32비트 정수다. 네트워크 프로그램은 IP 주소를 IP 주소 구조체에 저장한다.

  /* IP address structure */
    struct in_addr {
        uint32_t  s_addr; /* Address in network byte order (big-endian) */
    };

IP 주소는 dotted-decimal표기라고 하는 형식으로 제시되며, 이것은 각 바이트가 십진수 값을 사용하고 다른 바이트들과는 점을 사용해서 구분된다. (예시- 128.2.194.242는 주소 0x8002c2f2의 dotted-decimal 표현)


3.2 인터넷 도메인 이름

인터넷 클라이언트와 서버는 서로 통신할 때 IP주소를 사용하지만, 컴퓨터 사용자 입장에서 정수들로 이루어진 주소값을 기억하기 어려워하기 때문에 도메인 이름을 별로도 정의한다(www.google.com과 같은 우리에게 익숙한 도메인 이름들).

인터넷은 도메인 이름의 집합과 IP주소 집합 사이에 매핑을 정의하고, 이 매핑은 DNS(Domain Name System)이라는 전 세계에 분산된 데이터베이스에 의래 관리되어 왔다. NSLOOKUP 프로그램으로 도메인 이름과 연관된 IP주소를 일부 조사할 수 있다.

profile
기억보다 기록

0개의 댓글