일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MappedSuperclass
- 고아객체
- Spring
- Algorithm
- ROLLBACK
- 관계형 데이터베이스
- n+1문제
- 순수jpa
- 엔티티 매핑
- 즉시로딩
- 값타입
- Amortized Analysis
- Flush
- 페치조인
- 정렬
- 영속성전이
- DiscriminatorColumn
- fetch join
- 영속성 컨텍스트
- 분할상환분석
- JPA
- 지연로딩
- Embeddable
- Spring Data JPA
- DiscriminatorValue
- 플러시
- relational DB
- DB
- commit
- relational database
- Today
- Total
Jun's note
1. 인터넷 네트워크(TCP,UDP,PORT,DNS) 본문
1. TCP
(1) 특징
- 연결지향: 받는사람이 컴퓨터가 켜져있는지(연결할 수 있는 상태인지 확인) (ex. 연결할 수 있는 상태일때 보내자) (먼저 연결한 다음에 메시지를 보낸다)
- 데이터 전달 보증: 내가 메시지를 보냈는데, 받는사람이 못받음-> 패킷이 누락된것을 알 수 있음
- 순서보장: 내가보낸 메시지 순서대로 받을수있도록 보장(만약 중간에 순서가 바뀌면 서로 서버가 알아서 다시 보내도록함)
- 신뢰할 수 있는 프로토콜
(2) TCP 3 way handshake
3번 ACK 서로 보냄 (1번, 너 연결 되어있니?. 2번 나 연결되어있다. 3번 둘다 알겠다)
요즘 최적화돼서 3번 ACK보낼때 데이터도 같이 전송함 (최적화)
(3) TCP 장단점
- 장점: TCP는 신뢰할 수 있는 프로토콜
- 단점: 데이터 전달 보증(서로가 연결되었는지 확인하는? 상대방의 응답을 기다리는 등의) 과정 -> 시간이 오래걸릴 수 있음
2. UDP
아무것도 발전 x (그냥 하얀도화지) , IP와 거의 같은데 거기에 PORT만 있는거임.
그래서 TCP는 이미 만들어놔서 수정하지 않고 이대로 쓰는거고, UDP는 내가 직접 최적화하고싶을때 UDP를 사용(이를 바탕으로 내가 기능을 추가하는 느낌?) (UDP사용목적:단순하고빠름. 간단해서 내가 추가해서 사용할려고)
3. PORT
IP: 목적지 서버를 찾는것
PORT: 목적지 서버안에 돌아가고있는 애플리케이션을 찾는것
(TCP/UDP안에 PORT가 있음)
쉽게말하면?
IP:서버주소 (=아파트)
PORT:한 서버안에서의 애플리케이션 (=몇동 몇호)
상대방에게 메시지 보낼때 IP에 출발 IP와PORT를 보냄.
(즉,IP가 더 큰 범위. IP를 본 후 PORT를 확인)
4. DNS
문제
1. IP번호를외우기힘듬(우리가 사이트를 검색할때 IP번호를 외워서 치는게 아니라 도메인명을 타이핑함. 도메인이 없다면 IP번호로 검색해야했음->외우기 어려움)
2. IP변경문제를 해결 (만약 해결안되면, IP변경되면 IP변경된 주소를 알려달라고 요청해야함)
이를 해결하고자 DNS가있음. 쉽게 말하면 DNS는 전화기록부같은거임.
'도메인 명-해당 IP주소' 이러한 형식으로 저장해둠. 그래서 우리는 편리하게 도메인명을 검색하면, 알아서 DNS가 해당 IP주소를 연결해줌 (예를 들어, 도메인명은 google,naver등 ip주소아닌것들)
'Computer Science > Network' 카테고리의 다른 글
Nginx를 이용한 로드밸런싱 (0) | 2023.03.05 |
---|---|
2. URI, URL, URN, 웹 브라우저 요청 흐름 (0) | 2022.03.30 |