4-튜플 키를 통해 소켓을 찾는다.
- 4-튜플 키
- src_ip (원격 IP 주소)
- src_port (원격 포트 번호)
- dst_ip (목적지 IP 주소)
- dst_port (로컬 포트 번호)
established된 소켓을 먼저 찾고, 없으면 리스닝 소켓으로
- 커널은 4-튜플 키를 통해 기존 연결이 있는지 먼저 확인한다.
- 서버의 리스닝 소켓이든 established된 child소켓이든 4-튜플에 대한 정보를 가지고 있기 때문에, tcp 패킷을 수신했을 때 소켓을 look up할 수 있는 것이다.
- 리스닝 소켓
- 로컬:
0.0.0.0:443 (또는 특정IP:443)
- 상태:
TCP_LISTEN
- 상대(원격) 정보는 특정 연결에 묶여 있지 않음
- child 소켓 (established)
- 로컬:
서버IP:443
- 원격:
클라이언트IP:53001
- 상태:
TCP_ESTABLISHED
- 수신 패킷의 4 튜플 키로 같은 정보의 child 소켓이 있으면 해당 소켓과 매핑된다.
- 매핑된다고는 했지만, sk를 찾고 sk를 가지고 이후의 진행 함수를 호출하는 방식이다.
- child 소켓이 없고 리스닝 소켓을 찾고 있다면 해당 소켓과 매핑된다.