TCP 와 UDP 개요
TCP(Segment)
연결(Connection, Session)지향..! -> 연결은 매우 '논리적(Virtual)' 이다.
연결은 결과적으로 순서번호(L4, Segment)로 구현되며, '상태(전이)' 개념을 동반한다. -> 전화를 거는 상황을 생각해보면, 전화를 받는 쪽에서 전화를 받으면 상태(전화 전, 전화 후)가 전이된다.
TCP 에서 Zero Window 와 같이 Application 단에서 에러가 발생한다면, Packet 을 보내지 않는다.
TCP 의 과정
클라이언트와 서버로 이루어져 있다.
서버는 항상 연결을 대기하고 있다.(Listen) -> 대기 상태 이전에 서버는 운영체제에게 말해서 특정 Port 번호를 받아야한다고 한다. -> WEB 서비스의 경우 80번
서버가 연결 대기하지 않는다면 클라이언트의 요청이 와도 운영체제 단에서 막는다.
클라이언트 프로세스가 Socket 을 생성하고 오픈한다. -> 프로세스는 PID 를 갖는다.
운영체제는 Socket 에 TCP Port 번호를 부여한다.
서버로 요청이 간다.
연결을 대기(Listen)하고 있던 서버 프로세스가 Socket 을 생성하고 오픈한다.
클라이언트의 요청을 받아 서버의 Socket 과 연결해 통신한다.
UDP(Datagram)
비연결지향
UDP 에서 Zero Window 와 같이 Application 단에서 에러가 발생해도, Packet 을 보낸다.
Last updated