본문 바로가기

CS

(54)
TCP의 3 way handshake와 4 way handshake 3 way handshake(연결 설정) 두 프로세스 모두 전송할 준비가 되어있다는 것을 보장한다. 1) Client(Process A)에서 Server(Process B)에 연결을 요청하는 패킷 SYN(a)를 보낸다. 2) Server가 정상적으로 요청을 받았다면, 그를 수락하는 ACK(a+1)패킷과 함께 SYN(b)를 보낸다. cf) ACK(a+1)의 의미는 a번 패킷까지 안전하게 받았으니 a+1번째 패킷을 달라는 의미가 된다. 이를 통해 클라이언트는 자신이 보낸 패킷이 안전하게 도달했는지 알 수 있다. 3) Client는 두 패킷을 받고 ACK(b+1)로 패킷을 보내면 연결이 완료된다. 4 way handshake(연결 해제) 1) Client에서 연결을 끊겠다는 FIN플래그를 전송한다. 2) Se..
TCP/UDP의 Header TCP Header Source Port, Destination Port: 송신, 수신 포트 주소 Sequence Number: 송신자가 보내는 데이터의 순서 번호(MSS단위로 증가): k번째를 보냈다 MSS(Max Sequence Size): TCP가 한 번에 보낼 수 있는 데이터의 최댓값 즉, 5000 bytes 데이터가 있고 MSS가 100bytes라면 50개의 세그먼트가 생성된다. 첫 번째 세그먼트의 sequence number는 0, 두 번째 세그먼트의 sequence number는 (0+100)으로 설정된다. Acknowledge Number: 수신자가 받은 바이트 수에 대한 응답: (k-1)번째까지 받았다→k번째를 기다리고 있음 위의 상황에서 0번째 데이터를 정상적으로 모두 받았다면, 0~9..
TCP와 UDP Transport layer 신뢰성 있는 데이터를 전송하는 계층이다. 신뢰성이란, 데이터를 순차적이고 안정적으로 전달하는 것을 말한다. 전송이란, 포트 번호에 해당하는 프로세스에 데이터를 전달하는 것을 말한다. 왜 중요할까? Transport layer가 없다면... Flow Problem: 송수신자 간의 데이터 처리 속도에 차이가 있을 수 있다. Congestion Problem: 네트워크의 데이터 처리 속도에 문제가 있을 수 있다.(네트워크 혼잡) TCP(Transmission Control Protocol) 신뢰성 있는 데이터 통신을 가능하게 해주는 프로토콜이다. 데이터의 순차 전송을 보장한다. Flow control, Congestion control, Error detection 수행 full-..
OSI 7계층 OSI란? 국제표준화기구에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 모델 프로토콜을 기능별로 나누었다. why? 관리를 용이하도록 해준다. 계층별로 나누어 관리하면 어디서 문제가 발생했는지 빠르게 파악할 수 있어 도움이 된다. 현재는 OSI 7계층보다 TCP/IP(updated ver.) 모델이 더 많이 사용되고 있다! TCP/IP(updated ver.)은 ( Application / Transport / Network / Data-Link / Physical )으로 나누고 있다. 하위계층은 상위계층에게 기능을 제공한다. 하위는 하드웨어(data-link, physical), 상위는 소프트웨어로 구현되어 있다. Application layer 응용 서비스를 수행..