본문 바로가기
네트워크/컴퓨터네트워크

TCP options

by HJINHA 2021. 6. 28.

Options

- 헤더: 옵션 안 쓰면 20, 쓰면 60byte까지 가능

1. Single-byte

1) End of option list

2) No operation

2. Multiple-byte

1) Maximum segment size

2) Window scale factor

3) Timestamp

4) SACK-permitted

5) SACK

 

1-1) End-of-option option

- 한줄 32bit 맞추려고 빈칸 채우기 (패딩)

- EOP는 한 번만 쓸 수 있다.

 

1-2) No operation

- 앞이 빈 옵션을 넣을 때 얘로 채움 (패딩)

- NOP는 한 번 이상 쓸 수 있다.

 

2-1) Maximum segment size

- 클라이언트-서버가 (연결 setup 과정에서) 협의로 segment size를 바꿀 수 있는 옵션. 중간에는 못바꿈.

- cwnd=1MSS, Nagle 알고리즘에 나왔었음.

 

2-2) Window scale factor

- rwnd에만 적용된다. (받는쪽. received window. 보내는쪽은 cwnd) connection setup과정에서만 가능. 중간x

- rwnd 사이즈를 2n만큼 키우고 싶을 때, 윈도사이즈 값을 n으로 나눠서 보낸다는 의미로 scale factorn

- 받는 쪽은 rwnd=k 받으면 rwnd=k*2n으로 이해하고 그만큼 데이터를 보낸다.

- rwnd 16bit  사용하여 receiver window size의 값을 전송

- 216 = 210 X 26 = 64K byte 만큼의 데이터 전송 가능

- 64K Byte /s = 64K X 8 bit/s = 512 Kbps = 0.5 Mbps

 

2-3) Timestamp

- RTT measurement 할 때 씀.

- 출발시간, 도착시간이 이 옵션에 있음

- timestamp 옵션은 PAWS(Protection Against Wrapped Sequence number)를 위해 사용되기도 한다.

 : 파일이 진짜 크면, 한바퀴 돌면서 계속 쓸 수 있는데, 출발시간을 써놓으면 seq num 겹쳐도 구별 가능

 

2-4) SACK-permitted, SACK

- cummulative ACK의 단점: 패킷이 없어진 이후의 상황을 설명할 수 없다. 따라서 잃은 것 이후의 패킷을 다 보낸다. 이를 보완하기 위해 SACK을 사용한다. (setup 과정에서 동의해야됨)

- 손실된 segment에 의해 ACK을 보낼 때 이미 받은 segment의 정보를 보내면 상대방은 얘네를 제외하고 없는걸 재전송함 (불필요한 중복을 막음)

'네트워크 > 컴퓨터네트워크' 카테고리의 다른 글

NAT (Network Address Translation)  (0) 2021.06.28
IPv4 Addresses  (0) 2021.06.28
TCP  (0) 2021.06.28
Error Control  (0) 2021.04.06
Silly Window Syndrome / SYN Flooding  (0) 2021.04.06

댓글