티스토리 뷰
<그림보고 해석가능하는지가 핵심>
Connection establishment using three-way handshake
왜 3번의 과정이 필요한가?
1. 서로의 초기순서 번호를 확인하고 동기화, 2.서로 통신할 준비가 되었음
-> 연결이 설정되었으며, 이후 데이터 전송이 가능

SYN : seq:8000(seq데이터패킷의 번호는 random으로 선택) 연결요청
ACK + SYN : seq:15000(8000과 상관 없이 random한 번호) , ack:8001(클라이언트 순서번호 +1) 연결 받아드림 ,
A는 1로세팅(SYN패킷을 잘 받았다는 확인), ACK/ SIYN도 가능, 연결 받아들임+ 연결요청
ACK : ack만 나갈 때 seq는 의미없음, ack: 15001(서버의 순서번호+1) 연결받아드림
연결할때는 ack번호가 +1된다!
"SYN 세그먼트는 데이터를 담을 수 없지만, 시퀀스 번호는 하나 사용한다."
"SYN + ACK 세그먼트도 데이터를 담을 수 없지만, 시퀀스 번호는 하나 사용한다."
"ACK 세그먼트가 데이터를 담고 있지 않다면, 시퀀스 번호를 사용하지 않는다." (단순히 확인만 하는 ack번호!)
Data Transfer
TCP연결이 수립되고, 데이터가 어떻게 오가고 시퀀스 번호와 ACK번호가 어떻게 작동하는지

1. 클라이언트 → 서버로 보내는 데이터 : 시퀀스 번호는 8001부터 1000바이트의 데이터 + 1000바이트의 데이터를 보냄,
ACK 번호는 ‘다음에 받고 싶은 시퀀스 번호’!(10000까지 보냈지만 나는 15000까지 완벽하다고 생각하니까 15001번을 내놔라! , ack: 15001 → 서버가 마지막으로 받은 데이터가 15000까지였다는 뜻 )
2. 서버 → 클라이언트로 보내는 데이터 : 클라이언트의 요청을 받아 15001번부터 시퀀스 번호, ACK: 10001 → 클라이언트의 데이터 10000까지 잘 받았다는 의미
3. 클라이언트의 응답 ACK : 시퀀스 번호는 없는 취급, ACK: 17001 → 클라이언트의 데이터 17000까지 잘 받았다는 의미
Connection termination using three-way handshake
TCP 연결 종료 과정(TCP는 연결지향적, UDP는 연결지향적이지 않음)

1. 클라이언트 → 서버 : 클라이언트의 FIN연결 종료 요청
2. 서버 → 클라이언트 : 요청수락 + 서버의 FIN연결 종료 요청
3. 클라이언트 → 서버 : 요청수락
FIN 세그먼트가 데이터를 포함하지 않더라도, 시퀀스 번호를 하나 소비한다.
FIN + ACK 세그먼트가 데이터를 포함하지 않더라도, 시퀀스 번호를 하나 소비한다.
FIN은 “이제 대화 끝!”이라는 말을 하나 더 하는 것이기 때문에,추가로 시퀀스 번호 하나를 차지한다고 보면 돼요. (비록 제 데이터는 없더라도요!)
Half -Close
TCP는 양방향 통신이 가능, 한쪽이 먼저 연결을 끊더라도, 다른 쪽은 계속 데이터를 보낼 수 있음

1. 클라이언트 → 서버 : FIN 전송 (연결 종료 요청), (읽기는 계속 가능함)
2. 서버 → 클라이언트 : ACK 응답 , 하지만 서버는 데이터 전송을 계속함 , seq: y - 1은 서버가 아직 데이터도, FIN도 보내지 않았다는 표시
3.서버는 계속 데이터를 클라이언트에게 보낼 수 있음, 클라이언트도 그 데이터에 대해 ACK는 계속 응답
4. 서버 → 클라이언트 : FIN 전송 (서버도 종료 원함)
5. 클라이언트 → 서버 : 마지막 ACK 응답 , 양방향 종료
'학교복습용 > 컴퓨터네트워크' 카테고리의 다른 글
| 컴퓨터네트워크 6주차 / Transmission Control Protocol (0) | 2025.04.09 |
|---|---|
| 컴퓨터네트워크 5주차 / Transmission Control protocol(TCP) (0) | 2025.04.02 |
| 컴퓨터네트워크 4주차 / Trasmission control Protocol(TCP) (0) | 2025.03.26 |
| 컴퓨터네트워크 2주차 / Transmission Control Protocol (TCP) (0) | 2025.03.11 |
| 컴퓨터네트워크 1주차 / Ch2. The OSI Model and the TCP/IP Protocol Suite (0) | 2025.03.08 |
