본문 바로가기

분류 전체보기321

TCP/IP의 흐름제어, 혼합제어 TCP 통신이란, 네트워크 통신에서 신뢰적인 연결방식 unreliable network에서 reliable network를 보장할 수 있도록 하는 프로토콜 network congestion avoidance algorithm을 사용 reliable network를 보장할 때 발생하는 문제점 존재 손실 : packet이 손실될 수 있는 문제 순서 바뀜 : packet의 순서가 바뀌는 문제 Congestion : 네트워크 혼잡 Overload : receiver가 overload 되는 문제 전송의 과정 Application layer : sender application layer가 socket에 data를 쓴다. Transport layer : data를 segment에 감싸고 network layer에 .. 2023. 2. 5.
TCP 3way handshake 1. 연결 성립 : 3 way handshake TCP는 정확한 전송을 보장해야하므로 통신하기 앞서, 논리적 접속을 성립해야 한다. 이를 위해 3번의 통신이 완료되면 연결이 성립하는 방식 클라이언트가 서버에 SYN 패킷을 보낸다. (seq = x) 서버가 SYN(x) 을 받고 클라이언트로 받았다는 신호인 ACK와 SYN 패킷을 보낸다. (seq=y, ACK(x+1)) 클라이언트는 서버의 응답을 받고 ACK(y+1)을 서버로 보낸다 2. 연결 해제 : 4 way handshake 연결 성립 후 모든 통신이 끝났다면 해제해야 한다. 클라이언트는 서버에게 연결을 종료한다는 FIN 플래그를 보낸다. 서버는 FIN을 받고 확인했다는 ACK를 클라이언트에게 보낸다. → 이때 모든 데이터를 보내기 위해 CLOSE_W.. 2023. 2. 5.
OSI 7계층 통신이 일어나는 과정, 특정한 곳에 이상이 발생하면 그 단계만 수정할 수 있기에 구분한다. 물리 계층 - 리피터, 케이블, 허브 등 데이터를 전기적인 신호로 변환하여 주고받는 기능을 진행 데이터를 전송 데이터 링크 계층 - 브릿지, 스위치 송수신된 정보를 관리하여 안전하게 전달되도록 도와주는 역할 Mac 주소를 통해 통신 프레임에 Mac 주소를 부여하여 에러검출, 재전송, 흐름제어를 진행 네트워크 - 라우터, IP 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능 담당 라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고 해당 경로에 따라 패킷을 전달 라우팅, 흐름제어, 오류제어, 세그먼테이션 수행 전송 - TCP, UDP 프로토콜을 통해 통신을 활성화하여 포트를 열어두고 프로그램들이 전송할 .. 2023. 2. 4.
함수형 프로그래밍과 객체지향 프로그래밍 함수형 프로그래밍 💡 순수 함수를 조합하고 공유 상태, 변경 가능한 데이터 및 부작용을 피해 소프트웨어를 만드는 프로세스 선언형 프로그래밍으로 애플리케이션의 상태는 순수 함수를 통해 전달된다. 애플리케이션의 상태가 일반적으로 공유되고 객체의 메서드와 함께 배치되는 OOP와 대조되는 프로그램 방식이다. 명령형 프로그래밍(절차지향, 객체지향) 상태와 상태를 변경시키는 관점에서 연산을 설명하는 방식 → 어떻게 할지 표현 알고리즘을 명시하고 목표는 명시하지 않음 선언형(함수형) 프로그래밍 How 보다는 What을 설명하는 방식 → 무엇을 할 건지 표현 알고리즘을 명시하지 않고 목표만 명시 함수형 코드는 명령형 프로그래밍이나 OOP코드보다 더 간결하고 예측가능하여 테스트가 쉽다. 함수형 프로그래밍은 프로그래밍 언.. 2023. 2. 3.