Protocol에 대한 개괄적인 이야기를 해보자.
Protocol의 역할
Protocos define format, order of messages sent and received among network entities, and actions taken on massage transmission, recipt.
프로토콜은 소프트웨어 모듈 사이의 동작을 정의한 것으로, 그 두 소프트웨어는 반드시 같은 계층에 속한 모듈이어야 한다.
프로토콜은 주고 받는 메세지의 형식,순서, 주고받기 전 후에 해야 할 일을 정의한 것.
프로토콜의 대표적인 에시로는 HTTP, TCP, IP등을 생각할 수 있다.
예시: TCP의 3way handshake
Protocol TCP를 사용하는 네트워크 커넥션의 예시를 들어 프로토콜의 역할을 이해해보자.
TCP는 대표적인 reliable connection을 특징으로 하는 대표적인 인터넷 프로토콜이다. 따라서 이 프로토콜을 사용하면 수신측에서 수신을 확인하는 메세지를 보내어 reliable connection을 보장한다.
TCP를 사용하는 end to end connection을 할 때의 시작과정을 3-way handwhake라고 한다. 이 과정을 통해 두 end간의 연결을 설정한다.
3-way handwhake의 과정은 다음과 같다.
1. 저기 서버야 너 거기있니? (SYN)
client는 tcp connection req를 위해 본인의 squence number x를 포함한 SYN(synchronize) 메세지 전송.
2. 응 나 여깄어.(ACK) 무슨일이야?(SYN)
server는 client에게 msg 정상 수신을 알리는 ACK msg (x+1)와, 본인의 squence number y를 전송
3. 아 내가 할 말이 있어서 ㅎㅎㅎ(ACK)
client 는 server에게 msg 정상 수신을 알리는 ACK msg (y+1) 전송.
'Computer Network > Chapter 1. Introduction' 카테고리의 다른 글
3. Network Edge : access network (0) | 2023.09.24 |
---|---|
1. Internet (0) | 2023.09.07 |