본문 바로가기

전체 글123

[CS] 라우팅 개념과 라우터, 라우팅 테이블 라우팅 개념과 라우터, 라우팅 테이블 라우팅 라우팅(Routing)은 네트워크에서 데이터(패킷)를 보낼 때 최적의 경로를 선택하는 과정이며 라우터가 이를 수행 데이터는 보통 출발지에서 목적지로 가는 동안 여러 개의 라우터를 거치며 여러 번의 라우팅을 수행(라우팅은 보통 초당 수백만번 일어남) 라우터 라우터(Router)는 네트워크 사이에서 데이터를 전달하는 장치이며 보통 둘 이상의 서로 다른 네트워크에 연결 데이터(패킷)를 목적지로 보낼 때 최적의 경로를 결정하고 경로가 결정되면 해당 경로로 데이터를 넘겨주는 일(라우팅)을 수행 라우터는 라우팅테이블을 기반으로 데이터를 다음 목적지에게 전달 라우팅 테이블 라우팅 테이블은 IP 주소를 기반으로 라우터의 위치를 저장한 테이블 또는 데이터베이스이며 다양한 네트.. 2023. 10. 20.
[CS] TCP의 연결해제 : 4-Way Handshake와 TIME_WAIT TCP의 연결해제 : 4-Way Handshake와 TIME_WAIT TCP의 연결해제 과정은 다음과 같이 4개의 과정을 거쳐 성립 1. 먼저 클라이언트가 연결을 닫으려고 할 때 FIN으로 설정된 세그먼트를 보낸다. 그리고 클라이언트는 FIN_WAIT_1 상태로 들어가고 서버의 응답을 기다린다. 2. 서버는 클라이언트로 ACK라는 승인 세그먼트를 보내고 CLOSE_WAIT 상태에 들어간다. 클라이언트가 세그먼트를 받으면 FIN_WAIT_2 상태에 들어간다. 3. 서버는 LAST_ACK 상태가 되며 일정 시간 이후에 클라이언트에 FIN이라는 세그먼트를 보낸다. 4. 클라이언트는 TIME_WAIT 상태가 되고 다시 서버로 ACK를 보내서 서버는 CLOSED 상태가 되며 이후 클라이언트는 어느 정도의 시간(T.. 2023. 10. 19.
[CS] TCP의 연결성립 : 3-Way Handshake TCP의 연결성립 : 3-Way Handshake TCP의 연결성립은 다음과 같은 3개의 과정을 거쳐 성립 1. SYN 단계 : 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보낸다. 2. SYN + ACK 단계 : 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라이언트의 ISN + 1을 보낸다. 3. ACK 단계 : 클라이언트는 서버의 ISN + 1한 값인 승인번호를 담아 ACK를 서버에 보낸다. [참고] ISN : TCP(Transmission Control Protocol) 기반 데이터 통신에서 각각의 새 연결에 할당된 고유한 32비트 시퀀스 번호를 나타냄. TCP 연결을 통해 전송되는 다른 데이터 바이트와 충돌하지 않는 시퀀스 번호를 할당하는 데 도움이 됨 - .. 2023. 10. 18.
[CS] TCP/IP 4계층 #5. 인터넷 계층(network) TCP/IP 4계층 #5. 인터넷 계층(network) 인터넷 계층 IP, ICMP, ARP가 대표적이며 한 노드에서 다른 노드로 전송 계층에서 받은 세그먼트 또는 데이터그램을 패킷화 하여 전송 ICMP ICMP(Internet Control Message Protocol)는 노드와 노드 사이에서 통신이 잘되는지를 확인할 때 쓰는 프로토콜 이는 데이터를 교환하는데 사용되지 않는 프로토콜 일반적으로 이 프로토콜은 테스팅에 사용 IP와는 달리 TCP 또는 UDP 와 같은 전송 계층 프로토콜과 연관되지 않고 독립적인 비연결형 프로토콜로 ICMP를 비연결형 프로토콜을 기반으로 구축됨 ping www.google.com [참고] ping은 ICMP로 하는것을 확인 할 수 있음 * 참고 - CS 지식의 정석 | .. 2023. 10. 17.
[CS] TCP/IP 4계층 #4. 전송 계층(transport) TCP/IP 4계층 #4. 전송 계층(transport) TCP, UDP가 대표적이며 애플리케이션계층에서 받은 메시지를 기반으로 세그먼트 또는 데이터그램으로 데이터를 쪼개고 데이터가 오류없이 순서대로 전달되도록 도움을 주는 층 TCP 가상 회선 패킷 교환 방식 오류검사 메커니즘 1. 재전송 : 시간 초과 기간이 지나면 서버는 전달되지 않은 데이터에 대해 재전송을 시도 2. 체크섬 : 체크섬을 통해 무결성을 평가. 즉, 송신된 데이터의 체크섬과 수신된 데이터의 체크섬 값을 비교해서 올바르게 왔는지를 확인 헤더 20 ~ 60 바이트로 가변적 UDP 데이터 그램 패킷 교환 방식 오류검사는 단순찬 체크섬만 지원 헤더 8바이트로 고정길이 TCP VS UDP 전송 제어 프로토콜(TCP) 데이터 그램 프로토콜(UDP.. 2023. 10. 16.
[CS] TCP/IP 4계층 #3. 애플리케이션 계층(application) TCP/IP 4계층 #3. 애플리케이션 계층(application) HTTP, SMTP, SSH, FTP가 대표적이며 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 층 HTTP HTTP(Hypertext Transfer Protocol)은 처음에는 서버와 브라우저 간에 데이터를 주고 받기 위해 설계된 프로토콜 지금은 브라우저 뿐만 아니라 서버와 서버간의 통신할 때도 많이 이용 1. HTTP는 헤더를 통한 확장이 쉬움 예를 들어 헤더 값에 어떠한 값을 넣어서 HTTP요청을 할 때 쉽게 다른 값을 추가할 수 있음 2. HTTP는 stateless 동일한 연결에서 연속적으로 수행되는 두 요청 사이에 연속적인 상태(state)값은 없음 SSH SSH(Secure SHhell Protocol)는 .. 2023. 10. 15.