일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- python
- vfr video
- k8s #kubernetes #쿠버네티스
- terminal
- 달인막창
- 코루틴 빌더
- taint
- pytest
- 깡돼후
- 자원부족
- tolerated
- JanusWebRTCServer
- mp4fpsmod
- Value too long for column
- VARCHAR (1)
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 개성국밥
- JanusWebRTC
- 티스토리챌린지
- PytestPluginManager
- kotlin
- preemption #
- 오블완
- table not found
- JanusWebRTCGateway
- JanusGateway
- 코루틴 컨텍스트
- Spring Batch
- PersistenceContext
- 겨울 부산
목록Computer Networks/이론 (22)
너와 나의 스토리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/by3GwT/btqy3bBpDF7/nmckepavGmTeFHCa7ppUCK/img.png)
Network layer 송신자 호스트에서 수신자 호스트로 세그먼트를 transport 송신측: 세그먼트를 datagrams으로 캡슐화 수신측: segment를 transport layer로 전달 2개의 주요 network layer functions forwarding: 라우터의 input포트에서 적절한 라우터의 output포트로 패킷을 이동시킴 routing: 출발지에서 목적지까지 패킷이 이동할 경로를 결정 라우팅 알고리즘을 이용하여 포워딩 테이블을 만드는 작업 routing algorithm: 경로 결정 forwading table: 선택된 경로를 저장해 둔 것 Connection setup datagram이 전송되기 전에, 두 개의 end hosts와 중간 라우터들은 virtual connecti..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cCTzfC/btqyZtA2wlE/wRP25ch9qTYJWbKRANVvtk/img.png)
TCP point-to-point: 한 명의 송신자, 한 명의 수신자 multicasting 불가 tcp는 오로지 end system에서만 동작 중간에 라우터나 브리지에서 동작하지 않는다 reliable, in-order byte stream: 메시지 경계가 없다 => 패킷 트레인 이용 pipelined: TCP congestion과 flow control에서 window 사이즈를 설정한다. full duplex data 같은 연결에서 bi-directional data flow 보내는 것과 받는 것이 동시에 가능 A->B로 보내면 B->A로 보낼 수 있음 MSS: 최대 세그먼트 크기 세그먼트의 데이터 필드의 크기 제한 사이즈 큰 파일 전송할 때, MSS 크기로 파일 자른다. connection-orie..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dOW0MZ/btqyY2RdIjv/xoqPE5u3HNaKJbra7hzta1/img.png)
application processes는 서로 message를 운반하기 위해 transport layer에서 제공하는 logical communication을 이용한다. Transport services and protocols 다른 호스트에서 작동하는 app 프로세스들 사이에서 logical communication을 제공한다 end systems에서 transport protocols이 작동된다. 보내는 측: 메시지를 segment 단위로 쪼개서 network layer에 보낸다 rcv 측: segments를 message로 재조합해서 app layer로 보낸다. app에 사용 가능한 transport protocol -> TCP and UDP Transport vs network layer netw..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qi28m/btqyLJyRwuI/M4pYpRVtQGDQuGwFBYzl50/img.png)
Socket programming 두 개의 transport services를 위한 두 개의 소켓 타입 UDP: Unreliable datagram TCP: reliable, byte stream-oriented socket programming with UDP UDP: 클라인트와 서버 사이에 연결이 없다 데이터 보내기 전에 handshaking 없다 각 패킷에 IP 목적지 주소랑 port 명시적으로 부착하고 보냄 (따로따로) rcvr은 수신한 패킷에서 발신자 Ip주소와 포트 번호를 추출 UPD: 전송된 데이터가 솔실되거나, 뒤죽박죽으로 도착 가능(out of order) 패킷 단위로 보내서 상황에 따라 뒤에 순서인 것이 먼저 도착 가능 이럴때는 그냥 버리고 다시 받음 Application 측면: UDP..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wxfm8/btqyLINskf6/PIkpTytf2CqEAp0xtTW13k/img.png)
Pure P2P architecture 서버가 항상 온라인인 것 아니다 (no always on server) 임의의 end systems이 직접 통신한다 peer가 간헐적으로 연결되고 IP 주소를 변경합니다. 예: file distribution (BitTorrent) VoIP(Skype) *P2P: 분산된 어플리케이션이다. 왜냐하면 서로가 정보를 교환하는 다수의 엔드 시스템을 포함하고 있기 때문. File distribution: client-server vs P2P 하나의 서버가 N명의 peers에게 파일(사이즈 F)을 분배하는데 얼마나 걸리는가? peer의 upload/download capacity는 제한된 리소스이다. File distribution: client-server server tr..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EoQza/btqyKHuO7s6/tXUXFMkDOLrWwcCg6pYwvK/img.png)
DNS: domain name system people: 많은 식별자 SSN, name, passport # internet host, routers: IP 주소 (32bit)- datagrams 주소 지정을 위해 사용 name 예: www.yahoo.com 어떻게 IP 주소와 name을 매핑할까? DNS: 많은 name 서버의 계층 구조로 구현된 분산 데이터 베이스 application-layer protocol: hosts, name servers는 names를 확인(resolve)하기 위해 통신 application layer protocol로 구현된 핵심 인터넷 기능 DNS: services, structure DNS services hostname을 IP 주소로 변환해줌 host aliasing..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/OspHV/btqyOTz7gAG/xpLU45ykhu2XExiQvfUS81/img.png)
Electronic mail 3가지 구성요소 user agents mail servers simple mail transfer protocol: SMTP User Agent mail reader라고 불림 조립(composing), 편집, 메일 메시지 읽기 들어오고 나가는 메시지를 서버에 저장한다. mail servers: mailbox는 사용자에게 들어오는 메시지를 포함한다. 보내지는 메일 메시지의 message queue 메일 서버들 사이에서 메일 메시지를 보내기 위한 SMTP protocol client: 메일을 서버에게 보냄 server: 수신 메일 서버 SMTP 클라이언트에서 서버로 이메일 메시지를 안전하게 전송하기 위해 port25의 TCP를 사용한다. 직접 전송(direct transfer):..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dreLJ1/btqyOUsfbQX/G2s6CVG5RQpawybjB0fMWk/img.png)
FTP: the file transfer protocol TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜이다. client/server model client: 전송을 시작하는 쪽 server: 원격 호스트 ftp: RFC 959 ftp server: port 21 FTP: separate control, data connections FTP 클라이언트는 TCP를 사용해서 port 21인 FTP 서버에 연결한다 HTTP와 달리 연결의 종류는 2가지가 있다. 명령 연결: 먼저 제어 포트인 서버 21번 포트로 사용자 인증, 명령을 위한 연결이 만들어지고, 여기를 통해 클라이언트에서 지시하는 명령어가 전달된다. 데이터 전송용 연결: 실제의 파일 전송은 필요할 때 새로운 ..