카테고리 없음

네트워크 TCP/IP 4계층

nuri-story 2023. 11. 13. 12:44

 

 

 

 

IP (인터넷 프로토콜)

지정한 IP주소에 데이터 조각들을 패킷(Packet)이라는 통신 단위로 최대한 빨리 목적지로 보내는 역할입니다.

조각들의 순서가 뒤바뀌거나 일부가 누락되더라도 크게 상관하지 않고 보내는데 집중합니다. 그래서 IP프로토콜은 패킷의 순서도 보장 할 수 없고 패킷이 중간에 유실되도 이에대한 방안이 없습니다.

 

 

TCP (전송 제어  프로토콜)

패킷 데이터의 전달을 보증하고 보낸 순서대로 받게 해줍니다.

도착한 조각을 점검하여 줄을 세우고 망가졌거나 빠진 조각을 다시 요청하는 식으로 순서를 보증합니다.

TCP는 데이터를 상대방에게 확실하게 보내기 위해서 3 way 핸드쉐이킹이라는 방법을 사용하고 있습니다.
이 방법은 패킷을 보내고 잘 보내졌는지 여부를 상대에게 확인하러 갑니다.

여기에서 고유의 'SYN'와 'ACK'라는 TCP 플래그를 사용합니다. (일종의 확인 마크 정도로 이해하면 됩니다.)

한마디로 TCP는 IP의 문제를 보완해주는 녀석이라고 보면 됩니다.

 

TCP 3 way handshake

본격적으로 상대 클라이언트와 연결되기 전에 가상 연결을 해서 패킷으로 보내서 확인하는 동작입니다.

 

SYN : 접속 요청

ACK : 요청 수락

 

SYN : 연결을 생성할때 클라이언트가 서버에 시퀀스 번호를 보내는 패킷

SYN-ACK : 시퀀스 번호를 받은 서버가 ACK값을 생성하여 클라이언트에게 응답하는 패킷

ACK : ACK값을 사용하여 응답하는 패킷

 

 

 

TCP 순서보장 방법

1. 클라이언트에서 패킷1, 패킷2, 패킷3 순서로 전송

2. 서버에서 패킷1, 패킷3, 패킷2 순서로 받음

3. 서버에서 패킷2번부터 다시 보내라고 클라이언트에게 요청(TCP 기본 동작)

 

 

 

TCP/IP 4계층 동작 순서

 

 

  1. 송신측 클라이언트의 애플리케이션 계층에서 어느 페이지를 보고 싶다라는 HTTP 요청을 지시합니다.
  2. 다음에 있는 트랜스포트 계층에서는 애플리케이션 계층에서 받은 데이터(HTTP 메시지) 통신하기 쉽게 조각내어 안내 번호와 포트 번호(TCP 패킷) 붙여 네트워크 계층에 전달합니다.
  3. 네트워크 계층에서 데이터에 IP 패킷을 추가해서 링크 계층에 전달합니다.
  4. 링크 계층에서는 수신지 MAC 주소와 이더넷 프레임을 추가합니다.
  5. 이로써 네트워크를 통해 송신할 준비가 되었습니다.
  6. 수신측 서버는 링크 계층에서 데이터를 받아들여 순서대로 위의 계층에 전달하여 애플리케이션 계층까지 도달합니다.
  7. 수신측 애플리케이션 계층에 도달하게 되면 클라이언트가 발신했던 HTTP 리퀘스트를 수신할 있습니다.

 

현재 OSI 7계층보다는 TCP/IP 4계층이 더 많이 활용되고 있습니다.

OSI 7계층은 이론적인 느낌이라면 TCP/IP 4계층은 이론을 실제로 사용한다는 느낌이라고 합니다.

 

 

 

참고

https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-TCP-IP-%EC%A0%95%EB%A6%AC-%F0%9F%91%AB%F0%9F%8F%BD-TCP-IP-4%EA%B3%84%EC%B8%B5

 

🗼 TCP / IP 4계층 모델 - 핵심 총정리

TCP / IP 개념 정리 (선수 지식) IP (인터넷 프로토콜) 지정한 IP 주소에 데이터의 조각들을 패킷(Packet)이라는 통신 단위로 최대한 빨리 목적지로 보내는 역할. 조각들의 순서가 뒤바뀌거나 일부가

inpa.tistory.com