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

Junyeong Fred Kim·2021년 12월 17일
0

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개의 댓글