bandwidth 보다 평균 속도가 낮다고 해서 Delay가 없는 것이 아니다.
-> 평균보다 갑자기 빠른 데이터가 들어오면, bandwidth를 넘어서 막히는 경우가 발생. 지연 시간이 무한대로 늘어날 수가 있다.
캐시 일관성 문제 - 캐시에 있는 정보가 웹에 있는 정보와 일치하지 않을 수 있다.
-> conditional GET 사용.
HTTP REQUEST - if modified field 사용.
이 이후에 업데이트 된 적이 있으면 304 not modified response를 보낸다. (오브젝트를 보내지 않음)
DNS(domain name system)
NAME을 쓰면 IP address로 변환
주소 : IP + 포트(웹 서버 80)
IP : 32bit 주소 체계 xxx.xxx.xxx.xxx
문제점
검색 시간이 오래걸림.
주소를 알아오기 위한 준비 단계 -> 엄청 멀리 가야함
해당 지점이 다운되면 웹 브라우징을 할 수 가 없음
-> 분산시스템을 이용
TLD (Top level domain server)
/
.com ... .kr
ac.kr
hanyang.ac.kr
이 아래에도 하나의 기관
매핑되는 주소가 존재한다.
TTL : time to live :데이터의 유효 기간. 정해진 유효 기간이 끝나면 데이터는 폐기된다. - 일관성 문제 해결
TYPE : A, NS
A:
name - host name
value - IP address
NS:
name : domain(xxx.com)
value host name // server for this domain
NS로만 이동할 수 없기 때문에 NS와 A는 쌍으로 다닌다.
=> 장점 : 해당 기관의 데이터만 업데이트하면 됨
http: TCP 기반
DNS : UDP 기반 - 주소를 변환하기 위한 준비운동 단계이기 때문에 데이터가 크지 않고, 속도도 빨라야 한다.
SOCKET
TCP
socket() - bind() - listen() - accept() - -read() - close()
socket() - connect() - write() - close()
listen() - 연결 요청에 대한 소켓을 큐에 넣음
accpet() - 큐에서 연결 요청을 하나 뺌. 큐가 비어 있다면 block.
UDP
'공부 > 네트워크' 카테고리의 다른 글
트랜스포트 레이어 정리 (0) | 2018.10.29 |
---|