일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- TIL
- Go
- 데이터 파이프라인
- dockerfile
- 운영체제
- 가상환경
- 데이터엔지니어링
- redshift
- airflow
- Django
- 컴퓨터 네트워크
- PYTHON
- 파이썬
- 데이터 웨어하우스
- airflow.cfg
- AWS
- Docker
- TCP
- linux
- sql
- 컴퓨터네트워크
- HADOOP
- 자료구조
- 데이터베이스
- S3
- 데이터 엔지니어링
- http
- 종류
- 정리
- 데브코스
- Today
- Total
목록컴퓨터 네트워크 (9)
홍카나의 공부방
Transmission Control Protocol(TCP) TCP는 전송 계층에서 사용되는 연결지향 서비스다. TCP에서는 단위 데이터를 Segment라고 부른다. ( 쉽게 이해하려면 그냥 패킷을 세그먼트라고 부른다고 이해하자. ) UDP와는 다르게 TCP는 Connection당 수신 버퍼를 할당한다. TCP - Numbering System(Sequence #) 시퀀스 번호는 TCP 세그먼트에 포함된 첫번째 데이터의 번호다. 만약 시퀀스 번호가 1000이라면, 세그먼트 데이터의 첫번째 바이트 번호가 1000이라는 뜻이다. 보통 바이트 단위로 셈을 한다. TCP를 통해 데이터를 전송할 때, 데이터 크기가 MSS인 1460Bytes를 넘는다면, 세그먼트는 분할(segment)되어 보내진다. 이때 전송되..
User Datagram Protocol(UDP) 통신에서 신뢰성보다는 속도에 우선순위를 둘 때, 사용하는 프로토콜이다. TCP와 다르게 신뢰성 서비스를 제공하지 않고, 비연결성 서비스이기 때문에 비교적 속도가 빠르다는 장점이 있다. UDP에서는 단위 데이터를 User Datagram이라고 지칭한다. (IP에서는 IP Packet이라고 하는 그것 맞다.) UDP의 헤더는 총 8바이트로, 간단하다. Source, Destination, Total Length, Checksum 으로 구성되어 있다. UDP의 usecase DNS 통신에서 UDP를 사용하기도 한다. DNS 통신(요청과 응답)은 패킷이 많이 필요하지도 않으며, 통신할 내용도 많지 않다. 2개의 패킷(요청, 응답)을 주고 받으려고 연결 설정을 하..
이번에는 IPv4의 주소 배분 중 Classful Addressing에 대해 정리하였다. IPv4의 주소길이 0.0.0.0으로 표현되는 IPv4의 주소체계가 사실 0.0.0.0.0.0으로 연장된다던지 주소 길이가 더욱 길어진다면 더 많은 주소를 배분할 수 있다는 장점이 있지만, more memory, more time이라는 단점이 존재한다. 주소의 길이가 더 길어지면, 패킷의 길이가 더욱 길어지거나 라우팅 테이블이 커지는 시/공간적 단점이 존재한다. IPv4가 표준화될 70년대에는 메모리의 크기가 64kb 이랬기 때문에... 메모리를 많이 사용할 수 없었다. Classful Addressing IPv4 주소를 분배하는 방법 중에는 classful addressing이 있다. 32개의 bit를 4바이트로 ..
Python을 이용하여 구글의 DNS와 패킷을 보내 질의/응답하는 코드를 작성해 보자. DNS 란? 더보기 www.google.com에 접속을 하고자 하면 DNS가 domain name을 IP주소로 바꿔주면서 비로소 웹 사이트에 접속을 할 수 있게 된다. 이처럼 웹 사이트에 도메인 이름으로 접속하기 위해서는 도메인 이름을 IP주소로 바꿔주는 DNS의 주소와 포트 번호를 알아야 한다. DNS의 포트번호는 IANA에 의해서 well-known-service로 표준 포트번호인 53번이 정해져 있다. 그리고 구글의 public DNS 주소는 8.8.8.8이므로, 해당 DNS와 통신해서 google.com의 IP주소를 알아내보겠다. import dns.query import dns.resolver # 질의할 도메..