-
프로토콜(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 프로토콜 기반의 소켓 방법으로 진행을 한다.
라고 알아들으면 될듯하다.
'컴퓨터상식 > 네트워크,통신' 카테고리의 다른 글
FileZila (FTP 서버 생성 프로그램) (0) 2022.03.10 URI vs URL vs URN 차이 (0) 2022.03.10 iOS) HTTP / HTTPS / RESTful 이 도대체 뭘까 (0) 2022.01.27