인프런 커뮤니티 질문&답변

김제하님의 프로필 이미지

작성한 질문수

네트워크, 그림으로 이해하자

전송 계층에서 연결 확립 및 종료 단계 관련 질문

해결된 질문

작성

·

284

·

수정됨

0

전송 계층은 네트워크 계층에서의 신뢰성 문제를 해결하기 위해서 연결 확립 과정과 연결 종료 과정을 거친다고 이해했습니다.

연결 확립 과정은 3 way handshake를 통해서 진행되고, 연결 종료 과정은 4 way handshake 과정을 통해서 진행되고요. 그러면 이 과정도 캡슐화 와 역캡슐화가 이뤄지는 건가요? 그렇다면 연결 수립 과정과 종료 과정에서 데이터 신호가 서버측까지 캡슐화와 역캡슐화를 계속해서 반복하는 것이라 이해하면 될까요?

 

 또한, OSI 7 layer 기준으로 session layer와 representation layer는 그러면 무슨 역할을 하는 건가요? 강사님께 여쭤보는 이유는 블로그마다 내용이 사뭇 다르고 정확도가 떨어져서 직접 여쭤봅니다.

답변 2

0

예술하는 개발자님의 프로필 이미지
예술하는 개발자
지식공유자

  1. 네 캡슐화/역캡슐화된 상태로 전송됩니다.
    3-way handshake와 4-way handshake 과정 자체가 코드 비트(플래그)의 각 6비트 중 특정 비트가 활성화돼서 SYN, ACK, FIN 등의 데이터 영역이 0에서 1로 바뀐 채 전송되는 것인데
    데이터를 주고 받는 과정에서 각각 활성화되는 코드 비트의 영역이 다르기 때문에 근본적으로 헤더에 적용되는 데이터가 다릅니다.

    따라서 예를 들어 A컴퓨터와 B컴퓨터의 3-way handshake의 과정에서
    A컴퓨터에서 캡슐화를 통해 SYN 비트가 1로 활성화된 데이터를 전송했다면
    B컴퓨터에서 역캡슐화를 통해 SYN 비트가 1로 활성화된 데이터를 받았음을 확인하고
    B컴퓨터에서 캡슐화를 통해 다른 세그먼트로 SYN비트+ACK비트가 1로 활성화된 데이터를 전송합니다.
    A컴퓨터에서 역캡슐화를 통해 SYN비트+ACK비트가 1로 활성화된 데이터를 받았음을 확인하고
    A컴퓨터는 캡슐화를 통해 마지막으로 ACK 비트가 1로 활성화된 데이터를 전송합니다.



    이렇게 예시를 들 수 있겠네요 :)

    2.

    https://osi-model.com/presentation-layer/

     

    해당 링크가 잘 정리되어 있어서 도움이 되실 것 같습니다.

     

     


    세션 계층은 '세션'이라는 단어의 의미와 연관지어서 생각해보면 편한데, 세션이라는 단어 자체가 컴퓨터 과학에서는 대화나 연결 상태를 의미하기 때문에 응용 프로그램 간의 세션(대화)을 관리하는 계층이라고 보시면 됩니다.

     

     

     

    또 표현 계층도 '표현'이라는 단어의 의미와 연관지어서 생각해보면

    데이터가 어떻게 '표현'되는지, 즉 어떠한 방식으로 인코딩되고 해석되는지를 관리하는 계층으로 생각하시면 됩니다.
    그래서 데이터의 압축이나 암호화가 이루어지는 계층이 이 표현 계층입니다 🙂

     


    참고로 제 강의에서는
    초반 osi모델, TCP/IP 모델 편에서 언급했듯이

    '응용 계층' 자체를 7계층만이 아닌
    5~7 계층 모두 묶어 표현했고, 다른 저자분들마다 각 계층을 따로 분리하거나 혹은 저처럼 편의상 5~7계층을 묶어서 응용 계층으로 표현하시기도 하니 참고해주세요!

    조금 더 말씀드리면,

    OSI모델 자체가 ISO(국제 표준화 기구)에서 제정이 되었는데,

    ISO에서 공식 자료를 유료로 판매하고 있습니다.

    참고해보시면 도움이 되실 것 같습니다 🙂

    표준: ISO/IEC 7498-1

    https://www.iso.org/obp/ui/#iso:std:iso-iec:7498:-1:ed-1:v2:en
    https://webstore.iec.ch/preview/info_isoiec7498-1%7Bed2.0%7Den.pdf

예술하는 개발자님의 프로필 이미지
예술하는 개발자
지식공유자

덧붙이자면 단순 3-way handshake, 4-way handshake의 상황 뿐 아니라 컴퓨터의 모든 데이터는 전송할 때 캡슐화해서 전송하고, 받은 데이터를 뜯어볼 때는 역캡슐화한다고 보시면 됩니다. 3/4-way handshake는 그 여러 상황 중 일부입니다.

wireshark 프로그램을 다운로드 받으신 후 패킷 분석을 해보시면 조금 심화적인 이해를 돕기에 도움이 되지 않을까 싶습니다 :)

김제하님의 프로필 이미지
김제하
질문자

그렇다면 표현계층은 application 에서 이뤄지는 단계라고 이해하면 될까요?

json library를 통해서 직렬화와 역직렬화가 이뤄지는 단계가 이 표현 계층이라고 이해하면 될까요?

또한, 세션 계층에서 연결 상태를 수립한다고 한다면 handshake 단계가 4계층에서 이뤄지는데, 이 handshake 단계랑은 다른 연결을 말하는 건가요? 그러면 이 layer에서 연결은 누가 담당하는 건가요?

예술하는 개발자님의 프로필 이미지
예술하는 개발자
지식공유자

1.그렇다면 표현계층은 application 에서 이뤄지는 단계라고 이해하면 될까요?

=> 네, 맞습니다. 그래서 응용 계층을 표현 계층과 세션 계층을 하나로 묶는 이유가 때때로 세션 계층(5계층)과 표현 계층(6계층)이 주로 응용 계층(7계층)과 하나로 묶여서 작동하기 때문입니다.

 

2.json library를 통해서 직렬화와 역직렬화가 이뤄지는 단계가 이 표현 계층이라고 이해하면 될까요?

=>네, 표현 계층의 예시로 json 라이브러리나 xml이 많이 나옵니다 :)

 

3.또한, 세션 계층에서 연결 상태를 수립한다고 한다면 handshake 단계가 4계층에서 이뤄지는데, 이 handshake 단계랑은 다른 연결을 말하는 건가요? 그러면 이 layer에서 연결은 누가 담당하는 건가요?

=> 세션 계층에서의 '연결 상태 수립'과 전송 계층에서의 '연결 상태 수립'은 결이 다르다고 보시면 되는데, 전송 계층에서의 연결 상태 수립은 '데이터 전송'을 위한 연결 상태를 수립하고 종료하는 것이고, 세션 계층에서의 연결 상태 수립은 어플리케이션(응용 프로그램)간의 대화나 세션을 유지하는 것을 의미합니다. 전송 계층에서는 "나 데이터 전송 시작한다?"의 느낌이라면 세션 계층에서는 "이 어플리케이션 연결 유지한다?"의 느낌입니다.

0

안녕하세요, 인프런 AI 인턴입니다.

네트워크에서의 전송 계층은 데이터 전달의 신뢰성을 보장하며, 연결을 확립하고 종료하는 과정을 관리합니다. 연결 확립과 종료 과정에서 3-way와 4-way 핸드셰이크가 일어나며, 이 때에는 컨트롤 메시지들이 캡슐화와 역캡슐화 과정을 거칩니다. 즉, 데이터 패킷이 해당 계층의 헤더를 추가하거나 제거하는 과정이 포함됩니다.

OSI 7 계층 모델에서 세션 계층은 통신 세션을 구축, 관리, 종료하는 역할을 하고, 표현 계층은 데이터의 표현 방식을 정의하여 기기간 정보의 정확한 전달을 책임집니다. 표현 계층은 데이터 형식의 번역, 데이터 압축 및 암호화 등을 수행할 수 있습니다.

강의 제목 ‘네트워크, 그림으로 이해하자’는 네트워크 기본 개념을 시각적인 방식으로 설명할 것 같습니다. 수업 내용에서 보다 구체적인 네트워크 계층의 역할과 캡슐화 및 역캡슐화 과정을 포함하여 OSI 모델의 각 계층별 기능에 대해 자세히 배울 수 있을 것으로 기대됩니다.

강의 내용 중에서 아직 이해가 되지 않는 부분이 있거나, 더 깊이 있는 질문이 있다면 해당 강의의 지식공유자에게 직접 문의하시거나, 인프런의 문의하기 기능을 통해 질문을 남기시면 좀 더 정확하고 신속한 답변을 받으실 수 있습니다.