일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 출처 문어박사
- 서버에도커설치
- 파이썬sort
- 출처 메타코딩
- vm도커설치하는법
- 스프링부트구독취소
- WAS웹서버
- 스프링사진
- 도커설치하는법
- 출처 코딩셰프
- 스프링부트팔로잉
- 멀티폼
- 스프링사진업로드
- 스프링부트서버에사진전송
- ssh도커설치
- 스프링부트api
- 스프링구독
- 스프링익셉션처리
- 스프링부트팔로우취소
- dockerinstall
- 인스타클론
- 스프링부트중복예외처리
- 스프링부트사진올리기
- centos도커설치
- springboot_exception_handler
- 출처 따배도
- 출처 노마드코더
- 스프링부트
- 스프링이미지업로드
- 우분투도커설치
- Today
- Total
목록Server/Network (10)
MakerHyeon

Transport-layer services Transport services and protocols는 다른 호스트들간 application layer간 소통을 제공한다. sender는 application message를 segment단위로 쪼개서 network layer에 보낸다. 받는 쪽은 segment를 message로 재조합해서 app layer에 보낸다. 이때 app에서 사용가능한 프로토콜로는 TCP,UDP가 있다. nework layer는 hosts 사이 통신이고, transport layer는 process간의 통이다. transport layer는 nework layer에 의존한다. sender는 app msg를 전달하고, segment header를 붙인다. 그 후 IP단으로 내려 보..

socket을 사용하여 통신하는 client-server app은 어떻게 build할까? 소켓타입은 UDP,TCP 두가지가 있다, UDP는 신뢰할 수 없는 datagram이며, TCP는 신뢰할 수 있는 byte steam-oriented이다. UDP는 client와 server간에 연결이 없다. 데이터 전송전 handshaking이 없다.또한 UDP는 전송된 데이터가 손실되거나 잘못 수신될 수 있다. 발신자는 패킷에 IP대상 주소와 포트 번호를 적어보낸다.수신자는 이를 추출한다. 위 우측대로,서버는 계속 실행되고 있으며, client는 통신이 끝나면 close한다. TCP는 UDP와 달리 handshaking을 한다. 서버가 실행되고있는상태에서 server는 socket을 받을 준비를 한다. (소켓 문 ..

파일분산을 client-server일때와 P2P에서 비교해보자. client-server일때,하나의 서버가 N명의 peers에게 파일(사이즈 F)를 분배하는데 걸리는 시간을 알아보자. server는 transmission을할때, N개의 파일 사본을 순차적으로 전송(upload)한다. 하나의 카피를 보내는데 걸리는 시간은 F/u이다. N개의 카피를 보내는데 걸리는 시간은 NF/u이다. client: 각 클라이언트들은 파일 사본을 download해야한다. d_min = min client download rate이라할때, min client download time=F/d_min (파일사이즈/client다운로드rate) 따라서 client-server 접근에서는 파일분산에 N개카피를보내는데 걸리는시간(NF/..

DNS는 name server의 계층 구조 분산 데이터 베이스이다. application-layer단 프로토콜이다. DNS service에선 hostname을 IP주소로 변환해준다. 그렇다면 DNS서버는 어떻게 관리될까?앞서말했듯 DNS는 분산 계층 서비스이다. centralize DNS는 single point of failure시 전체 서비스가 무너진다는 단점이 있다. 또한 트래픽량이 많고 거리가 먼사람은 느리다는 단점이 있다. 또한 결정적으로, scaleability가 불가능하다. 하지만 한쪽에서 모두 관리하므로 유지보수가 융이하다는 장점이 있다. DNS 분산 구조는 다음과 같다. 클라이언트가 www.amazon.com IP를 원한다고 해보자. 클라이언트는 Root에서 .com 서버를 찾는다. 그 ..

Email의 구성요소는 user agents,mail servers,SMTP(간단한 메일전송 프로토콜). user gent는 메일 리더로서, 들어오고 나가는 메시지를 서버에 저장한다. 메일 서버는 사용자에게 들어오는 메시지,보내는 메시지 큐를 가진다. SMTP는 이메일 전송 프로콜이다. port25 TCP를 사용한다. 3가지 전송단계(handshaking,메시지전송,닫기)를 거친다. 1. Alice는 user agent(UA)를 사용하여 bob@someschool.edu에 메시지를 작성한다. 2. 엘리스의 UA는 그녀의 메일 서버에 메시지를 보낸다; 메시지는 message queue에 놓여진다. 3. SMTP의 클라이언트(엘리스메일서버) 측에서 밥의 메일 서버와의 TCP 연결 열기 4. SMTP 클라이언..

HTTP(Hypertext transfer protocol) 어플리케이션 레이어단 프로토콜 stateless (과거 클라이언트 요청에 대한 정보를 보관하지 않는 것) TCP를 사용 (client의 연결요청-서버의 수락-메시지교환-TCP연결종료) HTTP connection은 두가지 타입으로 나뉜다. 첫번째는 non-persistent HTTP로, TPC연결마다 하나의 object를 전송하고 종료한다. 두번째는 persistent HTTP로, 단일 TCP더라도 여러 objects를 전송할 수 있다. 위는 Non-persistent HTTP의 예시이다. 1a. HTTP client가 TCP 연결 요청 1b. 서버가 연결 수락,client에게 알려줌 2. HTTP client가 메시지를 소켓에 보냄 3. 서버..

엔드시스템의 앱은 빠른 앱의 개발과 전파를 가능케한다. 네트워크 코어 디바이스를 위한 소프트웨어는 만들 필요가 없다. 유저 application을 작동하는 것이아니기때문이다. Client-Server 패러다임을 보자. server는 항상켜져있는 호스트이다.이는 고정 주소를 가진다. client는 서버와 통신한다. 이때,클라이언트간 직접 통신은 불가하다.유동아이피를 가질수도 있다. Peer-peer 에선, 항상켜져있는 서버가 없다.(no always-on server) 여기서는 end system끼리 직접 통신한다. 즉, peer끼리 서비스를 요청하고 제공한다.ip주소가 유동적이라 관리가 어렵다. self scalability는 새로운 동료는 새로운 service capacity,service demand..

레이어마다 하는 일이 있다. 그렇다면 왜 레이어링하는가? 모듈화를 통해 유지보수와 시스템 업데이트가 용이하기때문이다. 또한 명확한 구조를 통해 복잡한 시스템 조각의 식별과 관계 설정이 가능하다. 그리고 개방형 시스템을 설계해서,많은 사람이 따르도록 유도하기 위함이다. application단은 정보 교환이 되는 계층이다. 프로토콜을 결정한다. transport단은 프로세스간 데이터 전송을 담당한다. 이때 통신방식을 결정하는데, 이는 TCP와 UDP로 나눌수있다. TCP는 1:1로 연결 상태를 유지하여 통신하는것으로,연결 지향이라고도 한다. 메일전송 프로토콜인 SMTP,FTP가 이를 기반으로 한다. UDP는 전달만하며 연결상태를 유지하지않는다. network단은 도착지부터 목적지까지 데이터그램을 라우팅한다...