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

hyeokim님의 프로필 이미지
hyeokim

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

특별한 정보

클라이언트-서버 간의 TCP/IP 통신

작성

·

627

0

2:00 쯤, 클라이언트-서버 간의 TCP/IP 통신은 IP로만 통신을 한다고 설명해주셨는데 이에 대해 궁금한 부분이 있어 질문 드립니다.

Q0. TCP/IP 통신 자체가 IP로만 통신하는 방법이라는 의미가 아니고, 예시처럼 이름기반 가상호스팅을 하는 상황에서는 IP와 Host 정보만을 가지고 통신을 할 수 있다는 의미이신건가요? (앞선 [챕터1. 인터넷 네트워크] 강의에서 TCP/IP 통신은 IP와 PORT 정보를 가지고 통신을 하며, 동일한 IP 내에서 PORT를 통해 프로세스를 구분한다는 설명과는 다른 부분이 있어 약간 혼동이 생겼습니다)

Q1. 그럼 예시 상황에서 PORT 개념은 해당 통신에서 사용되지 않는건가요? 혹시 사용된다면 어떻게 사용되는걸까요?!

답변 1

1

안녕하세요, hyeokim 님. 공식 서포터즈 codesweaver 입니다.
.
Q0. TCP/IP 는 IP를 기반으로 서버와 클라이언트가 통신합니다.

강의에서 말씀하신 내용은 IP를 기반으로 전달한 데이터, 즉 HTTP메시지 중 HTTP 헤더 안에 Host 정보가 들어가 있다는 내용입니다. 서버는 TCP/IP로 전달한 데이터를 디캡슐레이션하여 HTTP 메시지를 꺼내고, 그 중 HTTP 헤더의 정보를 먼저 참조하게 됩니다.

 

Q1. 앞서 클라이언트가 HTTP 메시지를 서버에 전달한다고 설명드렸는데 이 떄 데이터를 그냥 보내는 것이 아니라, 여러 겹의 캡슐로 감싸는 작업을 거치게 됩니다(인캡슐레이션). 이 캡슐 중 포트 번호를 가지는 캡슐이 있어 여기에 포트번호를 기입하여 전송하게 됩니다. 서버는 이 캡슐화된 데이터를 하나 하나 벗기면서 필요한 정보를 차례차례 획득하게 됩니다.

 

TCP/IP 데이터 전송에 관한 더 자세한 정보는 인캡슐레이션, 디캡슐레이션, TCP/IP 계층을 검색하시면 좋습니다.

감사합니다.

hyeokim님의 프로필 이미지
hyeokim

작성한 질문수

질문하기