본문 바로가기

네트워크6

[네트워크] TCP와 UDP의 특징 1. TCPTransmission Control Protocol요약 : TCP는 신뢰성 보장연결 설정한 다음 데이터 주고 받음그래서 오버헤드가 크고 속도 느릴 수 있지만 데이터의 정확성과 순서가 중요할 때 씀특징 :연결 지향적: 통신을 시작하기 전에 연결을 설정합니다.신뢰성: 데이터의 전달 보장, 손실된 패킷 재전송, 순서 보장.흐름 제어: 데이터 흐름을 조절하여 수신 측이 데이터 오버플로우를 방지혼잡 제어: 네트워크 혼잡을 감지하고 조절헤더 크기: UDP보다 크고 복잡한 헤더 구조 (20-60 바이트)사용 예)웹 브라우징 (HTTP, HTTPS)이메일 (SMTP, IMAP, POP3)파일 전송 (FTP)원격 터미널 접속 (SSH, Telnet)2. UDPUser Datagram Protocol요약 :U.. 2024. 8. 2.
[에티버스러닝] select함수 이용해서 여러 명 접속 가능한 TCP 에코 서버 에티버스러닝에서 K-digital 트레이닝을 받고 있고, 오늘 첫 시작은 select함수를 이용해서 다수가 접속 가능한 TCP 에코 서버 만들기로 시작했다. 일주일이 지나자 모든 게 새로워진 오늘.. 개념 정리부터 하자면! TCP 에코서버? TCP 에코 서버는 클라이언트로부터 받은 데이터를 그대로 돌려주는 기능을 가진 서버. 이 서버는 TCP (Transmission Control Protocol)를 사용하여 클라이언트와의 연결을 설정하고, 클라이언트로부터 데이터를 받으면 그 데이터를 동일하게 클라이언트에게 다시 보내는 역할! TCP 에코 서버는 클라이언트와 서버 간의 연결을 확인하고, 데이터 전송에 대한 신뢰성과 순서를 보장하기 위해 TCP를 사용. 이를 통해 클라이언트와 서버 간에 안정적이고 신뢰성 .. 2023. 6. 1.
[에티버스러닝] 프로그램/프로세스/쓰레드 개념정리 오늘 프로그램, 프로세스, 스레드 개념에 대해 배웠다. 셋 다 들어보기는 많이 들어봤는데, 아니 또 막상 배우니까 너무 생소한 것이 아닌가.. 현재 나의 상황 국비지원 K-digital Training 과정으로 에티버스러닝에서 수업을 듣고 있는데, 주중의 반은 팀프로젝트를 만들고 있고 반은 네트워크프로그래밍 수업을 듣고있다. 나는 AI를 맡아서 만들고 있는데 너무 생소하고 진도가 안 나가서 오늘 수업만을 기다리고 있었다. 그런데... 오늘 더 어려운 것이 아닌가. 멘탈 와사삭 내 멘탈 붙잡기 위해서 오늘 수업 복습을 해보고자 한다. 하지만 나의 필기가 제대로 되어 있지 않아, 'TCP/IP 소켓프로그래밍' 책과 '그림으로 쉽게 배우는 운영체제' 인강 참고해서 내가 이해한 대로 아래 추가 정리해보았다. 프.. 2023. 5. 25.
TCP 서버/클라이언트 두자리 자연수 합 구하는 연산식 통신 에티버스러닝에서 K-digital트레이닝으로 VR과정을 수강하는데, 오늘 세번째 네트워크 수업을 들었다. 금일 배운 내용 중 저번주 배웠지만 또 봐도 새로운 내용을 아래와 같이 정리하면서 머리에 쏙쏙 넣어보겠다. 아래 코드는 TCP 서버 코드이고, 클라에서 두자리 자연수 더하기 연산식(10+20)을 보내면 서버에서 계산해서 클라에게 답(10+20=30)을 보내주는 코드이다. 서버line19소켓 만들기(주소체계, 소켓타입, 프로토콜)일반적으로 같은 소켓타입이어도 프로토콜이 두개 이상 존재함. 그래서 세번째 인자로 명시적으로 지정하는데, TCP에서는 앞에 두개 인자만으로도 프로토콜 결정할 수 있어 대부분 0을 넣는다) AF_INET IPv4기반 TCP 프로토콜 이용할 때의 주소체계 SOCK_STREAM 신뢰.. 2023. 5. 19.
TCP 서버 / 클라이언트 함수 코드 보면서 뭐가 서버고 뭐가 클라인지 헷갈렸는데, 서버는 바인드 하는 애! 클라는 커넥트 하는 애라고 생각하면 쉽다고 하셨당. 서버/클라 함수를 아래와 같이 정리하면서 함수를 이해해보고자 한다. TCP 서버함수 socket() 함수로 소켓 생성해서 사용할 프로토콜 결정 bind() 소켓의 지역IP주소와 지역 포트 번호 결정 listen() TCP상태를 LISTENING으로 변경 클라이언트 접속을 받을 상태가 됨 accept() 클라이언트 접속 수용 접속한 클라이언트와 통신할 새로운 소켓 생성! 이 때 원격IP주소와 원격포트 번호 결정 recv() 데이터 받는 함수 운영체제의 수신버퍼에 도착한 데이터를 응용 프로그램 버퍼에 복사 send() 데이터 보내는 함수 응용프로그램 데이터를 운영체제의 송신버퍼에 .. 2023. 5. 19.
TCP/IP 프로토콜 벌써 과정의 50%를 듣게 된 오늘이었고, 눈 깜빡하니까 혼빠진 하루가 끝났다.😂 (국비지원으로 에티버스러닝에서 K-Digital 트레이닝을 하고 있다) 오늘 처음 TCP/IP 프로토콜에 대해 배웠다. 내용이 넘 어려웠는데, 조금이라도 더 이해하고자 아래와 같이 정리해보겠다. 아래 내용은 수업+책(TCP/IP소켓프로그래밍_김선우)을 참고하여 정리했당 TCP/IP Trasmission Control Protocol / Internet Protocol 컴퓨터가 인터넷 같은 네트워크를 통해 통신하게 하는 일련의 규칙 (컴퓨터가 서로 대화하는데 사용하는 언어라고 생각하기) TCP 데이터를 작은 패킷으로 분해해서 패킷이 올바른 순서로 전송함 발신자와 수신자 사이의 연결을 설정하고, 수신자를 압도하지 않게 흐름 제.. 2023. 5. 11.