흐름 제어수신 측이 송신 측보다 데이터 처리 속도가 빠르면 문제 없지만, 송신 측의 속도가 빠를 경우 문제가 생긴다. 수신 측에서 제한된 저장 용량을 초과한 이후에 도착하는 패킷은 손실될 수 있으며,만약 손실된다면 불필요한 추가 패킷 전송이 발생한다.따라서 송신측의 패킷 전송량을 수신측에 따라 제어해야 한다. 흐름 제어는 위와 같이 송신 측과 수신 측의 TCP 버퍼 크기 차이로 인해 데이터 처리 속도 차이를 해결하기 위한 기법이다. 전체 전송 과정Application Layer : 송신측 Application Layer 가 소켓에 데이터를 입력.Transport Layer : 데이터를 세그먼트로 감싸고 Network Layer 에 전달.수신측 노드로 세그먼트가 전송되며 동시에 송신측의 Send Buffe..
분류 전체보기
출발지에서 목적지로 데이터를 전송할 때 사용하는 통신 방식에는 유니캐스트, 브로드캐스트, 멀티캐스트를 사용한다. 유니캐스트, 브로드캐스트, 멀티캐스트는 네트워크에서 통신을 하는 방식에 따라 구분하는데1 : 1이냐, 전부를 대상으로 하냐, 그룹을 대상으로 하냐에 따라 차이가 있다. 1 : 1 👉 유니캐스트로 출발지와 목적지가 1 : 1로 통신. 1 : 전부 👉 브로드캐스트로 동일 네트워크에 존재하는 모든 호스트가 목적지. 1 : 그룹 👉 멀티캐스트로 하나의 출발지에서 다수의 특정 목적지로 데이터 전송. MAC 주소기기간 통신에 기본적으로 사용되는 주소이며 다른 이름으로 하드웨어 주소라고도 한다. 네트워크 상에서 서로를 구분하기 위해 Device 마다 할당된 물리적 주소를 의미한다.즉, 하드웨어를..
3-Way HandShake & 4-Way HandShake 3-Way HandShake 는 TCP의 접속, 4-Way HandShake는 TCP의 접속 해제 과정이다. 3-Way Handshake TCP 통신을 이용하여 데이터를 전송하기 위해 네트워크 연결 설정을 하는 과정이다.양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고,실제로 데이터 전달이 시작하기 전에 한 쪽이 다른 쪽이 준비되었다는 것을 알 수 있도록 한다. 즉, TCP/IP 프로토콜을 이용해서 통신을 하는 응용 프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다. 포트(PORT) 상태 정보STATE설명CLOSED포드가 닫힌 상태LISTEN포트가 열린 상태로 연..
네트워크 프로토콜의 역할네트워크 통신에서 전송 계층에서 사용하는 프로토콜은 데이터의 전송 방식과 규칙을 정의한다.전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로, 쉽게 말해 데이터의 전달을 담당합니다. 이 중 데이터를 보내기 위해 사용하는 프로토콜이 있는데 그 것이TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 가장 널리 사용되는 두 가지 프로토콜이다. TCP는 신뢰성이 있는 데이터 전송을 보장하는 반면, UDP는 빠른 데이터 전송을 위해 신뢰성을 약간 포기한다.네트워크 애플리케이션을 개발할 때, 이 두 프로토콜 중 하나를 선택해야 하는 상황이 자주 발생하는데,네트워크 프로토콜의 선택은 애플리케이션의 성능과 기능에 직..
OSI 7계층 OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다. 각 계층은 독립적으로 작용하며 수많은 프로토콜이 존재한다.포로토콜에 의해 하위 계층으로 갈수록 헤더가 붙으면서 데이터의 크기는 더 커진다. OSI 모델프로토콜1층 : 물리계층1000BASE-T, RS-232, RS-4852층 : 데이터 링크 계층이더넷(Ethernet), PPP, UART3층 : 네트워크 계층IP, ICMP4층 : 전송 계층TCP, UDP5층 : 세션 계층SSH, TLS, RPC6층 : 표현 계층ASCII, MPEG, JPEG7층 : 응용 계층HTTP, FTP, Telnet, DHCP 계층을 나눈 이유통신이 일어나는 과정을 단계별로 파악기 위해 나누었고,어느 한 부분에 문제가 생기면 전체를 건들이..
HTTPHTTP는 (Hypertext Transfer Protocol)는클라이언트와 서버 간 HTML과 같은 하이퍼미디어 문서를 전송하기 위한 통신 규약이다.사용자가 웹 사이트를 방문하면브라우저가 웹 서버에 HTTP 요청을 전송하고 웹 서버는 HTTP 응답으로 응답한다. 즉, HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜인 것이다. HTTP가 진화하면서, 하이퍼텍스트 문서뿐만 아니라 이미지, 비디오, HTML 폼 결과와 같은 내용을 서버로 POST하거나, 필요할 때마다 웹 페이지를 갱신하기 위해 문서의 일부를 가져올 수도 있게 되었다. HTTPSHTTP 는 3가지 큰 문제가 있는데 그 문제점을 보완하고 데이터 암호화를 추가하여 나온 프로토콜이 HTTPS다. 먼저 ..
네트워크컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망을 지칭한다.노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합이다. 처리량과 지연시간좋은 네트워크란?많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크다. 처리량링크를 통해 전달되는 단위 시간당 데이터 양.bps(bit per second)로 표현하며, 초당 전송 또는 수신되는 비트 수를 의미한다. 처리량은 사용자들이 많이 접속할 때마다 커지는 트래픽,네트워크 장치 간의 대역폭(주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수),네트워크 중간에 발생하는 에러, 장치의 하드웨어 스팩에 영향을 받는다. 지연 시간요청이 처리되는 시간을 말하며 어떤 메시지가 두 장치 ..
MVC 패턴이란?사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 사용되는 디자인 패턴이다.소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있다.애플리케이션의 개발 영역을 MVC (Model, View, Controller)로 구분하여 각 역할에 맞게 코드를 작성하는 개발 방식이다. 이런 관심사 분리는 더 나은 유지보수성을 제공한다. Model : 데이터와 비즈니스 로직을 관리클라이언트의 요청을 전달받으면 요청 사항을 처리하기 위한 작업을 한다. 처리한 데이터를 클라이언트에게 응답해야 하는데, 이 때 클라이언트에게 응답해주는 데이터를 Model이라고 한다.View : 레이아웃과 화면 처리Model을 이용하여 화면에 보이는 리소스(Resource)를 제공하는 역할을 한다.ex) HTML 페이..