컴퓨터(Computer Science)/네트워크, Network

Connection-Oriented & Connectionless Protocol& Service, 연결형과 비연결형 서비스

게임이 더 좋아 2020. 11. 25. 21:24
반응형
728x170

www.youtube.com/watch?v=c1uWidYnL2Y

위의 영상을 바탕으로 설명하겠다.

 


각 계층은 바로 위 계층에 연결형과 비연결형의 두 가지 유형의 서비스를 제공할 수 있다. 

+ 프로토콜도 마찬가지로 비슷하다.

 

우선 서비스에 관해서 설명하고 그 다음 프로토콜을 알아보자

 

연결형 서비스는 전화망을 모델로 많이 잡는다.

전화를 하기 위해서 해야할 작업이 무엇이 있을까?

서비스 사용자는 연결을 설정하고 그 연결을 사용한 후 연결을 해제한다. 

즉 연결이 마치 긴 관이 작동하는 것 같다. 송신측은 끝에서 개체를 밀어 넣고 수신 측은 다른 쪽에서 전송되는 순서대로 수신한다. 

** 연결을 설정하고 나서야 통신이 가능하다.

 

비연결형 서비스는 우편망 서비스와 비슷하다고 한다.

각 편지는 목적지를 가지고 있고 편지들은 우편망 중간의 우체국을 통해 알아서 전달된다. 

 

**이러한 편지를 네트워크에서는 패킷이라고 한다.( Network Layer) 

 

다음 노드(우체국)에 전송되기 전에 중간 노드가 전체 메시지를 받을 때 이를 저장 및 전달 스위칭(store-and-forward switching)이라고 한다.

 


프로토콜에 대해서 알아보자

 

Connection - Oriented는 TCP라고도 한다.

 

Connectionless 는 UDP라고도 한다.

 

TCP에 대해서 더 알아보자

 

만약 호스트가 다른 호스트와 메시지 교환을 하고 싶을 때,

호스트는 트랜스포트 레이어를 통해서 다른 호스트와 연결을 설정한다.

 

그렇게 되면 각각의 호스트들은 연결되었다는 것을 안다.

양쪽에 연결이 되면 세션이 발생한다.

양방향 세션이 일단 만들어지면 수신측에서는 받았다는 확인을 해준다.

송신측에서 수신측이 받았다는 확인을 하면 segment를 더 이상 보내지 않는다.

 

**위의 것이 TCP의 주요한 장점이다. 바로 Reliability이다. 받았는지 확인이 가능한 것이다.

**하지만 Overhead를 발생시키는 것이 당연하다.(지연)

 

 

그렇다면 연결이 어떻게 이뤄지는지 자세히 알아보자

 

TCP연결에서는 호스트 중 하나가 서버의 역할을 하게된다. 다른 호스트들은 클라이언트가 된다.

 

즉 송신(source) 는 클라이언트, 수신(destination)이 서버가 된다는 뜻이다.

 

또한 TCP 헤더 안에 있는 Control bit 가 프로세스와 3단계 핸드셰이크의 상태를 보여주는데 쓰였다.

 

 


** 3단계 핸드셰이크란, Three-Way Handshake

호스트 1이 시작하고 호스트 1이 순서번호 x를 선택한다.

또한 이것을 포함한 Connection Request, CR 세그먼트를 호스트 2로 보낸다.

 

호스트 2는 이에 대해 확인응답과 자신의 초기 순서번호 y를 ACK 세그먼트에 담아 보낸다.

 

끝으로 호스트 1이 호스트 2의 초기 순서번호에 대한 확인응답을 포함시켜 최초의 데이터 세그먼트를 보낸다.

 

 

++(b)는 오래된 복제가 있는 경우 (c)는 2가지 복제가 일어난 경우를 뜻한다. 

 


 

이제 UDP에 대해서 알아보자

당연히 Overhead가 적다고 생각할 수 있다.

그렇지만 Unreliability이고

ACK가 없으니 받은 지 알 수 없을 것이다. 

 

그렇지만 몇몇의 Application에선 여전히 중요하게 쓰일 수 있을 것이다. Voice over IP라던가. 

즉, 조금의 데이터 손실로는 전화는 괜찮을 것이고 대화 중에 굳이 다시 전달받는 것을 원하지 않는다.

그래서 굳이 오류 검출이나 오류 정정 과정이 필요가 없다.

 

 


부족한 설명이지만 여기서는 연결형과 비연결형에 대해서 말했기 때문에 

가볍게 다뤘다.

 

728x90
반응형
그리드형