본문 바로가기
개발자 일지/네트워크

HTTP, TCP/IP 간단 정리

by 네빌링 2022. 4. 10.
반응형

-OSI 7계층, TCP/IP 4계층을 알아본다.
-HTTP, TCP/IP 특징, 관계를 알아본다.


이직하고나서 네트워크 개념과 서버관련 개념들이 부족함을 깨닫고 있다. 생각 이상으로 응용되는 개념들이 많고 머리에서 엉킨다. 기능구현 위주의 개발회사에서 이직하면 이러한 약점이 있음을 몸소 깨닫는다!
 
뭐 깨닫는다고 어쩔 수 있는 것은 아니고 다시 꾸준히 정리해보자.
 

OSI 7계층, TCP/IP 4계층

 

 
OSI 7계층은 클라이언트 or 서버에서 데이터 전송시 많은 단계를 거치는데 그 단계를 그림으로 표현한 것 정도로 생각하면 되겠다. 이렇게 계층을 그림으로 나누면 문제발생시 7단계에서 문제 발생 부분만 체크하면 된다는 이점도 있다.
 
TCP/IP 4계층은 OSI 7계층을 기반으로 인터넷에서 실제로 사용되는 표준이다.
 
인터넷 주소창에 구글 도메인네임 검색 작업 및 모든 행위는 7계층 응용계층에서 일어난다. 서버에 보낼 데이터, 프로토콜방식 등 헤더가 붙는다. 계층이 내려갈 수록 패킷들이 붙는다. 표현계층에서는 암호화, 복호화 과정에서 필요한 정보 패킷이 붙고 계속 붙는다.
 

HTTP, TCP

 
HTTP는 응용계층 프로토콜, TCP는 전송계층 프로토콜이다. HTTP는 TCP 기반 위에서 만들어졌기 때문에 TCP 성격을 모두 포함한다.
 
TCP 특징은 다음과 같다.

  • 3 way handshaking으로 신뢰성 있는 작업을 보장 -> 동기적이며 속도 느림
  • TCP는 패킷 순서도 보장
  • byte array(binary)로 정보 통신
  • Stateful하다. 3way handshaking 과정에서 세션을 서버에 저장해두기 때문이다.
  • Stateful하기 때문에 서버 scale out시 추가적인 작업 과정이 든다. (서버1이 끊기면 서버2로 연결해야하는데 세션을 옮겨줘야 하는 문제 등)

 
TCP와 반대되는 개념으로 UDP가 있다. 개념자체가 반대된다기보다 특징 자체가 반대되는 부분이 좀 있다는 것. UDP는 패킷순서 보장이 없고 3way handshaking 과정이 없으므로 빠르고 비동기적으로 동작한다.
 
HTTP 특징은 다음과 같다.

  • Stateless하다.(Connection Keep-Alive를 통해 Stateful하게 사용가능)
  • 비연결성(Connectionless)
  • 클라이언트 서버 구조

 
김영한님의 HTTP강의를 듣고 있긴 한데 사실 정리를 따로 할 생각은 없었으나, 간단하게 나마 정리해야겠단 생각이 든다. 이 부분들은 김영한님 HTTP강의 정리할 때 한 번 더 해야겠다.
 


출처

https://www.bmc.com/blogs/osi-model-7-layers/
https://hwan-shell.tistory.com/271
https://chrisjune-13837.medium.com/web-http-tcp-ip-%EB%A9%94%EC%8B%9C%EC%A7%80%EB%9E%80-4b2721fe296f

반응형