TCPIP 통신과 wwwgooglecom

TCPIP 통신과 wwwgooglecom

드디어 구글 서버와 연결에 성공했습니다. 이제 저희가 이용하는 프로세스끼리 통신하고 싶은 내용을 작성하여 패킷을 구성해야합니다. 다소 어떤한 개념을 이해하기 위해서는 그 단어의 뜻을 이해하는 것이 도움이 되곤합니다. 그래서 HTTP도 단어의 뜻부터 알아보겠습니다. 그래서 첫번째 HTTP는 Hyper Text Transfer Protocol의 약자입니다. 그럼 첫번째 Hyper Text는 무엇일까요? 위키피디아의 정의를 가져왔어요. Hypertext is displayed on a or other with references to other text that the reader can immediately access 사실 거의 모든 인터넷 페이지들은 어떤 다른 페이지로 이어지는 링크하이퍼링크들로 있기 때문에, 하이퍼텍스트는 인터넷 페이지라고 이해해도 좋을 것 같습니다.


HTTP 특성 무상태성stateless
HTTP 특성 무상태성stateless

HTTP 특성 무상태성stateless

HTTP는 무상태성이라는 특징을 가지고 있습니다. http 통신은 이전에 이뤄졌던 통신와 늘 독립적이고 세션 정보를 따로 저장하지 않습니다. 이 덕분에 가시성Visibility, 신뢰성Reliability, 확장성Scalability를 높일 수 있습니다. 1. 가시성 하나의 통신의 종합적인 내용을 분명하게 이해하기 위해서 이전의 통신을 살필 필요가 없습니다. 2. 안전성 부분적인 실패에서 빠르게 회복할 수 있습니다.

3. 확장성 서버의 자원을 더 효율적으로 활용할 수 있고, 실행이 더 간단합니다.

인터넷 계층 데이터를 보내보자
인터넷 계층 데이터를 보내보자

인터넷 계층 데이터를 보내보자

인터넷 계층에서는 전송계층에서 보증한 안전성 있는 데이터를 어디로 어떻게 보낼지를 정합니다. 아 어디로 보낼지 알아 여기잖아 ? 맞다. 하지만 문제가 있습니다. 컴퓨터는 단순해서 고등생명체인 인간의 언어를 알아 듣지를 못합니다. 그래서 이 도메인정보를 IP주소로 바꿔줘야 하는데 그 역할을 해주는 것이 바로 DNSDomain Name System입니다. DNS는 에 대응하는 IP주소를 알고있습니다. DNS는 로컬 DNS부터 Root DNS 등 여러가지 DNS가 있고 여러번의 질의를 통해 답을 얻는데, 결국 연결된 DNS중 누군가는 반드시 해당 도메인에 대한 정보를 알고 있습니다.

우리는 DNS에게 IP주소를 질의하고 DNS는 해당 도메인에 매핑된 IP주소를 결과로 넘겨줍니다.

HTTP의 구성 Requset와 Respons

http통신은 기본적으로 요청과 응답으로 이뤄져있고, 약속된 양식에 맞게 각 메모를 작성하게 됩니다. 따라서 주소창에 www.google.com을 입력하면, http request를 약식에 맞게 작성하여 구글 서버에 보내고, 구글 서버는 http response를 양식에 맞게 작성하여 클라이언트로 보냅니다. 그러면 이 정보를 브라우저가 해석하여 이쁘게 화면에 출력하는 식입니다.

연결망 인터페이스 계층 진짜 전기신호로 바꿔줄게

연결망 인터페이스 계층에서는 데이터를 실제 물리적인 전자 신호로 변경해주는 역할을 합니다. 그리고 이 전자 신호는 MAC 주소를 통해 연결망 장비로 전달되지만 하지만 🤔 : IP 주소 까지는 알겠는데, MAC주소는 뭐지 ? IP주소가 연결망 상에서 컴퓨터 자체를 의미하는 이성적인 식별자 라면 MAC주소는 전자 신호를 주고 받기 위한 실제 물리적인 장치들의 식별자 인 것입니다. 그렇다면, 우리는 최종 목적지인 google 웹 서버의 MAC 주소를 파악해야 할까? 아닙니다.

이 광범위한 인터넷 세상에서 데이터를 주고 받기 위해서는 물리적으로 굉장히 많은 장치들을 거쳐야 합니다. 따라서, 여기서 필요한 MAC주소는 당장 이 전자 신호를 보낼 공유기의 MAC주소 인 것입니다.

응용계층 사용자와 상호작용 할게

가장 먼저 응용 계층에서는 사용자와 직접적인 상호작용이 일어난다. 여기서 이 상호작용을 담당하는 것이 바로 응용 프로그램크롬이고 이 프로그램은 Http 프로토콜을 호출합니다. 은 제대로 입니다. 여기서 뒤에 붙은 80은 포트 번호특정 프로세스나 애플리케이션을 식별하기 위해 사용되는 숫자로 HTTP 프로토콜의 포트번호가 80번이기 때문에 만 입력하더라도 자동으로 80이 붙은 것으로 인식합니다.

호출된 Http 프로토콜은 클라이언트의 메세지에 HTTP 헤더를 붙여 HTTP 메세지를 생성합니다.

브라우저에서 캐싱된 DNS 검색 및 IP주소 확인

첫번째로, 내 컴퓨터는 모든 도메인 이름의 주소록 역할을 하는 DNS(Domain Name System) 서버에 요청을 보낼겁니다. 그러면 DNS 서버는 가리키는 서버의 특정한 IP 주소를 반환합니다.

자주 묻는 질문

HTTP 특성

HTTP는 무상태성이라는 특징을 가지고 있습니다. 좀 더 자세한 사항은 본문을 참고하시기 바랍니다.

인터넷 계층 데이터를

인터넷 계층에서는 전송계층에서 보증한 안전성 있는 데이터를 어디로 어떻게 보낼지를 정합니다. 자세한 내용은 본문을 참고 해주시기 바랍니다.

HTTP의 구성 Requset와

http통신은 기본적으로 요청과 응답으로 이뤄져있고, 약속된 양식에 맞게 각 메모를 작성하게 됩니다. 궁금한 내용은 본문을 참고하시기 바랍니다.