독개

7강 4계층 TCP 프로토콜

by #독개#

TCP 프로토콜

  • 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 안정적으로, 순서대로, 에러없이 교환할 수 있게한다.
  • 계속해서 통신을 확인하면서 데이터줌 (계~~속 확인하면서)


어떤 플래그를 보내느냐에 기능이 나뉨


U : 긴급비트 내가 보내는 비트가 우선순위가 높다 먼저좀 처리해달라

A (ACK): 승인비트 (물어본거에 대한 응답 승인해줄때 사용)

P : 데이터넣기비트 (데이터를 주겟다)

R (RST): 초기화비트 (뭔가 데이터 주고받다가 좀 문제가 발생햇다 우리 연결을 초기화하자~ 란신호)

S (SYN): 동기화비트 연결요청/응답요청

(상대방이랑 연결을 시작-동기화 할때 무조건 사용하는 플래그 얘가 보내지고 난다음부터

                           서로 상태가 동기화)

F (FIN): 종료비트 (연결을 끊을때 사용)



그런데 와이어샤크 간략히보는(Packetlist영역)에서 간단하게 다보임 이렇게 까지 안봐도되고

각각 뭐하는기능인지만 알면됨

TCP 연결수립과정(3Way HandShake)

1. 클라이언트가 서버에게 요청 패킷을 보내고                     ACK
2. 서버가 클라이언트의 요청을 받아들이는 패킷을 보내고     
3. 클라이언트는 이를 최종적으로 수락하는 패킷을 보낸다

요청은 항상 클라이언트->서버 로 하는거다. 서버가 클라이언트한테 요청하는 경우는 없다고 봐야함



Q)연결 수립된뒤 누가 보내야할 차례일까?

A)클라이언트

만약에 연결이 된상태에서 클라이언트가 아닌 누군가가 저 S,A 번호 계산해서 보내면 서버는 클라이언트가 아닌

다른 누군가와 연결을 하게되는거지

세션하이재킹공격!


TCP 연결수립이후 데이터 주고받는 과정

1.보낸 쪽에서 또 보낼 때는 SYN번호와 ACK 번호가 그대로다.
2.받는 쪽에서 SYN 번호는 받은 ACK번호가 된다
3.받는 쪽에서 ACK 번호는 받은 SYN번호 + 받은 데이터크기

여기서 클라이언트가 서버에 요청하는 데이터 크기 100

서버가 클라이언트에게 주는 데이터 크기 500 으로 하고 계산한거다.

 SYN번호는 받은 ACK번호가 되는것을 볼수있고

받는쪽에서 다시 주는 ACK번호는 받은 SYN번호 + 데이터크기 임을 알수있다.


TCP의 연결 상태의 변화

우리가 알껀 ESTABLISHED, LISTEN 두개

LISTEN : 포트를 서버쪽에서 열어두고 있는상태 , 서비스가 되고있는 상태

ESTABLISHED : 연결이 된상태 (3handway가 된상태)

'네트워크' 카테고리의 다른 글

11강 HTTP프로토콜  (0) 2020.05.28
7강 4계층 UDP프로토콜  (0) 2020.05.25
7강 4계층 (포트, Berrys WebShare)  (0) 2020.05.25
6강 IPv4,ICMP 프로토콜, 라우팅테이블, IPv4조각화  (0) 2020.05.25
5강 ARP - 이론  (0) 2020.05.25

블로그의 정보

독한 개발자

#독개#

활동하기