[네트워크] TCP/IP 프로토콜의 핵심을 쉽게 이해해보자!
·
CS/Network
유레카 2기 CS 스터디 네트워크 파트 메인 운영을 준비하며 쓴 글입니다:)네트워크 기초 지식이 없더라도 최대한 잘 이해할 수 있도록 작성하기 위해 노력했습니다!   전송계층의 프로토콜일반적으로 TCP와 IP는 함께 사용되며 IP는 배달을, TCP는 패킷의 추적 및 관리를 하게 됩니다.TCP신뢰할 수 있는 통신을 위한 연결형 프로토콜 UDP독립적인 비연결형 프로토콜 비교 요약  UDP와 TCP는 각각 별도의 포트 주소 공간을 관리하므로 같은 포트 번호를 사용해도 무방합니다.즉, 두 프로토콜에서 동일한 포트 번호를 할당해도 서로 다른 포트로 간주합니다.정리해보면 다음과 같아요 😍TCPUDP연결지향적비연결지향UnicastBroadcast, Multicast중앙제어분산제어논리적물리적실시간으로 서로 연결 가능..
[네트워크] NAT
·
CS/Network
전공 수업 내용 정리 (문제 발생시 비공개합니다.) Special Addressesclassful addressing에서 일부 주소는 특수 목적을 위해 예약되어 있었다.classless addressing 체계는 classful addressing에서 이러한 특수 주소 중 일부를 상속한다.All-zero addressSource: 0.0.0.0 ☞ 모든 bit가 0인 주소아직 IP가 할당되지 않은 PC가 DHCP에게 요청 packet을 보낼 때 시작지점 주소가 할당되어있지 않으므로 0.0.0.0으로 사용하는 것고정 IPex) 네이버, 다음, 쿠팡, 11번가, 개인쇼핑몰 등...컴퓨터를 껐다 켜도 IP가 바뀌지 않는 것. 사이트 운영 시 사용.유동 IP일반 가정집에서 사용하는 모든 IP. 컴퓨터 부팅 시 ..
[네트워크] 클래스 기반 주소 지정
·
CS/Network
전공 수업 내용 정리 (문제 발생시 비공개합니다.) 클래스 기반 주소 지정 블록 내의 주소의 수 = 2^(32-n) Sample Internet Network mask네트워크 주소 추출 방법 -> mask 이용교집합처럼 생각하기. 마스크를 씌워서 더 작은 쪽으로 남긴다!Example 5.16라우터는 목적지 주소 201.24.67.32의 패킷을 수신한다. 라우터가 패킷의 네트워크 주소를 찾는 방법은? 답해당 주소는 클래스 C에 속하기 때문에 라우터가 네트워크 주소를 찾기 위해서는 클래스 C의 기본 마스크인 255.255.255.0을 적용해야 한다.  서브네팅 전위 그림은 subnetting 전의 클래스 B 주소를 사용하는 네트워크를 보여준다.하나의 네트워크는 216개의 호스트로 구성되어 있으며, 전체 네트..
[네트워크] IP 주소 개요
·
CS/Network
전공 수업 내용 정리 (문제 발생시 비공개합니다.)IP 주소 개요IPv4 주소는 32비트로 구성되어 있다.유일하고 보편적이라 할 수 있다.주소 공간은 총 2^32 개의 주소를 지원한다.주소 표현 방식은 Dotted-decimal notation을 사용한다.2진법 ↔ 10진법 변환예제 5.1: 2진법 → Dotted-decimal 표기법a. 10000001 00001011 00001011 11101111 → 129.11.11.239b. 11000001 10000011 00011011 11111111 → 193.131.27.255c. 11100111 11011011 10001011 01101111 → 231.219.139.111d. 11111001 10011011 11111011 00001111 → 249...
[네트워크] 소켓 프로그래밍: 프로토콜, 클라이언트와 서버의 함수호출
·
CS/Network
전공 수업 내용 정리 (문제 발생시 비공개합니다.) 소켓의 타입과 프로토콜의 설정프로토콜의 개념프로토콜은 컴퓨터 간의 데이터 송수신에 필요한 통신 규약으로, 개념적으로는 약속의 의미를 담고 있다. 소켓을 생성할 때 기본적인 프로토콜을 지정해야 한다.TCP 서버의 기본적인 함수 호출 순서소켓 생성: socket()소켓 주소 할당: bind()연결 요청 대기 상태: listen()연결 허용: accept()데이터 송수신: read()/write()연결 종료: close()bind 함수까지 호출이 되면 주소가 할당된 소켓을 얻게 되며, 이후 listen 함수를 호출하여 연결 요청을 받을 수 있는 상태로 변환한다.연결 요청 대기 상태로의 진입연결 요청 대기 상태로 진입하기 위해서는 일반 소켓을 서버 소켓으로 바..
[네트워크] 소켓 프로그래밍 개요
·
CS/Network
전공 수업 내용 정리 (문제 발생시 비공개합니다.)소켓 프로그래밍소켓소켓은 네트워크(인터넷)에서의 연결 도구로, 운영체제에 의해 제공되는 소프트웨어적인 장치소켓을 사용하면 프로그래머는 데이터 송수신에 대한 물리적, 소프트웨어적 세부 사항에 신경 쓰지 않고도 네트워크 프로그래밍을 할 수 있다.소켓의 비유와 분류TCP 소켓은 전화기에 비유될 수 있습니다. 전화기를 사용하는 방식에 따라 전화를 거는 용도(클라이언트)의 소켓과 전화를 받는 용도(서버)의 소켓으로 나눌 수 있으며, 이 두 소켓의 생성 방법에는 차이가 있다.서버 소켓의 생성 (전화를 받는 소켓)1단계: 소켓 생성 (socket 함수 호출)서버 소켓은 socket 함수를 호출하여 생성한다.int server_sock = socket(AF_INET, ..
[네트워크] TCP 타이머, 옵션
·
CS/Network
전공 수업 내용 정리 (문제 발생시 비공개합니다.)TCP 타이머재전송 타이머영속 타이머킵얼라이브 타이머시간대기 타이머킵얼라이브 타이머(keepalive timer)오랜 기간 동안 idle 상태에 있는 것 방지서버가 2시간 동안 클라이언트로부터 세그먼트를 전송받지 못하면, probe 세그먼트 전송cf. https, s+a, a이 먼저 셋업되어야 요청을 보낼 수 있다.RTT 측정*RTT: Round Trip Time, 왕복 시간RTTm: 측정값Smoothed RTT (평균)처음: 아무 값도 설정 안 됨첫 번째 측정 시: RTTs = RTTm ☞최초 측정값을 평균으로 대입해서 시작첫 번째 이후의 측정 시: RTTs = (1-α)RTTs + α RTTm → (7/8)기존 평균값 + (1/8)측정값새로운 측정값에..
[네트워크] TCP segment, control
·
CS/Network
전공 수업 내용 정리 (문제 발생시 비공개합니다.) TCP segmentsending buffer보내는 버퍼는 버퍼 안에 보내 복사본을 그대로 가지고 있음(재전송이 필요할까봐)recieving buffer패킷 번호 매기기각 연결에서 전송되는 데이터의 바이트는 TCP에 의해 번호가 매겨짐.번호 매기기는 임의로 생성된 번호로 시작Cumulative ACK현재 사용하는 TCP 방식다음 번에 받고 싶은 번호를 보냄TCP segment 형식옵션마다 헤더 길이가 달라질 수 있음→ 이를 표현하기 위해 HLEN 사용(보낼 때 %4, 받을 때 *4)IP(발신지 16 + 목적지 16) + seq(32) + ack(32) + 헤더(4) + 예약(6)제어 필드(6) + 윈도우 크기(16) + 검사합(16) + 긴급 포인터(1..
[컴퓨터 네트워크] 3가지 주소 지정; 물리, 논리, 포트
·
CS/Network
주소 지정TCP/IP에서 사용하는 중요한 주소의 종류 3가지와 각 주소가 사용되는 계층은 다음과 같다.1. 물리적 주소(Pysical Adresses) - 데이터링크 레이어 2. 논리적 주소(Logical Adresses) - 네트워크 레이어 3. 포트 주소(Port Adresses) - 트랜스포트 레이어  계층, 즉 레이어에 관한 설명은 이전에 작성한 글에서 확인 가능하다.  [컴퓨터 네트워크] The OSI Model & Layer 7 기초인터넷(Internet) 컴퓨터로 연결하여 TCP/IP Protocol이라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크 ex. http, DNS, ftp 등 인터넷의 어원: 1973년 TCP/IP를 정립한 빈튼 서프와 밥 간 ‘네트tomymoon.tis..
[컴퓨터 네트워크] The OSI Model & Layer 7 기초
·
CS/Network
인터넷(Internet)컴퓨터로 연결하여 TCP/IP Protocol이라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크ex. http, DNS, ftp 등인터넷의 어원: 1973년 TCP/IP를 정립한 빈튼 서프와 밥 간 ‘네트워크의 네크워크’를 구현하여 모든 컴퓨터를 하나의 통신망 안에 연결(Tnternational Network)하고자 하는 의도 THE OSI MODELISO: 1947년 설립된 국제 표준 기구OSI: 1970년대 후반에 도입된 규율. 네트워크 통신의 모든 측면을 다루는 표준 모델 경로 설정에 따른 인터넷 연결 방식중앙제어 전달 방식(Circuit Switching Network)  출발 전에 경로를 미리 알고 출발함.  장점: 길을 몰라도 상관 없음. 보장된 길이므로 낭비..