일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 기초
- firebaseui
- React
- JS
- 리액트
- leetcode189
- iP
- nvmrc
- 백준
- Rest
- 커스텀알락
- yarn-berry
- react-firebaseui
- css
- TCPvsUDP
- leetcode977
- 프로토타입
- 자바스크립트
- Python
- 다리놓기
- nvm
- Spread
- youtube iframe
- mac
- Next.js
- 파이썬
- 파이어베이스로그인
- 커스텀알림
- 구조분해할당
- react-native
- Today
- Total
JadeCode
[리뷰] 네트워크 심화 본문
네트워크의 시작
회선교환방식
발신자와 수신자 사이에 데이터를 전송할 전용선을 미리 할당하고 둘을 연결하는 방식. 내가 연결하고 싶은 상대가 다른 상대와 연결중이라면, 그 연결이 끊어지고 나서야 나와 연결할 수 있다. 매우 비효율적이다.
패킷교환방식
패킷교환 방식은 패킷이라는 단위로 데이터를 잘게 나누어 전송하는 방식. 각 패킷에는 출발지와 목적지 정보가 있고, 이에 따라 패킷이 목적지로 향해 가장 효율적인 방식으로 이동할 수 있음.
그래서 인터넷 프로토콜(IP)는 출발지와 목적지의 정보를 IP주소라는 특정한 숫자값으로 표기하고 패킷단위로 데이터를 전송하게 되었다.
IP 와 IP Packet
IP는 지정한 IP 주소 (IP Address)에 패킷(Packet)이라는 통신 단위로 데이터 전달을 한다. 패킷은 pack + bucket 으로 소포로 비유할 수 있다.
패킷 단위로 전송을 하면 노드들은 목적지 IP에 도달하기 위해 서로 데이터를 전달한다. 이를 통해 복잡한 인터넷 망 사이에서도 정확한 목적지로 패킷을 전송할 수 있다. 서버에서 무사히 데이터를 전송받는다면 서버도 응답을 돌려줘야한다. 서버 역시 IP패킷을 이용해 클라이언트에 응답을 전달한다.
IP한계
1. 비연결성
패킷을 받을 대상이 없거나 서비스 불능 상태여도 클라이언트는 서버의 상태를 파악할 방법이 없기 때문에 패킷을 그대로 전송하게 된다.
2. 비신뢰성
중간에 있는 서버가 데이터를 전달하던 중 장애가 생겨 패킷이 중간에 소실되더라도 클라이언트는 이를 파악할 방법이 없다.
또한 전달 데이터의 용량이 클 경우 이를 패킷 단위로 나눠 데이터를 전달하게 되는데 이렇게되면 클라이언트가 의도하지 않은 순서로 패킷이 도착할 수 있다.
TCP vs UDP
TCP | UDP |
연결지향형 프로토콜 | 비 연결지향형 프로토콜 |
전송 순서 보장 | 전송 순서 보장 X |
데이터 수신 여부 확인 | 데이터 수신 여부 확인 X |
신뢰성 높지만 속도 느림 | 신뢰성 낮지만 속도 빠름 |
'개발 > 웹' 카테고리의 다른 글
[리뷰] REACT 심화 (0) | 2022.07.12 |
---|---|
[리뷰] 인증,보안 (0) | 2022.07.06 |
[리뷰] 사용자 친화 (0) | 2022.06.28 |
[리뷰] REDUX (0) | 2022.06.27 |
[리뷰] Custom Component (0) | 2022.06.17 |