인터넷에서 사용하는 주소와 사설 네트워크에서 사용하는 주소


사설 네트워크에서 인터넷으로의 통신


  1. 목적지가 공인 주소이고 출발지가 사설 네트워크인경우 서버로 요청을 보낼 수는 있음. (outbound)

  2. 반대로 목적지가 사설 네트워크이고 출발지가 공인네트워크인 경우 응답을 바로 받을 수 없음. (inbound) 인터넷에서는 목적지가 사설 주소로된 IP 패킷은 폐기하기 때문이다. → N 개의 사설망에서는 사설 아이피가 중복될수 있기때문에 !!!!

    데이터가 목적지에 잘 도착했을까 ? (ICMP)


    1. IP
      • 데이터를 다른 호스트에 전송은 하지만 제대로 잔달이 되었는지에 대한 여부는 보장하지 않는다. 이런 데이터 전송의 특징을 최선형 (best effort) 라고 하는데, '데이터를 보내기 위해' 최선을 다했지만 안되도 어쩔수 없다는 IP의 특징을 말한다.
    2. ICMP (Internet Control Message Protocol)
      • IP의 best effort틀징을 개선하기위해, 즉, IP에 의한 엔드투엔드 통신이 정상적으로 이루어졌는지 확인하기위한 기능을 가진 ICMP가 개발된다.
      • 주요기능은 에러리포트진단기능이다.
        • 에러리포트 : 어떠한 이유로 IP 패킷이 폐기가 되었다면 ICMP가 폐기된 IP 패킷을 출발지로 에러리포트를 전송하고 이 리포트를 "도달불능 메시지" 라고 부르며, 이 리포트로 통신실패 원인을 알 수 있다.
        • 진단기능 : 주로 ping 커맨드를 사용하여 ICMP 에코 요청/응답 메시지를 보내서 지정한 IP 주소와 통신할 수 있는지 확인한다.
      • 지난 장에 인터넷 계층 : https://www.notion.so/Chapter-3-3-1-3-12-73162a1187a44329a957f1bb110b176e

IP 주소와 MAC 주소를 대응시킨다. (ARP)


  1. TCP/IP에서는 IP 주소를 지정해서 데이터(IP 패킷)을 전송 → IP 패킷은 PC나 서버등의 인터페이스까지 전송 → PC나 서버등의 인터페이스에서 MAC 주소를 식별을 ARP(Address Resolution Protocol) 를 이용하여 주소해석 을 한다.

  2. ARP 동작 흐름

포트 번호로 애플리케이션에 할당한다.


포트 번호의 역할

  1. TCP/IP의 애플리케이션을 식별하기 위해 식별번호로 포트번호를 사용하는데, 호스트에서 동작하는 애플리케이션에 데이터를 분배하기 위해서는 각각의 애플리케이션을 식별할 수 있어야한다.
  2. 포트번호는 TCP 혹은 UDP의 헤더에 지정한다.
  3. 포트번호는 16비트의 수치로, 지정할 수 있는 범위는 0~65535 이며 범위마다 의미가 다르다.

웰노운 포트 : 주요 애플리케이션 프로토콜

확실하게 애플리케이션의 데이터를 전송한다.


TCP

  1. 신뢰성 있는 애플리케이션 간의 데이터를 전송하기 위한 프로토콜로 TCP 를 사용하면, 애플리캐이션 프로콜에는 신뢰성을 확보하기 위한 구조를 넣을 필요가 없다.

  2. 전송절차

    a. TCP 커넥션 맺기

    출처:

    https://mindnet.tistory.com/entry/네트워크-쉽게-이해하기-22편-TCP-3-WayHandshake-4-WayHandshake

    b. 애플리케이션 간 데이터 송수신

    c. TCP 커넥션 끊기

  3. TCP 헤더 형식