tcp는 서브주소가 없나요?

조회수 1745회

일반적인 http주소는 192.168.0.1/happy/index 이렇게 아이피 주소 뒤에 자꾸 서브주소가 붙을 수 있잖아요. 근데 tcp주소체계에서는 그런게 불가능하고 단지 "아이피주소:포트번호" 만 쓰나요? 감사합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 질문에 대한 대답은 가 될 것 같네요.

    자세히 설명하자면, 네트워크는 단계적으로 몇가지 나누는 방법이 있는 데, OSI 7계층으로 나누어 설명해보면 다음과 같습니다.

    OSI 계층 이름 주소/장치구분 설명
    1계층 물리계층 이더넷, 토큰링 등 실제 유선(혹은 무선)으로 연결되어야 하는 방법 혹은 기술에 관한 사항을 다룸
    2계층 데이터링크계층 MAC 주소, PPP 단말장치간의 통신을 위해서 단말노드를 구분하는 계층, 이더넷에서 사용한 MAC 주소도 여기에 포함되며, 이를 위해서 ARP 프로토콜과 같은 규약이 존재함
    3계층 네트워크계층 IP, ICMP, IGMP 발신지, 목적지를 구분하며, 데이터를 전달하기 위한 기본적인 구조를 다룸
    4계층 전송계층 TCP, UDP 등 발신지에서 목적지로 데이터를 전송하는 방법을 정의하고 이를 제어하는 것, 같은 목적지에 대한 서로 다른 연결이 가능한 방법을 제어함(예: 포트)
    5계층 세션 계층 . 정의된 연결에 대한 동기화 등을 제어하는 것, 예를 들어 4계층의 포트의 연결을 유지관리(동기화, 유효성검사 등)하는 것에 해당함.
    6계층 표현 계층 . 어떤 데이터를 정의하는 방법을 정의하는 계층. 예: 이미지, 동영상, 음성 등을 네트워크상에서 데이터로 표현하는 방법
    7계층 응용 계층 . 우리가 말하는 대부분의 서비스는 이에 해당함, HTTP, FTP, DNS 등

    위에서 보면, HTTP주소는 다음과 같이 만들어진 것입니다.

    1. HTTP는 7계층에 속하며, HTML 문서와 HTML에 연결된 다양한 리소스를 주고받는 방법을 다루는 규칙입니다.
    2. 이는 기본적으로 4계층에 속하는 TCP 위에 존재합니다. 4 계층의 경우, 같은 목적 주소에 대해서 동시에 서로 다른 통신이 가능하도록 구분할 수 있도록 포트(PORT)를 정의하고 있는 데, HTTP주소에서 PORT는 이를 의미합니다.
    3. TCP는 3계층에 속하는 IP위에 존재합니다. HTTP주소에서 IP는 이를 의미합니다.
    • 3계층인 IP주소(위에서 192.168.0.1)에 대한 세분화대한 구분이
    • 4계층인 TCP 포트(위에서 80이 생략됨)이며,
    • 이를 세분화한 것이 7계층인 HTTP의 URL의 경로(위에서 /happy/index)입니다. 이는 7계층에서 주소를 표현하는 방법중의 하나입니다.

    그래서 질문하신것처럼 TCP 수준에서는 IP주소:포트로 구분하는 것이 맞습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)