ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로토콜(Protocal)과 소켓(Socket)
    컴퓨터상식/네트워크,통신 2022. 7. 25. 10:11

    프로토콜 정리

    OSI 7 Layer Model

    7계층. Application Layer

    6계층. Presentation Layer

    5계층. Session Layer

    4계층. Transport Layer

    3계층. Network Layer

    2계층. DataLink Layer

    1계층. Physical Layer

     

    TCP/IP 프로토콜(Protocal)

    4계층. Application - OSI 5,6,7 Layer

    - telnet, FTP, DHCP, TFTP, HTTP, SMTP, DNS, SNMP

    3계층. Transport - OSI 4 Layer

    - TCP, UDP

    2계층. Internet - OSI 3 Layer

    - ICMP, ARP, RARP, IP

    1계층. Network Interface - OSI 1,2 Layer

     

    TCP/IP 프로토콜과 OSI 7 계층 모델과의 관계

    TCP/IP:4계층 - OSI:7,6,5계층

    TCP/IP:3계층 - OSI:4계층

    TCP/IP:2계층 - OSI:3계층

    TCP/IP:1계층 - OSI:2,1계층

     

    프로토콜(Protocal) 구조

    여기서 자주 들었던 프로토콜의 주요 특징만 살펴보자.

    IP

    - 패킷을 분할 및 재조립함

    - 수신할 상대 주소를 지정함

    TCP

    - Stream 방식

    - 양방향 통신

    - 연결성, 순서, 신뢰성이 있음

    UDP

    - Datagram 방식

    - 양방향 연결이 필요 없음

    - 속도를 우선으로 연결성, 순서, 신뢰성이 없음

    HTTP

    - TCP와 IP(TCP/IP) 프로토콜 위에서 동작하는 응용 계층의 프로토콜

    - 웹상에서 주로 HTML문서를 주고받는데 쓰임

    - 클라이언트/서버 사이에 요청(request)/응답(response) 통신

     

     

    소켓 정리

    다음으로 소켓이 무엇인지 살펴보자.

    보통 네트워크에서 다루는 소켓은 인터넷 소켓(network socket)을 말하는 듯 하다. 따라서 아래 내용의 소켓은 인터넷 소켓으로 해석하면 된다.

     

    소켓의 유형으로 보통 TCP/IP와 UDP/IP가 있다.

    TCP/IP 프로토콜 기반의 Stream 방식

    - 양방향 연결

    - 데이터의 신뢰성 보장(소실, 변형, 순서 보장)

    - 한개의 패킷을 여러개로 나누어 받거나 여러개의 패킷을 하나로 받을수 있으므로 별도의 처리가 필요함

    UDP/IP 프로토콜 기반의 Datagram 방식

    - 양방향 연결이 필요 없음

    - 데이터 소실일 발생 될수 있음

    - 데이터 소실의 이유가 다양해 예측하기 어려움

    - 먼저 보낸 데이터보다 늦게 보낸 데이터를 먼저 받을 수도 있음

    - 한개의 데이터를 여러개로 분할없이 받을 수 있음

     

    소켓 통신 과정(전화통화와 유사함)

    발신자(클라이언트) : 소켓 생성 -----------------------------------> 연결 -------> 통신 -> 소켓 닫기(연결 끊기)
    수신자(서버)           : 소켓 생성 -> IP주소 및 포트 할당 -> 연결 대기 -> 연결의 승인 -> 통신 -> 소켓 닫기(연결 끊기)

    소켓 통신 

    1. server 소켓 생성과 listen(이벤트)

    2. connect을 위한 client 소켓 생성

    3. client 소켓에서 server 소켓으로 메시지 전송

    4. server에서 새로운 소켓 생성 후 처리

    5. server 소켓에서 client 소켓으로 메시지 전송

    6. 소켓 Close(소켓 닫기)

     

    결과

    정리한 내역으로 보면

    회의에서 나온 "프로토콜은 소켓(Socket) 으로 하시면 되요"라는 말은 다음과 같이 해석 할 수 있다.

    소켓은 일반적으로 Transport 계층에 속해있는 TCP 프로토콜을 말한다.

     TCP/IP 프로토콜 기반의 소켓 방법으로 진행을 한다.

    라고 알아들으면 될듯하다.

     

    댓글

Designed by Tistory.