burst
sdfsfdsfdfsddfsfds babo heeyeon
Nagle 알고리즘->작은 세그먼트들을 모아서 보낸다.
telnet ----- rlogin: rc파일을 넣어놔서 패스워드 넣지 않고 점핑점핑
TCP는 메시지 단위가 아니라 바이트단위(의미가 없어도)
burst
congestion이 심하면 아무리 기다려도 안올 수 있다.(time out때문에)
ARQ
fast retransmit
같은 ack가 4번 날라오면 timeout다 되지 않아도 retransmit
=duplicate ACK가 3번 날라온다
flow control
congestion과 관계는 없다
receiver의 능력!!
receiver buffer보다 작게
->TCP header의 window에 써 있음(rwnd=free buffer space)
overflow=overwhelm
awnd: advertised window->flow control에서 사용하는 window
cwnd: congestion control에서 사용하는거
in-flight
왜 3번 handshake?
양쪽이 같이 agreement해야 한다.
2way handshake
ESTAB 상태
SYN rcvd(client)->ESTAB<-SYN send(server)
처음에는 양쪽 다 closed
client(caller)
server(callee)
클라이언트 입장에서는 active open
서버입장에서는 passive open
estab까지 가는 길은 다르다
----------
3.6
congestion control
congestion: 트래픽이 네트워크에 많이 들어가는 상태, 처리가 안되고 감당이 안되는(overflow)
패킷이 잘 오지 않는다.
AIMD: additive increase multiplicative decrease
linear: additive
exponential: multiplicative
AIAD나 MIMD가 아닌 AIMD를 사용하는 이유: congestion이 발생하면 떨군다 나빠진 상태니까 툭 떨궈서 해결, 처음에는 천천히 올린다. 너무 팍 올리면 빨리 congestion 올 수 있으니까 보내는 천천히 올리면 보내는 양이 많다 밑에 넓이가 data 양
slowstart: 완전 밑에서 출발 but exponsential하게 증가
html socket????!!!!!!!!!!!!!