패킷은 한 묶음이기 때문에 앞에 일부분이 도달했다고 다른데 갈 수 없다. 나머지 부분이 올때까지 기다린다.
강의에서는 어플리케이션 계층, 트랜스포트 계층, 네트워크 계층, 링크 계층으로 나눴다.
프로그래밍할 때는 application 계층만 신경쓰기 때문에 라우터 등을 고려할 필요가 없다.
인터넷상에 존재하는 컴퓨터는 고유한 주소를 갖고 있어야하는데 이를 IP주소라 한다.
다른 컴퓨터의 프로세스간 통신을 할때는 소켓을 이용해서 메시지를 주고 받는다.
IP는 인터넷상에 존재하는 컴퓨터를 찾기 위한 것이고, 그 컴퓨터 안의 프로세를 찾기 위한 것이 port이다.
- 데이터 손실 없이 목적지에 보내기.
- 시간 내에 보내기
- throughput 희망사항
- security
여기서 transport 계층에서 보장해주는 것은 data integrity이다.
HTTP (HypterText Transfer Protocol)
stateless라는 것은 request가 들어오면 요청을 처리하고 끝. 상대방에 대한 상태를 기억하지 않는다.
한 개의 요청이후 응답을하고 커넥션을 끊으면 non-persistent이고 유지하면 persistent이다.
실제 http에서는 persistent 를 사용한다.