김기일교수님 - 네트워크
IP주소
8바이트짜리 필드 4개 => 32비트의 논리주소
서브네팅
IP 프로토콜
검사합(Checksum)
송신자가 전송하는 패킷에 검사합을 함께 보내면 수신자는 패킷과 함께 검사합을 계산해 조건을 만족하면
패킷을 받아들이고 그렇지 않으면 패킷을 폐기한다.
ICMP
IPv6
UDP
TCP와 스트림 전송
정확하게 데이터가 도착했는지 여부를 확인하기 위해 사용되는 절차
segment : 두 호스트 간의 TCP 프로토콜 사이에서의 전송단위
신뢰성 전송을 위해 사용자 데이터 세그먼트와 함께 이에 대한 확인 응답인 ACK 세그먼트를 사용
TCP 연결 과정
1. SYN
2. 반대편의 SYN, ACK
3. 다음의 SYNC, ACK
TCP 혼잡제어
수신자가 받을 수 있는 양을 고려하는 것도 중요하지만, 네트워크의 용량도 고려해야한다.
네트워크 트래픽이 많을수록 시간이 지연된다.
네트워크가 혼잡해 데이터가 사라지면 시간 지연을 측정할 수 없게 된다.
손실이 발생하지 않을 최대로 보내는 것이 좋다.
url입력 => DNS 서버에서 서버에 해당하는 IP주소를 찾아온다.
네트워크 프로그래밍
Socket
- stream socket(TCP)
- 데이터그램 소켓(UDP)
- 원시 소켓
호스트 바이트 순서
컴퓨터가 내부 메모리에 숫자를 저장하는 순서
big endian / little endian
byte ordering을 통해 big endian으로 바꾸기
네트워크 바이트 순서
반드시 big endian으로 보내야 한다.
네트워크 실습
Socket
프로토콜, IP주소, 포트넘버로 정의된다.
application, transfer계층 사이에 socket이 존재
TCP 통신
- 연결 지향 방식
- 중간에 데이터가 소멸되지 않고 목적지로 전송 •
- 전송 순서대로 데이터가 수신
- 전송되는 데이터의 경계가 존재하지 않음
- 소켓 대 소켓의 연결은 반드시 1:1이어야 함
UDP 통신
- 비 연결 지향 방식
- 전송된 순서 상관없이 가장 빠른 전송 지향
- 전송된 데이터는 손실의 우려가 있고, 파손의 우려가 있음
- 전송되는 데이터의 경계가 존재함
- 한번에 전송할 수 있는 데이터의 크기가 제한됨
gui를 이용한 채팅 프로그램(python)
socket을 이용한 파일 전송
file_server.py
file_client.py
전송 결과 download 폴더 안에 file.txt가 생성된 것을 확인할 수 있다.
팀프로젝트 회의(1시~3시)
- 프로토타입 구체화
- 메인기능 설정
하석재강사님
인덱스 -> 파티션 -> 샤딩
트랜잭션
All or Nothing(커밋 or 롤백)
- 원자성(Atomicity)
- 일관성(Consistency)
- 격리성(Isolation)
- 내구성(Durability)
'SW Academy' 카테고리의 다른 글
[CNU SW Academy] 24일차(23.01.03) (0) | 2023.01.03 |
---|---|
[CNU SW Academy] 23일차(23.01.02) (0) | 2023.01.02 |
[CNU SW Academy] 21일차(22.12.29) (0) | 2023.01.01 |
[CNU SW Academy] 20일차(22.12.28) (0) | 2023.01.01 |
[CNU SW Academy] 19일차(22.12.27) (0) | 2023.01.01 |