HTTP에서 TCP로 통신

1523 단어 TCPHTTP
웹 브라우저로부터의 HTTP 리퀘스트와 그에 대한 웹 서버로부터의 HTTP 응답을 반복해 실시하는 것으로 Web 사이트를 열람할 수 있지만, 이러한 교환을 실시하는 것은 TCP(Transmission Control Protocol)이다. TCP는 웹 사이트 열람뿐만 아니라 메일의 송수신이나 파일 전송 등 다양한 데이터 전송시에 이용되고 있다.

TCP 역할



TCP에서는, 우선 클라이언트와 서버가 서로 통신할 수 있는 상태인지를 확인해, 「커넥션」이라고 불리는 통신 경로를 확립하고 나서 데이터의 교환을 한다.
연결의 확률은 다음 세 가지 상호 작용으로 수행됩니다.
  • 클라이언트의 연결 요청(SYN)
    클라이언트로부터 서버에 접속을 요구하기 위한 SYN 패킷을 송신하는 단계; SYN 패킷을 수신한 서버는 이에 응답한다.
  • 클라이언트에 대한 확인 응답 및 서버로부터의 연결 요청(SYN+ACK)
    TCP에서는 신뢰성을 확보하기 위해서, 데이터 송신 후 반드시 송신 상대로부터의 확인 응답을 수신하여 데이터의 송신이 완료되었다고 판단한다. 이 확인 응답은 ACK 패킷입니다.
    클라이언트로부터의 접속 요구에 대하여 서버가 ACK 패킷을 송신하는 것으로, 접속 가능하다고 전한다. 또한 동시에 클라이언트에게 연결을 요청하기 위해 SYN 패킷을 전송합니다.
  • 서버에 대한 확인(ACK)
    서버로부터의 접속 요구에 대하여, 클라이언트는 ACK 패킷을 송신한다.
    서로 SYN 패킷을 보내고 ACK 패킷으로 응답하여 양방향 통신이 가능한지 확인하고 연결을 설정합니다.


  • 커넥션 확립은 3회의 교환으로 행해지기 때문에, 「3웨이 핸드셰이크」라고 불린다. 데이터의 송수신이 종료되어 통신을 종료(커넥션의 단절)할 때에는, 4회의 교환이 필요하게 된다.
    또한, 신뢰성을 담보하기 위해, 데이터 전송시에 일정 시간 ACK의 응답이 없었을 경우, 데이터를 재전송하는 「재전송 제어」나, 순서가 바뀌었을 경우에 번호대로 조립하는 「순서 제어」를 행한다 있습니다.
    또한, 데이터를 송신할 때마다 ACK를 송신하는 것이 아니라, 복수의 데이터를 수신하고 나서 ACK 패킷을 송신한다.

    참고



    일러스트 도해식 이 한 권으로 전부 아는 Web 기술의 기본

    좋은 웹페이지 즐겨찾기