참고강의: 모든 개발자를 위한 HTTP 웹 기본 지식
클라이언트 <-----> 인터넷망 <-----> 서버
TCP 세그먼트 = 전송데이터 + TCP헤더
이다.TCP 헤더
에는 출발지 PORT, 목적지 PORT, 전송제어, 순서, 검증정보 등이 들어있다.클라이언트 < --------------- > 서버
가 3번 왔다 갔다하면서 열결된지 확인하는거다
먼저, 클라이언트에서 SYN(연결요청)을 서버한테 보낸다.
둘째로, 서버에서 ACK(요청 수락)과 함께 SYN(연결요청) 클라이언트에게 보낸다
셋째로, 클라이언트에서 ACK(요청 수락)을 보낸다.(요새는 이과정에서 데이터도 같이 보낸다고 한다)
클라이언트가 서버에게 데이터를 전송하면,
서버에서 클라이언트에게 데이터를 잘 받았다고 보증한다
클라이언트가 패킷을 보내면,
순서를 확인해서 재요청을 할 수 있다.
참고
UDP checksum
체크섬(checksum)이란 네트워크를 통해서 전송된 데이터의 값이 변경되었는지(무결성)를 검사하는 값으로, 무결성을 통해서 네트워크를 통해서 수신된 데이터에 오류가 없는지 여부를 확인한다.
0 ~ 65535: 할당 가능
0 ~ 1023: 잘 알려진 포트, 사용하지 않는 것이 좋음
FTP - 20, 21
TELNET - 23
HTTP - 80
HTTPS - 443
IP는 기억하기 어렵고, 변경될 수도 있어서 DNS를 쓴다.
DNS란 Domain Name System으로 도메인명을 IP주소로 변환하는 역할을 한다.
아래와 같이 DNS서버로 부터 IP주소를 알아내고 해당 IP주소를 이요하여 서버에 요청한다.