Computer Science/Network

Computer Science/Network

[Network] TCP & UDP 차이 / 3-way handshaking & 4-way handshaking

TCP(Transmission Control Protocol) 연결형 서비스 3-way handshaking 으로 연결, 4-way handshaking 으로 해제 데이터 전달 보증 패킷 단위 전송 (데이터를 잘게 조개서 전송한다) 3-way handshaking 중 전달하는 시퀀스 넘버, ACK로 각각 순서보장, 누락방지를 보증한다. 패킷의 총량을 ACK 응답으로 확인하고 누락된 데이터가 있으면 시퀀스 넘버로 순서를 확인, 해당 SEQ부터 재전송한다. 모든 패킷 전송에는 ACK로 응답한다. 패킷을 전송하면 어떤 패킷부터 도착할 지 모르지만 패킷에 시퀀스 넘버로 순서를 재정렬할 수 있다. 패킷이란? 전송하는 포트, 받는 포트, 전송하는 ip, 받는 ip 등 TCP/IP 4계층을 통과하는 동안 만들어진 택..

Computer Science/Network

www.google.com 이 뜨는 과정

1. 주소 입력 + HTTP 요청 주소창에 www.google.com 을 쳐서 서버에 request를 보낸다. 실제로는 https의 생략된 포트 443으로 www.google.com:443 으로 요청이 된다. HTTP 요청 메시지를 생성하고 HTTP 메시지를 전송한다. -> 웹 브라우저가 HTTP 메시지를 생성하고 -> SOCKET 라이브러리를 통해 전달(TCP/IP 연결) -> TCP/IP 패킷 생성(HTTP 메시지 포함) -> LAN 드라이버와 장비를 통해 서버로 전송 그러면 서버가 요청(request)패킷을 받고 응답(response) 패킷을 전송한다. 응답 패킷이 도착하면 다음 과정이 진행된다. 2. HTML 파일 다운로드 HTML, JSON, 이미지 등을 먼저 다운로드 받는다. 가장 먼저 다운받..

Computer Science/Network

네트워크 - GET 과 POST 의 차이점

GET 방식과 POST 방식의 공통점 클라이언트에서 서버로 요청(데이터 조회/저장)할 때 사용하는 HTTP 메소드이다. GET 방식 주로 리소스 조회할 때 사용하는 방식 서버에 전달하고 싶은 데이터는 쿼리(파라미터/스트링)를 통해서 전달한다. 메시지 바디를 사용해 데이터 전달이 가능하나 지원하는 곳이 많지 않아서 권장되지 않는다. URL 주소 끝에 파라미터처럼 붙이는 것을 쿼리 스트링이라고 한다. 지금 글을 작성할 때 호출된 URL도 GET 방식의 쿼리 스트링 예시이다.이다. https://layton0-0.tistory.com/manage/newpost/?type=post&returnURL=어쩌구 위의 예시를 서버에서 받을 때는 String type, String returnURL 의 명칭으로 받을 수..

Computer Science/Network

UDP 헤더

필드 내용 크기(bits) Source Port 출발지 포트번호 표시. 대부분의 경우 처음 세그먼트를 전송하는 측에서 임의의 번호를 사용한다. 응용 서비스에 따라 포트번호가 정해져 있는 것도 있다. 16 Destination Port 목적지의 포트번호를 표시. 응용 서비스에 따라 포트번호가 정해져 있다. (예: DNS 53) 16 Length 헤더와 데이터를 포함한 세그먼트 전체 길이를 바이트 단위로 표시. 16 Checksum 헤더와 데이터의 에러를 확인하기 위한 필드. 에러 복구를 위한 필드가 불필요해 TCP 헤더에 비해 간단함. 16 참조: https://m.blog.naver.com/PostView.nhn?blogId=minki0127&logNo=220804490550

Computer Science/Network

컴퓨터 네트워크 2강 정리

웹사이트들이 같은 포트를 쓰는 이유 : 서버 주소가 일정해야 클라이언트가 찾아가기 편하기 때문 OSI 7계층에서는 기본적으로 하위 계층이 상위 계층에 서비스를 제공한다. 응용계층에서 데이터 유실 안되게 서비스 제공: 전송계층(TCP) HTTP: HyperText Transfer Protocol Persistent HTTP VS Non-persistent HTTP TCP연결 유지 여부에 따라 달라짐 Non-persistent HTTP는 한번 요청에 하나의 응답만 수행한 후 TCP 연결을 끊어버림. -> stateless

Computer Science/Network

컴퓨터 네트워크 1강 정리

프로토콜이란? 얘기하는 방식(약속) 서킷 스위칭과 패킷 스위칭의 차이 서킷 스위칭 하나의 회선(서킷)을 할당받아 데이터를 주고받는 방식 패킷 스위칭 데이터를 패킷(Packet)이라는 단위로 분할하여 전송하는 방식 패킷 전송 방식의 딜레이 종류 데이터를 읽는 과정 패킷 내의 정보를 읽는 시간때문에 걸리는 딜레이 큐 딜레이 라우터 안의 큐에 패킷들이 대기하는 것 자기 차례가 올 때까지 기다리는 딜레이 사람들의 사용 패턴에 의한 것이기 때문에 자체적인 해결법은 없다. 대부분의 패킷 유실은 큐의 용량 문제로 생긴다. 전송 딜레이 큐에서 마지막 패킷이 빠져나갈 때까지 걸리는 시간 통로의 너비에 비례 Propagation delay(번식 딜레이?) 라우터의 큐에서 출발한 패킷이 다음 라우터에 도달하는 시간 거리에 비례

Computer Science/Network

HTTP 메서드의 분류 및 방식

클라이언트에서 서버로의 데이터 전송 데이터 전달 방식 1. 쿼리 파라미터 GET 정렬 필터(검색어) 2. 메시지 바디 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 상황 별 데이터 전송 1. 정적 데이터 조회 이미지, 정적 텍스트 문서 조회는 GET 사용 쿼리 파라미터 없이 리소스 경로로 단순 조회 /static/image.png 2. 동적 데이터 조회 검색, 게시판 목록에서 정렬 필터(검색어) 조회는 GET 사용 GET은 쿼리 파라미터를 사용해 데이터를 전달함 /search?keyword=world&lg=ko 3. HTML Form을 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 submit 시 POST 전송 Content-Type: application/x..

Computer Science/Network

HTTP(HyperText Transfer Protocol) 기본

HTTP의 역사 HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더 X HTTP/1.0 1996년: 메서드, 헤더 추가 - 한 연결 당 하나의 요청을 처리하도록 설계 - RTT 증가: 패킷 왕복 시간 증가(3-way handshake를 매번 열어줘야 했기 때문) - 해결 방법 1: 이미지 스플리팅 -> 많은 이미지가 합쳐 있는 하나의 이미지를 다운로드 받고 이를 기반으로 background-image의 position을 이용하여 이미지를 표기하는 방법 - 해결 방법 2: 코드 압축 -> 기존 작성되어 있는 코드에서 style.min.css 처럼 공백이나 ;를 전부 없앤 코드(용량 저하) - 해결 방법 3: 이미지 Base64 인코딩 -> 이미지 파일을 64진법으로 이루어진 문자열로 인코딩하..

레이튼
'Computer Science/Network' 카테고리의 글 목록